
uerr_t ftp_index(char *file,url *u,fileinfo *f)

{
  char cVar1;
  undefined *puVar2;
  undefined *puVar3;
  undefined *puVar4;
  undefined *puVar5;
  undefined4 uVar6;
  int iVar7;
  undefined4 uVar8;
  char *pcVar9;
  undefined *puVar10;
  char *pcVar11;
  char *pcVar12;
  ftype fVar13;
  undefined4 uVar14;
  undefined4 uVar15;
  undefined4 *puVar16;
  uerr_t uVar17;
  undefined *puVar18;
  char *pcVar19;
  int iVar20;
  time_t tstamp;
  char *local_2c;
  
  puVar5 = PTR___stack_chk_guard_000afc3c;
  puVar4 = PTR_output_stream_000af524;
  local_2c = *(char **)PTR___stack_chk_guard_000afc3c;
  iVar20 = *(int *)PTR_output_stream_000af524;
  if ((iVar20 == 0) &&
     (iVar20 = (*(code *)PTR_fopen64_000afaac)(file,PTR_LAB_000af468 + 0x41e0), iVar20 == 0)) {
    puVar16 = (undefined4 *)(*(code *)PTR___errno_location_000afe90)();
    uVar8 = (*(code *)PTR_rpl_strerror_000af4b0)(*puVar16);
                    /* WARNING: Subroutine does not return */
    logprintf(LOG_NOTQUIET,PTR_s_hallenge__000af46c + 0x1e4c,file,uVar8);
  }
  if (u->user == (char *)0x0) {
    uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710);
  }
  else {
    uVar6 = (*(code *)PTR_url_escape_000af7ec)();
    if ((u->passwd == (char *)0x0) || (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {
      iVar7 = 0;
      uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);
    }
    else {
      uVar8 = (*(code *)PTR_concat_strings_000af6b4)
                        (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,0)
      ;
    }
    (*(code *)PTR_free_000afd08)(uVar6);
    (*(code *)PTR_free_000afd08)(iVar7);
  }
  puVar2 = PTR_s_hallenge__000af46c;
  pcVar9 = html_quote_string(u->dir);
  (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x1110,1,0x33,iVar20);
  (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10dc,1,0x15,iVar20);
  uVar6 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);
  (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar6,pcVar9,u->host,u->port);
  (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10ac,1,0x1c,iVar20);
  uVar6 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);
  (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar6,pcVar9,u->host,u->port);
  (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x108c,1,0x11,iVar20);
  puVar3 = PTR_s_hallenge__000af46c;
  puVar2 = PTR_host_name_addresses_map_000af458;
  if (f != (fileinfo *)0x0) {
    puVar10 = PTR_s_hallenge__000af46c + -0x1074;
    pcVar11 = PTR_s_hallenge__000af46c + -0x1118;
    do {
      (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar20);
      if (f->tstamp == -1) {
        uVar6 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);
        (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar6);
        fVar13 = f->type;
        if (fVar13 == FT_DIRECTORY) goto LAB_0002e304;
LAB_0002e274:
        if (fVar13 == FT_PLAINFILE) {
          puVar18 = PTR_s_hallenge__000af46c + -0x1048;
        }
        else if (fVar13 == FT_SYMLINK) {
          puVar18 = PTR_s_hallenge__000af46c + -0x1028;
        }
        else {
          puVar18 = PTR_s_hallenge__000af46c + -0x1018;
        }
      }
      else {
        tstamp = f->tstamp;
        iVar7 = (*(code *)PTR_localtime_000afdd8)(&tstamp);
        (*(code *)PTR___fprintf_chk_000afe0c)
                  (iVar20,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,
                   *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),
                   *(undefined4 *)(iVar7 + 0xc));
        if (f->ptype == TT_HOUR_MIN) {
          (*(code *)PTR___fprintf_chk_000afe0c)
                    (iVar20,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),
                     *(undefined4 *)(iVar7 + 4));
        }
        else {
          (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar20);
        }
        fVar13 = f->type;
        if (fVar13 != FT_DIRECTORY) goto LAB_0002e274;
LAB_0002e304:
        puVar18 = PTR_s_hallenge__000af46c + -0x1038;
      }
      uVar6 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar18,5);
      (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar6);
      pcVar12 = html_quote_string(f->name);
      uVar6 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(f->name);
      (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,puVar3 + -0x1008,uVar8,u->host,u->port);
      if (*u->dir != '/') {
        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);
      }
      (*(code *)PTR_fputs_000afe9c)(pcVar9,iVar20);
      if (*u->dir != '\0') {
        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);
      }
      (*(code *)PTR_fputs_000afe9c)(uVar6,iVar20);
      if (f->type == FT_DIRECTORY) {
        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);
      }
      (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,puVar3 + -0xff0,pcVar12);
      if (f->type == FT_DIRECTORY) {
        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);
      }
      (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar20);
      if (f->type == FT_PLAINFILE) {
        uVar14 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);
        uVar15 = (*(code *)PTR_number_to_static_string_000af698)
                           (*(undefined4 *)&f->size,(int)f->size);
        (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar14,uVar15);
      }
      else if (f->type == FT_SYMLINK) {
        pcVar19 = f->linkto;
        if (f->linkto == (char *)0x0) {
          pcVar19 = pcVar11;
        }
        (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,PTR_s_hallenge__000af46c + -0xfd4,pcVar19);
      }
      (*(code *)PTR_putc_000afb2c)(10,iVar20);
      (*(code *)PTR_free_000afd08)(pcVar12);
      (*(code *)PTR_free_000afd08)(uVar6);
      f = f->next;
    } while (f != (fileinfo *)0x0);
  }
  (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0xfcc,1,0x17,iVar20);
  (*(code *)PTR_free_000afd08)(pcVar9);
  (*(code *)PTR_free_000afd08)(uVar8);
  if (*(int *)puVar4 == 0) {
    (*(code *)PTR_fclose_000afc8c)(iVar20);
  }
  else {
    (*(code *)PTR_rpl_fflush_000af7f4)(iVar20);
  }
  if (local_2c == *(char **)puVar5) {
    return FTPOK;
  }
  (*(code *)PTR___stack_chk_fail_000afbd4)();
  uVar17 = (uerr_t)*local_2c;
  if (uVar17 != NOCONERROR) {
    pcVar9 = local_2c + 1;
    cVar1 = local_2c[1];
    while (cVar1 != 0) {
      pcVar9 = pcVar9 + 1;
      uVar17 = (int)cVar1 + uVar17 * 0x1f;
      cVar1 = *pcVar9;
    }
  }
  return uVar17;
}



int ftp_index(undefined4 param_1,int param_2,int *param_3)

{
  char cVar1;
  undefined *puVar2;
  undefined *puVar3;
  undefined *puVar4;
  undefined *puVar5;
  undefined4 uVar6;
  int iVar7;
  undefined4 uVar8;
  undefined4 uVar9;
  undefined *puVar10;
  undefined *puVar11;
  undefined4 uVar12;
  undefined4 uVar13;
  undefined4 uVar14;
  undefined4 *puVar15;
  char *pcVar16;
  undefined *puVar17;
  int iVar18;
  int local_30;
  char *local_2c;
  
  puVar5 = PTR___stack_chk_guard_000afc3c;
  puVar4 = PTR_output_stream_000af524;
  local_2c = *(char **)PTR___stack_chk_guard_000afc3c;
  iVar18 = *(int *)PTR_output_stream_000af524;
  if ((iVar18 == 0) &&
     (iVar18 = (*(code *)PTR_fopen64_000afaac)(param_1,PTR_LAB_000af468 + 0x41e0), iVar18 == 0)) {
    puVar15 = (undefined4 *)(*(code *)PTR___errno_location_000afe90)();
    uVar8 = (*(code *)PTR_rpl_strerror_000af4b0)(*puVar15);
    logprintf(1,PTR_s_hallenge__000af46c + 0x1e4c,param_1,uVar8);
    iVar18 = 0x13;
  }
  else {
    if (*(int *)(param_2 + 0x28) == 0) {
      uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710);
    }
    else {
      uVar6 = (*(code *)PTR_url_escape_000af7ec)();
      if ((*(int *)(param_2 + 0x2c) == 0) ||
         (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {
        iVar7 = 0;
        uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);
      }
      else {
        uVar8 = (*(code *)PTR_concat_strings_000af6b4)
                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,
                           0);
      }
      (*(code *)PTR_free_000afd08)(uVar6);
      (*(code *)PTR_free_000afd08)(iVar7);
    }
    puVar2 = PTR_s_hallenge__000af46c;
    uVar6 = html_quote_string(*(undefined4 *)(param_2 + 0x20));
    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x1110,1,0x33,iVar18);
    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10dc,1,0x15,iVar18);
    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);
    (*(code *)PTR___fprintf_chk_000afe0c)
              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));
    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10ac,1,0x1c,iVar18);
    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);
    (*(code *)PTR___fprintf_chk_000afe0c)
              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));
    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x108c,1,0x11,iVar18);
    puVar3 = PTR_s_hallenge__000af46c;
    puVar2 = PTR_DAT_000af458;
    if (param_3 != (int *)0x0) {
      puVar10 = PTR_s_hallenge__000af46c + -0x1074;
      puVar11 = PTR_s_hallenge__000af46c + -0x1118;
      do {
        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar18);
        if (param_3[4] == -1) {
          uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);
          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);
          iVar7 = *param_3;
          if (iVar7 == 1) goto LAB_0002e304;
LAB_0002e274:
          if (iVar7 == 0) {
            puVar17 = PTR_s_hallenge__000af46c + -0x1048;
          }
          else if (iVar7 == 2) {
            puVar17 = PTR_s_hallenge__000af46c + -0x1028;
          }
          else {
            puVar17 = PTR_s_hallenge__000af46c + -0x1018;
          }
        }
        else {
          local_30 = param_3[4];
          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);
          (*(code *)PTR___fprintf_chk_000afe0c)
                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,
                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),
                     *(undefined4 *)(iVar7 + 0xc));
          if (param_3[5] == 0) {
            (*(code *)PTR___fprintf_chk_000afe0c)
                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),
                       *(undefined4 *)(iVar7 + 4));
          }
          else {
            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);
          }
          iVar7 = *param_3;
          if (iVar7 != 1) goto LAB_0002e274;
LAB_0002e304:
          puVar17 = PTR_s_hallenge__000af46c + -0x1038;
        }
        uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5);
        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);
        uVar9 = html_quote_string(param_3[1]);
        uVar12 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1]);
        (*(code *)PTR___fprintf_chk_000afe0c)
                  (iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),
                   *(undefined4 *)(param_2 + 0xc));
        if (**(char **)(param_2 + 0x20) != '/') {
          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);
        }
        (*(code *)PTR_fputs_000afe9c)(uVar6,iVar18);
        if (**(char **)(param_2 + 0x20) != '\0') {
          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);
        }
        (*(code *)PTR_fputs_000afe9c)(uVar12,iVar18);
        if (*param_3 == 1) {
          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);
        }
        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,puVar3 + -0xff0,uVar9);
        if (*param_3 == 1) {
          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);
        }
        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar18);
        if (*param_3 == 0) {
          uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);
          uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);
          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);
        }
        else if (*param_3 == 2) {
          puVar17 = (undefined *)param_3[7];
          if ((undefined *)param_3[7] == (undefined *)0x0) {
            puVar17 = puVar11;
          }
          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);
        }
        (*(code *)PTR_putc_000afb2c)(10,iVar18);
        (*(code *)PTR_free_000afd08)(uVar9);
        (*(code *)PTR_free_000afd08)(uVar12);
        param_3 = (int *)param_3[9];
      } while (param_3 != (int *)0x0);
    }
    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0xfcc,1,0x17,iVar18);
    (*(code *)PTR_free_000afd08)(uVar6);
    (*(code *)PTR_free_000afd08)(uVar8);
    if (*(int *)puVar4 == 0) {
      (*(code *)PTR_fclose_000afc8c)(iVar18);
      iVar18 = 7;
    }
    else {
      (*(code *)PTR_rpl_fflush_000af7f4)(iVar18);
      iVar18 = 7;
    }
  }
  if (local_2c == *(char **)puVar5) {
    return iVar18;
  }
  (*(code *)PTR___stack_chk_fail_000afbd4)();
  iVar18 = (int)*local_2c;
  if (iVar18 != 0) {
    pcVar16 = local_2c + 1;
    cVar1 = local_2c[1];
    while (cVar1 != 0) {
      pcVar16 = pcVar16 + 1;
      iVar18 = (int)cVar1 + iVar18 * 0x1f;
      cVar1 = *pcVar16;
    }
  }
  return iVar18;
}


lui gp,0x9
addiu gp,gp,-0x696c
addu gp,gp,t9
lw v0,-0x77f4(gp)
addiu sp,sp,-0x78
lw v1,-0x7f0c(gp)
sw s0,0x50(sp)
sw v0,0x40(sp)
sw gp,0x18(sp)
sw s2,0x58(sp)
or s2,a1,zero
sw s1,0x54(sp)
or s1,a2,zero
sw ra,0x74(sp)
sw s8,0x70(sp)
sw s7,0x6c(sp)
sw s6,0x68(sp)
sw s5,0x64(sp)
sw s4,0x60(sp)
sw s3,0x5c(sp)
sw v1,0x44(sp)
lw v0,0x0(v0)
lw s0,0x0(v1)
sw v0,0x4c(sp)
beq s0,zero,0x0002e4c4
_lw a1,-0x7fc8(gp)
lw a0,0x28(s2)
beq a0,zero,0x0002e490
_lw t9,-0x7c44(gp)
jalr t9
_nop
lw a0,0x2c(s2)
or s4,v0,zero
beq a0,zero,0x0002e298
_lw gp,0x18(sp)
lw t9,-0x7c44(gp)
jalr t9
_nop
lw gp,0x18(sp)
beq v0,zero,0x0002e298
_or s3,v0,zero
lw a3,-0x7fc8(gp)
or a2,v0,zero
lw a1,-0x7fc4(gp)
or a0,s4,zero
lw t9,-0x7d7c(gp)
addiu a3,a3,0x48b0
sw zero,0x10(sp)
jalr t9
_addiu a1,a1,-0x139c
lw gp,0x18(sp)
or s6,v0,zero
lw t9,-0x7728(gp)
jalr t9
_or a0,s4,zero
lw gp,0x18(sp)
lw t9,-0x7728(gp)
jalr t9
_or a0,s3,zero
lw gp,0x18(sp)
lw t9,-0x7dec(gp)
lw s3,-0x7fc4(gp)
bal 0x0001de60
_lw a0,0x20(s2)
li a2,0x33
lw gp,0x18(sp)
li a1,0x1
or a3,s0,zero
or s5,v0,zero
lw a0,-0x7fc4(gp)
lw t9,-0x7834(gp)
jalr t9
_addiu a0,a0,-0x1110
li a2,0x15
lw gp,0x18(sp)
li a1,0x1
or a3,s0,zero
lw a0,-0x7fc4(gp)
lw t9,-0x7834(gp)
jalr t9
_addiu a0,a0,-0x10dc
li a2,0x5
lw gp,0x18(sp)
addiu a1,s3,-0x10c4
lw t9,-0x773c(gp)
jalr t9
_or a0,zero,zero
li a1,0x1
lw gp,0x18(sp)
or a3,s5,zero
lw t0,0xc(s2)
or a0,s0,zero
lw v1,0x8(s2)
or a2,v0,zero
lw t9,-0x7624(gp)
sw t0,0x14(sp)
jalr t9
_sw v1,0x10(sp)
li a2,0x1c
lw gp,0x18(sp)
li a1,0x1
or a3,s0,zero
lw a0,-0x7fc4(gp)
lw t9,-0x7834(gp)
jalr t9
_addiu a0,a0,-0x10ac
li a2,0x5
lw gp,0x18(sp)
addiu a1,s3,-0x10c4
lw t9,-0x773c(gp)
jalr t9
_or a0,zero,zero
li a1,0x1
lw gp,0x18(sp)
or a3,s5,zero
lw t0,0xc(s2)
or a0,s0,zero
lw v1,0x8(s2)
or a2,v0,zero
lw t9,-0x7624(gp)
sw t0,0x14(sp)
jalr t9
_sw v1,0x10(sp)
li a2,0x11
lw gp,0x18(sp)
li a1,0x1
or a3,s0,zero
lw a0,-0x7fc4(gp)
lw t9,-0x7834(gp)
jalr t9
_addiu a0,a0,-0x108c
beq s1,zero,0x0002e3f0
_lw gp,0x18(sp)
lw v0,-0x7fd8(gp)
lw s8,-0x7fc4(gp)
lw s7,-0x7fc4(gp)
addiu v0,v0,-0x4abc
sw v0,0x28(sp)
lw v0,-0x7fc4(gp)
addiu v0,v0,-0x1074
sw v0,0x2c(sp)
lw v0,-0x7fc4(gp)
sw v0,0x20(sp)
lw v0,-0x7fc4(gp)
addiu v0,v0,-0x1118
sw v0,0x3c(sp)
lw v0,-0x7fc4(gp)
sw v0,0x24(sp)
lw v0,-0x7fc4(gp)
sw v0,0x34(sp)
lw v0,-0x7fc4(gp)
b 0x0002e1b4
_sw v0,0x38(sp)
lw a1,-0x7fc4(gp)
li a2,0x5
lw t9,-0x773c(gp)
or a0,zero,zero
addiu a1,a1,-0x1018
jalr t9
_nop
li a1,0x1
lw gp,0x18(sp)
or a2,v0,zero
lw t9,-0x7624(gp)
jalr t9
_or a0,s0,zero
lw gp,0x18(sp)
lw t9,-0x7dec(gp)
bal 0x0001de60
_lw a0,0x4(s1)
lw gp,0x18(sp)
or s4,v0,zero
lw t9,-0x7c40(gp)
jalr t9
_lw a0,0x4(s1)
addiu a2,s7,-0x1008
lw gp,0x18(sp)
li a1,0x1
lw v1,0x8(s2)
or a3,s6,zero
lw t0,0xc(s2)
or a0,s0,zero
or s3,v0,zero
lw t9,-0x7624(gp)
sw v1,0x10(sp)
jalr t9
_sw t0,0x14(sp)
li v0,0x2f
lw v1,0x20(s2)
lb v1,0x0(v1)
beq v1,v0,0x0002e0b0
_lw gp,0x18(sp)
lw t9,-0x7904(gp)
li a0,0x2f
jalr t9
_or a1,s0,zero
lw gp,0x18(sp)
lw t9,-0x7594(gp)
or a1,s0,zero
jalr t9
_or a0,s5,zero
lw v0,0x20(s2)
lb v0,0x0(v0)
bne v0,zero,0x0002e33c
_lw gp,0x18(sp)
lw t9,-0x7594(gp)
or a1,s0,zero
jalr t9
_or a0,s3,zero
li v0,0x1
lw v1,0x0(s1)
beq v1,v0,0x0002e3d8
_lw gp,0x18(sp)
lw v0,0x20(sp)
li a1,0x1
lw t9,-0x7624(gp)
or a3,s4,zero
or a0,s0,zero
jalr t9
_addiu a2,v0,-0xff0
li v0,0x1
lw v1,0x0(s1)
beq v1,v0,0x0002e3c0
_lw gp,0x18(sp)
lw v0,0x24(sp)
li a2,0x5
lw t9,-0x7834(gp)
li a1,0x1
or a3,s0,zero
jalr t9
_addiu a0,v0,-0xfe8
lw v0,0x0(s1)
beq v0,zero,0x0002e354
_lw gp,0x18(sp)
li v1,0x2
bne v0,v1,0x0002e17c
_lw t9,-0x7904(gp)
lw a3,0x1c(s1)
li a1,0x1
lw v0,0x3c(sp)
or a0,s0,zero
lw a2,-0x7fc4(gp)
lw t9,-0x7624(gp)
movz a3,v0,a3
jalr t9
_addiu a2,a2,-0xfd4
lw gp,0x18(sp)
lw t9,-0x7904(gp)
li a0,0xa
jalr t9
_or a1,s0,zero
lw gp,0x18(sp)
lw t9,-0x7728(gp)
jalr t9
_or a0,s4,zero
lw gp,0x18(sp)
lw t9,-0x7728(gp)
jalr t9
_or a0,s3,zero
lw s1,0x24(s1)
beq s1,zero,0x0002e3f0
_lw gp,0x18(sp)
lw t9,-0x7834(gp)
li a2,0x2
li a1,0x1
addiu a0,s8,-0x1078
jalr t9
_or a3,s0,zero
li v1,-0x1
lw v0,0x10(s1)
beq v0,v1,0x0002e2c0
_lw gp,0x18(sp)
lw t9,-0x7658(gp)
addiu a0,sp,0x48
jalr t9
_sw v0,0x48(sp)
li a1,0x1
or s3,v0,zero
lw v0,0xc(v0)
lw v1,0x28(sp)
or a0,s0,zero
lw a3,0x14(s3)
sw v0,0x14(sp)
lw v0,0x10(s3)
lw gp,0x18(sp)
addiu a3,a3,0x76c
lw a2,0x2c(sp)
sll v0,v0,0x2
addu v0,v0,v1
lw t9,-0x7624(gp)
lw v0,0x0(v0)
jalr t9
_sw v0,0x10(sp)
lw v0,0x14(s1)
bne v0,zero,0x0002e318
_lw gp,0x18(sp)
lw a2,-0x7fc4(gp)
li a1,0x1
lw v0,0x4(s3)
or a0,s0,zero
lw t9,-0x7624(gp)
lw a3,0x8(s3)
addiu a2,a2,-0x1068
jalr t9
_sw v0,0x10(sp)
lw gp,0x18(sp)
lw v0,0x0(s1)
li v1,0x1
beq v0,v1,0x0002e304
_lw a1,-0x7fc4(gp)
beq v0,zero,0x0002e3a8
_li v1,0x2
bne v0,v1,0x0002e000
_lw a1,-0x7fc4(gp)
li a2,0x5
lw t9,-0x773c(gp)
or a0,zero,zero
b 0x0002e014
_addiu a1,a1,-0x1028
lw a1,-0x7fc8(gp)
or a2,zero,zero
lw t9,-0x7d7c(gp)
or a0,s4,zero
or s3,zero,zero
jalr t9
_addiu a1,a1,0x48b0
lw gp,0x18(sp)
b 0x0002de6c
_or s6,v0,zero
lw v0,0x34(sp)
li a2,0x5
lw t9,-0x773c(gp)
or a0,zero,zero
jalr t9
_addiu a1,v0,-0x105c
li a1,0x1
lw gp,0x18(sp)
or a2,v0,zero
lw t9,-0x7624(gp)
jalr t9
_or a0,s0,zero
li v1,0x1
lw v0,0x0(s1)
bne v0,v1,0x0002e274
_lw gp,0x18(sp)
lw a1,-0x7fc4(gp)
li a2,0x5
lw t9,-0x773c(gp)
or a0,zero,zero
b 0x0002e014
_addiu a1,a1,-0x1038
lw v0,0x38(sp)
li a2,0x7
lw t9,-0x7834(gp)
li a1,0x1
or a3,s0,zero
jalr t9
_addiu a0,v0,-0x1050
b 0x0002e264
_lw gp,0x18(sp)
lw t9,-0x7904(gp)
li a0,0x2f
jalr t9
_or a1,s0,zero
b 0x0002e0d0
_lw gp,0x18(sp)
lw a1,-0x7fc4(gp)
li a2,0x5
lw t9,-0x773c(gp)
or a0,zero,zero
jalr t9
_addiu a1,a1,-0xfe0
lw gp,0x18(sp)
lw a1,0xc(s1)
lw a0,0x8(s1)
lw t9,-0x7d98(gp)
jalr t9
_sw v0,0x30(sp)
li a1,0x1
lw gp,0x18(sp)
or a3,v0,zero
lw a2,0x30(sp)
lw t9,-0x7624(gp)
jalr t9
_or a0,s0,zero
b 0x0002e178
_lw gp,0x18(sp)
lw a1,-0x7fc4(gp)
li a2,0x5
lw t9,-0x773c(gp)
or a0,zero,zero
b 0x0002e014
_addiu a1,a1,-0x1048
lw t9,-0x7904(gp)
li a0,0x2f
jalr t9
_or a1,s0,zero
b 0x0002e11c
_lw gp,0x18(sp)
lw t9,-0x7904(gp)
li a0,0x2f
jalr t9
_or a1,s0,zero
b 0x0002e0f0
_lw gp,0x18(sp)
lw a0,-0x7fc4(gp)
li a2,0x17
lw t9,-0x7834(gp)
li a1,0x1
or a3,s0,zero
jalr t9
_addiu a0,a0,-0xfcc
lw gp,0x18(sp)
lw t9,-0x7728(gp)
jalr t9
_or a0,s5,zero
lw gp,0x18(sp)
lw t9,-0x7728(gp)
jalr t9
_or a0,s6,zero
lw v0,0x44(sp)
lw v0,0x0(v0)
beq v0,zero,0x0002e4ac
_lw gp,0x18(sp)
lw t9,-0x7c3c(gp)
jalr t9
_or a0,s0,zero
li v0,0x7
lw gp,0x18(sp)
lw v1,0x40(sp)
lw a0,0x4c(sp)
lw v1,0x0(v1)
bne a0,v1,0x0002e528
_lw ra,0x74(sp)
lw s8,0x70(sp)
lw s7,0x6c(sp)
lw s6,0x68(sp)
lw s5,0x64(sp)
lw s4,0x60(sp)
lw s3,0x5c(sp)
lw s2,0x58(sp)
lw s1,0x54(sp)
lw s0,0x50(sp)
jr ra
_addiu sp,sp,0x78
lw a0,-0x7fc4(gp)
lw t9,-0x7fa4(gp)
jalr t9
_addiu a0,a0,-0x1710
lw gp,0x18(sp)
b 0x0002de8c
_or s6,v0,zero
lw t9,-0x77a4(gp)
jalr t9
_or a0,s0,zero
li v0,0x7
b 0x0002e450
_lw gp,0x18(sp)
or s3,a0,zero
lw t9,-0x7984(gp)
jalr t9
_addiu a1,a1,0x41e0
lw gp,0x18(sp)
bne v0,zero,0x0002de04
_or s0,v0,zero
lw t9,-0x75a0(gp)
jalr t9
_nop
lw gp,0x18(sp)
lw t9,-0x7f80(gp)
jalr t9
_lw a0,0x0(v0)
li a0,0x1
lw gp,0x18(sp)
or a3,v0,zero
or a2,s3,zero
lw a1,-0x7fc4(gp)
lw t9,-0x7ef0(gp)
bal 0x000435b8
_addiu a1,a1,0x1e4c
li v0,0x13
b 0x0002e450
_lw gp,0x18(sp)
lw t9,-0x785c(gp)
jalr t9
_nop
nop
nop
nop
lb v0,0x0(a0)
beq v0,zero,0x0002e574
_nop
lb v1,0x1(a0)
beq v1,zero,0x0002e574
_addiu a0,a0,0x1
sll a1,v0,0x5
addiu a0,a0,0x1
subu v0,a1,v0
addu v0,v1,v0
lb v1,0x0(a0)
bne v1,zero,0x0002e55c
_sll a1,v0,0x5
jr ra
_nop
(translation_unit "int ftp_index(undefined4 param_1,int param_2,int *param_3)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined4 uVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  undefined *puVar10;\n  undefined *puVar11;\n  undefined4 uVar12;\n  undefined4 uVar13;\n  undefined4 uVar14;\n  undefined4 *puVar15;\n  char *pcVar16;\n  undefined *puVar17;\n  int iVar18;\n  int local_30;\n  char *local_2c;\n  \n  puVar5 = PTR___stack_chk_guard_000afc3c;\n  puVar4 = PTR_output_stream_000af524;\n  local_2c = *(char **)PTR___stack_chk_guard_000afc3c;\n  iVar18 = *(int *)PTR_output_stream_000af524;\n  if ((iVar18 == 0) &&\n     (iVar18 = (*(code *)PTR_fopen64_000afaac)(param_1,PTR_LAB_000af468 + 0x41e0), iVar18 == 0)) {\n    puVar15 = (undefined4 *)(*(code *)PTR___errno_location_000afe90)();\n    uVar8 = (*(code *)PTR_rpl_strerror_000af4b0)(*puVar15);\n    logprintf(1,PTR_s_hallenge__000af46c + 0x1e4c,param_1,uVar8);\n    iVar18 = 0x13;\n  }\n  else {\n    if (*(int *)(param_2 + 0x28) == 0) {\n      uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710);\n    }\n    else {\n      uVar6 = (*(code *)PTR_url_escape_000af7ec)();\n      if ((*(int *)(param_2 + 0x2c) == 0) ||\n         (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {\n        iVar7 = 0;\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n      }\n      else {\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);\n      }\n      (*(code *)PTR_free_000afd08)(uVar6);\n      (*(code *)PTR_free_000afd08)(iVar7);\n    }\n    puVar2 = PTR_s_hallenge__000af46c;\n    uVar6 = html_quote_string(*(undefined4 *)(param_2 + 0x20));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x1110,1,0x33,iVar18);\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10dc,1,0x15,iVar18);\n    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n    (*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10ac,1,0x1c,iVar18);\n    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n    (*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x108c,1,0x11,iVar18);\n    puVar3 = PTR_s_hallenge__000af46c;\n    puVar2 = PTR_DAT_000af458;\n    if (param_3 != (int *)0x0) {\n      puVar10 = PTR_s_hallenge__000af46c + -0x1074;\n      puVar11 = PTR_s_hallenge__000af46c + -0x1118;\n      do {\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar18);\n        if (param_3[4] == -1) {\n          uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n          iVar7 = *param_3;\n          if (iVar7 == 1) goto LAB_0002e304;\nLAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }\n        }\n        else {\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }\n        uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n        uVar9 = html_quote_string(param_3[1]);\n        uVar12 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1]);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc));\n        if (**(char **)(param_2 + 0x20) != '/') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar6,iVar18);\n        if (**(char **)(param_2 + 0x20) != '\0') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar12,iVar18);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,puVar3 + -0xff0,uVar9);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar18);\n        if (*param_3 == 0) {\n          uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n          uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);\n        }\n        else if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }\n        (*(code *)PTR_putc_000afb2c)(10,iVar18);\n        (*(code *)PTR_free_000afd08)(uVar9);\n        (*(code *)PTR_free_000afd08)(uVar12);\n        param_3 = (int *)param_3[9];\n      } while (param_3 != (int *)0x0);\n    }\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0xfcc,1,0x17,iVar18);\n    (*(code *)PTR_free_000afd08)(uVar6);\n    (*(code *)PTR_free_000afd08)(uVar8);\n    if (*(int *)puVar4 == 0) {\n      (*(code *)PTR_fclose_000afc8c)(iVar18);\n      iVar18 = 7;\n    }\n    else {\n      (*(code *)PTR_rpl_fflush_000af7f4)(iVar18);\n      iVar18 = 7;\n    }\n  }\n  if (local_2c == *(char **)puVar5) {\n    return iVar18;\n  }\n  (*(code *)PTR___stack_chk_fail_000afbd4)();\n  iVar18 = (int)*local_2c;\n  if (iVar18 != 0) {\n    pcVar16 = local_2c + 1;\n    cVar1 = local_2c[1];\n    while (cVar1 != 0) {\n      pcVar16 = pcVar16 + 1;\n      iVar18 = (int)cVar1 + iVar18 * 0x1f;\n      cVar1 = *pcVar16;\n    }\n  }\n  return iVar18;\n}\n\n" (function_definition "int ftp_index(undefined4 param_1,int param_2,int *param_3)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined4 uVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  undefined *puVar10;\n  undefined *puVar11;\n  undefined4 uVar12;\n  undefined4 uVar13;\n  undefined4 uVar14;\n  undefined4 *puVar15;\n  char *pcVar16;\n  undefined *puVar17;\n  int iVar18;\n  int local_30;\n  char *local_2c;\n  \n  puVar5 = PTR___stack_chk_guard_000afc3c;\n  puVar4 = PTR_output_stream_000af524;\n  local_2c = *(char **)PTR___stack_chk_guard_000afc3c;\n  iVar18 = *(int *)PTR_output_stream_000af524;\n  if ((iVar18 == 0) &&\n     (iVar18 = (*(code *)PTR_fopen64_000afaac)(param_1,PTR_LAB_000af468 + 0x41e0), iVar18 == 0)) {\n    puVar15 = (undefined4 *)(*(code *)PTR___errno_location_000afe90)();\n    uVar8 = (*(code *)PTR_rpl_strerror_000af4b0)(*puVar15);\n    logprintf(1,PTR_s_hallenge__000af46c + 0x1e4c,param_1,uVar8);\n    iVar18 = 0x13;\n  }\n  else {\n    if (*(int *)(param_2 + 0x28) == 0) {\n      uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710);\n    }\n    else {\n      uVar6 = (*(code *)PTR_url_escape_000af7ec)();\n      if ((*(int *)(param_2 + 0x2c) == 0) ||\n         (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {\n        iVar7 = 0;\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n      }\n      else {\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);\n      }\n      (*(code *)PTR_free_000afd08)(uVar6);\n      (*(code *)PTR_free_000afd08)(iVar7);\n    }\n    puVar2 = PTR_s_hallenge__000af46c;\n    uVar6 = html_quote_string(*(undefined4 *)(param_2 + 0x20));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x1110,1,0x33,iVar18);\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10dc,1,0x15,iVar18);\n    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n    (*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10ac,1,0x1c,iVar18);\n    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n    (*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x108c,1,0x11,iVar18);\n    puVar3 = PTR_s_hallenge__000af46c;\n    puVar2 = PTR_DAT_000af458;\n    if (param_3 != (int *)0x0) {\n      puVar10 = PTR_s_hallenge__000af46c + -0x1074;\n      puVar11 = PTR_s_hallenge__000af46c + -0x1118;\n      do {\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar18);\n        if (param_3[4] == -1) {\n          uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n          iVar7 = *param_3;\n          if (iVar7 == 1) goto LAB_0002e304;\nLAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }\n        }\n        else {\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }\n        uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n        uVar9 = html_quote_string(param_3[1]);\n        uVar12 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1]);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc));\n        if (**(char **)(param_2 + 0x20) != '/') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar6,iVar18);\n        if (**(char **)(param_2 + 0x20) != '\0') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar12,iVar18);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,puVar3 + -0xff0,uVar9);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar18);\n        if (*param_3 == 0) {\n          uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n          uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);\n        }\n        else if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }\n        (*(code *)PTR_putc_000afb2c)(10,iVar18);\n        (*(code *)PTR_free_000afd08)(uVar9);\n        (*(code *)PTR_free_000afd08)(uVar12);\n        param_3 = (int *)param_3[9];\n      } while (param_3 != (int *)0x0);\n    }\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0xfcc,1,0x17,iVar18);\n    (*(code *)PTR_free_000afd08)(uVar6);\n    (*(code *)PTR_free_000afd08)(uVar8);\n    if (*(int *)puVar4 == 0) {\n      (*(code *)PTR_fclose_000afc8c)(iVar18);\n      iVar18 = 7;\n    }\n    else {\n      (*(code *)PTR_rpl_fflush_000af7f4)(iVar18);\n      iVar18 = 7;\n    }\n  }\n  if (local_2c == *(char **)puVar5) {\n    return iVar18;\n  }\n  (*(code *)PTR___stack_chk_fail_000afbd4)();\n  iVar18 = (int)*local_2c;\n  if (iVar18 != 0) {\n    pcVar16 = local_2c + 1;\n    cVar1 = local_2c[1];\n    while (cVar1 != 0) {\n      pcVar16 = pcVar16 + 1;\n      iVar18 = (int)cVar1 + iVar18 * 0x1f;\n      cVar1 = *pcVar16;\n    }\n  }\n  return iVar18;\n}" primitive_type (function_declarator "ftp_index(undefined4 param_1,int param_2,int *param_3)" identifier (parameter_list "(undefined4 param_1,int param_2,int *param_3)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  char cVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined4 uVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  undefined *puVar10;\n  undefined *puVar11;\n  undefined4 uVar12;\n  undefined4 uVar13;\n  undefined4 uVar14;\n  undefined4 *puVar15;\n  char *pcVar16;\n  undefined *puVar17;\n  int iVar18;\n  int local_30;\n  char *local_2c;\n  \n  puVar5 = PTR___stack_chk_guard_000afc3c;\n  puVar4 = PTR_output_stream_000af524;\n  local_2c = *(char **)PTR___stack_chk_guard_000afc3c;\n  iVar18 = *(int *)PTR_output_stream_000af524;\n  if ((iVar18 == 0) &&\n     (iVar18 = (*(code *)PTR_fopen64_000afaac)(param_1,PTR_LAB_000af468 + 0x41e0), iVar18 == 0)) {\n    puVar15 = (undefined4 *)(*(code *)PTR___errno_location_000afe90)();\n    uVar8 = (*(code *)PTR_rpl_strerror_000af4b0)(*puVar15);\n    logprintf(1,PTR_s_hallenge__000af46c + 0x1e4c,param_1,uVar8);\n    iVar18 = 0x13;\n  }\n  else {\n    if (*(int *)(param_2 + 0x28) == 0) {\n      uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710);\n    }\n    else {\n      uVar6 = (*(code *)PTR_url_escape_000af7ec)();\n      if ((*(int *)(param_2 + 0x2c) == 0) ||\n         (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {\n        iVar7 = 0;\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n      }\n      else {\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);\n      }\n      (*(code *)PTR_free_000afd08)(uVar6);\n      (*(code *)PTR_free_000afd08)(iVar7);\n    }\n    puVar2 = PTR_s_hallenge__000af46c;\n    uVar6 = html_quote_string(*(undefined4 *)(param_2 + 0x20));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x1110,1,0x33,iVar18);\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10dc,1,0x15,iVar18);\n    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n    (*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10ac,1,0x1c,iVar18);\n    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n    (*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x108c,1,0x11,iVar18);\n    puVar3 = PTR_s_hallenge__000af46c;\n    puVar2 = PTR_DAT_000af458;\n    if (param_3 != (int *)0x0) {\n      puVar10 = PTR_s_hallenge__000af46c + -0x1074;\n      puVar11 = PTR_s_hallenge__000af46c + -0x1118;\n      do {\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar18);\n        if (param_3[4] == -1) {\n          uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n          iVar7 = *param_3;\n          if (iVar7 == 1) goto LAB_0002e304;\nLAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }\n        }\n        else {\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }\n        uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n        uVar9 = html_quote_string(param_3[1]);\n        uVar12 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1]);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc));\n        if (**(char **)(param_2 + 0x20) != '/') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar6,iVar18);\n        if (**(char **)(param_2 + 0x20) != '\0') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar12,iVar18);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,puVar3 + -0xff0,uVar9);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar18);\n        if (*param_3 == 0) {\n          uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n          uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);\n        }\n        else if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }\n        (*(code *)PTR_putc_000afb2c)(10,iVar18);\n        (*(code *)PTR_free_000afd08)(uVar9);\n        (*(code *)PTR_free_000afd08)(uVar12);\n        param_3 = (int *)param_3[9];\n      } while (param_3 != (int *)0x0);\n    }\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0xfcc,1,0x17,iVar18);\n    (*(code *)PTR_free_000afd08)(uVar6);\n    (*(code *)PTR_free_000afd08)(uVar8);\n    if (*(int *)puVar4 == 0) {\n      (*(code *)PTR_fclose_000afc8c)(iVar18);\n      iVar18 = 7;\n    }\n    else {\n      (*(code *)PTR_rpl_fflush_000af7f4)(iVar18);\n      iVar18 = 7;\n    }\n  }\n  if (local_2c == *(char **)puVar5) {\n    return iVar18;\n  }\n  (*(code *)PTR___stack_chk_fail_000afbd4)();\n  iVar18 = (int)*local_2c;\n  if (iVar18 != 0) {\n    pcVar16 = local_2c + 1;\n    cVar1 = local_2c[1];\n    while (cVar1 != 0) {\n      pcVar16 = pcVar16 + 1;\n      iVar18 = (int)cVar1 + iVar18 * 0x1f;\n      cVar1 = *pcVar16;\n    }\n  }\n  return iVar18;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "undefined4 uVar14;" type_identifier identifier ;) (declaration "undefined4 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "undefined *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "char *local_2c;" primitive_type (pointer_declarator "*local_2c" * identifier) ;) (expression_statement "puVar5 = PTR___stack_chk_guard_000afc3c;" (assignment_expression "puVar5 = PTR___stack_chk_guard_000afc3c" identifier = identifier) ;) (expression_statement "puVar4 = PTR_output_stream_000af524;" (assignment_expression "puVar4 = PTR_output_stream_000af524" identifier = identifier) ;) (expression_statement "local_2c = *(char **)PTR___stack_chk_guard_000afc3c;" (assignment_expression "local_2c = *(char **)PTR___stack_chk_guard_000afc3c" identifier = (pointer_expression "*(char **)PTR___stack_chk_guard_000afc3c" * (cast_expression "(char **)PTR___stack_chk_guard_000afc3c" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "iVar18 = *(int *)PTR_output_stream_000af524;" (assignment_expression "iVar18 = *(int *)PTR_output_stream_000af524" identifier = (pointer_expression "*(int *)PTR_output_stream_000af524" * (cast_expression "(int *)PTR_output_stream_000af524" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((iVar18 == 0) &&\n     (iVar18 = (*(code *)PTR_fopen64_000afaac)(param_1,PTR_LAB_000af468 + 0x41e0), iVar18 == 0)) {\n    puVar15 = (undefined4 *)(*(code *)PTR___errno_location_000afe90)();\n    uVar8 = (*(code *)PTR_rpl_strerror_000af4b0)(*puVar15);\n    logprintf(1,PTR_s_hallenge__000af46c + 0x1e4c,param_1,uVar8);\n    iVar18 = 0x13;\n  }\n  else {\n    if (*(int *)(param_2 + 0x28) == 0) {\n      uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710);\n    }\n    else {\n      uVar6 = (*(code *)PTR_url_escape_000af7ec)();\n      if ((*(int *)(param_2 + 0x2c) == 0) ||\n         (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {\n        iVar7 = 0;\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n      }\n      else {\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);\n      }\n      (*(code *)PTR_free_000afd08)(uVar6);\n      (*(code *)PTR_free_000afd08)(iVar7);\n    }\n    puVar2 = PTR_s_hallenge__000af46c;\n    uVar6 = html_quote_string(*(undefined4 *)(param_2 + 0x20));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x1110,1,0x33,iVar18);\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10dc,1,0x15,iVar18);\n    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n    (*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10ac,1,0x1c,iVar18);\n    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n    (*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x108c,1,0x11,iVar18);\n    puVar3 = PTR_s_hallenge__000af46c;\n    puVar2 = PTR_DAT_000af458;\n    if (param_3 != (int *)0x0) {\n      puVar10 = PTR_s_hallenge__000af46c + -0x1074;\n      puVar11 = PTR_s_hallenge__000af46c + -0x1118;\n      do {\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar18);\n        if (param_3[4] == -1) {\n          uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n          iVar7 = *param_3;\n          if (iVar7 == 1) goto LAB_0002e304;\nLAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }\n        }\n        else {\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }\n        uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n        uVar9 = html_quote_string(param_3[1]);\n        uVar12 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1]);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc));\n        if (**(char **)(param_2 + 0x20) != '/') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar6,iVar18);\n        if (**(char **)(param_2 + 0x20) != '\0') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar12,iVar18);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,puVar3 + -0xff0,uVar9);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar18);\n        if (*param_3 == 0) {\n          uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n          uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);\n        }\n        else if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }\n        (*(code *)PTR_putc_000afb2c)(10,iVar18);\n        (*(code *)PTR_free_000afd08)(uVar9);\n        (*(code *)PTR_free_000afd08)(uVar12);\n        param_3 = (int *)param_3[9];\n      } while (param_3 != (int *)0x0);\n    }\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0xfcc,1,0x17,iVar18);\n    (*(code *)PTR_free_000afd08)(uVar6);\n    (*(code *)PTR_free_000afd08)(uVar8);\n    if (*(int *)puVar4 == 0) {\n      (*(code *)PTR_fclose_000afc8c)(iVar18);\n      iVar18 = 7;\n    }\n    else {\n      (*(code *)PTR_rpl_fflush_000af7f4)(iVar18);\n      iVar18 = 7;\n    }\n  }" if (parenthesized_expression "((iVar18 == 0) &&\n     (iVar18 = (*(code *)PTR_fopen64_000afaac)(param_1,PTR_LAB_000af468 + 0x41e0), iVar18 == 0))" ( (binary_expression "(iVar18 == 0) &&\n     (iVar18 = (*(code *)PTR_fopen64_000afaac)(param_1,PTR_LAB_000af468 + 0x41e0), iVar18 == 0)" (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar18 = (*(code *)PTR_fopen64_000afaac)(param_1,PTR_LAB_000af468 + 0x41e0), iVar18 == 0)" ( (comma_expression "iVar18 = (*(code *)PTR_fopen64_000afaac)(param_1,PTR_LAB_000af468 + 0x41e0), iVar18 == 0" (assignment_expression "iVar18 = (*(code *)PTR_fopen64_000afaac)(param_1,PTR_LAB_000af468 + 0x41e0)" identifier = (call_expression "(*(code *)PTR_fopen64_000afaac)(param_1,PTR_LAB_000af468 + 0x41e0)" (parenthesized_expression "(*(code *)PTR_fopen64_000afaac)" ( (pointer_expression "*(code *)PTR_fopen64_000afaac" * (cast_expression "(code *)PTR_fopen64_000afaac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,PTR_LAB_000af468 + 0x41e0)" ( identifier , (binary_expression "PTR_LAB_000af468 + 0x41e0" identifier + number_literal) )))) , (binary_expression "iVar18 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    puVar15 = (undefined4 *)(*(code *)PTR___errno_location_000afe90)();\n    uVar8 = (*(code *)PTR_rpl_strerror_000af4b0)(*puVar15);\n    logprintf(1,PTR_s_hallenge__000af46c + 0x1e4c,param_1,uVar8);\n    iVar18 = 0x13;\n  }" { (expression_statement "puVar15 = (undefined4 *)(*(code *)PTR___errno_location_000afe90)();" (assignment_expression "puVar15 = (undefined4 *)(*(code *)PTR___errno_location_000afe90)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_000afe90)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_000afe90)()" (parenthesized_expression "(*(code *)PTR___errno_location_000afe90)" ( (pointer_expression "*(code *)PTR___errno_location_000afe90" * (cast_expression "(code *)PTR___errno_location_000afe90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar8 = (*(code *)PTR_rpl_strerror_000af4b0)(*puVar15);" (assignment_expression "uVar8 = (*(code *)PTR_rpl_strerror_000af4b0)(*puVar15)" identifier = (call_expression "(*(code *)PTR_rpl_strerror_000af4b0)(*puVar15)" (parenthesized_expression "(*(code *)PTR_rpl_strerror_000af4b0)" ( (pointer_expression "*(code *)PTR_rpl_strerror_000af4b0" * (cast_expression "(code *)PTR_rpl_strerror_000af4b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar15)" ( (pointer_expression "*puVar15" * identifier) )))) ;) (expression_statement "logprintf(1,PTR_s_hallenge__000af46c + 0x1e4c,param_1,uVar8);" (call_expression "logprintf(1,PTR_s_hallenge__000af46c + 0x1e4c,param_1,uVar8)" identifier (argument_list "(1,PTR_s_hallenge__000af46c + 0x1e4c,param_1,uVar8)" ( number_literal , (binary_expression "PTR_s_hallenge__000af46c + 0x1e4c" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "iVar18 = 0x13;" (assignment_expression "iVar18 = 0x13" identifier = number_literal) ;) }) (else_clause "else {\n    if (*(int *)(param_2 + 0x28) == 0) {\n      uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710);\n    }\n    else {\n      uVar6 = (*(code *)PTR_url_escape_000af7ec)();\n      if ((*(int *)(param_2 + 0x2c) == 0) ||\n         (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {\n        iVar7 = 0;\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n      }\n      else {\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);\n      }\n      (*(code *)PTR_free_000afd08)(uVar6);\n      (*(code *)PTR_free_000afd08)(iVar7);\n    }\n    puVar2 = PTR_s_hallenge__000af46c;\n    uVar6 = html_quote_string(*(undefined4 *)(param_2 + 0x20));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x1110,1,0x33,iVar18);\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10dc,1,0x15,iVar18);\n    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n    (*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10ac,1,0x1c,iVar18);\n    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n    (*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x108c,1,0x11,iVar18);\n    puVar3 = PTR_s_hallenge__000af46c;\n    puVar2 = PTR_DAT_000af458;\n    if (param_3 != (int *)0x0) {\n      puVar10 = PTR_s_hallenge__000af46c + -0x1074;\n      puVar11 = PTR_s_hallenge__000af46c + -0x1118;\n      do {\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar18);\n        if (param_3[4] == -1) {\n          uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n          iVar7 = *param_3;\n          if (iVar7 == 1) goto LAB_0002e304;\nLAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }\n        }\n        else {\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }\n        uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n        uVar9 = html_quote_string(param_3[1]);\n        uVar12 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1]);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc));\n        if (**(char **)(param_2 + 0x20) != '/') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar6,iVar18);\n        if (**(char **)(param_2 + 0x20) != '\0') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar12,iVar18);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,puVar3 + -0xff0,uVar9);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar18);\n        if (*param_3 == 0) {\n          uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n          uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);\n        }\n        else if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }\n        (*(code *)PTR_putc_000afb2c)(10,iVar18);\n        (*(code *)PTR_free_000afd08)(uVar9);\n        (*(code *)PTR_free_000afd08)(uVar12);\n        param_3 = (int *)param_3[9];\n      } while (param_3 != (int *)0x0);\n    }\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0xfcc,1,0x17,iVar18);\n    (*(code *)PTR_free_000afd08)(uVar6);\n    (*(code *)PTR_free_000afd08)(uVar8);\n    if (*(int *)puVar4 == 0) {\n      (*(code *)PTR_fclose_000afc8c)(iVar18);\n      iVar18 = 7;\n    }\n    else {\n      (*(code *)PTR_rpl_fflush_000af7f4)(iVar18);\n      iVar18 = 7;\n    }\n  }" else (compound_statement "{\n    if (*(int *)(param_2 + 0x28) == 0) {\n      uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710);\n    }\n    else {\n      uVar6 = (*(code *)PTR_url_escape_000af7ec)();\n      if ((*(int *)(param_2 + 0x2c) == 0) ||\n         (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {\n        iVar7 = 0;\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n      }\n      else {\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);\n      }\n      (*(code *)PTR_free_000afd08)(uVar6);\n      (*(code *)PTR_free_000afd08)(iVar7);\n    }\n    puVar2 = PTR_s_hallenge__000af46c;\n    uVar6 = html_quote_string(*(undefined4 *)(param_2 + 0x20));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x1110,1,0x33,iVar18);\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10dc,1,0x15,iVar18);\n    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n    (*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10ac,1,0x1c,iVar18);\n    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n    (*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x108c,1,0x11,iVar18);\n    puVar3 = PTR_s_hallenge__000af46c;\n    puVar2 = PTR_DAT_000af458;\n    if (param_3 != (int *)0x0) {\n      puVar10 = PTR_s_hallenge__000af46c + -0x1074;\n      puVar11 = PTR_s_hallenge__000af46c + -0x1118;\n      do {\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar18);\n        if (param_3[4] == -1) {\n          uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n          iVar7 = *param_3;\n          if (iVar7 == 1) goto LAB_0002e304;\nLAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }\n        }\n        else {\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }\n        uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n        uVar9 = html_quote_string(param_3[1]);\n        uVar12 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1]);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc));\n        if (**(char **)(param_2 + 0x20) != '/') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar6,iVar18);\n        if (**(char **)(param_2 + 0x20) != '\0') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar12,iVar18);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,puVar3 + -0xff0,uVar9);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar18);\n        if (*param_3 == 0) {\n          uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n          uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);\n        }\n        else if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }\n        (*(code *)PTR_putc_000afb2c)(10,iVar18);\n        (*(code *)PTR_free_000afd08)(uVar9);\n        (*(code *)PTR_free_000afd08)(uVar12);\n        param_3 = (int *)param_3[9];\n      } while (param_3 != (int *)0x0);\n    }\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0xfcc,1,0x17,iVar18);\n    (*(code *)PTR_free_000afd08)(uVar6);\n    (*(code *)PTR_free_000afd08)(uVar8);\n    if (*(int *)puVar4 == 0) {\n      (*(code *)PTR_fclose_000afc8c)(iVar18);\n      iVar18 = 7;\n    }\n    else {\n      (*(code *)PTR_rpl_fflush_000af7f4)(iVar18);\n      iVar18 = 7;\n    }\n  }" { (if_statement "if (*(int *)(param_2 + 0x28) == 0) {\n      uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710);\n    }\n    else {\n      uVar6 = (*(code *)PTR_url_escape_000af7ec)();\n      if ((*(int *)(param_2 + 0x2c) == 0) ||\n         (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {\n        iVar7 = 0;\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n      }\n      else {\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);\n      }\n      (*(code *)PTR_free_000afd08)(uVar6);\n      (*(code *)PTR_free_000afd08)(iVar7);\n    }" if (parenthesized_expression "(*(int *)(param_2 + 0x28) == 0)" ( (binary_expression "*(int *)(param_2 + 0x28) == 0" (pointer_expression "*(int *)(param_2 + 0x28)" * (cast_expression "(int *)(param_2 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x28)" ( (binary_expression "param_2 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710);\n    }" { (expression_statement "uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710);" (assignment_expression "uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710)" identifier = (call_expression "(*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710)" (parenthesized_expression "(*(code *)PTR_xstrdup_000af48c)" ( (pointer_expression "*(code *)PTR_xstrdup_000af48c" * (cast_expression "(code *)PTR_xstrdup_000af48c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_hallenge__000af46c + -0x1710)" ( (binary_expression "PTR_s_hallenge__000af46c + -0x1710" identifier + number_literal) )))) ;) }) (else_clause "else {\n      uVar6 = (*(code *)PTR_url_escape_000af7ec)();\n      if ((*(int *)(param_2 + 0x2c) == 0) ||\n         (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {\n        iVar7 = 0;\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n      }\n      else {\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);\n      }\n      (*(code *)PTR_free_000afd08)(uVar6);\n      (*(code *)PTR_free_000afd08)(iVar7);\n    }" else (compound_statement "{\n      uVar6 = (*(code *)PTR_url_escape_000af7ec)();\n      if ((*(int *)(param_2 + 0x2c) == 0) ||\n         (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {\n        iVar7 = 0;\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n      }\n      else {\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);\n      }\n      (*(code *)PTR_free_000afd08)(uVar6);\n      (*(code *)PTR_free_000afd08)(iVar7);\n    }" { (expression_statement "uVar6 = (*(code *)PTR_url_escape_000af7ec)();" (assignment_expression "uVar6 = (*(code *)PTR_url_escape_000af7ec)()" identifier = (call_expression "(*(code *)PTR_url_escape_000af7ec)()" (parenthesized_expression "(*(code *)PTR_url_escape_000af7ec)" ( (pointer_expression "*(code *)PTR_url_escape_000af7ec" * (cast_expression "(code *)PTR_url_escape_000af7ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if ((*(int *)(param_2 + 0x2c) == 0) ||\n         (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {\n        iVar7 = 0;\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n      }\n      else {\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);\n      }" if (parenthesized_expression "((*(int *)(param_2 + 0x2c) == 0) ||\n         (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0))" ( (binary_expression "(*(int *)(param_2 + 0x2c) == 0) ||\n         (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)" (parenthesized_expression "(*(int *)(param_2 + 0x2c) == 0)" ( (binary_expression "*(int *)(param_2 + 0x2c) == 0" (pointer_expression "*(int *)(param_2 + 0x2c)" * (cast_expression "(int *)(param_2 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x2c)" ( (binary_expression "param_2 + 0x2c" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)" ( (comma_expression "iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0" (assignment_expression "iVar7 = (*(code *)PTR_url_escape_000af7ec)()" identifier = (call_expression "(*(code *)PTR_url_escape_000af7ec)()" (parenthesized_expression "(*(code *)PTR_url_escape_000af7ec)" ( (pointer_expression "*(code *)PTR_url_escape_000af7ec" * (cast_expression "(code *)PTR_url_escape_000af7ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) , (binary_expression "iVar7 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        iVar7 = 0;\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n      }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);" (assignment_expression "uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0)" identifier = (call_expression "(*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0)" (parenthesized_expression "(*(code *)PTR_concat_strings_000af6b4)" ( (pointer_expression "*(code *)PTR_concat_strings_000af6b4" * (cast_expression "(code *)PTR_concat_strings_000af6b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar6,PTR_LAB_000af468 + 0x48b0,0)" ( identifier , (binary_expression "PTR_LAB_000af468 + 0x48b0" identifier + number_literal) , number_literal )))) ;) }) (else_clause "else {\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);\n      }" else (compound_statement "{\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);\n      }" { (expression_statement "uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);" (assignment_expression "uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0)" identifier = (call_expression "(*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0)" (parenthesized_expression "(*(code *)PTR_concat_strings_000af6b4)" ( (pointer_expression "*(code *)PTR_concat_strings_000af6b4" * (cast_expression "(code *)PTR_concat_strings_000af6b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0)" ( identifier , (binary_expression "PTR_s_hallenge__000af46c + -0x139c" identifier + number_literal) , identifier , (binary_expression "PTR_LAB_000af468 + 0x48b0" identifier + number_literal) , number_literal )))) ;) }))) (expression_statement "(*(code *)PTR_free_000afd08)(uVar6);" (call_expression "(*(code *)PTR_free_000afd08)(uVar6)" (parenthesized_expression "(*(code *)PTR_free_000afd08)" ( (pointer_expression "*(code *)PTR_free_000afd08" * (cast_expression "(code *)PTR_free_000afd08" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar6)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_free_000afd08)(iVar7);" (call_expression "(*(code *)PTR_free_000afd08)(iVar7)" (parenthesized_expression "(*(code *)PTR_free_000afd08)" ( (pointer_expression "*(code *)PTR_free_000afd08" * (cast_expression "(code *)PTR_free_000afd08" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier ))) ;) }))) (expression_statement "puVar2 = PTR_s_hallenge__000af46c;" (assignment_expression "puVar2 = PTR_s_hallenge__000af46c" identifier = identifier) ;) (expression_statement "uVar6 = html_quote_string(*(undefined4 *)(param_2 + 0x20));" (assignment_expression "uVar6 = html_quote_string(*(undefined4 *)(param_2 + 0x20))" identifier = (call_expression "html_quote_string(*(undefined4 *)(param_2 + 0x20))" identifier (argument_list "(*(undefined4 *)(param_2 + 0x20))" ( (pointer_expression "*(undefined4 *)(param_2 + 0x20)" * (cast_expression "(undefined4 *)(param_2 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x20)" ( (binary_expression "param_2 + 0x20" identifier + number_literal) )))) )))) ;) (expression_statement "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x1110,1,0x33,iVar18);" (call_expression "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x1110,1,0x33,iVar18)" (parenthesized_expression "(*(code *)PTR_fwrite_000afbfc)" ( (pointer_expression "*(code *)PTR_fwrite_000afbfc" * (cast_expression "(code *)PTR_fwrite_000afbfc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_hallenge__000af46c + -0x1110,1,0x33,iVar18)" ( (binary_expression "PTR_s_hallenge__000af46c + -0x1110" identifier + number_literal) , number_literal , number_literal , identifier ))) ;) (expression_statement "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10dc,1,0x15,iVar18);" (call_expression "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10dc,1,0x15,iVar18)" (parenthesized_expression "(*(code *)PTR_fwrite_000afbfc)" ( (pointer_expression "*(code *)PTR_fwrite_000afbfc" * (cast_expression "(code *)PTR_fwrite_000afbfc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_hallenge__000af46c + -0x10dc,1,0x15,iVar18)" ( (binary_expression "PTR_s_hallenge__000af46c + -0x10dc" identifier + number_literal) , number_literal , number_literal , identifier ))) ;) (expression_statement "uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);" (assignment_expression "uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000afcf4)" ( (pointer_expression "*(code *)PTR_dcgettext_000afcf4" * (cast_expression "(code *)PTR_dcgettext_000afcf4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar2 + -0x10c4,5)" ( number_literal , (binary_expression "puVar2 + -0x10c4" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc))" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" ( (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" * (cast_expression "(code *)PTR___fprintf_chk_000afe0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc))" ( identifier , number_literal , identifier , identifier , (pointer_expression "*(undefined4 *)(param_2 + 8)" * (cast_expression "(undefined4 *)(param_2 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0xc)" * (cast_expression "(undefined4 *)(param_2 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) )))) ))) ;) (expression_statement "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10ac,1,0x1c,iVar18);" (call_expression "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10ac,1,0x1c,iVar18)" (parenthesized_expression "(*(code *)PTR_fwrite_000afbfc)" ( (pointer_expression "*(code *)PTR_fwrite_000afbfc" * (cast_expression "(code *)PTR_fwrite_000afbfc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_hallenge__000af46c + -0x10ac,1,0x1c,iVar18)" ( (binary_expression "PTR_s_hallenge__000af46c + -0x10ac" identifier + number_literal) , number_literal , number_literal , identifier ))) ;) (expression_statement "uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);" (assignment_expression "uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000afcf4)" ( (pointer_expression "*(code *)PTR_dcgettext_000afcf4" * (cast_expression "(code *)PTR_dcgettext_000afcf4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar2 + -0x10c4,5)" ( number_literal , (binary_expression "puVar2 + -0x10c4" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc))" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" ( (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" * (cast_expression "(code *)PTR___fprintf_chk_000afe0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc))" ( identifier , number_literal , identifier , identifier , (pointer_expression "*(undefined4 *)(param_2 + 8)" * (cast_expression "(undefined4 *)(param_2 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0xc)" * (cast_expression "(undefined4 *)(param_2 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) )))) ))) ;) (expression_statement "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x108c,1,0x11,iVar18);" (call_expression "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x108c,1,0x11,iVar18)" (parenthesized_expression "(*(code *)PTR_fwrite_000afbfc)" ( (pointer_expression "*(code *)PTR_fwrite_000afbfc" * (cast_expression "(code *)PTR_fwrite_000afbfc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_hallenge__000af46c + -0x108c,1,0x11,iVar18)" ( (binary_expression "PTR_s_hallenge__000af46c + -0x108c" identifier + number_literal) , number_literal , number_literal , identifier ))) ;) (expression_statement "puVar3 = PTR_s_hallenge__000af46c;" (assignment_expression "puVar3 = PTR_s_hallenge__000af46c" identifier = identifier) ;) (expression_statement "puVar2 = PTR_DAT_000af458;" (assignment_expression "puVar2 = PTR_DAT_000af458" identifier = identifier) ;) (if_statement "if (param_3 != (int *)0x0) {\n      puVar10 = PTR_s_hallenge__000af46c + -0x1074;\n      puVar11 = PTR_s_hallenge__000af46c + -0x1118;\n      do {\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar18);\n        if (param_3[4] == -1) {\n          uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n          iVar7 = *param_3;\n          if (iVar7 == 1) goto LAB_0002e304;\nLAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }\n        }\n        else {\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }\n        uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n        uVar9 = html_quote_string(param_3[1]);\n        uVar12 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1]);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc));\n        if (**(char **)(param_2 + 0x20) != '/') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar6,iVar18);\n        if (**(char **)(param_2 + 0x20) != '\0') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar12,iVar18);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,puVar3 + -0xff0,uVar9);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar18);\n        if (*param_3 == 0) {\n          uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n          uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);\n        }\n        else if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }\n        (*(code *)PTR_putc_000afb2c)(10,iVar18);\n        (*(code *)PTR_free_000afd08)(uVar9);\n        (*(code *)PTR_free_000afd08)(uVar12);\n        param_3 = (int *)param_3[9];\n      } while (param_3 != (int *)0x0);\n    }" if (parenthesized_expression "(param_3 != (int *)0x0)" ( (binary_expression "param_3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      puVar10 = PTR_s_hallenge__000af46c + -0x1074;\n      puVar11 = PTR_s_hallenge__000af46c + -0x1118;\n      do {\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar18);\n        if (param_3[4] == -1) {\n          uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n          iVar7 = *param_3;\n          if (iVar7 == 1) goto LAB_0002e304;\nLAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }\n        }\n        else {\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }\n        uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n        uVar9 = html_quote_string(param_3[1]);\n        uVar12 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1]);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc));\n        if (**(char **)(param_2 + 0x20) != '/') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar6,iVar18);\n        if (**(char **)(param_2 + 0x20) != '\0') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar12,iVar18);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,puVar3 + -0xff0,uVar9);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar18);\n        if (*param_3 == 0) {\n          uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n          uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);\n        }\n        else if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }\n        (*(code *)PTR_putc_000afb2c)(10,iVar18);\n        (*(code *)PTR_free_000afd08)(uVar9);\n        (*(code *)PTR_free_000afd08)(uVar12);\n        param_3 = (int *)param_3[9];\n      } while (param_3 != (int *)0x0);\n    }" { (expression_statement "puVar10 = PTR_s_hallenge__000af46c + -0x1074;" (assignment_expression "puVar10 = PTR_s_hallenge__000af46c + -0x1074" identifier = (binary_expression "PTR_s_hallenge__000af46c + -0x1074" identifier + number_literal)) ;) (expression_statement "puVar11 = PTR_s_hallenge__000af46c + -0x1118;" (assignment_expression "puVar11 = PTR_s_hallenge__000af46c + -0x1118" identifier = (binary_expression "PTR_s_hallenge__000af46c + -0x1118" identifier + number_literal)) ;) (do_statement "do {\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar18);\n        if (param_3[4] == -1) {\n          uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n          iVar7 = *param_3;\n          if (iVar7 == 1) goto LAB_0002e304;\nLAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }\n        }\n        else {\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }\n        uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n        uVar9 = html_quote_string(param_3[1]);\n        uVar12 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1]);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc));\n        if (**(char **)(param_2 + 0x20) != '/') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar6,iVar18);\n        if (**(char **)(param_2 + 0x20) != '\0') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar12,iVar18);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,puVar3 + -0xff0,uVar9);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar18);\n        if (*param_3 == 0) {\n          uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n          uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);\n        }\n        else if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }\n        (*(code *)PTR_putc_000afb2c)(10,iVar18);\n        (*(code *)PTR_free_000afd08)(uVar9);\n        (*(code *)PTR_free_000afd08)(uVar12);\n        param_3 = (int *)param_3[9];\n      } while (param_3 != (int *)0x0);" do (compound_statement "{\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar18);\n        if (param_3[4] == -1) {\n          uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n          iVar7 = *param_3;\n          if (iVar7 == 1) goto LAB_0002e304;\nLAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }\n        }\n        else {\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }\n        uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n        uVar9 = html_quote_string(param_3[1]);\n        uVar12 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1]);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc));\n        if (**(char **)(param_2 + 0x20) != '/') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar6,iVar18);\n        if (**(char **)(param_2 + 0x20) != '\0') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar12,iVar18);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,puVar3 + -0xff0,uVar9);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar18);\n        if (*param_3 == 0) {\n          uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n          uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);\n        }\n        else if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }\n        (*(code *)PTR_putc_000afb2c)(10,iVar18);\n        (*(code *)PTR_free_000afd08)(uVar9);\n        (*(code *)PTR_free_000afd08)(uVar12);\n        param_3 = (int *)param_3[9];\n      }" { (expression_statement "(*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar18);" (call_expression "(*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar18)" (parenthesized_expression "(*(code *)PTR_fwrite_000afbfc)" ( (pointer_expression "*(code *)PTR_fwrite_000afbfc" * (cast_expression "(code *)PTR_fwrite_000afbfc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3 + -0x1078,1,2,iVar18)" ( (binary_expression "puVar3 + -0x1078" identifier + number_literal) , number_literal , number_literal , identifier ))) ;) (if_statement "if (param_3[4] == -1) {\n          uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n          iVar7 = *param_3;\n          if (iVar7 == 1) goto LAB_0002e304;\nLAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }\n        }\n        else {\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }" if (parenthesized_expression "(param_3[4] == -1)" ( (binary_expression "param_3[4] == -1" (subscript_expression "param_3[4]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n          iVar7 = *param_3;\n          if (iVar7 == 1) goto LAB_0002e304;\nLAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }\n        }" { (expression_statement "uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);" (assignment_expression "uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000afcf4)" ( (pointer_expression "*(code *)PTR_dcgettext_000afcf4" * (cast_expression "(code *)PTR_dcgettext_000afcf4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar3 + -0x105c,5)" ( number_literal , (binary_expression "puVar3 + -0x105c" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" ( (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" * (cast_expression "(code *)PTR___fprintf_chk_000afe0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar18,1,uVar9)" ( identifier , number_literal , identifier ))) ;) (expression_statement "iVar7 = *param_3;" (assignment_expression "iVar7 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (if_statement "if (iVar7 == 1) goto LAB_0002e304;" if (parenthesized_expression "(iVar7 == 1)" ( (binary_expression "iVar7 == 1" identifier == number_literal) )) (goto_statement "goto LAB_0002e304;" goto statement_identifier ;)) (labeled_statement "LAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }" statement_identifier : (if_statement "if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }" { (expression_statement "puVar17 = PTR_s_hallenge__000af46c + -0x1048;" (assignment_expression "puVar17 = PTR_s_hallenge__000af46c + -0x1048" identifier = (binary_expression "PTR_s_hallenge__000af46c + -0x1048" identifier + number_literal)) ;) }) (else_clause "else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }" else (if_statement "if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }" if (parenthesized_expression "(iVar7 == 2)" ( (binary_expression "iVar7 == 2" identifier == number_literal) )) (compound_statement "{\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }" { (expression_statement "puVar17 = PTR_s_hallenge__000af46c + -0x1028;" (assignment_expression "puVar17 = PTR_s_hallenge__000af46c + -0x1028" identifier = (binary_expression "PTR_s_hallenge__000af46c + -0x1028" identifier + number_literal)) ;) }) (else_clause "else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }" else (compound_statement "{\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }" { (expression_statement "puVar17 = PTR_s_hallenge__000af46c + -0x1018;" (assignment_expression "puVar17 = PTR_s_hallenge__000af46c + -0x1018" identifier = (binary_expression "PTR_s_hallenge__000af46c + -0x1018" identifier + number_literal)) ;) })))))) }) (else_clause "else {\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }" else (compound_statement "{\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }" { (expression_statement "local_30 = param_3[4];" (assignment_expression "local_30 = param_3[4]" identifier = (subscript_expression "param_3[4]" identifier [ number_literal ])) ;) (expression_statement "iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);" (assignment_expression "iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30)" identifier = (call_expression "(*(code *)PTR_localtime_000afdd8)(&local_30)" (parenthesized_expression "(*(code *)PTR_localtime_000afdd8)" ( (pointer_expression "*(code *)PTR_localtime_000afdd8" * (cast_expression "(code *)PTR_localtime_000afdd8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_30)" ( (pointer_expression "&local_30" & identifier) )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc))" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" ( (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" * (cast_expression "(code *)PTR___fprintf_chk_000afe0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc))" ( identifier , number_literal , identifier , (binary_expression "*(int *)(iVar7 + 0x14) + 0x76c" (pointer_expression "*(int *)(iVar7 + 0x14)" * (cast_expression "(int *)(iVar7 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x14)" ( (binary_expression "iVar7 + 0x14" identifier + number_literal) )))) + number_literal) , (pointer_expression "*(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc)" * (cast_expression "(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc)" ( (binary_expression "puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc" (binary_expression "puVar2 + *(int *)(iVar7 + 0x10) * 4" identifier + (binary_expression "*(int *)(iVar7 + 0x10) * 4" (pointer_expression "*(int *)(iVar7 + 0x10)" * (cast_expression "(int *)(iVar7 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x10)" ( (binary_expression "iVar7 + 0x10" identifier + number_literal) )))) * number_literal)) + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar7 + 0xc)" * (cast_expression "(undefined4 *)(iVar7 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xc)" ( (binary_expression "iVar7 + 0xc" identifier + number_literal) )))) ))) ;) (if_statement "if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }" if (parenthesized_expression "(param_3[5] == 0)" ( (binary_expression "param_3[5] == 0" (subscript_expression "param_3[5]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }" { (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4))" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" ( (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" * (cast_expression "(code *)PTR___fprintf_chk_000afe0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4))" ( identifier , number_literal , (binary_expression "PTR_s_hallenge__000af46c + -0x1068" identifier + number_literal) , (pointer_expression "*(undefined4 *)(iVar7 + 8)" * (cast_expression "(undefined4 *)(iVar7 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar7 + 4)" * (cast_expression "(undefined4 *)(iVar7 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) )))) ))) ;) }) (else_clause "else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }" else (compound_statement "{\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }" { (expression_statement "(*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);" (call_expression "(*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18)" (parenthesized_expression "(*(code *)PTR_fwrite_000afbfc)" ( (pointer_expression "*(code *)PTR_fwrite_000afbfc" * (cast_expression "(code *)PTR_fwrite_000afbfc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3 + -0x1050,1,7,iVar18)" ( (binary_expression "puVar3 + -0x1050" identifier + number_literal) , number_literal , number_literal , identifier ))) ;) }))) (expression_statement "iVar7 = *param_3;" (assignment_expression "iVar7 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (if_statement "if (iVar7 != 1) goto LAB_0002e274;" if (parenthesized_expression "(iVar7 != 1)" ( (binary_expression "iVar7 != 1" identifier != number_literal) )) (goto_statement "goto LAB_0002e274;" goto statement_identifier ;)) (labeled_statement "LAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;" statement_identifier : (expression_statement "puVar17 = PTR_s_hallenge__000af46c + -0x1038;" (assignment_expression "puVar17 = PTR_s_hallenge__000af46c + -0x1038" identifier = (binary_expression "PTR_s_hallenge__000af46c + -0x1038" identifier + number_literal)) ;)) }))) (expression_statement "uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5);" (assignment_expression "uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000afcf4)" ( (pointer_expression "*(code *)PTR_dcgettext_000afcf4" * (cast_expression "(code *)PTR_dcgettext_000afcf4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar17,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" ( (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" * (cast_expression "(code *)PTR___fprintf_chk_000afe0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar18,1,uVar9)" ( identifier , number_literal , identifier ))) ;) (expression_statement "uVar9 = html_quote_string(param_3[1]);" (assignment_expression "uVar9 = html_quote_string(param_3[1])" identifier = (call_expression "html_quote_string(param_3[1])" identifier (argument_list "(param_3[1])" ( (subscript_expression "param_3[1]" identifier [ number_literal ]) )))) ;) (expression_statement "uVar12 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1]);" (assignment_expression "uVar12 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1])" identifier = (call_expression "(*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1])" (parenthesized_expression "(*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)" ( (pointer_expression "*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0" * (cast_expression "(code *)PTR_url_escape_unsafe_and_reserved_000af7f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3[1])" ( (subscript_expression "param_3[1]" identifier [ number_literal ]) )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc));" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc))" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" ( (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" * (cast_expression "(code *)PTR___fprintf_chk_000afe0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc))" ( identifier , number_literal , (binary_expression "puVar3 + -0x1008" identifier + number_literal) , identifier , (pointer_expression "*(undefined4 *)(param_2 + 8)" * (cast_expression "(undefined4 *)(param_2 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0xc)" * (cast_expression "(undefined4 *)(param_2 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) )))) ))) ;) (if_statement "if (**(char **)(param_2 + 0x20) != '/') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }" if (parenthesized_expression "(**(char **)(param_2 + 0x20) != '/')" ( (binary_expression "**(char **)(param_2 + 0x20) != '/'" (pointer_expression "**(char **)(param_2 + 0x20)" * (pointer_expression "*(char **)(param_2 + 0x20)" * (cast_expression "(char **)(param_2 + 0x20)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x20)" ( (binary_expression "param_2 + 0x20" identifier + number_literal) ))))) != (char_literal "'/'" ' character ')) )) (compound_statement "{\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }" { (expression_statement "(*(code *)PTR_putc_000afb2c)(0x2f,iVar18);" (call_expression "(*(code *)PTR_putc_000afb2c)(0x2f,iVar18)" (parenthesized_expression "(*(code *)PTR_putc_000afb2c)" ( (pointer_expression "*(code *)PTR_putc_000afb2c" * (cast_expression "(code *)PTR_putc_000afb2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x2f,iVar18)" ( number_literal , identifier ))) ;) })) (expression_statement "(*(code *)PTR_fputs_000afe9c)(uVar6,iVar18);" (call_expression "(*(code *)PTR_fputs_000afe9c)(uVar6,iVar18)" (parenthesized_expression "(*(code *)PTR_fputs_000afe9c)" ( (pointer_expression "*(code *)PTR_fputs_000afe9c" * (cast_expression "(code *)PTR_fputs_000afe9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar6,iVar18)" ( identifier , identifier ))) ;) (if_statement "if (**(char **)(param_2 + 0x20) != '\0') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }" if (parenthesized_expression "(**(char **)(param_2 + 0x20) != '\0')" ( (binary_expression "**(char **)(param_2 + 0x20) != '\0'" (pointer_expression "**(char **)(param_2 + 0x20)" * (pointer_expression "*(char **)(param_2 + 0x20)" * (cast_expression "(char **)(param_2 + 0x20)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x20)" ( (binary_expression "param_2 + 0x20" identifier + number_literal) ))))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }" { (expression_statement "(*(code *)PTR_putc_000afb2c)(0x2f,iVar18);" (call_expression "(*(code *)PTR_putc_000afb2c)(0x2f,iVar18)" (parenthesized_expression "(*(code *)PTR_putc_000afb2c)" ( (pointer_expression "*(code *)PTR_putc_000afb2c" * (cast_expression "(code *)PTR_putc_000afb2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x2f,iVar18)" ( number_literal , identifier ))) ;) })) (expression_statement "(*(code *)PTR_fputs_000afe9c)(uVar12,iVar18);" (call_expression "(*(code *)PTR_fputs_000afe9c)(uVar12,iVar18)" (parenthesized_expression "(*(code *)PTR_fputs_000afe9c)" ( (pointer_expression "*(code *)PTR_fputs_000afe9c" * (cast_expression "(code *)PTR_fputs_000afe9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar12,iVar18)" ( identifier , identifier ))) ;) (if_statement "if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }" if (parenthesized_expression "(*param_3 == 1)" ( (binary_expression "*param_3 == 1" (pointer_expression "*param_3" * identifier) == number_literal) )) (compound_statement "{\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }" { (expression_statement "(*(code *)PTR_putc_000afb2c)(0x2f,iVar18);" (call_expression "(*(code *)PTR_putc_000afb2c)(0x2f,iVar18)" (parenthesized_expression "(*(code *)PTR_putc_000afb2c)" ( (pointer_expression "*(code *)PTR_putc_000afb2c" * (cast_expression "(code *)PTR_putc_000afb2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x2f,iVar18)" ( number_literal , identifier ))) ;) })) (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,puVar3 + -0xff0,uVar9);" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,puVar3 + -0xff0,uVar9)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" ( (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" * (cast_expression "(code *)PTR___fprintf_chk_000afe0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar18,1,puVar3 + -0xff0,uVar9)" ( identifier , number_literal , (binary_expression "puVar3 + -0xff0" identifier + number_literal) , identifier ))) ;) (if_statement "if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }" if (parenthesized_expression "(*param_3 == 1)" ( (binary_expression "*param_3 == 1" (pointer_expression "*param_3" * identifier) == number_literal) )) (compound_statement "{\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }" { (expression_statement "(*(code *)PTR_putc_000afb2c)(0x2f,iVar18);" (call_expression "(*(code *)PTR_putc_000afb2c)(0x2f,iVar18)" (parenthesized_expression "(*(code *)PTR_putc_000afb2c)" ( (pointer_expression "*(code *)PTR_putc_000afb2c" * (cast_expression "(code *)PTR_putc_000afb2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x2f,iVar18)" ( number_literal , identifier ))) ;) })) (expression_statement "(*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar18);" (call_expression "(*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar18)" (parenthesized_expression "(*(code *)PTR_fwrite_000afbfc)" ( (pointer_expression "*(code *)PTR_fwrite_000afbfc" * (cast_expression "(code *)PTR_fwrite_000afbfc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3 + -0xfe8,1,5,iVar18)" ( (binary_expression "puVar3 + -0xfe8" identifier + number_literal) , number_literal , number_literal , identifier ))) ;) (if_statement "if (*param_3 == 0) {\n          uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n          uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);\n        }\n        else if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }" if (parenthesized_expression "(*param_3 == 0)" ( (binary_expression "*param_3 == 0" (pointer_expression "*param_3" * identifier) == number_literal) )) (compound_statement "{\n          uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n          uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);\n        }" { (expression_statement "uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);" (assignment_expression "uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000afcf4)" ( (pointer_expression "*(code *)PTR_dcgettext_000afcf4" * (cast_expression "(code *)PTR_dcgettext_000afcf4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_s_hallenge__000af46c + -0xfe0,5)" ( number_literal , (binary_expression "PTR_s_hallenge__000af46c + -0xfe0" identifier + number_literal) , number_literal )))) ;) (expression_statement "uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);" (assignment_expression "uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3])" identifier = (call_expression "(*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3])" (parenthesized_expression "(*(code *)PTR_number_to_static_string_000af698)" ( (pointer_expression "*(code *)PTR_number_to_static_string_000af698" * (cast_expression "(code *)PTR_number_to_static_string_000af698" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3[2],param_3[3])" ( (subscript_expression "param_3[2]" identifier [ number_literal ]) , (subscript_expression "param_3[3]" identifier [ number_literal ]) )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" ( (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" * (cast_expression "(code *)PTR___fprintf_chk_000afe0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar18,1,uVar13,uVar14)" ( identifier , number_literal , identifier , identifier ))) ;) }) (else_clause "else if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }" else (if_statement "if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }" if (parenthesized_expression "(*param_3 == 2)" ( (binary_expression "*param_3 == 2" (pointer_expression "*param_3" * identifier) == number_literal) )) (compound_statement "{\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }" { (expression_statement "puVar17 = (undefined *)param_3[7];" (assignment_expression "puVar17 = (undefined *)param_3[7]" identifier = (cast_expression "(undefined *)param_3[7]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[7]" identifier [ number_literal ]))) ;) (if_statement "if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }" if (parenthesized_expression "((undefined *)param_3[7] == (undefined *)0x0)" ( (binary_expression "(undefined *)param_3[7] == (undefined *)0x0" (cast_expression "(undefined *)param_3[7]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[7]" identifier [ number_literal ])) == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            puVar17 = puVar11;\n          }" { (expression_statement "puVar17 = puVar11;" (assignment_expression "puVar17 = puVar11" identifier = identifier) ;) })) (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" ( (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" * (cast_expression "(code *)PTR___fprintf_chk_000afe0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17)" ( identifier , number_literal , (binary_expression "PTR_s_hallenge__000af46c + -0xfd4" identifier + number_literal) , identifier ))) ;) })))) (expression_statement "(*(code *)PTR_putc_000afb2c)(10,iVar18);" (call_expression "(*(code *)PTR_putc_000afb2c)(10,iVar18)" (parenthesized_expression "(*(code *)PTR_putc_000afb2c)" ( (pointer_expression "*(code *)PTR_putc_000afb2c" * (cast_expression "(code *)PTR_putc_000afb2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(10,iVar18)" ( number_literal , identifier ))) ;) (expression_statement "(*(code *)PTR_free_000afd08)(uVar9);" (call_expression "(*(code *)PTR_free_000afd08)(uVar9)" (parenthesized_expression "(*(code *)PTR_free_000afd08)" ( (pointer_expression "*(code *)PTR_free_000afd08" * (cast_expression "(code *)PTR_free_000afd08" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar9)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_free_000afd08)(uVar12);" (call_expression "(*(code *)PTR_free_000afd08)(uVar12)" (parenthesized_expression "(*(code *)PTR_free_000afd08)" ( (pointer_expression "*(code *)PTR_free_000afd08" * (cast_expression "(code *)PTR_free_000afd08" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar12)" ( identifier ))) ;) (expression_statement "param_3 = (int *)param_3[9];" (assignment_expression "param_3 = (int *)param_3[9]" identifier = (cast_expression "(int *)param_3[9]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[9]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "(param_3 != (int *)0x0)" ( (binary_expression "param_3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (expression_statement "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0xfcc,1,0x17,iVar18);" (call_expression "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0xfcc,1,0x17,iVar18)" (parenthesized_expression "(*(code *)PTR_fwrite_000afbfc)" ( (pointer_expression "*(code *)PTR_fwrite_000afbfc" * (cast_expression "(code *)PTR_fwrite_000afbfc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_hallenge__000af46c + -0xfcc,1,0x17,iVar18)" ( (binary_expression "PTR_s_hallenge__000af46c + -0xfcc" identifier + number_literal) , number_literal , number_literal , identifier ))) ;) (expression_statement "(*(code *)PTR_free_000afd08)(uVar6);" (call_expression "(*(code *)PTR_free_000afd08)(uVar6)" (parenthesized_expression "(*(code *)PTR_free_000afd08)" ( (pointer_expression "*(code *)PTR_free_000afd08" * (cast_expression "(code *)PTR_free_000afd08" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar6)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_free_000afd08)(uVar8);" (call_expression "(*(code *)PTR_free_000afd08)(uVar8)" (parenthesized_expression "(*(code *)PTR_free_000afd08)" ( (pointer_expression "*(code *)PTR_free_000afd08" * (cast_expression "(code *)PTR_free_000afd08" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar8)" ( identifier ))) ;) (if_statement "if (*(int *)puVar4 == 0) {\n      (*(code *)PTR_fclose_000afc8c)(iVar18);\n      iVar18 = 7;\n    }\n    else {\n      (*(code *)PTR_rpl_fflush_000af7f4)(iVar18);\n      iVar18 = 7;\n    }" if (parenthesized_expression "(*(int *)puVar4 == 0)" ( (binary_expression "*(int *)puVar4 == 0" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) (compound_statement "{\n      (*(code *)PTR_fclose_000afc8c)(iVar18);\n      iVar18 = 7;\n    }" { (expression_statement "(*(code *)PTR_fclose_000afc8c)(iVar18);" (call_expression "(*(code *)PTR_fclose_000afc8c)(iVar18)" (parenthesized_expression "(*(code *)PTR_fclose_000afc8c)" ( (pointer_expression "*(code *)PTR_fclose_000afc8c" * (cast_expression "(code *)PTR_fclose_000afc8c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar18)" ( identifier ))) ;) (expression_statement "iVar18 = 7;" (assignment_expression "iVar18 = 7" identifier = number_literal) ;) }) (else_clause "else {\n      (*(code *)PTR_rpl_fflush_000af7f4)(iVar18);\n      iVar18 = 7;\n    }" else (compound_statement "{\n      (*(code *)PTR_rpl_fflush_000af7f4)(iVar18);\n      iVar18 = 7;\n    }" { (expression_statement "(*(code *)PTR_rpl_fflush_000af7f4)(iVar18);" (call_expression "(*(code *)PTR_rpl_fflush_000af7f4)(iVar18)" (parenthesized_expression "(*(code *)PTR_rpl_fflush_000af7f4)" ( (pointer_expression "*(code *)PTR_rpl_fflush_000af7f4" * (cast_expression "(code *)PTR_rpl_fflush_000af7f4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar18)" ( identifier ))) ;) (expression_statement "iVar18 = 7;" (assignment_expression "iVar18 = 7" identifier = number_literal) ;) }))) }))) (if_statement "if (local_2c == *(char **)puVar5) {\n    return iVar18;\n  }" if (parenthesized_expression "(local_2c == *(char **)puVar5)" ( (binary_expression "local_2c == *(char **)puVar5" identifier == (pointer_expression "*(char **)puVar5" * (cast_expression "(char **)puVar5" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return iVar18;\n  }" { (return_statement "return iVar18;" return identifier ;) })) (expression_statement "(*(code *)PTR___stack_chk_fail_000afbd4)();" (call_expression "(*(code *)PTR___stack_chk_fail_000afbd4)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000afbd4)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000afbd4" * (cast_expression "(code *)PTR___stack_chk_fail_000afbd4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iVar18 = (int)*local_2c;" (assignment_expression "iVar18 = (int)*local_2c" identifier = (cast_expression "(int)*local_2c" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*local_2c" * identifier))) ;) (if_statement "if (iVar18 != 0) {\n    pcVar16 = local_2c + 1;\n    cVar1 = local_2c[1];\n    while (cVar1 != 0) {\n      pcVar16 = pcVar16 + 1;\n      iVar18 = (int)cVar1 + iVar18 * 0x1f;\n      cVar1 = *pcVar16;\n    }\n  }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n    pcVar16 = local_2c + 1;\n    cVar1 = local_2c[1];\n    while (cVar1 != 0) {\n      pcVar16 = pcVar16 + 1;\n      iVar18 = (int)cVar1 + iVar18 * 0x1f;\n      cVar1 = *pcVar16;\n    }\n  }" { (expression_statement "pcVar16 = local_2c + 1;" (assignment_expression "pcVar16 = local_2c + 1" identifier = (binary_expression "local_2c + 1" identifier + number_literal)) ;) (expression_statement "cVar1 = local_2c[1];" (assignment_expression "cVar1 = local_2c[1]" identifier = (subscript_expression "local_2c[1]" identifier [ number_literal ])) ;) (while_statement "while (cVar1 != 0) {\n      pcVar16 = pcVar16 + 1;\n      iVar18 = (int)cVar1 + iVar18 * 0x1f;\n      cVar1 = *pcVar16;\n    }" while (parenthesized_expression "(cVar1 != 0)" ( (binary_expression "cVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      pcVar16 = pcVar16 + 1;\n      iVar18 = (int)cVar1 + iVar18 * 0x1f;\n      cVar1 = *pcVar16;\n    }" { (expression_statement "pcVar16 = pcVar16 + 1;" (assignment_expression "pcVar16 = pcVar16 + 1" identifier = (binary_expression "pcVar16 + 1" identifier + number_literal)) ;) (expression_statement "iVar18 = (int)cVar1 + iVar18 * 0x1f;" (assignment_expression "iVar18 = (int)cVar1 + iVar18 * 0x1f" identifier = (binary_expression "(int)cVar1 + iVar18 * 0x1f" (cast_expression "(int)cVar1" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar18 * 0x1f" identifier * number_literal))) ;) (expression_statement "cVar1 = *pcVar16;" (assignment_expression "cVar1 = *pcVar16" identifier = (pointer_expression "*pcVar16" * identifier)) ;) })) })) (return_statement "return iVar18;" return identifier ;) })))
(translation_unit "uerr_t ftp_index(char *file,url *u,fileinfo *f)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined4 uVar6;\n  int iVar7;\n  undefined4 uVar8;\n  char *pcVar9;\n  undefined *puVar10;\n  char *pcVar11;\n  char *pcVar12;\n  ftype fVar13;\n  undefined4 uVar14;\n  undefined4 uVar15;\n  undefined4 *puVar16;\n  uerr_t uVar17;\n  undefined *puVar18;\n  char *pcVar19;\n  int iVar20;\n  time_t tstamp;\n  char *local_2c;\n  \n  puVar5 = PTR___stack_chk_guard_000afc3c;\n  puVar4 = PTR_output_stream_000af524;\n  local_2c = *(char **)PTR___stack_chk_guard_000afc3c;\n  iVar20 = *(int *)PTR_output_stream_000af524;\n  if ((iVar20 == 0) &&\n     (iVar20 = (*(code *)PTR_fopen64_000afaac)(file,PTR_LAB_000af468 + 0x41e0), iVar20 == 0)) {\n    puVar16 = (undefined4 *)(*(code *)PTR___errno_location_000afe90)();\n    uVar8 = (*(code *)PTR_rpl_strerror_000af4b0)(*puVar16);\n                    /* WARNING: Subroutine does not return */\n    logprintf(LOG_NOTQUIET,PTR_s_hallenge__000af46c + 0x1e4c,file,uVar8);\n  }\n  if (u->user == (char *)0x0) {\n    uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710);\n  }\n  else {\n    uVar6 = (*(code *)PTR_url_escape_000af7ec)();\n    if ((u->passwd == (char *)0x0) || (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {\n      iVar7 = 0;\n      uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n    }\n    else {\n      uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                        (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,0)\n      ;\n    }\n    (*(code *)PTR_free_000afd08)(uVar6);\n    (*(code *)PTR_free_000afd08)(iVar7);\n  }\n  puVar2 = PTR_s_hallenge__000af46c;\n  pcVar9 = html_quote_string(u->dir);\n  (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x1110,1,0x33,iVar20);\n  (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10dc,1,0x15,iVar20);\n  uVar6 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n  (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar6,pcVar9,u->host,u->port);\n  (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10ac,1,0x1c,iVar20);\n  uVar6 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n  (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar6,pcVar9,u->host,u->port);\n  (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x108c,1,0x11,iVar20);\n  puVar3 = PTR_s_hallenge__000af46c;\n  puVar2 = PTR_host_name_addresses_map_000af458;\n  if (f != (fileinfo *)0x0) {\n    puVar10 = PTR_s_hallenge__000af46c + -0x1074;\n    pcVar11 = PTR_s_hallenge__000af46c + -0x1118;\n    do {\n      (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar20);\n      if (f->tstamp == -1) {\n        uVar6 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar6);\n        fVar13 = f->type;\n        if (fVar13 == FT_DIRECTORY) goto LAB_0002e304;\nLAB_0002e274:\n        if (fVar13 == FT_PLAINFILE) {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1048;\n        }\n        else if (fVar13 == FT_SYMLINK) {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1028;\n        }\n        else {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1018;\n        }\n      }\n      else {\n        tstamp = f->tstamp;\n        iVar7 = (*(code *)PTR_localtime_000afdd8)(&tstamp);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar20,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                   *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                   *(undefined4 *)(iVar7 + 0xc));\n        if (f->ptype == TT_HOUR_MIN) {\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar20,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                     *(undefined4 *)(iVar7 + 4));\n        }\n        else {\n          (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar20);\n        }\n        fVar13 = f->type;\n        if (fVar13 != FT_DIRECTORY) goto LAB_0002e274;\nLAB_0002e304:\n        puVar18 = PTR_s_hallenge__000af46c + -0x1038;\n      }\n      uVar6 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar18,5);\n      (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar6);\n      pcVar12 = html_quote_string(f->name);\n      uVar6 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(f->name);\n      (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,puVar3 + -0x1008,uVar8,u->host,u->port);\n      if (*u->dir != '/') {\n        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);\n      }\n      (*(code *)PTR_fputs_000afe9c)(pcVar9,iVar20);\n      if (*u->dir != '\0') {\n        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);\n      }\n      (*(code *)PTR_fputs_000afe9c)(uVar6,iVar20);\n      if (f->type == FT_DIRECTORY) {\n        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);\n      }\n      (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,puVar3 + -0xff0,pcVar12);\n      if (f->type == FT_DIRECTORY) {\n        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);\n      }\n      (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar20);\n      if (f->type == FT_PLAINFILE) {\n        uVar14 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n        uVar15 = (*(code *)PTR_number_to_static_string_000af698)\n                           (*(undefined4 *)&f->size,(int)f->size);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar14,uVar15);\n      }\n      else if (f->type == FT_SYMLINK) {\n        pcVar19 = f->linkto;\n        if (f->linkto == (char *)0x0) {\n          pcVar19 = pcVar11;\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,PTR_s_hallenge__000af46c + -0xfd4,pcVar19);\n      }\n      (*(code *)PTR_putc_000afb2c)(10,iVar20);\n      (*(code *)PTR_free_000afd08)(pcVar12);\n      (*(code *)PTR_free_000afd08)(uVar6);\n      f = f->next;\n    } while (f != (fileinfo *)0x0);\n  }\n  (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0xfcc,1,0x17,iVar20);\n  (*(code *)PTR_free_000afd08)(pcVar9);\n  (*(code *)PTR_free_000afd08)(uVar8);\n  if (*(int *)puVar4 == 0) {\n    (*(code *)PTR_fclose_000afc8c)(iVar20);\n  }\n  else {\n    (*(code *)PTR_rpl_fflush_000af7f4)(iVar20);\n  }\n  if (local_2c == *(char **)puVar5) {\n    return FTPOK;\n  }\n  (*(code *)PTR___stack_chk_fail_000afbd4)();\n  uVar17 = (uerr_t)*local_2c;\n  if (uVar17 != NOCONERROR) {\n    pcVar9 = local_2c + 1;\n    cVar1 = local_2c[1];\n    while (cVar1 != 0) {\n      pcVar9 = pcVar9 + 1;\n      uVar17 = (int)cVar1 + uVar17 * 0x1f;\n      cVar1 = *pcVar9;\n    }\n  }\n  return uVar17;\n}\n\n" (function_definition "uerr_t ftp_index(char *file,url *u,fileinfo *f)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined4 uVar6;\n  int iVar7;\n  undefined4 uVar8;\n  char *pcVar9;\n  undefined *puVar10;\n  char *pcVar11;\n  char *pcVar12;\n  ftype fVar13;\n  undefined4 uVar14;\n  undefined4 uVar15;\n  undefined4 *puVar16;\n  uerr_t uVar17;\n  undefined *puVar18;\n  char *pcVar19;\n  int iVar20;\n  time_t tstamp;\n  char *local_2c;\n  \n  puVar5 = PTR___stack_chk_guard_000afc3c;\n  puVar4 = PTR_output_stream_000af524;\n  local_2c = *(char **)PTR___stack_chk_guard_000afc3c;\n  iVar20 = *(int *)PTR_output_stream_000af524;\n  if ((iVar20 == 0) &&\n     (iVar20 = (*(code *)PTR_fopen64_000afaac)(file,PTR_LAB_000af468 + 0x41e0), iVar20 == 0)) {\n    puVar16 = (undefined4 *)(*(code *)PTR___errno_location_000afe90)();\n    uVar8 = (*(code *)PTR_rpl_strerror_000af4b0)(*puVar16);\n                    /* WARNING: Subroutine does not return */\n    logprintf(LOG_NOTQUIET,PTR_s_hallenge__000af46c + 0x1e4c,file,uVar8);\n  }\n  if (u->user == (char *)0x0) {\n    uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710);\n  }\n  else {\n    uVar6 = (*(code *)PTR_url_escape_000af7ec)();\n    if ((u->passwd == (char *)0x0) || (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {\n      iVar7 = 0;\n      uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n    }\n    else {\n      uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                        (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,0)\n      ;\n    }\n    (*(code *)PTR_free_000afd08)(uVar6);\n    (*(code *)PTR_free_000afd08)(iVar7);\n  }\n  puVar2 = PTR_s_hallenge__000af46c;\n  pcVar9 = html_quote_string(u->dir);\n  (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x1110,1,0x33,iVar20);\n  (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10dc,1,0x15,iVar20);\n  uVar6 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n  (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar6,pcVar9,u->host,u->port);\n  (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10ac,1,0x1c,iVar20);\n  uVar6 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n  (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar6,pcVar9,u->host,u->port);\n  (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x108c,1,0x11,iVar20);\n  puVar3 = PTR_s_hallenge__000af46c;\n  puVar2 = PTR_host_name_addresses_map_000af458;\n  if (f != (fileinfo *)0x0) {\n    puVar10 = PTR_s_hallenge__000af46c + -0x1074;\n    pcVar11 = PTR_s_hallenge__000af46c + -0x1118;\n    do {\n      (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar20);\n      if (f->tstamp == -1) {\n        uVar6 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar6);\n        fVar13 = f->type;\n        if (fVar13 == FT_DIRECTORY) goto LAB_0002e304;\nLAB_0002e274:\n        if (fVar13 == FT_PLAINFILE) {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1048;\n        }\n        else if (fVar13 == FT_SYMLINK) {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1028;\n        }\n        else {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1018;\n        }\n      }\n      else {\n        tstamp = f->tstamp;\n        iVar7 = (*(code *)PTR_localtime_000afdd8)(&tstamp);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar20,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                   *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                   *(undefined4 *)(iVar7 + 0xc));\n        if (f->ptype == TT_HOUR_MIN) {\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar20,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                     *(undefined4 *)(iVar7 + 4));\n        }\n        else {\n          (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar20);\n        }\n        fVar13 = f->type;\n        if (fVar13 != FT_DIRECTORY) goto LAB_0002e274;\nLAB_0002e304:\n        puVar18 = PTR_s_hallenge__000af46c + -0x1038;\n      }\n      uVar6 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar18,5);\n      (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar6);\n      pcVar12 = html_quote_string(f->name);\n      uVar6 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(f->name);\n      (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,puVar3 + -0x1008,uVar8,u->host,u->port);\n      if (*u->dir != '/') {\n        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);\n      }\n      (*(code *)PTR_fputs_000afe9c)(pcVar9,iVar20);\n      if (*u->dir != '\0') {\n        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);\n      }\n      (*(code *)PTR_fputs_000afe9c)(uVar6,iVar20);\n      if (f->type == FT_DIRECTORY) {\n        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);\n      }\n      (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,puVar3 + -0xff0,pcVar12);\n      if (f->type == FT_DIRECTORY) {\n        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);\n      }\n      (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar20);\n      if (f->type == FT_PLAINFILE) {\n        uVar14 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n        uVar15 = (*(code *)PTR_number_to_static_string_000af698)\n                           (*(undefined4 *)&f->size,(int)f->size);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar14,uVar15);\n      }\n      else if (f->type == FT_SYMLINK) {\n        pcVar19 = f->linkto;\n        if (f->linkto == (char *)0x0) {\n          pcVar19 = pcVar11;\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,PTR_s_hallenge__000af46c + -0xfd4,pcVar19);\n      }\n      (*(code *)PTR_putc_000afb2c)(10,iVar20);\n      (*(code *)PTR_free_000afd08)(pcVar12);\n      (*(code *)PTR_free_000afd08)(uVar6);\n      f = f->next;\n    } while (f != (fileinfo *)0x0);\n  }\n  (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0xfcc,1,0x17,iVar20);\n  (*(code *)PTR_free_000afd08)(pcVar9);\n  (*(code *)PTR_free_000afd08)(uVar8);\n  if (*(int *)puVar4 == 0) {\n    (*(code *)PTR_fclose_000afc8c)(iVar20);\n  }\n  else {\n    (*(code *)PTR_rpl_fflush_000af7f4)(iVar20);\n  }\n  if (local_2c == *(char **)puVar5) {\n    return FTPOK;\n  }\n  (*(code *)PTR___stack_chk_fail_000afbd4)();\n  uVar17 = (uerr_t)*local_2c;\n  if (uVar17 != NOCONERROR) {\n    pcVar9 = local_2c + 1;\n    cVar1 = local_2c[1];\n    while (cVar1 != 0) {\n      pcVar9 = pcVar9 + 1;\n      uVar17 = (int)cVar1 + uVar17 * 0x1f;\n      cVar1 = *pcVar9;\n    }\n  }\n  return uVar17;\n}" type_identifier (function_declarator "ftp_index(char *file,url *u,fileinfo *f)" identifier (parameter_list "(char *file,url *u,fileinfo *f)" ( (parameter_declaration "char *file" primitive_type (pointer_declarator "*file" * identifier)) , (parameter_declaration "url *u" type_identifier (pointer_declarator "*u" * identifier)) , (parameter_declaration "fileinfo *f" type_identifier (pointer_declarator "*f" * identifier)) ))) (compound_statement "{\n  char cVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined4 uVar6;\n  int iVar7;\n  undefined4 uVar8;\n  char *pcVar9;\n  undefined *puVar10;\n  char *pcVar11;\n  char *pcVar12;\n  ftype fVar13;\n  undefined4 uVar14;\n  undefined4 uVar15;\n  undefined4 *puVar16;\n  uerr_t uVar17;\n  undefined *puVar18;\n  char *pcVar19;\n  int iVar20;\n  time_t tstamp;\n  char *local_2c;\n  \n  puVar5 = PTR___stack_chk_guard_000afc3c;\n  puVar4 = PTR_output_stream_000af524;\n  local_2c = *(char **)PTR___stack_chk_guard_000afc3c;\n  iVar20 = *(int *)PTR_output_stream_000af524;\n  if ((iVar20 == 0) &&\n     (iVar20 = (*(code *)PTR_fopen64_000afaac)(file,PTR_LAB_000af468 + 0x41e0), iVar20 == 0)) {\n    puVar16 = (undefined4 *)(*(code *)PTR___errno_location_000afe90)();\n    uVar8 = (*(code *)PTR_rpl_strerror_000af4b0)(*puVar16);\n                    /* WARNING: Subroutine does not return */\n    logprintf(LOG_NOTQUIET,PTR_s_hallenge__000af46c + 0x1e4c,file,uVar8);\n  }\n  if (u->user == (char *)0x0) {\n    uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710);\n  }\n  else {\n    uVar6 = (*(code *)PTR_url_escape_000af7ec)();\n    if ((u->passwd == (char *)0x0) || (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {\n      iVar7 = 0;\n      uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n    }\n    else {\n      uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                        (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,0)\n      ;\n    }\n    (*(code *)PTR_free_000afd08)(uVar6);\n    (*(code *)PTR_free_000afd08)(iVar7);\n  }\n  puVar2 = PTR_s_hallenge__000af46c;\n  pcVar9 = html_quote_string(u->dir);\n  (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x1110,1,0x33,iVar20);\n  (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10dc,1,0x15,iVar20);\n  uVar6 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n  (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar6,pcVar9,u->host,u->port);\n  (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10ac,1,0x1c,iVar20);\n  uVar6 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n  (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar6,pcVar9,u->host,u->port);\n  (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x108c,1,0x11,iVar20);\n  puVar3 = PTR_s_hallenge__000af46c;\n  puVar2 = PTR_host_name_addresses_map_000af458;\n  if (f != (fileinfo *)0x0) {\n    puVar10 = PTR_s_hallenge__000af46c + -0x1074;\n    pcVar11 = PTR_s_hallenge__000af46c + -0x1118;\n    do {\n      (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar20);\n      if (f->tstamp == -1) {\n        uVar6 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar6);\n        fVar13 = f->type;\n        if (fVar13 == FT_DIRECTORY) goto LAB_0002e304;\nLAB_0002e274:\n        if (fVar13 == FT_PLAINFILE) {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1048;\n        }\n        else if (fVar13 == FT_SYMLINK) {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1028;\n        }\n        else {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1018;\n        }\n      }\n      else {\n        tstamp = f->tstamp;\n        iVar7 = (*(code *)PTR_localtime_000afdd8)(&tstamp);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar20,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                   *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                   *(undefined4 *)(iVar7 + 0xc));\n        if (f->ptype == TT_HOUR_MIN) {\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar20,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                     *(undefined4 *)(iVar7 + 4));\n        }\n        else {\n          (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar20);\n        }\n        fVar13 = f->type;\n        if (fVar13 != FT_DIRECTORY) goto LAB_0002e274;\nLAB_0002e304:\n        puVar18 = PTR_s_hallenge__000af46c + -0x1038;\n      }\n      uVar6 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar18,5);\n      (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar6);\n      pcVar12 = html_quote_string(f->name);\n      uVar6 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(f->name);\n      (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,puVar3 + -0x1008,uVar8,u->host,u->port);\n      if (*u->dir != '/') {\n        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);\n      }\n      (*(code *)PTR_fputs_000afe9c)(pcVar9,iVar20);\n      if (*u->dir != '\0') {\n        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);\n      }\n      (*(code *)PTR_fputs_000afe9c)(uVar6,iVar20);\n      if (f->type == FT_DIRECTORY) {\n        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);\n      }\n      (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,puVar3 + -0xff0,pcVar12);\n      if (f->type == FT_DIRECTORY) {\n        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);\n      }\n      (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar20);\n      if (f->type == FT_PLAINFILE) {\n        uVar14 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n        uVar15 = (*(code *)PTR_number_to_static_string_000af698)\n                           (*(undefined4 *)&f->size,(int)f->size);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar14,uVar15);\n      }\n      else if (f->type == FT_SYMLINK) {\n        pcVar19 = f->linkto;\n        if (f->linkto == (char *)0x0) {\n          pcVar19 = pcVar11;\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,PTR_s_hallenge__000af46c + -0xfd4,pcVar19);\n      }\n      (*(code *)PTR_putc_000afb2c)(10,iVar20);\n      (*(code *)PTR_free_000afd08)(pcVar12);\n      (*(code *)PTR_free_000afd08)(uVar6);\n      f = f->next;\n    } while (f != (fileinfo *)0x0);\n  }\n  (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0xfcc,1,0x17,iVar20);\n  (*(code *)PTR_free_000afd08)(pcVar9);\n  (*(code *)PTR_free_000afd08)(uVar8);\n  if (*(int *)puVar4 == 0) {\n    (*(code *)PTR_fclose_000afc8c)(iVar20);\n  }\n  else {\n    (*(code *)PTR_rpl_fflush_000af7f4)(iVar20);\n  }\n  if (local_2c == *(char **)puVar5) {\n    return FTPOK;\n  }\n  (*(code *)PTR___stack_chk_fail_000afbd4)();\n  uVar17 = (uerr_t)*local_2c;\n  if (uVar17 != NOCONERROR) {\n    pcVar9 = local_2c + 1;\n    cVar1 = local_2c[1];\n    while (cVar1 != 0) {\n      pcVar9 = pcVar9 + 1;\n      uVar17 = (int)cVar1 + uVar17 * 0x1f;\n      cVar1 = *pcVar9;\n    }\n  }\n  return uVar17;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "char *pcVar11;" primitive_type (pointer_declarator "*pcVar11" * identifier) ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "ftype fVar13;" type_identifier identifier ;) (declaration "undefined4 uVar14;" type_identifier identifier ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (declaration "undefined4 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "uerr_t uVar17;" type_identifier identifier ;) (declaration "undefined *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "char *pcVar19;" primitive_type (pointer_declarator "*pcVar19" * identifier) ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "time_t tstamp;" type_identifier identifier ;) (declaration "char *local_2c;" primitive_type (pointer_declarator "*local_2c" * identifier) ;) (expression_statement "puVar5 = PTR___stack_chk_guard_000afc3c;" (assignment_expression "puVar5 = PTR___stack_chk_guard_000afc3c" identifier = identifier) ;) (expression_statement "puVar4 = PTR_output_stream_000af524;" (assignment_expression "puVar4 = PTR_output_stream_000af524" identifier = identifier) ;) (expression_statement "local_2c = *(char **)PTR___stack_chk_guard_000afc3c;" (assignment_expression "local_2c = *(char **)PTR___stack_chk_guard_000afc3c" identifier = (pointer_expression "*(char **)PTR___stack_chk_guard_000afc3c" * (cast_expression "(char **)PTR___stack_chk_guard_000afc3c" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "iVar20 = *(int *)PTR_output_stream_000af524;" (assignment_expression "iVar20 = *(int *)PTR_output_stream_000af524" identifier = (pointer_expression "*(int *)PTR_output_stream_000af524" * (cast_expression "(int *)PTR_output_stream_000af524" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((iVar20 == 0) &&\n     (iVar20 = (*(code *)PTR_fopen64_000afaac)(file,PTR_LAB_000af468 + 0x41e0), iVar20 == 0)) {\n    puVar16 = (undefined4 *)(*(code *)PTR___errno_location_000afe90)();\n    uVar8 = (*(code *)PTR_rpl_strerror_000af4b0)(*puVar16);\n                    /* WARNING: Subroutine does not return */\n    logprintf(LOG_NOTQUIET,PTR_s_hallenge__000af46c + 0x1e4c,file,uVar8);\n  }" if (parenthesized_expression "((iVar20 == 0) &&\n     (iVar20 = (*(code *)PTR_fopen64_000afaac)(file,PTR_LAB_000af468 + 0x41e0), iVar20 == 0))" ( (binary_expression "(iVar20 == 0) &&\n     (iVar20 = (*(code *)PTR_fopen64_000afaac)(file,PTR_LAB_000af468 + 0x41e0), iVar20 == 0)" (parenthesized_expression "(iVar20 == 0)" ( (binary_expression "iVar20 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar20 = (*(code *)PTR_fopen64_000afaac)(file,PTR_LAB_000af468 + 0x41e0), iVar20 == 0)" ( (comma_expression "iVar20 = (*(code *)PTR_fopen64_000afaac)(file,PTR_LAB_000af468 + 0x41e0), iVar20 == 0" (assignment_expression "iVar20 = (*(code *)PTR_fopen64_000afaac)(file,PTR_LAB_000af468 + 0x41e0)" identifier = (call_expression "(*(code *)PTR_fopen64_000afaac)(file,PTR_LAB_000af468 + 0x41e0)" (parenthesized_expression "(*(code *)PTR_fopen64_000afaac)" ( (pointer_expression "*(code *)PTR_fopen64_000afaac" * (cast_expression "(code *)PTR_fopen64_000afaac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(file,PTR_LAB_000af468 + 0x41e0)" ( identifier , (binary_expression "PTR_LAB_000af468 + 0x41e0" identifier + number_literal) )))) , (binary_expression "iVar20 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    puVar16 = (undefined4 *)(*(code *)PTR___errno_location_000afe90)();\n    uVar8 = (*(code *)PTR_rpl_strerror_000af4b0)(*puVar16);\n                    /* WARNING: Subroutine does not return */\n    logprintf(LOG_NOTQUIET,PTR_s_hallenge__000af46c + 0x1e4c,file,uVar8);\n  }" { (expression_statement "puVar16 = (undefined4 *)(*(code *)PTR___errno_location_000afe90)();" (assignment_expression "puVar16 = (undefined4 *)(*(code *)PTR___errno_location_000afe90)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_000afe90)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_000afe90)()" (parenthesized_expression "(*(code *)PTR___errno_location_000afe90)" ( (pointer_expression "*(code *)PTR___errno_location_000afe90" * (cast_expression "(code *)PTR___errno_location_000afe90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar8 = (*(code *)PTR_rpl_strerror_000af4b0)(*puVar16);" (assignment_expression "uVar8 = (*(code *)PTR_rpl_strerror_000af4b0)(*puVar16)" identifier = (call_expression "(*(code *)PTR_rpl_strerror_000af4b0)(*puVar16)" (parenthesized_expression "(*(code *)PTR_rpl_strerror_000af4b0)" ( (pointer_expression "*(code *)PTR_rpl_strerror_000af4b0" * (cast_expression "(code *)PTR_rpl_strerror_000af4b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar16)" ( (pointer_expression "*puVar16" * identifier) )))) ;) comment (expression_statement "logprintf(LOG_NOTQUIET,PTR_s_hallenge__000af46c + 0x1e4c,file,uVar8);" (call_expression "logprintf(LOG_NOTQUIET,PTR_s_hallenge__000af46c + 0x1e4c,file,uVar8)" identifier (argument_list "(LOG_NOTQUIET,PTR_s_hallenge__000af46c + 0x1e4c,file,uVar8)" ( identifier , (binary_expression "PTR_s_hallenge__000af46c + 0x1e4c" identifier + number_literal) , identifier , identifier ))) ;) })) (if_statement "if (u->user == (char *)0x0) {\n    uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710);\n  }\n  else {\n    uVar6 = (*(code *)PTR_url_escape_000af7ec)();\n    if ((u->passwd == (char *)0x0) || (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {\n      iVar7 = 0;\n      uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n    }\n    else {\n      uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                        (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,0)\n      ;\n    }\n    (*(code *)PTR_free_000afd08)(uVar6);\n    (*(code *)PTR_free_000afd08)(iVar7);\n  }" if (parenthesized_expression "(u->user == (char *)0x0)" ( (binary_expression "u->user == (char *)0x0" (field_expression "u->user" identifier -> field_identifier) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710);\n  }" { (expression_statement "uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710);" (assignment_expression "uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710)" identifier = (call_expression "(*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710)" (parenthesized_expression "(*(code *)PTR_xstrdup_000af48c)" ( (pointer_expression "*(code *)PTR_xstrdup_000af48c" * (cast_expression "(code *)PTR_xstrdup_000af48c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_hallenge__000af46c + -0x1710)" ( (binary_expression "PTR_s_hallenge__000af46c + -0x1710" identifier + number_literal) )))) ;) }) (else_clause "else {\n    uVar6 = (*(code *)PTR_url_escape_000af7ec)();\n    if ((u->passwd == (char *)0x0) || (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {\n      iVar7 = 0;\n      uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n    }\n    else {\n      uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                        (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,0)\n      ;\n    }\n    (*(code *)PTR_free_000afd08)(uVar6);\n    (*(code *)PTR_free_000afd08)(iVar7);\n  }" else (compound_statement "{\n    uVar6 = (*(code *)PTR_url_escape_000af7ec)();\n    if ((u->passwd == (char *)0x0) || (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {\n      iVar7 = 0;\n      uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n    }\n    else {\n      uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                        (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,0)\n      ;\n    }\n    (*(code *)PTR_free_000afd08)(uVar6);\n    (*(code *)PTR_free_000afd08)(iVar7);\n  }" { (expression_statement "uVar6 = (*(code *)PTR_url_escape_000af7ec)();" (assignment_expression "uVar6 = (*(code *)PTR_url_escape_000af7ec)()" identifier = (call_expression "(*(code *)PTR_url_escape_000af7ec)()" (parenthesized_expression "(*(code *)PTR_url_escape_000af7ec)" ( (pointer_expression "*(code *)PTR_url_escape_000af7ec" * (cast_expression "(code *)PTR_url_escape_000af7ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if ((u->passwd == (char *)0x0) || (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {\n      iVar7 = 0;\n      uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n    }\n    else {\n      uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                        (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,0)\n      ;\n    }" if (parenthesized_expression "((u->passwd == (char *)0x0) || (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0))" ( (binary_expression "(u->passwd == (char *)0x0) || (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)" (parenthesized_expression "(u->passwd == (char *)0x0)" ( (binary_expression "u->passwd == (char *)0x0" (field_expression "u->passwd" identifier -> field_identifier) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)" ( (comma_expression "iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0" (assignment_expression "iVar7 = (*(code *)PTR_url_escape_000af7ec)()" identifier = (call_expression "(*(code *)PTR_url_escape_000af7ec)()" (parenthesized_expression "(*(code *)PTR_url_escape_000af7ec)" ( (pointer_expression "*(code *)PTR_url_escape_000af7ec" * (cast_expression "(code *)PTR_url_escape_000af7ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) , (binary_expression "iVar7 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      iVar7 = 0;\n      uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n    }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);" (assignment_expression "uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0)" identifier = (call_expression "(*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0)" (parenthesized_expression "(*(code *)PTR_concat_strings_000af6b4)" ( (pointer_expression "*(code *)PTR_concat_strings_000af6b4" * (cast_expression "(code *)PTR_concat_strings_000af6b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar6,PTR_LAB_000af468 + 0x48b0,0)" ( identifier , (binary_expression "PTR_LAB_000af468 + 0x48b0" identifier + number_literal) , number_literal )))) ;) }) (else_clause "else {\n      uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                        (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,0)\n      ;\n    }" else (compound_statement "{\n      uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                        (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,0)\n      ;\n    }" { (expression_statement "uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                        (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,0)\n      ;" (assignment_expression "uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                        (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,0)" identifier = (call_expression "(*(code *)PTR_concat_strings_000af6b4)\n                        (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,0)" (parenthesized_expression "(*(code *)PTR_concat_strings_000af6b4)" ( (pointer_expression "*(code *)PTR_concat_strings_000af6b4" * (cast_expression "(code *)PTR_concat_strings_000af6b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,0)" ( identifier , (binary_expression "PTR_s_hallenge__000af46c + -0x139c" identifier + number_literal) , identifier , (binary_expression "PTR_LAB_000af468 + 0x48b0" identifier + number_literal) , number_literal )))) ;) }))) (expression_statement "(*(code *)PTR_free_000afd08)(uVar6);" (call_expression "(*(code *)PTR_free_000afd08)(uVar6)" (parenthesized_expression "(*(code *)PTR_free_000afd08)" ( (pointer_expression "*(code *)PTR_free_000afd08" * (cast_expression "(code *)PTR_free_000afd08" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar6)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_free_000afd08)(iVar7);" (call_expression "(*(code *)PTR_free_000afd08)(iVar7)" (parenthesized_expression "(*(code *)PTR_free_000afd08)" ( (pointer_expression "*(code *)PTR_free_000afd08" * (cast_expression "(code *)PTR_free_000afd08" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier ))) ;) }))) (expression_statement "puVar2 = PTR_s_hallenge__000af46c;" (assignment_expression "puVar2 = PTR_s_hallenge__000af46c" identifier = identifier) ;) (expression_statement "pcVar9 = html_quote_string(u->dir);" (assignment_expression "pcVar9 = html_quote_string(u->dir)" identifier = (call_expression "html_quote_string(u->dir)" identifier (argument_list "(u->dir)" ( (field_expression "u->dir" identifier -> field_identifier) )))) ;) (expression_statement "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x1110,1,0x33,iVar20);" (call_expression "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x1110,1,0x33,iVar20)" (parenthesized_expression "(*(code *)PTR_fwrite_000afbfc)" ( (pointer_expression "*(code *)PTR_fwrite_000afbfc" * (cast_expression "(code *)PTR_fwrite_000afbfc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_hallenge__000af46c + -0x1110,1,0x33,iVar20)" ( (binary_expression "PTR_s_hallenge__000af46c + -0x1110" identifier + number_literal) , number_literal , number_literal , identifier ))) ;) (expression_statement "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10dc,1,0x15,iVar20);" (call_expression "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10dc,1,0x15,iVar20)" (parenthesized_expression "(*(code *)PTR_fwrite_000afbfc)" ( (pointer_expression "*(code *)PTR_fwrite_000afbfc" * (cast_expression "(code *)PTR_fwrite_000afbfc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_hallenge__000af46c + -0x10dc,1,0x15,iVar20)" ( (binary_expression "PTR_s_hallenge__000af46c + -0x10dc" identifier + number_literal) , number_literal , number_literal , identifier ))) ;) (expression_statement "uVar6 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);" (assignment_expression "uVar6 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000afcf4)" ( (pointer_expression "*(code *)PTR_dcgettext_000afcf4" * (cast_expression "(code *)PTR_dcgettext_000afcf4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar2 + -0x10c4,5)" ( number_literal , (binary_expression "puVar2 + -0x10c4" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar6,pcVar9,u->host,u->port);" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar6,pcVar9,u->host,u->port)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" ( (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" * (cast_expression "(code *)PTR___fprintf_chk_000afe0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar20,1,uVar6,pcVar9,u->host,u->port)" ( identifier , number_literal , identifier , identifier , (field_expression "u->host" identifier -> field_identifier) , (field_expression "u->port" identifier -> field_identifier) ))) ;) (expression_statement "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10ac,1,0x1c,iVar20);" (call_expression "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10ac,1,0x1c,iVar20)" (parenthesized_expression "(*(code *)PTR_fwrite_000afbfc)" ( (pointer_expression "*(code *)PTR_fwrite_000afbfc" * (cast_expression "(code *)PTR_fwrite_000afbfc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_hallenge__000af46c + -0x10ac,1,0x1c,iVar20)" ( (binary_expression "PTR_s_hallenge__000af46c + -0x10ac" identifier + number_literal) , number_literal , number_literal , identifier ))) ;) (expression_statement "uVar6 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);" (assignment_expression "uVar6 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000afcf4)" ( (pointer_expression "*(code *)PTR_dcgettext_000afcf4" * (cast_expression "(code *)PTR_dcgettext_000afcf4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar2 + -0x10c4,5)" ( number_literal , (binary_expression "puVar2 + -0x10c4" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar6,pcVar9,u->host,u->port);" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar6,pcVar9,u->host,u->port)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" ( (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" * (cast_expression "(code *)PTR___fprintf_chk_000afe0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar20,1,uVar6,pcVar9,u->host,u->port)" ( identifier , number_literal , identifier , identifier , (field_expression "u->host" identifier -> field_identifier) , (field_expression "u->port" identifier -> field_identifier) ))) ;) (expression_statement "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x108c,1,0x11,iVar20);" (call_expression "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x108c,1,0x11,iVar20)" (parenthesized_expression "(*(code *)PTR_fwrite_000afbfc)" ( (pointer_expression "*(code *)PTR_fwrite_000afbfc" * (cast_expression "(code *)PTR_fwrite_000afbfc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_hallenge__000af46c + -0x108c,1,0x11,iVar20)" ( (binary_expression "PTR_s_hallenge__000af46c + -0x108c" identifier + number_literal) , number_literal , number_literal , identifier ))) ;) (expression_statement "puVar3 = PTR_s_hallenge__000af46c;" (assignment_expression "puVar3 = PTR_s_hallenge__000af46c" identifier = identifier) ;) (expression_statement "puVar2 = PTR_host_name_addresses_map_000af458;" (assignment_expression "puVar2 = PTR_host_name_addresses_map_000af458" identifier = identifier) ;) (if_statement "if (f != (fileinfo *)0x0) {\n    puVar10 = PTR_s_hallenge__000af46c + -0x1074;\n    pcVar11 = PTR_s_hallenge__000af46c + -0x1118;\n    do {\n      (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar20);\n      if (f->tstamp == -1) {\n        uVar6 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar6);\n        fVar13 = f->type;\n        if (fVar13 == FT_DIRECTORY) goto LAB_0002e304;\nLAB_0002e274:\n        if (fVar13 == FT_PLAINFILE) {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1048;\n        }\n        else if (fVar13 == FT_SYMLINK) {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1028;\n        }\n        else {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1018;\n        }\n      }\n      else {\n        tstamp = f->tstamp;\n        iVar7 = (*(code *)PTR_localtime_000afdd8)(&tstamp);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar20,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                   *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                   *(undefined4 *)(iVar7 + 0xc));\n        if (f->ptype == TT_HOUR_MIN) {\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar20,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                     *(undefined4 *)(iVar7 + 4));\n        }\n        else {\n          (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar20);\n        }\n        fVar13 = f->type;\n        if (fVar13 != FT_DIRECTORY) goto LAB_0002e274;\nLAB_0002e304:\n        puVar18 = PTR_s_hallenge__000af46c + -0x1038;\n      }\n      uVar6 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar18,5);\n      (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar6);\n      pcVar12 = html_quote_string(f->name);\n      uVar6 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(f->name);\n      (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,puVar3 + -0x1008,uVar8,u->host,u->port);\n      if (*u->dir != '/') {\n        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);\n      }\n      (*(code *)PTR_fputs_000afe9c)(pcVar9,iVar20);\n      if (*u->dir != '\0') {\n        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);\n      }\n      (*(code *)PTR_fputs_000afe9c)(uVar6,iVar20);\n      if (f->type == FT_DIRECTORY) {\n        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);\n      }\n      (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,puVar3 + -0xff0,pcVar12);\n      if (f->type == FT_DIRECTORY) {\n        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);\n      }\n      (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar20);\n      if (f->type == FT_PLAINFILE) {\n        uVar14 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n        uVar15 = (*(code *)PTR_number_to_static_string_000af698)\n                           (*(undefined4 *)&f->size,(int)f->size);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar14,uVar15);\n      }\n      else if (f->type == FT_SYMLINK) {\n        pcVar19 = f->linkto;\n        if (f->linkto == (char *)0x0) {\n          pcVar19 = pcVar11;\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,PTR_s_hallenge__000af46c + -0xfd4,pcVar19);\n      }\n      (*(code *)PTR_putc_000afb2c)(10,iVar20);\n      (*(code *)PTR_free_000afd08)(pcVar12);\n      (*(code *)PTR_free_000afd08)(uVar6);\n      f = f->next;\n    } while (f != (fileinfo *)0x0);\n  }" if (parenthesized_expression "(f != (fileinfo *)0x0)" ( (binary_expression "f != (fileinfo *)0x0" identifier != (cast_expression "(fileinfo *)0x0" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar10 = PTR_s_hallenge__000af46c + -0x1074;\n    pcVar11 = PTR_s_hallenge__000af46c + -0x1118;\n    do {\n      (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar20);\n      if (f->tstamp == -1) {\n        uVar6 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar6);\n        fVar13 = f->type;\n        if (fVar13 == FT_DIRECTORY) goto LAB_0002e304;\nLAB_0002e274:\n        if (fVar13 == FT_PLAINFILE) {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1048;\n        }\n        else if (fVar13 == FT_SYMLINK) {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1028;\n        }\n        else {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1018;\n        }\n      }\n      else {\n        tstamp = f->tstamp;\n        iVar7 = (*(code *)PTR_localtime_000afdd8)(&tstamp);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar20,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                   *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                   *(undefined4 *)(iVar7 + 0xc));\n        if (f->ptype == TT_HOUR_MIN) {\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar20,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                     *(undefined4 *)(iVar7 + 4));\n        }\n        else {\n          (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar20);\n        }\n        fVar13 = f->type;\n        if (fVar13 != FT_DIRECTORY) goto LAB_0002e274;\nLAB_0002e304:\n        puVar18 = PTR_s_hallenge__000af46c + -0x1038;\n      }\n      uVar6 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar18,5);\n      (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar6);\n      pcVar12 = html_quote_string(f->name);\n      uVar6 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(f->name);\n      (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,puVar3 + -0x1008,uVar8,u->host,u->port);\n      if (*u->dir != '/') {\n        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);\n      }\n      (*(code *)PTR_fputs_000afe9c)(pcVar9,iVar20);\n      if (*u->dir != '\0') {\n        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);\n      }\n      (*(code *)PTR_fputs_000afe9c)(uVar6,iVar20);\n      if (f->type == FT_DIRECTORY) {\n        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);\n      }\n      (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,puVar3 + -0xff0,pcVar12);\n      if (f->type == FT_DIRECTORY) {\n        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);\n      }\n      (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar20);\n      if (f->type == FT_PLAINFILE) {\n        uVar14 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n        uVar15 = (*(code *)PTR_number_to_static_string_000af698)\n                           (*(undefined4 *)&f->size,(int)f->size);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar14,uVar15);\n      }\n      else if (f->type == FT_SYMLINK) {\n        pcVar19 = f->linkto;\n        if (f->linkto == (char *)0x0) {\n          pcVar19 = pcVar11;\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,PTR_s_hallenge__000af46c + -0xfd4,pcVar19);\n      }\n      (*(code *)PTR_putc_000afb2c)(10,iVar20);\n      (*(code *)PTR_free_000afd08)(pcVar12);\n      (*(code *)PTR_free_000afd08)(uVar6);\n      f = f->next;\n    } while (f != (fileinfo *)0x0);\n  }" { (expression_statement "puVar10 = PTR_s_hallenge__000af46c + -0x1074;" (assignment_expression "puVar10 = PTR_s_hallenge__000af46c + -0x1074" identifier = (binary_expression "PTR_s_hallenge__000af46c + -0x1074" identifier + number_literal)) ;) (expression_statement "pcVar11 = PTR_s_hallenge__000af46c + -0x1118;" (assignment_expression "pcVar11 = PTR_s_hallenge__000af46c + -0x1118" identifier = (binary_expression "PTR_s_hallenge__000af46c + -0x1118" identifier + number_literal)) ;) (do_statement "do {\n      (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar20);\n      if (f->tstamp == -1) {\n        uVar6 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar6);\n        fVar13 = f->type;\n        if (fVar13 == FT_DIRECTORY) goto LAB_0002e304;\nLAB_0002e274:\n        if (fVar13 == FT_PLAINFILE) {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1048;\n        }\n        else if (fVar13 == FT_SYMLINK) {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1028;\n        }\n        else {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1018;\n        }\n      }\n      else {\n        tstamp = f->tstamp;\n        iVar7 = (*(code *)PTR_localtime_000afdd8)(&tstamp);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar20,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                   *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                   *(undefined4 *)(iVar7 + 0xc));\n        if (f->ptype == TT_HOUR_MIN) {\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar20,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                     *(undefined4 *)(iVar7 + 4));\n        }\n        else {\n          (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar20);\n        }\n        fVar13 = f->type;\n        if (fVar13 != FT_DIRECTORY) goto LAB_0002e274;\nLAB_0002e304:\n        puVar18 = PTR_s_hallenge__000af46c + -0x1038;\n      }\n      uVar6 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar18,5);\n      (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar6);\n      pcVar12 = html_quote_string(f->name);\n      uVar6 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(f->name);\n      (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,puVar3 + -0x1008,uVar8,u->host,u->port);\n      if (*u->dir != '/') {\n        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);\n      }\n      (*(code *)PTR_fputs_000afe9c)(pcVar9,iVar20);\n      if (*u->dir != '\0') {\n        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);\n      }\n      (*(code *)PTR_fputs_000afe9c)(uVar6,iVar20);\n      if (f->type == FT_DIRECTORY) {\n        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);\n      }\n      (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,puVar3 + -0xff0,pcVar12);\n      if (f->type == FT_DIRECTORY) {\n        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);\n      }\n      (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar20);\n      if (f->type == FT_PLAINFILE) {\n        uVar14 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n        uVar15 = (*(code *)PTR_number_to_static_string_000af698)\n                           (*(undefined4 *)&f->size,(int)f->size);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar14,uVar15);\n      }\n      else if (f->type == FT_SYMLINK) {\n        pcVar19 = f->linkto;\n        if (f->linkto == (char *)0x0) {\n          pcVar19 = pcVar11;\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,PTR_s_hallenge__000af46c + -0xfd4,pcVar19);\n      }\n      (*(code *)PTR_putc_000afb2c)(10,iVar20);\n      (*(code *)PTR_free_000afd08)(pcVar12);\n      (*(code *)PTR_free_000afd08)(uVar6);\n      f = f->next;\n    } while (f != (fileinfo *)0x0);" do (compound_statement "{\n      (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar20);\n      if (f->tstamp == -1) {\n        uVar6 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar6);\n        fVar13 = f->type;\n        if (fVar13 == FT_DIRECTORY) goto LAB_0002e304;\nLAB_0002e274:\n        if (fVar13 == FT_PLAINFILE) {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1048;\n        }\n        else if (fVar13 == FT_SYMLINK) {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1028;\n        }\n        else {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1018;\n        }\n      }\n      else {\n        tstamp = f->tstamp;\n        iVar7 = (*(code *)PTR_localtime_000afdd8)(&tstamp);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar20,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                   *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                   *(undefined4 *)(iVar7 + 0xc));\n        if (f->ptype == TT_HOUR_MIN) {\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar20,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                     *(undefined4 *)(iVar7 + 4));\n        }\n        else {\n          (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar20);\n        }\n        fVar13 = f->type;\n        if (fVar13 != FT_DIRECTORY) goto LAB_0002e274;\nLAB_0002e304:\n        puVar18 = PTR_s_hallenge__000af46c + -0x1038;\n      }\n      uVar6 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar18,5);\n      (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar6);\n      pcVar12 = html_quote_string(f->name);\n      uVar6 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(f->name);\n      (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,puVar3 + -0x1008,uVar8,u->host,u->port);\n      if (*u->dir != '/') {\n        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);\n      }\n      (*(code *)PTR_fputs_000afe9c)(pcVar9,iVar20);\n      if (*u->dir != '\0') {\n        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);\n      }\n      (*(code *)PTR_fputs_000afe9c)(uVar6,iVar20);\n      if (f->type == FT_DIRECTORY) {\n        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);\n      }\n      (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,puVar3 + -0xff0,pcVar12);\n      if (f->type == FT_DIRECTORY) {\n        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);\n      }\n      (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar20);\n      if (f->type == FT_PLAINFILE) {\n        uVar14 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n        uVar15 = (*(code *)PTR_number_to_static_string_000af698)\n                           (*(undefined4 *)&f->size,(int)f->size);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar14,uVar15);\n      }\n      else if (f->type == FT_SYMLINK) {\n        pcVar19 = f->linkto;\n        if (f->linkto == (char *)0x0) {\n          pcVar19 = pcVar11;\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,PTR_s_hallenge__000af46c + -0xfd4,pcVar19);\n      }\n      (*(code *)PTR_putc_000afb2c)(10,iVar20);\n      (*(code *)PTR_free_000afd08)(pcVar12);\n      (*(code *)PTR_free_000afd08)(uVar6);\n      f = f->next;\n    }" { (expression_statement "(*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar20);" (call_expression "(*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar20)" (parenthesized_expression "(*(code *)PTR_fwrite_000afbfc)" ( (pointer_expression "*(code *)PTR_fwrite_000afbfc" * (cast_expression "(code *)PTR_fwrite_000afbfc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3 + -0x1078,1,2,iVar20)" ( (binary_expression "puVar3 + -0x1078" identifier + number_literal) , number_literal , number_literal , identifier ))) ;) (if_statement "if (f->tstamp == -1) {\n        uVar6 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar6);\n        fVar13 = f->type;\n        if (fVar13 == FT_DIRECTORY) goto LAB_0002e304;\nLAB_0002e274:\n        if (fVar13 == FT_PLAINFILE) {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1048;\n        }\n        else if (fVar13 == FT_SYMLINK) {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1028;\n        }\n        else {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1018;\n        }\n      }\n      else {\n        tstamp = f->tstamp;\n        iVar7 = (*(code *)PTR_localtime_000afdd8)(&tstamp);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar20,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                   *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                   *(undefined4 *)(iVar7 + 0xc));\n        if (f->ptype == TT_HOUR_MIN) {\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar20,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                     *(undefined4 *)(iVar7 + 4));\n        }\n        else {\n          (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar20);\n        }\n        fVar13 = f->type;\n        if (fVar13 != FT_DIRECTORY) goto LAB_0002e274;\nLAB_0002e304:\n        puVar18 = PTR_s_hallenge__000af46c + -0x1038;\n      }" if (parenthesized_expression "(f->tstamp == -1)" ( (binary_expression "f->tstamp == -1" (field_expression "f->tstamp" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n        uVar6 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar6);\n        fVar13 = f->type;\n        if (fVar13 == FT_DIRECTORY) goto LAB_0002e304;\nLAB_0002e274:\n        if (fVar13 == FT_PLAINFILE) {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1048;\n        }\n        else if (fVar13 == FT_SYMLINK) {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1028;\n        }\n        else {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1018;\n        }\n      }" { (expression_statement "uVar6 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);" (assignment_expression "uVar6 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000afcf4)" ( (pointer_expression "*(code *)PTR_dcgettext_000afcf4" * (cast_expression "(code *)PTR_dcgettext_000afcf4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar3 + -0x105c,5)" ( number_literal , (binary_expression "puVar3 + -0x105c" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar6);" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar6)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" ( (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" * (cast_expression "(code *)PTR___fprintf_chk_000afe0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar20,1,uVar6)" ( identifier , number_literal , identifier ))) ;) (expression_statement "fVar13 = f->type;" (assignment_expression "fVar13 = f->type" identifier = (field_expression "f->type" identifier -> field_identifier)) ;) (if_statement "if (fVar13 == FT_DIRECTORY) goto LAB_0002e304;" if (parenthesized_expression "(fVar13 == FT_DIRECTORY)" ( (binary_expression "fVar13 == FT_DIRECTORY" identifier == identifier) )) (goto_statement "goto LAB_0002e304;" goto statement_identifier ;)) (labeled_statement "LAB_0002e274:\n        if (fVar13 == FT_PLAINFILE) {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1048;\n        }\n        else if (fVar13 == FT_SYMLINK) {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1028;\n        }\n        else {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1018;\n        }" statement_identifier : (if_statement "if (fVar13 == FT_PLAINFILE) {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1048;\n        }\n        else if (fVar13 == FT_SYMLINK) {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1028;\n        }\n        else {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1018;\n        }" if (parenthesized_expression "(fVar13 == FT_PLAINFILE)" ( (binary_expression "fVar13 == FT_PLAINFILE" identifier == identifier) )) (compound_statement "{\n          puVar18 = PTR_s_hallenge__000af46c + -0x1048;\n        }" { (expression_statement "puVar18 = PTR_s_hallenge__000af46c + -0x1048;" (assignment_expression "puVar18 = PTR_s_hallenge__000af46c + -0x1048" identifier = (binary_expression "PTR_s_hallenge__000af46c + -0x1048" identifier + number_literal)) ;) }) (else_clause "else if (fVar13 == FT_SYMLINK) {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1028;\n        }\n        else {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1018;\n        }" else (if_statement "if (fVar13 == FT_SYMLINK) {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1028;\n        }\n        else {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1018;\n        }" if (parenthesized_expression "(fVar13 == FT_SYMLINK)" ( (binary_expression "fVar13 == FT_SYMLINK" identifier == identifier) )) (compound_statement "{\n          puVar18 = PTR_s_hallenge__000af46c + -0x1028;\n        }" { (expression_statement "puVar18 = PTR_s_hallenge__000af46c + -0x1028;" (assignment_expression "puVar18 = PTR_s_hallenge__000af46c + -0x1028" identifier = (binary_expression "PTR_s_hallenge__000af46c + -0x1028" identifier + number_literal)) ;) }) (else_clause "else {\n          puVar18 = PTR_s_hallenge__000af46c + -0x1018;\n        }" else (compound_statement "{\n          puVar18 = PTR_s_hallenge__000af46c + -0x1018;\n        }" { (expression_statement "puVar18 = PTR_s_hallenge__000af46c + -0x1018;" (assignment_expression "puVar18 = PTR_s_hallenge__000af46c + -0x1018" identifier = (binary_expression "PTR_s_hallenge__000af46c + -0x1018" identifier + number_literal)) ;) })))))) }) (else_clause "else {\n        tstamp = f->tstamp;\n        iVar7 = (*(code *)PTR_localtime_000afdd8)(&tstamp);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar20,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                   *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                   *(undefined4 *)(iVar7 + 0xc));\n        if (f->ptype == TT_HOUR_MIN) {\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar20,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                     *(undefined4 *)(iVar7 + 4));\n        }\n        else {\n          (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar20);\n        }\n        fVar13 = f->type;\n        if (fVar13 != FT_DIRECTORY) goto LAB_0002e274;\nLAB_0002e304:\n        puVar18 = PTR_s_hallenge__000af46c + -0x1038;\n      }" else (compound_statement "{\n        tstamp = f->tstamp;\n        iVar7 = (*(code *)PTR_localtime_000afdd8)(&tstamp);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar20,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                   *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                   *(undefined4 *)(iVar7 + 0xc));\n        if (f->ptype == TT_HOUR_MIN) {\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar20,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                     *(undefined4 *)(iVar7 + 4));\n        }\n        else {\n          (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar20);\n        }\n        fVar13 = f->type;\n        if (fVar13 != FT_DIRECTORY) goto LAB_0002e274;\nLAB_0002e304:\n        puVar18 = PTR_s_hallenge__000af46c + -0x1038;\n      }" { (expression_statement "tstamp = f->tstamp;" (assignment_expression "tstamp = f->tstamp" identifier = (field_expression "f->tstamp" identifier -> field_identifier)) ;) (expression_statement "iVar7 = (*(code *)PTR_localtime_000afdd8)(&tstamp);" (assignment_expression "iVar7 = (*(code *)PTR_localtime_000afdd8)(&tstamp)" identifier = (call_expression "(*(code *)PTR_localtime_000afdd8)(&tstamp)" (parenthesized_expression "(*(code *)PTR_localtime_000afdd8)" ( (pointer_expression "*(code *)PTR_localtime_000afdd8" * (cast_expression "(code *)PTR_localtime_000afdd8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&tstamp)" ( (pointer_expression "&tstamp" & identifier) )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar20,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                   *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                   *(undefined4 *)(iVar7 + 0xc));" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar20,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                   *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                   *(undefined4 *)(iVar7 + 0xc))" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" ( (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" * (cast_expression "(code *)PTR___fprintf_chk_000afe0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar20,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                   *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                   *(undefined4 *)(iVar7 + 0xc))" ( identifier , number_literal , identifier , (binary_expression "*(int *)(iVar7 + 0x14) + 0x76c" (pointer_expression "*(int *)(iVar7 + 0x14)" * (cast_expression "(int *)(iVar7 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x14)" ( (binary_expression "iVar7 + 0x14" identifier + number_literal) )))) + number_literal) , (pointer_expression "*(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc)" * (cast_expression "(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc)" ( (binary_expression "puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc" (binary_expression "puVar2 + *(int *)(iVar7 + 0x10) * 4" identifier + (binary_expression "*(int *)(iVar7 + 0x10) * 4" (pointer_expression "*(int *)(iVar7 + 0x10)" * (cast_expression "(int *)(iVar7 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x10)" ( (binary_expression "iVar7 + 0x10" identifier + number_literal) )))) * number_literal)) + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar7 + 0xc)" * (cast_expression "(undefined4 *)(iVar7 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xc)" ( (binary_expression "iVar7 + 0xc" identifier + number_literal) )))) ))) ;) (if_statement "if (f->ptype == TT_HOUR_MIN) {\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar20,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                     *(undefined4 *)(iVar7 + 4));\n        }\n        else {\n          (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar20);\n        }" if (parenthesized_expression "(f->ptype == TT_HOUR_MIN)" ( (binary_expression "f->ptype == TT_HOUR_MIN" (field_expression "f->ptype" identifier -> field_identifier) == identifier) )) (compound_statement "{\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar20,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                     *(undefined4 *)(iVar7 + 4));\n        }" { (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar20,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                     *(undefined4 *)(iVar7 + 4));" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar20,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                     *(undefined4 *)(iVar7 + 4))" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" ( (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" * (cast_expression "(code *)PTR___fprintf_chk_000afe0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar20,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                     *(undefined4 *)(iVar7 + 4))" ( identifier , number_literal , (binary_expression "PTR_s_hallenge__000af46c + -0x1068" identifier + number_literal) , (pointer_expression "*(undefined4 *)(iVar7 + 8)" * (cast_expression "(undefined4 *)(iVar7 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar7 + 4)" * (cast_expression "(undefined4 *)(iVar7 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) )))) ))) ;) }) (else_clause "else {\n          (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar20);\n        }" else (compound_statement "{\n          (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar20);\n        }" { (expression_statement "(*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar20);" (call_expression "(*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar20)" (parenthesized_expression "(*(code *)PTR_fwrite_000afbfc)" ( (pointer_expression "*(code *)PTR_fwrite_000afbfc" * (cast_expression "(code *)PTR_fwrite_000afbfc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3 + -0x1050,1,7,iVar20)" ( (binary_expression "puVar3 + -0x1050" identifier + number_literal) , number_literal , number_literal , identifier ))) ;) }))) (expression_statement "fVar13 = f->type;" (assignment_expression "fVar13 = f->type" identifier = (field_expression "f->type" identifier -> field_identifier)) ;) (if_statement "if (fVar13 != FT_DIRECTORY) goto LAB_0002e274;" if (parenthesized_expression "(fVar13 != FT_DIRECTORY)" ( (binary_expression "fVar13 != FT_DIRECTORY" identifier != identifier) )) (goto_statement "goto LAB_0002e274;" goto statement_identifier ;)) (labeled_statement "LAB_0002e304:\n        puVar18 = PTR_s_hallenge__000af46c + -0x1038;" statement_identifier : (expression_statement "puVar18 = PTR_s_hallenge__000af46c + -0x1038;" (assignment_expression "puVar18 = PTR_s_hallenge__000af46c + -0x1038" identifier = (binary_expression "PTR_s_hallenge__000af46c + -0x1038" identifier + number_literal)) ;)) }))) (expression_statement "uVar6 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar18,5);" (assignment_expression "uVar6 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar18,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000afcf4)(0,puVar18,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000afcf4)" ( (pointer_expression "*(code *)PTR_dcgettext_000afcf4" * (cast_expression "(code *)PTR_dcgettext_000afcf4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar18,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar6);" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar6)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" ( (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" * (cast_expression "(code *)PTR___fprintf_chk_000afe0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar20,1,uVar6)" ( identifier , number_literal , identifier ))) ;) (expression_statement "pcVar12 = html_quote_string(f->name);" (assignment_expression "pcVar12 = html_quote_string(f->name)" identifier = (call_expression "html_quote_string(f->name)" identifier (argument_list "(f->name)" ( (field_expression "f->name" identifier -> field_identifier) )))) ;) (expression_statement "uVar6 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(f->name);" (assignment_expression "uVar6 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(f->name)" identifier = (call_expression "(*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(f->name)" (parenthesized_expression "(*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)" ( (pointer_expression "*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0" * (cast_expression "(code *)PTR_url_escape_unsafe_and_reserved_000af7f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(f->name)" ( (field_expression "f->name" identifier -> field_identifier) )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,puVar3 + -0x1008,uVar8,u->host,u->port);" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,puVar3 + -0x1008,uVar8,u->host,u->port)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" ( (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" * (cast_expression "(code *)PTR___fprintf_chk_000afe0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar20,1,puVar3 + -0x1008,uVar8,u->host,u->port)" ( identifier , number_literal , (binary_expression "puVar3 + -0x1008" identifier + number_literal) , identifier , (field_expression "u->host" identifier -> field_identifier) , (field_expression "u->port" identifier -> field_identifier) ))) ;) (if_statement "if (*u->dir != '/') {\n        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);\n      }" if (parenthesized_expression "(*u->dir != '/')" ( (binary_expression "*u->dir != '/'" (pointer_expression "*u->dir" * (field_expression "u->dir" identifier -> field_identifier)) != (char_literal "'/'" ' character ')) )) (compound_statement "{\n        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);\n      }" { (expression_statement "(*(code *)PTR_putc_000afb2c)(0x2f,iVar20);" (call_expression "(*(code *)PTR_putc_000afb2c)(0x2f,iVar20)" (parenthesized_expression "(*(code *)PTR_putc_000afb2c)" ( (pointer_expression "*(code *)PTR_putc_000afb2c" * (cast_expression "(code *)PTR_putc_000afb2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x2f,iVar20)" ( number_literal , identifier ))) ;) })) (expression_statement "(*(code *)PTR_fputs_000afe9c)(pcVar9,iVar20);" (call_expression "(*(code *)PTR_fputs_000afe9c)(pcVar9,iVar20)" (parenthesized_expression "(*(code *)PTR_fputs_000afe9c)" ( (pointer_expression "*(code *)PTR_fputs_000afe9c" * (cast_expression "(code *)PTR_fputs_000afe9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar9,iVar20)" ( identifier , identifier ))) ;) (if_statement "if (*u->dir != '\0') {\n        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);\n      }" if (parenthesized_expression "(*u->dir != '\0')" ( (binary_expression "*u->dir != '\0'" (pointer_expression "*u->dir" * (field_expression "u->dir" identifier -> field_identifier)) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);\n      }" { (expression_statement "(*(code *)PTR_putc_000afb2c)(0x2f,iVar20);" (call_expression "(*(code *)PTR_putc_000afb2c)(0x2f,iVar20)" (parenthesized_expression "(*(code *)PTR_putc_000afb2c)" ( (pointer_expression "*(code *)PTR_putc_000afb2c" * (cast_expression "(code *)PTR_putc_000afb2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x2f,iVar20)" ( number_literal , identifier ))) ;) })) (expression_statement "(*(code *)PTR_fputs_000afe9c)(uVar6,iVar20);" (call_expression "(*(code *)PTR_fputs_000afe9c)(uVar6,iVar20)" (parenthesized_expression "(*(code *)PTR_fputs_000afe9c)" ( (pointer_expression "*(code *)PTR_fputs_000afe9c" * (cast_expression "(code *)PTR_fputs_000afe9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar6,iVar20)" ( identifier , identifier ))) ;) (if_statement "if (f->type == FT_DIRECTORY) {\n        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);\n      }" if (parenthesized_expression "(f->type == FT_DIRECTORY)" ( (binary_expression "f->type == FT_DIRECTORY" (field_expression "f->type" identifier -> field_identifier) == identifier) )) (compound_statement "{\n        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);\n      }" { (expression_statement "(*(code *)PTR_putc_000afb2c)(0x2f,iVar20);" (call_expression "(*(code *)PTR_putc_000afb2c)(0x2f,iVar20)" (parenthesized_expression "(*(code *)PTR_putc_000afb2c)" ( (pointer_expression "*(code *)PTR_putc_000afb2c" * (cast_expression "(code *)PTR_putc_000afb2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x2f,iVar20)" ( number_literal , identifier ))) ;) })) (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,puVar3 + -0xff0,pcVar12);" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,puVar3 + -0xff0,pcVar12)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" ( (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" * (cast_expression "(code *)PTR___fprintf_chk_000afe0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar20,1,puVar3 + -0xff0,pcVar12)" ( identifier , number_literal , (binary_expression "puVar3 + -0xff0" identifier + number_literal) , identifier ))) ;) (if_statement "if (f->type == FT_DIRECTORY) {\n        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);\n      }" if (parenthesized_expression "(f->type == FT_DIRECTORY)" ( (binary_expression "f->type == FT_DIRECTORY" (field_expression "f->type" identifier -> field_identifier) == identifier) )) (compound_statement "{\n        (*(code *)PTR_putc_000afb2c)(0x2f,iVar20);\n      }" { (expression_statement "(*(code *)PTR_putc_000afb2c)(0x2f,iVar20);" (call_expression "(*(code *)PTR_putc_000afb2c)(0x2f,iVar20)" (parenthesized_expression "(*(code *)PTR_putc_000afb2c)" ( (pointer_expression "*(code *)PTR_putc_000afb2c" * (cast_expression "(code *)PTR_putc_000afb2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x2f,iVar20)" ( number_literal , identifier ))) ;) })) (expression_statement "(*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar20);" (call_expression "(*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar20)" (parenthesized_expression "(*(code *)PTR_fwrite_000afbfc)" ( (pointer_expression "*(code *)PTR_fwrite_000afbfc" * (cast_expression "(code *)PTR_fwrite_000afbfc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3 + -0xfe8,1,5,iVar20)" ( (binary_expression "puVar3 + -0xfe8" identifier + number_literal) , number_literal , number_literal , identifier ))) ;) (if_statement "if (f->type == FT_PLAINFILE) {\n        uVar14 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n        uVar15 = (*(code *)PTR_number_to_static_string_000af698)\n                           (*(undefined4 *)&f->size,(int)f->size);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar14,uVar15);\n      }\n      else if (f->type == FT_SYMLINK) {\n        pcVar19 = f->linkto;\n        if (f->linkto == (char *)0x0) {\n          pcVar19 = pcVar11;\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,PTR_s_hallenge__000af46c + -0xfd4,pcVar19);\n      }" if (parenthesized_expression "(f->type == FT_PLAINFILE)" ( (binary_expression "f->type == FT_PLAINFILE" (field_expression "f->type" identifier -> field_identifier) == identifier) )) (compound_statement "{\n        uVar14 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n        uVar15 = (*(code *)PTR_number_to_static_string_000af698)\n                           (*(undefined4 *)&f->size,(int)f->size);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar14,uVar15);\n      }" { (expression_statement "uVar14 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);" (assignment_expression "uVar14 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000afcf4)" ( (pointer_expression "*(code *)PTR_dcgettext_000afcf4" * (cast_expression "(code *)PTR_dcgettext_000afcf4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_s_hallenge__000af46c + -0xfe0,5)" ( number_literal , (binary_expression "PTR_s_hallenge__000af46c + -0xfe0" identifier + number_literal) , number_literal )))) ;) (expression_statement "uVar15 = (*(code *)PTR_number_to_static_string_000af698)\n                           (*(undefined4 *)&f->size,(int)f->size);" (assignment_expression "uVar15 = (*(code *)PTR_number_to_static_string_000af698)\n                           (*(undefined4 *)&f->size,(int)f->size)" identifier = (call_expression "(*(code *)PTR_number_to_static_string_000af698)\n                           (*(undefined4 *)&f->size,(int)f->size)" (parenthesized_expression "(*(code *)PTR_number_to_static_string_000af698)" ( (pointer_expression "*(code *)PTR_number_to_static_string_000af698" * (cast_expression "(code *)PTR_number_to_static_string_000af698" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)&f->size,(int)f->size)" ( (pointer_expression "*(undefined4 *)&f->size" * (cast_expression "(undefined4 *)&f->size" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&f->size" & (field_expression "f->size" identifier -> field_identifier)))) , (cast_expression "(int)f->size" ( (type_descriptor "int" primitive_type) ) (field_expression "f->size" identifier -> field_identifier)) )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar14,uVar15);" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,uVar14,uVar15)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" ( (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" * (cast_expression "(code *)PTR___fprintf_chk_000afe0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar20,1,uVar14,uVar15)" ( identifier , number_literal , identifier , identifier ))) ;) }) (else_clause "else if (f->type == FT_SYMLINK) {\n        pcVar19 = f->linkto;\n        if (f->linkto == (char *)0x0) {\n          pcVar19 = pcVar11;\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,PTR_s_hallenge__000af46c + -0xfd4,pcVar19);\n      }" else (if_statement "if (f->type == FT_SYMLINK) {\n        pcVar19 = f->linkto;\n        if (f->linkto == (char *)0x0) {\n          pcVar19 = pcVar11;\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,PTR_s_hallenge__000af46c + -0xfd4,pcVar19);\n      }" if (parenthesized_expression "(f->type == FT_SYMLINK)" ( (binary_expression "f->type == FT_SYMLINK" (field_expression "f->type" identifier -> field_identifier) == identifier) )) (compound_statement "{\n        pcVar19 = f->linkto;\n        if (f->linkto == (char *)0x0) {\n          pcVar19 = pcVar11;\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,PTR_s_hallenge__000af46c + -0xfd4,pcVar19);\n      }" { (expression_statement "pcVar19 = f->linkto;" (assignment_expression "pcVar19 = f->linkto" identifier = (field_expression "f->linkto" identifier -> field_identifier)) ;) (if_statement "if (f->linkto == (char *)0x0) {\n          pcVar19 = pcVar11;\n        }" if (parenthesized_expression "(f->linkto == (char *)0x0)" ( (binary_expression "f->linkto == (char *)0x0" (field_expression "f->linkto" identifier -> field_identifier) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          pcVar19 = pcVar11;\n        }" { (expression_statement "pcVar19 = pcVar11;" (assignment_expression "pcVar19 = pcVar11" identifier = identifier) ;) })) (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,PTR_s_hallenge__000af46c + -0xfd4,pcVar19);" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)(iVar20,1,PTR_s_hallenge__000af46c + -0xfd4,pcVar19)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" ( (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" * (cast_expression "(code *)PTR___fprintf_chk_000afe0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar20,1,PTR_s_hallenge__000af46c + -0xfd4,pcVar19)" ( identifier , number_literal , (binary_expression "PTR_s_hallenge__000af46c + -0xfd4" identifier + number_literal) , identifier ))) ;) })))) (expression_statement "(*(code *)PTR_putc_000afb2c)(10,iVar20);" (call_expression "(*(code *)PTR_putc_000afb2c)(10,iVar20)" (parenthesized_expression "(*(code *)PTR_putc_000afb2c)" ( (pointer_expression "*(code *)PTR_putc_000afb2c" * (cast_expression "(code *)PTR_putc_000afb2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(10,iVar20)" ( number_literal , identifier ))) ;) (expression_statement "(*(code *)PTR_free_000afd08)(pcVar12);" (call_expression "(*(code *)PTR_free_000afd08)(pcVar12)" (parenthesized_expression "(*(code *)PTR_free_000afd08)" ( (pointer_expression "*(code *)PTR_free_000afd08" * (cast_expression "(code *)PTR_free_000afd08" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar12)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_free_000afd08)(uVar6);" (call_expression "(*(code *)PTR_free_000afd08)(uVar6)" (parenthesized_expression "(*(code *)PTR_free_000afd08)" ( (pointer_expression "*(code *)PTR_free_000afd08" * (cast_expression "(code *)PTR_free_000afd08" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar6)" ( identifier ))) ;) (expression_statement "f = f->next;" (assignment_expression "f = f->next" identifier = (field_expression "f->next" identifier -> field_identifier)) ;) }) while (parenthesized_expression "(f != (fileinfo *)0x0)" ( (binary_expression "f != (fileinfo *)0x0" identifier != (cast_expression "(fileinfo *)0x0" ( (type_descriptor "fileinfo *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (expression_statement "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0xfcc,1,0x17,iVar20);" (call_expression "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0xfcc,1,0x17,iVar20)" (parenthesized_expression "(*(code *)PTR_fwrite_000afbfc)" ( (pointer_expression "*(code *)PTR_fwrite_000afbfc" * (cast_expression "(code *)PTR_fwrite_000afbfc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_hallenge__000af46c + -0xfcc,1,0x17,iVar20)" ( (binary_expression "PTR_s_hallenge__000af46c + -0xfcc" identifier + number_literal) , number_literal , number_literal , identifier ))) ;) (expression_statement "(*(code *)PTR_free_000afd08)(pcVar9);" (call_expression "(*(code *)PTR_free_000afd08)(pcVar9)" (parenthesized_expression "(*(code *)PTR_free_000afd08)" ( (pointer_expression "*(code *)PTR_free_000afd08" * (cast_expression "(code *)PTR_free_000afd08" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar9)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_free_000afd08)(uVar8);" (call_expression "(*(code *)PTR_free_000afd08)(uVar8)" (parenthesized_expression "(*(code *)PTR_free_000afd08)" ( (pointer_expression "*(code *)PTR_free_000afd08" * (cast_expression "(code *)PTR_free_000afd08" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar8)" ( identifier ))) ;) (if_statement "if (*(int *)puVar4 == 0) {\n    (*(code *)PTR_fclose_000afc8c)(iVar20);\n  }\n  else {\n    (*(code *)PTR_rpl_fflush_000af7f4)(iVar20);\n  }" if (parenthesized_expression "(*(int *)puVar4 == 0)" ( (binary_expression "*(int *)puVar4 == 0" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) (compound_statement "{\n    (*(code *)PTR_fclose_000afc8c)(iVar20);\n  }" { (expression_statement "(*(code *)PTR_fclose_000afc8c)(iVar20);" (call_expression "(*(code *)PTR_fclose_000afc8c)(iVar20)" (parenthesized_expression "(*(code *)PTR_fclose_000afc8c)" ( (pointer_expression "*(code *)PTR_fclose_000afc8c" * (cast_expression "(code *)PTR_fclose_000afc8c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar20)" ( identifier ))) ;) }) (else_clause "else {\n    (*(code *)PTR_rpl_fflush_000af7f4)(iVar20);\n  }" else (compound_statement "{\n    (*(code *)PTR_rpl_fflush_000af7f4)(iVar20);\n  }" { (expression_statement "(*(code *)PTR_rpl_fflush_000af7f4)(iVar20);" (call_expression "(*(code *)PTR_rpl_fflush_000af7f4)(iVar20)" (parenthesized_expression "(*(code *)PTR_rpl_fflush_000af7f4)" ( (pointer_expression "*(code *)PTR_rpl_fflush_000af7f4" * (cast_expression "(code *)PTR_rpl_fflush_000af7f4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar20)" ( identifier ))) ;) }))) (if_statement "if (local_2c == *(char **)puVar5) {\n    return FTPOK;\n  }" if (parenthesized_expression "(local_2c == *(char **)puVar5)" ( (binary_expression "local_2c == *(char **)puVar5" identifier == (pointer_expression "*(char **)puVar5" * (cast_expression "(char **)puVar5" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return FTPOK;\n  }" { (return_statement "return FTPOK;" return identifier ;) })) (expression_statement "(*(code *)PTR___stack_chk_fail_000afbd4)();" (call_expression "(*(code *)PTR___stack_chk_fail_000afbd4)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000afbd4)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000afbd4" * (cast_expression "(code *)PTR___stack_chk_fail_000afbd4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "uVar17 = (uerr_t)*local_2c;" (assignment_expression "uVar17 = (uerr_t)*local_2c" identifier = (binary_expression "(uerr_t)*local_2c" (parenthesized_expression "(uerr_t)" ( identifier )) * identifier)) ;) (if_statement "if (uVar17 != NOCONERROR) {\n    pcVar9 = local_2c + 1;\n    cVar1 = local_2c[1];\n    while (cVar1 != 0) {\n      pcVar9 = pcVar9 + 1;\n      uVar17 = (int)cVar1 + uVar17 * 0x1f;\n      cVar1 = *pcVar9;\n    }\n  }" if (parenthesized_expression "(uVar17 != NOCONERROR)" ( (binary_expression "uVar17 != NOCONERROR" identifier != identifier) )) (compound_statement "{\n    pcVar9 = local_2c + 1;\n    cVar1 = local_2c[1];\n    while (cVar1 != 0) {\n      pcVar9 = pcVar9 + 1;\n      uVar17 = (int)cVar1 + uVar17 * 0x1f;\n      cVar1 = *pcVar9;\n    }\n  }" { (expression_statement "pcVar9 = local_2c + 1;" (assignment_expression "pcVar9 = local_2c + 1" identifier = (binary_expression "local_2c + 1" identifier + number_literal)) ;) (expression_statement "cVar1 = local_2c[1];" (assignment_expression "cVar1 = local_2c[1]" identifier = (subscript_expression "local_2c[1]" identifier [ number_literal ])) ;) (while_statement "while (cVar1 != 0) {\n      pcVar9 = pcVar9 + 1;\n      uVar17 = (int)cVar1 + uVar17 * 0x1f;\n      cVar1 = *pcVar9;\n    }" while (parenthesized_expression "(cVar1 != 0)" ( (binary_expression "cVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      pcVar9 = pcVar9 + 1;\n      uVar17 = (int)cVar1 + uVar17 * 0x1f;\n      cVar1 = *pcVar9;\n    }" { (expression_statement "pcVar9 = pcVar9 + 1;" (assignment_expression "pcVar9 = pcVar9 + 1" identifier = (binary_expression "pcVar9 + 1" identifier + number_literal)) ;) (expression_statement "uVar17 = (int)cVar1 + uVar17 * 0x1f;" (assignment_expression "uVar17 = (int)cVar1 + uVar17 * 0x1f" identifier = (binary_expression "(int)cVar1 + uVar17 * 0x1f" (cast_expression "(int)cVar1" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar17 * 0x1f" identifier * number_literal))) ;) (expression_statement "cVar1 = *pcVar9;" (assignment_expression "cVar1 = *pcVar9" identifier = (pointer_expression "*pcVar9" * identifier)) ;) })) })) (return_statement "return uVar17;" return identifier ;) })))
(translation_unit "int ftp_index(undefined4 param_1,int param_2,int *param_3)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined4 uVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  undefined *puVar10;\n  undefined *puVar11;\n  undefined4 uVar12;\n  undefined4 uVar13;\n  undefined4 uVar14;\n  undefined4 *puVar15;\n  char *pcVar16;\n  undefined *puVar17;\n  int iVar18;\n  int local_30;\n  char *local_2c;\n  \n  puVar5 = PTR___stack_chk_guard_000afc3c;\n  puVar4 = PTR_output_stream_000af524;\n  local_2c = *(char **)PTR___stack_chk_guard_000afc3c;\n  iVar18 = *(int *)PTR_output_stream_000af524;\n  if ((iVar18 == 0) &&\n     (iVar18 = (*(code *)PTR_fopen64_000afaac)(param_1,PTR_LAB_000af468 + 0x41e0), iVar18 == 0)) {\n    puVar15 = (undefined4 *)(*(code *)PTR___errno_location_000afe90)();\n    uVar8 = (*(code *)PTR_rpl_strerror_000af4b0)(*puVar15);\n    logprintf(1,PTR_s_hallenge__000af46c + 0x1e4c,param_1,uVar8);\n    iVar18 = 0x13;\n  }\n  else {\n    if (*(int *)(param_2 + 0x28) == 0) {\n      uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710);\n    }\n    else {\n      uVar6 = (*(code *)PTR_url_escape_000af7ec)();\n      if ((*(int *)(param_2 + 0x2c) == 0) ||\n         (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {\n        iVar7 = 0;\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n      }\n      else {\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);\n      }\n      (*(code *)PTR_free_000afd08)(uVar6);\n      (*(code *)PTR_free_000afd08)(iVar7);\n    }\n    puVar2 = PTR_s_hallenge__000af46c;\n    uVar6 = html_quote_string(*(undefined4 *)(param_2 + 0x20));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x1110,1,0x33,iVar18);\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10dc,1,0x15,iVar18);\n    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n    (*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10ac,1,0x1c,iVar18);\n    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n    (*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x108c,1,0x11,iVar18);\n    puVar3 = PTR_s_hallenge__000af46c;\n    puVar2 = PTR_DAT_000af458;\n    if (param_3 != (int *)0x0) {\n      puVar10 = PTR_s_hallenge__000af46c + -0x1074;\n      puVar11 = PTR_s_hallenge__000af46c + -0x1118;\n      do {\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar18);\n        if (param_3[4] == -1) {\n          uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n          iVar7 = *param_3;\n          if (iVar7 == 1) goto LAB_0002e304;\nLAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }\n        }\n        else {\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }\n        uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n        uVar9 = html_quote_string(param_3[1]);\n        uVar12 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1]);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc));\n        if (**(char **)(param_2 + 0x20) != '/') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar6,iVar18);\n        if (**(char **)(param_2 + 0x20) != '\0') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar12,iVar18);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,puVar3 + -0xff0,uVar9);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar18);\n        if (*param_3 == 0) {\n          uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n          uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);\n        }\n        else if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }\n        (*(code *)PTR_putc_000afb2c)(10,iVar18);\n        (*(code *)PTR_free_000afd08)(uVar9);\n        (*(code *)PTR_free_000afd08)(uVar12);\n        param_3 = (int *)param_3[9];\n      } while (param_3 != (int *)0x0);\n    }\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0xfcc,1,0x17,iVar18);\n    (*(code *)PTR_free_000afd08)(uVar6);\n    (*(code *)PTR_free_000afd08)(uVar8);\n    if (*(int *)puVar4 == 0) {\n      (*(code *)PTR_fclose_000afc8c)(iVar18);\n      iVar18 = 7;\n    }\n    else {\n      (*(code *)PTR_rpl_fflush_000af7f4)(iVar18);\n      iVar18 = 7;\n    }\n  }\n  if (local_2c == *(char **)puVar5) {\n    return iVar18;\n  }\n  (*(code *)PTR___stack_chk_fail_000afbd4)();\n  iVar18 = (int)*local_2c;\n  if (iVar18 != 0) {\n    pcVar16 = local_2c + 1;\n    cVar1 = local_2c[1];\n    while (cVar1 != 0) {\n      pcVar16 = pcVar16 + 1;\n      iVar18 = (int)cVar1 + iVar18 * 0x1f;\n      cVar1 = *pcVar16;\n    }\n  }\n  return iVar18;\n}\n\n" (function_definition "int ftp_index(undefined4 param_1,int param_2,int *param_3)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined4 uVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  undefined *puVar10;\n  undefined *puVar11;\n  undefined4 uVar12;\n  undefined4 uVar13;\n  undefined4 uVar14;\n  undefined4 *puVar15;\n  char *pcVar16;\n  undefined *puVar17;\n  int iVar18;\n  int local_30;\n  char *local_2c;\n  \n  puVar5 = PTR___stack_chk_guard_000afc3c;\n  puVar4 = PTR_output_stream_000af524;\n  local_2c = *(char **)PTR___stack_chk_guard_000afc3c;\n  iVar18 = *(int *)PTR_output_stream_000af524;\n  if ((iVar18 == 0) &&\n     (iVar18 = (*(code *)PTR_fopen64_000afaac)(param_1,PTR_LAB_000af468 + 0x41e0), iVar18 == 0)) {\n    puVar15 = (undefined4 *)(*(code *)PTR___errno_location_000afe90)();\n    uVar8 = (*(code *)PTR_rpl_strerror_000af4b0)(*puVar15);\n    logprintf(1,PTR_s_hallenge__000af46c + 0x1e4c,param_1,uVar8);\n    iVar18 = 0x13;\n  }\n  else {\n    if (*(int *)(param_2 + 0x28) == 0) {\n      uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710);\n    }\n    else {\n      uVar6 = (*(code *)PTR_url_escape_000af7ec)();\n      if ((*(int *)(param_2 + 0x2c) == 0) ||\n         (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {\n        iVar7 = 0;\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n      }\n      else {\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);\n      }\n      (*(code *)PTR_free_000afd08)(uVar6);\n      (*(code *)PTR_free_000afd08)(iVar7);\n    }\n    puVar2 = PTR_s_hallenge__000af46c;\n    uVar6 = html_quote_string(*(undefined4 *)(param_2 + 0x20));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x1110,1,0x33,iVar18);\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10dc,1,0x15,iVar18);\n    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n    (*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10ac,1,0x1c,iVar18);\n    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n    (*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x108c,1,0x11,iVar18);\n    puVar3 = PTR_s_hallenge__000af46c;\n    puVar2 = PTR_DAT_000af458;\n    if (param_3 != (int *)0x0) {\n      puVar10 = PTR_s_hallenge__000af46c + -0x1074;\n      puVar11 = PTR_s_hallenge__000af46c + -0x1118;\n      do {\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar18);\n        if (param_3[4] == -1) {\n          uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n          iVar7 = *param_3;\n          if (iVar7 == 1) goto LAB_0002e304;\nLAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }\n        }\n        else {\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }\n        uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n        uVar9 = html_quote_string(param_3[1]);\n        uVar12 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1]);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc));\n        if (**(char **)(param_2 + 0x20) != '/') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar6,iVar18);\n        if (**(char **)(param_2 + 0x20) != '\0') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar12,iVar18);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,puVar3 + -0xff0,uVar9);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar18);\n        if (*param_3 == 0) {\n          uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n          uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);\n        }\n        else if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }\n        (*(code *)PTR_putc_000afb2c)(10,iVar18);\n        (*(code *)PTR_free_000afd08)(uVar9);\n        (*(code *)PTR_free_000afd08)(uVar12);\n        param_3 = (int *)param_3[9];\n      } while (param_3 != (int *)0x0);\n    }\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0xfcc,1,0x17,iVar18);\n    (*(code *)PTR_free_000afd08)(uVar6);\n    (*(code *)PTR_free_000afd08)(uVar8);\n    if (*(int *)puVar4 == 0) {\n      (*(code *)PTR_fclose_000afc8c)(iVar18);\n      iVar18 = 7;\n    }\n    else {\n      (*(code *)PTR_rpl_fflush_000af7f4)(iVar18);\n      iVar18 = 7;\n    }\n  }\n  if (local_2c == *(char **)puVar5) {\n    return iVar18;\n  }\n  (*(code *)PTR___stack_chk_fail_000afbd4)();\n  iVar18 = (int)*local_2c;\n  if (iVar18 != 0) {\n    pcVar16 = local_2c + 1;\n    cVar1 = local_2c[1];\n    while (cVar1 != 0) {\n      pcVar16 = pcVar16 + 1;\n      iVar18 = (int)cVar1 + iVar18 * 0x1f;\n      cVar1 = *pcVar16;\n    }\n  }\n  return iVar18;\n}" primitive_type (function_declarator "ftp_index(undefined4 param_1,int param_2,int *param_3)" identifier (parameter_list "(undefined4 param_1,int param_2,int *param_3)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  char cVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined4 uVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  undefined *puVar10;\n  undefined *puVar11;\n  undefined4 uVar12;\n  undefined4 uVar13;\n  undefined4 uVar14;\n  undefined4 *puVar15;\n  char *pcVar16;\n  undefined *puVar17;\n  int iVar18;\n  int local_30;\n  char *local_2c;\n  \n  puVar5 = PTR___stack_chk_guard_000afc3c;\n  puVar4 = PTR_output_stream_000af524;\n  local_2c = *(char **)PTR___stack_chk_guard_000afc3c;\n  iVar18 = *(int *)PTR_output_stream_000af524;\n  if ((iVar18 == 0) &&\n     (iVar18 = (*(code *)PTR_fopen64_000afaac)(param_1,PTR_LAB_000af468 + 0x41e0), iVar18 == 0)) {\n    puVar15 = (undefined4 *)(*(code *)PTR___errno_location_000afe90)();\n    uVar8 = (*(code *)PTR_rpl_strerror_000af4b0)(*puVar15);\n    logprintf(1,PTR_s_hallenge__000af46c + 0x1e4c,param_1,uVar8);\n    iVar18 = 0x13;\n  }\n  else {\n    if (*(int *)(param_2 + 0x28) == 0) {\n      uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710);\n    }\n    else {\n      uVar6 = (*(code *)PTR_url_escape_000af7ec)();\n      if ((*(int *)(param_2 + 0x2c) == 0) ||\n         (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {\n        iVar7 = 0;\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n      }\n      else {\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);\n      }\n      (*(code *)PTR_free_000afd08)(uVar6);\n      (*(code *)PTR_free_000afd08)(iVar7);\n    }\n    puVar2 = PTR_s_hallenge__000af46c;\n    uVar6 = html_quote_string(*(undefined4 *)(param_2 + 0x20));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x1110,1,0x33,iVar18);\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10dc,1,0x15,iVar18);\n    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n    (*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10ac,1,0x1c,iVar18);\n    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n    (*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x108c,1,0x11,iVar18);\n    puVar3 = PTR_s_hallenge__000af46c;\n    puVar2 = PTR_DAT_000af458;\n    if (param_3 != (int *)0x0) {\n      puVar10 = PTR_s_hallenge__000af46c + -0x1074;\n      puVar11 = PTR_s_hallenge__000af46c + -0x1118;\n      do {\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar18);\n        if (param_3[4] == -1) {\n          uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n          iVar7 = *param_3;\n          if (iVar7 == 1) goto LAB_0002e304;\nLAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }\n        }\n        else {\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }\n        uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n        uVar9 = html_quote_string(param_3[1]);\n        uVar12 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1]);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc));\n        if (**(char **)(param_2 + 0x20) != '/') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar6,iVar18);\n        if (**(char **)(param_2 + 0x20) != '\0') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar12,iVar18);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,puVar3 + -0xff0,uVar9);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar18);\n        if (*param_3 == 0) {\n          uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n          uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);\n        }\n        else if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }\n        (*(code *)PTR_putc_000afb2c)(10,iVar18);\n        (*(code *)PTR_free_000afd08)(uVar9);\n        (*(code *)PTR_free_000afd08)(uVar12);\n        param_3 = (int *)param_3[9];\n      } while (param_3 != (int *)0x0);\n    }\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0xfcc,1,0x17,iVar18);\n    (*(code *)PTR_free_000afd08)(uVar6);\n    (*(code *)PTR_free_000afd08)(uVar8);\n    if (*(int *)puVar4 == 0) {\n      (*(code *)PTR_fclose_000afc8c)(iVar18);\n      iVar18 = 7;\n    }\n    else {\n      (*(code *)PTR_rpl_fflush_000af7f4)(iVar18);\n      iVar18 = 7;\n    }\n  }\n  if (local_2c == *(char **)puVar5) {\n    return iVar18;\n  }\n  (*(code *)PTR___stack_chk_fail_000afbd4)();\n  iVar18 = (int)*local_2c;\n  if (iVar18 != 0) {\n    pcVar16 = local_2c + 1;\n    cVar1 = local_2c[1];\n    while (cVar1 != 0) {\n      pcVar16 = pcVar16 + 1;\n      iVar18 = (int)cVar1 + iVar18 * 0x1f;\n      cVar1 = *pcVar16;\n    }\n  }\n  return iVar18;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "undefined *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "undefined4 uVar12;" type_identifier identifier ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "undefined4 uVar14;" type_identifier identifier ;) (declaration "undefined4 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "undefined *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "int iVar18;" primitive_type identifier ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "char *local_2c;" primitive_type (pointer_declarator "*local_2c" * identifier) ;) (expression_statement "puVar5 = PTR___stack_chk_guard_000afc3c;" (assignment_expression "puVar5 = PTR___stack_chk_guard_000afc3c" identifier = identifier) ;) (expression_statement "puVar4 = PTR_output_stream_000af524;" (assignment_expression "puVar4 = PTR_output_stream_000af524" identifier = identifier) ;) (expression_statement "local_2c = *(char **)PTR___stack_chk_guard_000afc3c;" (assignment_expression "local_2c = *(char **)PTR___stack_chk_guard_000afc3c" identifier = (pointer_expression "*(char **)PTR___stack_chk_guard_000afc3c" * (cast_expression "(char **)PTR___stack_chk_guard_000afc3c" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "iVar18 = *(int *)PTR_output_stream_000af524;" (assignment_expression "iVar18 = *(int *)PTR_output_stream_000af524" identifier = (pointer_expression "*(int *)PTR_output_stream_000af524" * (cast_expression "(int *)PTR_output_stream_000af524" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((iVar18 == 0) &&\n     (iVar18 = (*(code *)PTR_fopen64_000afaac)(param_1,PTR_LAB_000af468 + 0x41e0), iVar18 == 0)) {\n    puVar15 = (undefined4 *)(*(code *)PTR___errno_location_000afe90)();\n    uVar8 = (*(code *)PTR_rpl_strerror_000af4b0)(*puVar15);\n    logprintf(1,PTR_s_hallenge__000af46c + 0x1e4c,param_1,uVar8);\n    iVar18 = 0x13;\n  }\n  else {\n    if (*(int *)(param_2 + 0x28) == 0) {\n      uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710);\n    }\n    else {\n      uVar6 = (*(code *)PTR_url_escape_000af7ec)();\n      if ((*(int *)(param_2 + 0x2c) == 0) ||\n         (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {\n        iVar7 = 0;\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n      }\n      else {\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);\n      }\n      (*(code *)PTR_free_000afd08)(uVar6);\n      (*(code *)PTR_free_000afd08)(iVar7);\n    }\n    puVar2 = PTR_s_hallenge__000af46c;\n    uVar6 = html_quote_string(*(undefined4 *)(param_2 + 0x20));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x1110,1,0x33,iVar18);\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10dc,1,0x15,iVar18);\n    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n    (*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10ac,1,0x1c,iVar18);\n    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n    (*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x108c,1,0x11,iVar18);\n    puVar3 = PTR_s_hallenge__000af46c;\n    puVar2 = PTR_DAT_000af458;\n    if (param_3 != (int *)0x0) {\n      puVar10 = PTR_s_hallenge__000af46c + -0x1074;\n      puVar11 = PTR_s_hallenge__000af46c + -0x1118;\n      do {\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar18);\n        if (param_3[4] == -1) {\n          uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n          iVar7 = *param_3;\n          if (iVar7 == 1) goto LAB_0002e304;\nLAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }\n        }\n        else {\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }\n        uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n        uVar9 = html_quote_string(param_3[1]);\n        uVar12 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1]);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc));\n        if (**(char **)(param_2 + 0x20) != '/') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar6,iVar18);\n        if (**(char **)(param_2 + 0x20) != '\0') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar12,iVar18);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,puVar3 + -0xff0,uVar9);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar18);\n        if (*param_3 == 0) {\n          uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n          uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);\n        }\n        else if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }\n        (*(code *)PTR_putc_000afb2c)(10,iVar18);\n        (*(code *)PTR_free_000afd08)(uVar9);\n        (*(code *)PTR_free_000afd08)(uVar12);\n        param_3 = (int *)param_3[9];\n      } while (param_3 != (int *)0x0);\n    }\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0xfcc,1,0x17,iVar18);\n    (*(code *)PTR_free_000afd08)(uVar6);\n    (*(code *)PTR_free_000afd08)(uVar8);\n    if (*(int *)puVar4 == 0) {\n      (*(code *)PTR_fclose_000afc8c)(iVar18);\n      iVar18 = 7;\n    }\n    else {\n      (*(code *)PTR_rpl_fflush_000af7f4)(iVar18);\n      iVar18 = 7;\n    }\n  }" if (parenthesized_expression "((iVar18 == 0) &&\n     (iVar18 = (*(code *)PTR_fopen64_000afaac)(param_1,PTR_LAB_000af468 + 0x41e0), iVar18 == 0))" ( (binary_expression "(iVar18 == 0) &&\n     (iVar18 = (*(code *)PTR_fopen64_000afaac)(param_1,PTR_LAB_000af468 + 0x41e0), iVar18 == 0)" (parenthesized_expression "(iVar18 == 0)" ( (binary_expression "iVar18 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar18 = (*(code *)PTR_fopen64_000afaac)(param_1,PTR_LAB_000af468 + 0x41e0), iVar18 == 0)" ( (comma_expression "iVar18 = (*(code *)PTR_fopen64_000afaac)(param_1,PTR_LAB_000af468 + 0x41e0), iVar18 == 0" (assignment_expression "iVar18 = (*(code *)PTR_fopen64_000afaac)(param_1,PTR_LAB_000af468 + 0x41e0)" identifier = (call_expression "(*(code *)PTR_fopen64_000afaac)(param_1,PTR_LAB_000af468 + 0x41e0)" (parenthesized_expression "(*(code *)PTR_fopen64_000afaac)" ( (pointer_expression "*(code *)PTR_fopen64_000afaac" * (cast_expression "(code *)PTR_fopen64_000afaac" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,PTR_LAB_000af468 + 0x41e0)" ( identifier , (binary_expression "PTR_LAB_000af468 + 0x41e0" identifier + number_literal) )))) , (binary_expression "iVar18 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n    puVar15 = (undefined4 *)(*(code *)PTR___errno_location_000afe90)();\n    uVar8 = (*(code *)PTR_rpl_strerror_000af4b0)(*puVar15);\n    logprintf(1,PTR_s_hallenge__000af46c + 0x1e4c,param_1,uVar8);\n    iVar18 = 0x13;\n  }" { (expression_statement "puVar15 = (undefined4 *)(*(code *)PTR___errno_location_000afe90)();" (assignment_expression "puVar15 = (undefined4 *)(*(code *)PTR___errno_location_000afe90)()" identifier = (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_000afe90)()" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_000afe90)()" (parenthesized_expression "(*(code *)PTR___errno_location_000afe90)" ( (pointer_expression "*(code *)PTR___errno_location_000afe90" * (cast_expression "(code *)PTR___errno_location_000afe90" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) ;) (expression_statement "uVar8 = (*(code *)PTR_rpl_strerror_000af4b0)(*puVar15);" (assignment_expression "uVar8 = (*(code *)PTR_rpl_strerror_000af4b0)(*puVar15)" identifier = (call_expression "(*(code *)PTR_rpl_strerror_000af4b0)(*puVar15)" (parenthesized_expression "(*(code *)PTR_rpl_strerror_000af4b0)" ( (pointer_expression "*(code *)PTR_rpl_strerror_000af4b0" * (cast_expression "(code *)PTR_rpl_strerror_000af4b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*puVar15)" ( (pointer_expression "*puVar15" * identifier) )))) ;) (expression_statement "logprintf(1,PTR_s_hallenge__000af46c + 0x1e4c,param_1,uVar8);" (call_expression "logprintf(1,PTR_s_hallenge__000af46c + 0x1e4c,param_1,uVar8)" identifier (argument_list "(1,PTR_s_hallenge__000af46c + 0x1e4c,param_1,uVar8)" ( number_literal , (binary_expression "PTR_s_hallenge__000af46c + 0x1e4c" identifier + number_literal) , identifier , identifier ))) ;) (expression_statement "iVar18 = 0x13;" (assignment_expression "iVar18 = 0x13" identifier = number_literal) ;) }) (else_clause "else {\n    if (*(int *)(param_2 + 0x28) == 0) {\n      uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710);\n    }\n    else {\n      uVar6 = (*(code *)PTR_url_escape_000af7ec)();\n      if ((*(int *)(param_2 + 0x2c) == 0) ||\n         (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {\n        iVar7 = 0;\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n      }\n      else {\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);\n      }\n      (*(code *)PTR_free_000afd08)(uVar6);\n      (*(code *)PTR_free_000afd08)(iVar7);\n    }\n    puVar2 = PTR_s_hallenge__000af46c;\n    uVar6 = html_quote_string(*(undefined4 *)(param_2 + 0x20));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x1110,1,0x33,iVar18);\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10dc,1,0x15,iVar18);\n    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n    (*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10ac,1,0x1c,iVar18);\n    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n    (*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x108c,1,0x11,iVar18);\n    puVar3 = PTR_s_hallenge__000af46c;\n    puVar2 = PTR_DAT_000af458;\n    if (param_3 != (int *)0x0) {\n      puVar10 = PTR_s_hallenge__000af46c + -0x1074;\n      puVar11 = PTR_s_hallenge__000af46c + -0x1118;\n      do {\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar18);\n        if (param_3[4] == -1) {\n          uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n          iVar7 = *param_3;\n          if (iVar7 == 1) goto LAB_0002e304;\nLAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }\n        }\n        else {\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }\n        uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n        uVar9 = html_quote_string(param_3[1]);\n        uVar12 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1]);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc));\n        if (**(char **)(param_2 + 0x20) != '/') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar6,iVar18);\n        if (**(char **)(param_2 + 0x20) != '\0') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar12,iVar18);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,puVar3 + -0xff0,uVar9);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar18);\n        if (*param_3 == 0) {\n          uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n          uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);\n        }\n        else if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }\n        (*(code *)PTR_putc_000afb2c)(10,iVar18);\n        (*(code *)PTR_free_000afd08)(uVar9);\n        (*(code *)PTR_free_000afd08)(uVar12);\n        param_3 = (int *)param_3[9];\n      } while (param_3 != (int *)0x0);\n    }\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0xfcc,1,0x17,iVar18);\n    (*(code *)PTR_free_000afd08)(uVar6);\n    (*(code *)PTR_free_000afd08)(uVar8);\n    if (*(int *)puVar4 == 0) {\n      (*(code *)PTR_fclose_000afc8c)(iVar18);\n      iVar18 = 7;\n    }\n    else {\n      (*(code *)PTR_rpl_fflush_000af7f4)(iVar18);\n      iVar18 = 7;\n    }\n  }" else (compound_statement "{\n    if (*(int *)(param_2 + 0x28) == 0) {\n      uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710);\n    }\n    else {\n      uVar6 = (*(code *)PTR_url_escape_000af7ec)();\n      if ((*(int *)(param_2 + 0x2c) == 0) ||\n         (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {\n        iVar7 = 0;\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n      }\n      else {\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);\n      }\n      (*(code *)PTR_free_000afd08)(uVar6);\n      (*(code *)PTR_free_000afd08)(iVar7);\n    }\n    puVar2 = PTR_s_hallenge__000af46c;\n    uVar6 = html_quote_string(*(undefined4 *)(param_2 + 0x20));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x1110,1,0x33,iVar18);\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10dc,1,0x15,iVar18);\n    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n    (*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10ac,1,0x1c,iVar18);\n    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n    (*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x108c,1,0x11,iVar18);\n    puVar3 = PTR_s_hallenge__000af46c;\n    puVar2 = PTR_DAT_000af458;\n    if (param_3 != (int *)0x0) {\n      puVar10 = PTR_s_hallenge__000af46c + -0x1074;\n      puVar11 = PTR_s_hallenge__000af46c + -0x1118;\n      do {\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar18);\n        if (param_3[4] == -1) {\n          uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n          iVar7 = *param_3;\n          if (iVar7 == 1) goto LAB_0002e304;\nLAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }\n        }\n        else {\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }\n        uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n        uVar9 = html_quote_string(param_3[1]);\n        uVar12 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1]);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc));\n        if (**(char **)(param_2 + 0x20) != '/') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar6,iVar18);\n        if (**(char **)(param_2 + 0x20) != '\0') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar12,iVar18);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,puVar3 + -0xff0,uVar9);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar18);\n        if (*param_3 == 0) {\n          uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n          uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);\n        }\n        else if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }\n        (*(code *)PTR_putc_000afb2c)(10,iVar18);\n        (*(code *)PTR_free_000afd08)(uVar9);\n        (*(code *)PTR_free_000afd08)(uVar12);\n        param_3 = (int *)param_3[9];\n      } while (param_3 != (int *)0x0);\n    }\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0xfcc,1,0x17,iVar18);\n    (*(code *)PTR_free_000afd08)(uVar6);\n    (*(code *)PTR_free_000afd08)(uVar8);\n    if (*(int *)puVar4 == 0) {\n      (*(code *)PTR_fclose_000afc8c)(iVar18);\n      iVar18 = 7;\n    }\n    else {\n      (*(code *)PTR_rpl_fflush_000af7f4)(iVar18);\n      iVar18 = 7;\n    }\n  }" { (if_statement "if (*(int *)(param_2 + 0x28) == 0) {\n      uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710);\n    }\n    else {\n      uVar6 = (*(code *)PTR_url_escape_000af7ec)();\n      if ((*(int *)(param_2 + 0x2c) == 0) ||\n         (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {\n        iVar7 = 0;\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n      }\n      else {\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);\n      }\n      (*(code *)PTR_free_000afd08)(uVar6);\n      (*(code *)PTR_free_000afd08)(iVar7);\n    }" if (parenthesized_expression "(*(int *)(param_2 + 0x28) == 0)" ( (binary_expression "*(int *)(param_2 + 0x28) == 0" (pointer_expression "*(int *)(param_2 + 0x28)" * (cast_expression "(int *)(param_2 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x28)" ( (binary_expression "param_2 + 0x28" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710);\n    }" { (expression_statement "uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710);" (assignment_expression "uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710)" identifier = (call_expression "(*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710)" (parenthesized_expression "(*(code *)PTR_xstrdup_000af48c)" ( (pointer_expression "*(code *)PTR_xstrdup_000af48c" * (cast_expression "(code *)PTR_xstrdup_000af48c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_hallenge__000af46c + -0x1710)" ( (binary_expression "PTR_s_hallenge__000af46c + -0x1710" identifier + number_literal) )))) ;) }) (else_clause "else {\n      uVar6 = (*(code *)PTR_url_escape_000af7ec)();\n      if ((*(int *)(param_2 + 0x2c) == 0) ||\n         (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {\n        iVar7 = 0;\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n      }\n      else {\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);\n      }\n      (*(code *)PTR_free_000afd08)(uVar6);\n      (*(code *)PTR_free_000afd08)(iVar7);\n    }" else (compound_statement "{\n      uVar6 = (*(code *)PTR_url_escape_000af7ec)();\n      if ((*(int *)(param_2 + 0x2c) == 0) ||\n         (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {\n        iVar7 = 0;\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n      }\n      else {\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);\n      }\n      (*(code *)PTR_free_000afd08)(uVar6);\n      (*(code *)PTR_free_000afd08)(iVar7);\n    }" { (expression_statement "uVar6 = (*(code *)PTR_url_escape_000af7ec)();" (assignment_expression "uVar6 = (*(code *)PTR_url_escape_000af7ec)()" identifier = (call_expression "(*(code *)PTR_url_escape_000af7ec)()" (parenthesized_expression "(*(code *)PTR_url_escape_000af7ec)" ( (pointer_expression "*(code *)PTR_url_escape_000af7ec" * (cast_expression "(code *)PTR_url_escape_000af7ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) ;) (if_statement "if ((*(int *)(param_2 + 0x2c) == 0) ||\n         (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {\n        iVar7 = 0;\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n      }\n      else {\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);\n      }" if (parenthesized_expression "((*(int *)(param_2 + 0x2c) == 0) ||\n         (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0))" ( (binary_expression "(*(int *)(param_2 + 0x2c) == 0) ||\n         (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)" (parenthesized_expression "(*(int *)(param_2 + 0x2c) == 0)" ( (binary_expression "*(int *)(param_2 + 0x2c) == 0" (pointer_expression "*(int *)(param_2 + 0x2c)" * (cast_expression "(int *)(param_2 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x2c)" ( (binary_expression "param_2 + 0x2c" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)" ( (comma_expression "iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0" (assignment_expression "iVar7 = (*(code *)PTR_url_escape_000af7ec)()" identifier = (call_expression "(*(code *)PTR_url_escape_000af7ec)()" (parenthesized_expression "(*(code *)PTR_url_escape_000af7ec)" ( (pointer_expression "*(code *)PTR_url_escape_000af7ec" * (cast_expression "(code *)PTR_url_escape_000af7ec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( )))) , (binary_expression "iVar7 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        iVar7 = 0;\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n      }" { (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" identifier = number_literal) ;) (expression_statement "uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);" (assignment_expression "uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0)" identifier = (call_expression "(*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0)" (parenthesized_expression "(*(code *)PTR_concat_strings_000af6b4)" ( (pointer_expression "*(code *)PTR_concat_strings_000af6b4" * (cast_expression "(code *)PTR_concat_strings_000af6b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar6,PTR_LAB_000af468 + 0x48b0,0)" ( identifier , (binary_expression "PTR_LAB_000af468 + 0x48b0" identifier + number_literal) , number_literal )))) ;) }) (else_clause "else {\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);\n      }" else (compound_statement "{\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);\n      }" { (expression_statement "uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);" (assignment_expression "uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0)" identifier = (call_expression "(*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0)" (parenthesized_expression "(*(code *)PTR_concat_strings_000af6b4)" ( (pointer_expression "*(code *)PTR_concat_strings_000af6b4" * (cast_expression "(code *)PTR_concat_strings_000af6b4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0)" ( identifier , (binary_expression "PTR_s_hallenge__000af46c + -0x139c" identifier + number_literal) , identifier , (binary_expression "PTR_LAB_000af468 + 0x48b0" identifier + number_literal) , number_literal )))) ;) }))) (expression_statement "(*(code *)PTR_free_000afd08)(uVar6);" (call_expression "(*(code *)PTR_free_000afd08)(uVar6)" (parenthesized_expression "(*(code *)PTR_free_000afd08)" ( (pointer_expression "*(code *)PTR_free_000afd08" * (cast_expression "(code *)PTR_free_000afd08" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar6)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_free_000afd08)(iVar7);" (call_expression "(*(code *)PTR_free_000afd08)(iVar7)" (parenthesized_expression "(*(code *)PTR_free_000afd08)" ( (pointer_expression "*(code *)PTR_free_000afd08" * (cast_expression "(code *)PTR_free_000afd08" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier ))) ;) }))) (expression_statement "puVar2 = PTR_s_hallenge__000af46c;" (assignment_expression "puVar2 = PTR_s_hallenge__000af46c" identifier = identifier) ;) (expression_statement "uVar6 = html_quote_string(*(undefined4 *)(param_2 + 0x20));" (assignment_expression "uVar6 = html_quote_string(*(undefined4 *)(param_2 + 0x20))" identifier = (call_expression "html_quote_string(*(undefined4 *)(param_2 + 0x20))" identifier (argument_list "(*(undefined4 *)(param_2 + 0x20))" ( (pointer_expression "*(undefined4 *)(param_2 + 0x20)" * (cast_expression "(undefined4 *)(param_2 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x20)" ( (binary_expression "param_2 + 0x20" identifier + number_literal) )))) )))) ;) (expression_statement "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x1110,1,0x33,iVar18);" (call_expression "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x1110,1,0x33,iVar18)" (parenthesized_expression "(*(code *)PTR_fwrite_000afbfc)" ( (pointer_expression "*(code *)PTR_fwrite_000afbfc" * (cast_expression "(code *)PTR_fwrite_000afbfc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_hallenge__000af46c + -0x1110,1,0x33,iVar18)" ( (binary_expression "PTR_s_hallenge__000af46c + -0x1110" identifier + number_literal) , number_literal , number_literal , identifier ))) ;) (expression_statement "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10dc,1,0x15,iVar18);" (call_expression "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10dc,1,0x15,iVar18)" (parenthesized_expression "(*(code *)PTR_fwrite_000afbfc)" ( (pointer_expression "*(code *)PTR_fwrite_000afbfc" * (cast_expression "(code *)PTR_fwrite_000afbfc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_hallenge__000af46c + -0x10dc,1,0x15,iVar18)" ( (binary_expression "PTR_s_hallenge__000af46c + -0x10dc" identifier + number_literal) , number_literal , number_literal , identifier ))) ;) (expression_statement "uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);" (assignment_expression "uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000afcf4)" ( (pointer_expression "*(code *)PTR_dcgettext_000afcf4" * (cast_expression "(code *)PTR_dcgettext_000afcf4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar2 + -0x10c4,5)" ( number_literal , (binary_expression "puVar2 + -0x10c4" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc))" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" ( (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" * (cast_expression "(code *)PTR___fprintf_chk_000afe0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc))" ( identifier , number_literal , identifier , identifier , (pointer_expression "*(undefined4 *)(param_2 + 8)" * (cast_expression "(undefined4 *)(param_2 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0xc)" * (cast_expression "(undefined4 *)(param_2 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) )))) ))) ;) (expression_statement "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10ac,1,0x1c,iVar18);" (call_expression "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10ac,1,0x1c,iVar18)" (parenthesized_expression "(*(code *)PTR_fwrite_000afbfc)" ( (pointer_expression "*(code *)PTR_fwrite_000afbfc" * (cast_expression "(code *)PTR_fwrite_000afbfc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_hallenge__000af46c + -0x10ac,1,0x1c,iVar18)" ( (binary_expression "PTR_s_hallenge__000af46c + -0x10ac" identifier + number_literal) , number_literal , number_literal , identifier ))) ;) (expression_statement "uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);" (assignment_expression "uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000afcf4)" ( (pointer_expression "*(code *)PTR_dcgettext_000afcf4" * (cast_expression "(code *)PTR_dcgettext_000afcf4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar2 + -0x10c4,5)" ( number_literal , (binary_expression "puVar2 + -0x10c4" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc))" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" ( (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" * (cast_expression "(code *)PTR___fprintf_chk_000afe0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc))" ( identifier , number_literal , identifier , identifier , (pointer_expression "*(undefined4 *)(param_2 + 8)" * (cast_expression "(undefined4 *)(param_2 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0xc)" * (cast_expression "(undefined4 *)(param_2 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) )))) ))) ;) (expression_statement "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x108c,1,0x11,iVar18);" (call_expression "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x108c,1,0x11,iVar18)" (parenthesized_expression "(*(code *)PTR_fwrite_000afbfc)" ( (pointer_expression "*(code *)PTR_fwrite_000afbfc" * (cast_expression "(code *)PTR_fwrite_000afbfc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_hallenge__000af46c + -0x108c,1,0x11,iVar18)" ( (binary_expression "PTR_s_hallenge__000af46c + -0x108c" identifier + number_literal) , number_literal , number_literal , identifier ))) ;) (expression_statement "puVar3 = PTR_s_hallenge__000af46c;" (assignment_expression "puVar3 = PTR_s_hallenge__000af46c" identifier = identifier) ;) (expression_statement "puVar2 = PTR_DAT_000af458;" (assignment_expression "puVar2 = PTR_DAT_000af458" identifier = identifier) ;) (if_statement "if (param_3 != (int *)0x0) {\n      puVar10 = PTR_s_hallenge__000af46c + -0x1074;\n      puVar11 = PTR_s_hallenge__000af46c + -0x1118;\n      do {\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar18);\n        if (param_3[4] == -1) {\n          uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n          iVar7 = *param_3;\n          if (iVar7 == 1) goto LAB_0002e304;\nLAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }\n        }\n        else {\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }\n        uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n        uVar9 = html_quote_string(param_3[1]);\n        uVar12 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1]);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc));\n        if (**(char **)(param_2 + 0x20) != '/') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar6,iVar18);\n        if (**(char **)(param_2 + 0x20) != '\0') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar12,iVar18);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,puVar3 + -0xff0,uVar9);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar18);\n        if (*param_3 == 0) {\n          uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n          uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);\n        }\n        else if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }\n        (*(code *)PTR_putc_000afb2c)(10,iVar18);\n        (*(code *)PTR_free_000afd08)(uVar9);\n        (*(code *)PTR_free_000afd08)(uVar12);\n        param_3 = (int *)param_3[9];\n      } while (param_3 != (int *)0x0);\n    }" if (parenthesized_expression "(param_3 != (int *)0x0)" ( (binary_expression "param_3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      puVar10 = PTR_s_hallenge__000af46c + -0x1074;\n      puVar11 = PTR_s_hallenge__000af46c + -0x1118;\n      do {\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar18);\n        if (param_3[4] == -1) {\n          uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n          iVar7 = *param_3;\n          if (iVar7 == 1) goto LAB_0002e304;\nLAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }\n        }\n        else {\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }\n        uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n        uVar9 = html_quote_string(param_3[1]);\n        uVar12 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1]);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc));\n        if (**(char **)(param_2 + 0x20) != '/') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar6,iVar18);\n        if (**(char **)(param_2 + 0x20) != '\0') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar12,iVar18);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,puVar3 + -0xff0,uVar9);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar18);\n        if (*param_3 == 0) {\n          uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n          uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);\n        }\n        else if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }\n        (*(code *)PTR_putc_000afb2c)(10,iVar18);\n        (*(code *)PTR_free_000afd08)(uVar9);\n        (*(code *)PTR_free_000afd08)(uVar12);\n        param_3 = (int *)param_3[9];\n      } while (param_3 != (int *)0x0);\n    }" { (expression_statement "puVar10 = PTR_s_hallenge__000af46c + -0x1074;" (assignment_expression "puVar10 = PTR_s_hallenge__000af46c + -0x1074" identifier = (binary_expression "PTR_s_hallenge__000af46c + -0x1074" identifier + number_literal)) ;) (expression_statement "puVar11 = PTR_s_hallenge__000af46c + -0x1118;" (assignment_expression "puVar11 = PTR_s_hallenge__000af46c + -0x1118" identifier = (binary_expression "PTR_s_hallenge__000af46c + -0x1118" identifier + number_literal)) ;) (do_statement "do {\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar18);\n        if (param_3[4] == -1) {\n          uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n          iVar7 = *param_3;\n          if (iVar7 == 1) goto LAB_0002e304;\nLAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }\n        }\n        else {\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }\n        uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n        uVar9 = html_quote_string(param_3[1]);\n        uVar12 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1]);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc));\n        if (**(char **)(param_2 + 0x20) != '/') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar6,iVar18);\n        if (**(char **)(param_2 + 0x20) != '\0') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar12,iVar18);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,puVar3 + -0xff0,uVar9);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar18);\n        if (*param_3 == 0) {\n          uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n          uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);\n        }\n        else if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }\n        (*(code *)PTR_putc_000afb2c)(10,iVar18);\n        (*(code *)PTR_free_000afd08)(uVar9);\n        (*(code *)PTR_free_000afd08)(uVar12);\n        param_3 = (int *)param_3[9];\n      } while (param_3 != (int *)0x0);" do (compound_statement "{\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar18);\n        if (param_3[4] == -1) {\n          uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n          iVar7 = *param_3;\n          if (iVar7 == 1) goto LAB_0002e304;\nLAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }\n        }\n        else {\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }\n        uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n        uVar9 = html_quote_string(param_3[1]);\n        uVar12 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1]);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc));\n        if (**(char **)(param_2 + 0x20) != '/') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar6,iVar18);\n        if (**(char **)(param_2 + 0x20) != '\0') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar12,iVar18);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,puVar3 + -0xff0,uVar9);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar18);\n        if (*param_3 == 0) {\n          uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n          uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);\n        }\n        else if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }\n        (*(code *)PTR_putc_000afb2c)(10,iVar18);\n        (*(code *)PTR_free_000afd08)(uVar9);\n        (*(code *)PTR_free_000afd08)(uVar12);\n        param_3 = (int *)param_3[9];\n      }" { (expression_statement "(*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar18);" (call_expression "(*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar18)" (parenthesized_expression "(*(code *)PTR_fwrite_000afbfc)" ( (pointer_expression "*(code *)PTR_fwrite_000afbfc" * (cast_expression "(code *)PTR_fwrite_000afbfc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3 + -0x1078,1,2,iVar18)" ( (binary_expression "puVar3 + -0x1078" identifier + number_literal) , number_literal , number_literal , identifier ))) ;) (if_statement "if (param_3[4] == -1) {\n          uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n          iVar7 = *param_3;\n          if (iVar7 == 1) goto LAB_0002e304;\nLAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }\n        }\n        else {\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }" if (parenthesized_expression "(param_3[4] == -1)" ( (binary_expression "param_3[4] == -1" (subscript_expression "param_3[4]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n          uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n          iVar7 = *param_3;\n          if (iVar7 == 1) goto LAB_0002e304;\nLAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }\n        }" { (expression_statement "uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);" (assignment_expression "uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000afcf4)" ( (pointer_expression "*(code *)PTR_dcgettext_000afcf4" * (cast_expression "(code *)PTR_dcgettext_000afcf4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar3 + -0x105c,5)" ( number_literal , (binary_expression "puVar3 + -0x105c" identifier + number_literal) , number_literal )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" ( (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" * (cast_expression "(code *)PTR___fprintf_chk_000afe0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar18,1,uVar9)" ( identifier , number_literal , identifier ))) ;) (expression_statement "iVar7 = *param_3;" (assignment_expression "iVar7 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (if_statement "if (iVar7 == 1) goto LAB_0002e304;" if (parenthesized_expression "(iVar7 == 1)" ( (binary_expression "iVar7 == 1" identifier == number_literal) )) (goto_statement "goto LAB_0002e304;" goto statement_identifier ;)) (labeled_statement "LAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }" statement_identifier : (if_statement "if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }" { (expression_statement "puVar17 = PTR_s_hallenge__000af46c + -0x1048;" (assignment_expression "puVar17 = PTR_s_hallenge__000af46c + -0x1048" identifier = (binary_expression "PTR_s_hallenge__000af46c + -0x1048" identifier + number_literal)) ;) }) (else_clause "else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }" else (if_statement "if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }" if (parenthesized_expression "(iVar7 == 2)" ( (binary_expression "iVar7 == 2" identifier == number_literal) )) (compound_statement "{\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }" { (expression_statement "puVar17 = PTR_s_hallenge__000af46c + -0x1028;" (assignment_expression "puVar17 = PTR_s_hallenge__000af46c + -0x1028" identifier = (binary_expression "PTR_s_hallenge__000af46c + -0x1028" identifier + number_literal)) ;) }) (else_clause "else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }" else (compound_statement "{\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }" { (expression_statement "puVar17 = PTR_s_hallenge__000af46c + -0x1018;" (assignment_expression "puVar17 = PTR_s_hallenge__000af46c + -0x1018" identifier = (binary_expression "PTR_s_hallenge__000af46c + -0x1018" identifier + number_literal)) ;) })))))) }) (else_clause "else {\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }" else (compound_statement "{\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }" { (expression_statement "local_30 = param_3[4];" (assignment_expression "local_30 = param_3[4]" identifier = (subscript_expression "param_3[4]" identifier [ number_literal ])) ;) (expression_statement "iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);" (assignment_expression "iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30)" identifier = (call_expression "(*(code *)PTR_localtime_000afdd8)(&local_30)" (parenthesized_expression "(*(code *)PTR_localtime_000afdd8)" ( (pointer_expression "*(code *)PTR_localtime_000afdd8" * (cast_expression "(code *)PTR_localtime_000afdd8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&local_30)" ( (pointer_expression "&local_30" & identifier) )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc))" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" ( (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" * (cast_expression "(code *)PTR___fprintf_chk_000afe0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc))" ( identifier , number_literal , identifier , (binary_expression "*(int *)(iVar7 + 0x14) + 0x76c" (pointer_expression "*(int *)(iVar7 + 0x14)" * (cast_expression "(int *)(iVar7 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x14)" ( (binary_expression "iVar7 + 0x14" identifier + number_literal) )))) + number_literal) , (pointer_expression "*(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc)" * (cast_expression "(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc)" ( (binary_expression "puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc" (binary_expression "puVar2 + *(int *)(iVar7 + 0x10) * 4" identifier + (binary_expression "*(int *)(iVar7 + 0x10) * 4" (pointer_expression "*(int *)(iVar7 + 0x10)" * (cast_expression "(int *)(iVar7 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x10)" ( (binary_expression "iVar7 + 0x10" identifier + number_literal) )))) * number_literal)) + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar7 + 0xc)" * (cast_expression "(undefined4 *)(iVar7 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0xc)" ( (binary_expression "iVar7 + 0xc" identifier + number_literal) )))) ))) ;) (if_statement "if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }" if (parenthesized_expression "(param_3[5] == 0)" ( (binary_expression "param_3[5] == 0" (subscript_expression "param_3[5]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }" { (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4))" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" ( (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" * (cast_expression "(code *)PTR___fprintf_chk_000afe0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4))" ( identifier , number_literal , (binary_expression "PTR_s_hallenge__000af46c + -0x1068" identifier + number_literal) , (pointer_expression "*(undefined4 *)(iVar7 + 8)" * (cast_expression "(undefined4 *)(iVar7 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 8)" ( (binary_expression "iVar7 + 8" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar7 + 4)" * (cast_expression "(undefined4 *)(iVar7 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) )))) ))) ;) }) (else_clause "else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }" else (compound_statement "{\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }" { (expression_statement "(*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);" (call_expression "(*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18)" (parenthesized_expression "(*(code *)PTR_fwrite_000afbfc)" ( (pointer_expression "*(code *)PTR_fwrite_000afbfc" * (cast_expression "(code *)PTR_fwrite_000afbfc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3 + -0x1050,1,7,iVar18)" ( (binary_expression "puVar3 + -0x1050" identifier + number_literal) , number_literal , number_literal , identifier ))) ;) }))) (expression_statement "iVar7 = *param_3;" (assignment_expression "iVar7 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (if_statement "if (iVar7 != 1) goto LAB_0002e274;" if (parenthesized_expression "(iVar7 != 1)" ( (binary_expression "iVar7 != 1" identifier != number_literal) )) (goto_statement "goto LAB_0002e274;" goto statement_identifier ;)) (labeled_statement "LAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;" statement_identifier : (expression_statement "puVar17 = PTR_s_hallenge__000af46c + -0x1038;" (assignment_expression "puVar17 = PTR_s_hallenge__000af46c + -0x1038" identifier = (binary_expression "PTR_s_hallenge__000af46c + -0x1038" identifier + number_literal)) ;)) }))) (expression_statement "uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5);" (assignment_expression "uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000afcf4)" ( (pointer_expression "*(code *)PTR_dcgettext_000afcf4" * (cast_expression "(code *)PTR_dcgettext_000afcf4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,puVar17,5)" ( number_literal , identifier , number_literal )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" ( (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" * (cast_expression "(code *)PTR___fprintf_chk_000afe0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar18,1,uVar9)" ( identifier , number_literal , identifier ))) ;) (expression_statement "uVar9 = html_quote_string(param_3[1]);" (assignment_expression "uVar9 = html_quote_string(param_3[1])" identifier = (call_expression "html_quote_string(param_3[1])" identifier (argument_list "(param_3[1])" ( (subscript_expression "param_3[1]" identifier [ number_literal ]) )))) ;) (expression_statement "uVar12 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1]);" (assignment_expression "uVar12 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1])" identifier = (call_expression "(*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1])" (parenthesized_expression "(*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)" ( (pointer_expression "*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0" * (cast_expression "(code *)PTR_url_escape_unsafe_and_reserved_000af7f0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3[1])" ( (subscript_expression "param_3[1]" identifier [ number_literal ]) )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc));" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc))" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" ( (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" * (cast_expression "(code *)PTR___fprintf_chk_000afe0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc))" ( identifier , number_literal , (binary_expression "puVar3 + -0x1008" identifier + number_literal) , identifier , (pointer_expression "*(undefined4 *)(param_2 + 8)" * (cast_expression "(undefined4 *)(param_2 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0xc)" * (cast_expression "(undefined4 *)(param_2 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) )))) ))) ;) (if_statement "if (**(char **)(param_2 + 0x20) != '/') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }" if (parenthesized_expression "(**(char **)(param_2 + 0x20) != '/')" ( (binary_expression "**(char **)(param_2 + 0x20) != '/'" (pointer_expression "**(char **)(param_2 + 0x20)" * (pointer_expression "*(char **)(param_2 + 0x20)" * (cast_expression "(char **)(param_2 + 0x20)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x20)" ( (binary_expression "param_2 + 0x20" identifier + number_literal) ))))) != (char_literal "'/'" ' character ')) )) (compound_statement "{\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }" { (expression_statement "(*(code *)PTR_putc_000afb2c)(0x2f,iVar18);" (call_expression "(*(code *)PTR_putc_000afb2c)(0x2f,iVar18)" (parenthesized_expression "(*(code *)PTR_putc_000afb2c)" ( (pointer_expression "*(code *)PTR_putc_000afb2c" * (cast_expression "(code *)PTR_putc_000afb2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x2f,iVar18)" ( number_literal , identifier ))) ;) })) (expression_statement "(*(code *)PTR_fputs_000afe9c)(uVar6,iVar18);" (call_expression "(*(code *)PTR_fputs_000afe9c)(uVar6,iVar18)" (parenthesized_expression "(*(code *)PTR_fputs_000afe9c)" ( (pointer_expression "*(code *)PTR_fputs_000afe9c" * (cast_expression "(code *)PTR_fputs_000afe9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar6,iVar18)" ( identifier , identifier ))) ;) (if_statement "if (**(char **)(param_2 + 0x20) != '\0') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }" if (parenthesized_expression "(**(char **)(param_2 + 0x20) != '\0')" ( (binary_expression "**(char **)(param_2 + 0x20) != '\0'" (pointer_expression "**(char **)(param_2 + 0x20)" * (pointer_expression "*(char **)(param_2 + 0x20)" * (cast_expression "(char **)(param_2 + 0x20)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 0x20)" ( (binary_expression "param_2 + 0x20" identifier + number_literal) ))))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }" { (expression_statement "(*(code *)PTR_putc_000afb2c)(0x2f,iVar18);" (call_expression "(*(code *)PTR_putc_000afb2c)(0x2f,iVar18)" (parenthesized_expression "(*(code *)PTR_putc_000afb2c)" ( (pointer_expression "*(code *)PTR_putc_000afb2c" * (cast_expression "(code *)PTR_putc_000afb2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x2f,iVar18)" ( number_literal , identifier ))) ;) })) (expression_statement "(*(code *)PTR_fputs_000afe9c)(uVar12,iVar18);" (call_expression "(*(code *)PTR_fputs_000afe9c)(uVar12,iVar18)" (parenthesized_expression "(*(code *)PTR_fputs_000afe9c)" ( (pointer_expression "*(code *)PTR_fputs_000afe9c" * (cast_expression "(code *)PTR_fputs_000afe9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar12,iVar18)" ( identifier , identifier ))) ;) (if_statement "if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }" if (parenthesized_expression "(*param_3 == 1)" ( (binary_expression "*param_3 == 1" (pointer_expression "*param_3" * identifier) == number_literal) )) (compound_statement "{\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }" { (expression_statement "(*(code *)PTR_putc_000afb2c)(0x2f,iVar18);" (call_expression "(*(code *)PTR_putc_000afb2c)(0x2f,iVar18)" (parenthesized_expression "(*(code *)PTR_putc_000afb2c)" ( (pointer_expression "*(code *)PTR_putc_000afb2c" * (cast_expression "(code *)PTR_putc_000afb2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x2f,iVar18)" ( number_literal , identifier ))) ;) })) (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,puVar3 + -0xff0,uVar9);" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,puVar3 + -0xff0,uVar9)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" ( (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" * (cast_expression "(code *)PTR___fprintf_chk_000afe0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar18,1,puVar3 + -0xff0,uVar9)" ( identifier , number_literal , (binary_expression "puVar3 + -0xff0" identifier + number_literal) , identifier ))) ;) (if_statement "if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }" if (parenthesized_expression "(*param_3 == 1)" ( (binary_expression "*param_3 == 1" (pointer_expression "*param_3" * identifier) == number_literal) )) (compound_statement "{\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }" { (expression_statement "(*(code *)PTR_putc_000afb2c)(0x2f,iVar18);" (call_expression "(*(code *)PTR_putc_000afb2c)(0x2f,iVar18)" (parenthesized_expression "(*(code *)PTR_putc_000afb2c)" ( (pointer_expression "*(code *)PTR_putc_000afb2c" * (cast_expression "(code *)PTR_putc_000afb2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x2f,iVar18)" ( number_literal , identifier ))) ;) })) (expression_statement "(*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar18);" (call_expression "(*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar18)" (parenthesized_expression "(*(code *)PTR_fwrite_000afbfc)" ( (pointer_expression "*(code *)PTR_fwrite_000afbfc" * (cast_expression "(code *)PTR_fwrite_000afbfc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3 + -0xfe8,1,5,iVar18)" ( (binary_expression "puVar3 + -0xfe8" identifier + number_literal) , number_literal , number_literal , identifier ))) ;) (if_statement "if (*param_3 == 0) {\n          uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n          uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);\n        }\n        else if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }" if (parenthesized_expression "(*param_3 == 0)" ( (binary_expression "*param_3 == 0" (pointer_expression "*param_3" * identifier) == number_literal) )) (compound_statement "{\n          uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n          uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);\n        }" { (expression_statement "uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);" (assignment_expression "uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000afcf4)" ( (pointer_expression "*(code *)PTR_dcgettext_000afcf4" * (cast_expression "(code *)PTR_dcgettext_000afcf4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_s_hallenge__000af46c + -0xfe0,5)" ( number_literal , (binary_expression "PTR_s_hallenge__000af46c + -0xfe0" identifier + number_literal) , number_literal )))) ;) (expression_statement "uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);" (assignment_expression "uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3])" identifier = (call_expression "(*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3])" (parenthesized_expression "(*(code *)PTR_number_to_static_string_000af698)" ( (pointer_expression "*(code *)PTR_number_to_static_string_000af698" * (cast_expression "(code *)PTR_number_to_static_string_000af698" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3[2],param_3[3])" ( (subscript_expression "param_3[2]" identifier [ number_literal ]) , (subscript_expression "param_3[3]" identifier [ number_literal ]) )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" ( (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" * (cast_expression "(code *)PTR___fprintf_chk_000afe0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar18,1,uVar13,uVar14)" ( identifier , number_literal , identifier , identifier ))) ;) }) (else_clause "else if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }" else (if_statement "if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }" if (parenthesized_expression "(*param_3 == 2)" ( (binary_expression "*param_3 == 2" (pointer_expression "*param_3" * identifier) == number_literal) )) (compound_statement "{\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }" { (expression_statement "puVar17 = (undefined *)param_3[7];" (assignment_expression "puVar17 = (undefined *)param_3[7]" identifier = (cast_expression "(undefined *)param_3[7]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[7]" identifier [ number_literal ]))) ;) (if_statement "if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }" if (parenthesized_expression "((undefined *)param_3[7] == (undefined *)0x0)" ( (binary_expression "(undefined *)param_3[7] == (undefined *)0x0" (cast_expression "(undefined *)param_3[7]" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[7]" identifier [ number_literal ])) == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            puVar17 = puVar11;\n          }" { (expression_statement "puVar17 = puVar11;" (assignment_expression "puVar17 = puVar11" identifier = identifier) ;) })) (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" ( (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" * (cast_expression "(code *)PTR___fprintf_chk_000afe0c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17)" ( identifier , number_literal , (binary_expression "PTR_s_hallenge__000af46c + -0xfd4" identifier + number_literal) , identifier ))) ;) })))) (expression_statement "(*(code *)PTR_putc_000afb2c)(10,iVar18);" (call_expression "(*(code *)PTR_putc_000afb2c)(10,iVar18)" (parenthesized_expression "(*(code *)PTR_putc_000afb2c)" ( (pointer_expression "*(code *)PTR_putc_000afb2c" * (cast_expression "(code *)PTR_putc_000afb2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(10,iVar18)" ( number_literal , identifier ))) ;) (expression_statement "(*(code *)PTR_free_000afd08)(uVar9);" (call_expression "(*(code *)PTR_free_000afd08)(uVar9)" (parenthesized_expression "(*(code *)PTR_free_000afd08)" ( (pointer_expression "*(code *)PTR_free_000afd08" * (cast_expression "(code *)PTR_free_000afd08" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar9)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_free_000afd08)(uVar12);" (call_expression "(*(code *)PTR_free_000afd08)(uVar12)" (parenthesized_expression "(*(code *)PTR_free_000afd08)" ( (pointer_expression "*(code *)PTR_free_000afd08" * (cast_expression "(code *)PTR_free_000afd08" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar12)" ( identifier ))) ;) (expression_statement "param_3 = (int *)param_3[9];" (assignment_expression "param_3 = (int *)param_3[9]" identifier = (cast_expression "(int *)param_3[9]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_3[9]" identifier [ number_literal ]))) ;) }) while (parenthesized_expression "(param_3 != (int *)0x0)" ( (binary_expression "param_3 != (int *)0x0" identifier != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) ;) })) (expression_statement "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0xfcc,1,0x17,iVar18);" (call_expression "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0xfcc,1,0x17,iVar18)" (parenthesized_expression "(*(code *)PTR_fwrite_000afbfc)" ( (pointer_expression "*(code *)PTR_fwrite_000afbfc" * (cast_expression "(code *)PTR_fwrite_000afbfc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_hallenge__000af46c + -0xfcc,1,0x17,iVar18)" ( (binary_expression "PTR_s_hallenge__000af46c + -0xfcc" identifier + number_literal) , number_literal , number_literal , identifier ))) ;) (expression_statement "(*(code *)PTR_free_000afd08)(uVar6);" (call_expression "(*(code *)PTR_free_000afd08)(uVar6)" (parenthesized_expression "(*(code *)PTR_free_000afd08)" ( (pointer_expression "*(code *)PTR_free_000afd08" * (cast_expression "(code *)PTR_free_000afd08" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar6)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_free_000afd08)(uVar8);" (call_expression "(*(code *)PTR_free_000afd08)(uVar8)" (parenthesized_expression "(*(code *)PTR_free_000afd08)" ( (pointer_expression "*(code *)PTR_free_000afd08" * (cast_expression "(code *)PTR_free_000afd08" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar8)" ( identifier ))) ;) (if_statement "if (*(int *)puVar4 == 0) {\n      (*(code *)PTR_fclose_000afc8c)(iVar18);\n      iVar18 = 7;\n    }\n    else {\n      (*(code *)PTR_rpl_fflush_000af7f4)(iVar18);\n      iVar18 = 7;\n    }" if (parenthesized_expression "(*(int *)puVar4 == 0)" ( (binary_expression "*(int *)puVar4 == 0" (pointer_expression "*(int *)puVar4" * (cast_expression "(int *)puVar4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) (compound_statement "{\n      (*(code *)PTR_fclose_000afc8c)(iVar18);\n      iVar18 = 7;\n    }" { (expression_statement "(*(code *)PTR_fclose_000afc8c)(iVar18);" (call_expression "(*(code *)PTR_fclose_000afc8c)(iVar18)" (parenthesized_expression "(*(code *)PTR_fclose_000afc8c)" ( (pointer_expression "*(code *)PTR_fclose_000afc8c" * (cast_expression "(code *)PTR_fclose_000afc8c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar18)" ( identifier ))) ;) (expression_statement "iVar18 = 7;" (assignment_expression "iVar18 = 7" identifier = number_literal) ;) }) (else_clause "else {\n      (*(code *)PTR_rpl_fflush_000af7f4)(iVar18);\n      iVar18 = 7;\n    }" else (compound_statement "{\n      (*(code *)PTR_rpl_fflush_000af7f4)(iVar18);\n      iVar18 = 7;\n    }" { (expression_statement "(*(code *)PTR_rpl_fflush_000af7f4)(iVar18);" (call_expression "(*(code *)PTR_rpl_fflush_000af7f4)(iVar18)" (parenthesized_expression "(*(code *)PTR_rpl_fflush_000af7f4)" ( (pointer_expression "*(code *)PTR_rpl_fflush_000af7f4" * (cast_expression "(code *)PTR_rpl_fflush_000af7f4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar18)" ( identifier ))) ;) (expression_statement "iVar18 = 7;" (assignment_expression "iVar18 = 7" identifier = number_literal) ;) }))) }))) (if_statement "if (local_2c == *(char **)puVar5) {\n    return iVar18;\n  }" if (parenthesized_expression "(local_2c == *(char **)puVar5)" ( (binary_expression "local_2c == *(char **)puVar5" identifier == (pointer_expression "*(char **)puVar5" * (cast_expression "(char **)puVar5" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return iVar18;\n  }" { (return_statement "return iVar18;" return identifier ;) })) (expression_statement "(*(code *)PTR___stack_chk_fail_000afbd4)();" (call_expression "(*(code *)PTR___stack_chk_fail_000afbd4)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000afbd4)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_000afbd4" * (cast_expression "(code *)PTR___stack_chk_fail_000afbd4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iVar18 = (int)*local_2c;" (assignment_expression "iVar18 = (int)*local_2c" identifier = (cast_expression "(int)*local_2c" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*local_2c" * identifier))) ;) (if_statement "if (iVar18 != 0) {\n    pcVar16 = local_2c + 1;\n    cVar1 = local_2c[1];\n    while (cVar1 != 0) {\n      pcVar16 = pcVar16 + 1;\n      iVar18 = (int)cVar1 + iVar18 * 0x1f;\n      cVar1 = *pcVar16;\n    }\n  }" if (parenthesized_expression "(iVar18 != 0)" ( (binary_expression "iVar18 != 0" identifier != number_literal) )) (compound_statement "{\n    pcVar16 = local_2c + 1;\n    cVar1 = local_2c[1];\n    while (cVar1 != 0) {\n      pcVar16 = pcVar16 + 1;\n      iVar18 = (int)cVar1 + iVar18 * 0x1f;\n      cVar1 = *pcVar16;\n    }\n  }" { (expression_statement "pcVar16 = local_2c + 1;" (assignment_expression "pcVar16 = local_2c + 1" identifier = (binary_expression "local_2c + 1" identifier + number_literal)) ;) (expression_statement "cVar1 = local_2c[1];" (assignment_expression "cVar1 = local_2c[1]" identifier = (subscript_expression "local_2c[1]" identifier [ number_literal ])) ;) (while_statement "while (cVar1 != 0) {\n      pcVar16 = pcVar16 + 1;\n      iVar18 = (int)cVar1 + iVar18 * 0x1f;\n      cVar1 = *pcVar16;\n    }" while (parenthesized_expression "(cVar1 != 0)" ( (binary_expression "cVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      pcVar16 = pcVar16 + 1;\n      iVar18 = (int)cVar1 + iVar18 * 0x1f;\n      cVar1 = *pcVar16;\n    }" { (expression_statement "pcVar16 = pcVar16 + 1;" (assignment_expression "pcVar16 = pcVar16 + 1" identifier = (binary_expression "pcVar16 + 1" identifier + number_literal)) ;) (expression_statement "iVar18 = (int)cVar1 + iVar18 * 0x1f;" (assignment_expression "iVar18 = (int)cVar1 + iVar18 * 0x1f" identifier = (binary_expression "(int)cVar1 + iVar18 * 0x1f" (cast_expression "(int)cVar1" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "iVar18 * 0x1f" identifier * number_literal))) ;) (expression_statement "cVar1 = *pcVar16;" (assignment_expression "cVar1 = *pcVar16" identifier = (pointer_expression "*pcVar16" * identifier)) ;) })) })) (return_statement "return iVar18;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , (binary_expression IDENT + LIT) , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( )))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , LIT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) , IDENT , (binary_expression IDENT + LIT) , LIT )))) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , LIT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , LIT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })))))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression & IDENT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) * LIT)) + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , (binary_expression IDENT + LIT) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , LIT , IDENT ))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT , LIT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , (binary_expression IDENT + LIT) , IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) != (char_literal ' character ')) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , (binary_expression IDENT + LIT) , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , LIT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (subscript_expression IDENT [ LIT ]) , (subscript_expression IDENT [ LIT ]) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , IDENT , IDENT ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , (binary_expression IDENT + LIT) , IDENT ))) ;) })))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) }) while (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , LIT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) )) (compound_statement { (return_statement return IDENT ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (while_statement while (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) })) (return_statement return IDENT ;) })))
(function_definition "int ftp_index(undefined4 param_1,int param_2,int *param_3)\n\n{\n  char cVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined4 uVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  undefined *puVar10;\n  undefined *puVar11;\n  undefined4 uVar12;\n  undefined4 uVar13;\n  undefined4 uVar14;\n  undefined4 *puVar15;\n  char *pcVar16;\n  undefined *puVar17;\n  int iVar18;\n  int local_30;\n  char *local_2c;\n  \n  puVar5 = PTR___stack_chk_guard_000afc3c;\n  puVar4 = PTR_output_stream_000af524;\n  local_2c = *(char **)PTR___stack_chk_guard_000afc3c;\n  iVar18 = *(int *)PTR_output_stream_000af524;\n  if ((iVar18 == 0) &&\n     (iVar18 = (*(code *)PTR_fopen64_000afaac)(param_1,PTR_LAB_000af468 + 0x41e0), iVar18 == 0)) {\n    puVar15 = (undefined4 *)(*(code *)PTR___errno_location_000afe90)();\n    uVar8 = (*(code *)PTR_rpl_strerror_000af4b0)(*puVar15);\n    logprintf(1,PTR_s_hallenge__000af46c + 0x1e4c,param_1,uVar8);\n    iVar18 = 0x13;\n  }\n  else {\n    if (*(int *)(param_2 + 0x28) == 0) {\n      uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710);\n    }\n    else {\n      uVar6 = (*(code *)PTR_url_escape_000af7ec)();\n      if ((*(int *)(param_2 + 0x2c) == 0) ||\n         (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {\n        iVar7 = 0;\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n      }\n      else {\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);\n      }\n      (*(code *)PTR_free_000afd08)(uVar6);\n      (*(code *)PTR_free_000afd08)(iVar7);\n    }\n    puVar2 = PTR_s_hallenge__000af46c;\n    uVar6 = html_quote_string(*(undefined4 *)(param_2 + 0x20));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x1110,1,0x33,iVar18);\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10dc,1,0x15,iVar18);\n    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n    (*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10ac,1,0x1c,iVar18);\n    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n    (*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x108c,1,0x11,iVar18);\n    puVar3 = PTR_s_hallenge__000af46c;\n    puVar2 = PTR_DAT_000af458;\n    if (param_3 != (int *)0x0) {\n      puVar10 = PTR_s_hallenge__000af46c + -0x1074;\n      puVar11 = PTR_s_hallenge__000af46c + -0x1118;\n      do {\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar18);\n        if (param_3[4] == -1) {\n          uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n          iVar7 = *param_3;\n          if (iVar7 == 1) goto LAB_0002e304;\nLAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }\n        }\n        else {\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }\n        uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n        uVar9 = html_quote_string(param_3[1]);\n        uVar12 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1]);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc));\n        if (**(char **)(param_2 + 0x20) != '/') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar6,iVar18);\n        if (**(char **)(param_2 + 0x20) != '\0') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar12,iVar18);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,puVar3 + -0xff0,uVar9);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar18);\n        if (*param_3 == 0) {\n          uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n          uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);\n        }\n        else if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }\n        (*(code *)PTR_putc_000afb2c)(10,iVar18);\n        (*(code *)PTR_free_000afd08)(uVar9);\n        (*(code *)PTR_free_000afd08)(uVar12);\n        param_3 = (int *)param_3[9];\n      } while (param_3 != (int *)0x0);\n    }\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0xfcc,1,0x17,iVar18);\n    (*(code *)PTR_free_000afd08)(uVar6);\n    (*(code *)PTR_free_000afd08)(uVar8);\n    if (*(int *)puVar4 == 0) {\n      (*(code *)PTR_fclose_000afc8c)(iVar18);\n      iVar18 = 7;\n    }\n    else {\n      (*(code *)PTR_rpl_fflush_000af7f4)(iVar18);\n      iVar18 = 7;\n    }\n  }\n  if (local_2c == *(char **)puVar5) {\n    return iVar18;\n  }\n  (*(code *)PTR___stack_chk_fail_000afbd4)();\n  iVar18 = (int)*local_2c;\n  if (iVar18 != 0) {\n    pcVar16 = local_2c + 1;\n    cVar1 = local_2c[1];\n    while (cVar1 != 0) {\n      pcVar16 = pcVar16 + 1;\n      iVar18 = (int)cVar1 + iVar18 * 0x1f;\n      cVar1 = *pcVar16;\n    }\n  }\n  return iVar18;\n}" (primitive_type "int") (function_declarator "ftp_index(undefined4 param_1,int param_2,int *param_3)" (identifier "ftp_index") (parameter_list "(undefined4 param_1,int param_2,int *param_3)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "int *param_3" (primitive_type "int") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) () ")"))) (compound_statement "{\n  char cVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  undefined *puVar5;\n  undefined4 uVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  undefined *puVar10;\n  undefined *puVar11;\n  undefined4 uVar12;\n  undefined4 uVar13;\n  undefined4 uVar14;\n  undefined4 *puVar15;\n  char *pcVar16;\n  undefined *puVar17;\n  int iVar18;\n  int local_30;\n  char *local_2c;\n  \n  puVar5 = PTR___stack_chk_guard_000afc3c;\n  puVar4 = PTR_output_stream_000af524;\n  local_2c = *(char **)PTR___stack_chk_guard_000afc3c;\n  iVar18 = *(int *)PTR_output_stream_000af524;\n  if ((iVar18 == 0) &&\n     (iVar18 = (*(code *)PTR_fopen64_000afaac)(param_1,PTR_LAB_000af468 + 0x41e0), iVar18 == 0)) {\n    puVar15 = (undefined4 *)(*(code *)PTR___errno_location_000afe90)();\n    uVar8 = (*(code *)PTR_rpl_strerror_000af4b0)(*puVar15);\n    logprintf(1,PTR_s_hallenge__000af46c + 0x1e4c,param_1,uVar8);\n    iVar18 = 0x13;\n  }\n  else {\n    if (*(int *)(param_2 + 0x28) == 0) {\n      uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710);\n    }\n    else {\n      uVar6 = (*(code *)PTR_url_escape_000af7ec)();\n      if ((*(int *)(param_2 + 0x2c) == 0) ||\n         (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {\n        iVar7 = 0;\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n      }\n      else {\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);\n      }\n      (*(code *)PTR_free_000afd08)(uVar6);\n      (*(code *)PTR_free_000afd08)(iVar7);\n    }\n    puVar2 = PTR_s_hallenge__000af46c;\n    uVar6 = html_quote_string(*(undefined4 *)(param_2 + 0x20));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x1110,1,0x33,iVar18);\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10dc,1,0x15,iVar18);\n    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n    (*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10ac,1,0x1c,iVar18);\n    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n    (*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x108c,1,0x11,iVar18);\n    puVar3 = PTR_s_hallenge__000af46c;\n    puVar2 = PTR_DAT_000af458;\n    if (param_3 != (int *)0x0) {\n      puVar10 = PTR_s_hallenge__000af46c + -0x1074;\n      puVar11 = PTR_s_hallenge__000af46c + -0x1118;\n      do {\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar18);\n        if (param_3[4] == -1) {\n          uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n          iVar7 = *param_3;\n          if (iVar7 == 1) goto LAB_0002e304;\nLAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }\n        }\n        else {\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }\n        uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n        uVar9 = html_quote_string(param_3[1]);\n        uVar12 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1]);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc));\n        if (**(char **)(param_2 + 0x20) != '/') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar6,iVar18);\n        if (**(char **)(param_2 + 0x20) != '\0') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar12,iVar18);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,puVar3 + -0xff0,uVar9);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar18);\n        if (*param_3 == 0) {\n          uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n          uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);\n        }\n        else if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }\n        (*(code *)PTR_putc_000afb2c)(10,iVar18);\n        (*(code *)PTR_free_000afd08)(uVar9);\n        (*(code *)PTR_free_000afd08)(uVar12);\n        param_3 = (int *)param_3[9];\n      } while (param_3 != (int *)0x0);\n    }\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0xfcc,1,0x17,iVar18);\n    (*(code *)PTR_free_000afd08)(uVar6);\n    (*(code *)PTR_free_000afd08)(uVar8);\n    if (*(int *)puVar4 == 0) {\n      (*(code *)PTR_fclose_000afc8c)(iVar18);\n      iVar18 = 7;\n    }\n    else {\n      (*(code *)PTR_rpl_fflush_000af7f4)(iVar18);\n      iVar18 = 7;\n    }\n  }\n  if (local_2c == *(char **)puVar5) {\n    return iVar18;\n  }\n  (*(code *)PTR___stack_chk_fail_000afbd4)();\n  iVar18 = (int)*local_2c;\n  if (iVar18 != 0) {\n    pcVar16 = local_2c + 1;\n    cVar1 = local_2c[1];\n    while (cVar1 != 0) {\n      pcVar16 = pcVar16 + 1;\n      iVar18 = (int)cVar1 + iVar18 * 0x1f;\n      cVar1 = *pcVar16;\n    }\n  }\n  return iVar18;\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "undefined *puVar4;" (type_identifier "undefined") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "undefined *puVar5;" (type_identifier "undefined") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "undefined4 uVar8;" (type_identifier "undefined4") (identifier "uVar8") (; ";")) (declaration "undefined4 uVar9;" (type_identifier "undefined4") (identifier "uVar9") (; ";")) (declaration "undefined *puVar10;" (type_identifier "undefined") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "undefined *puVar11;" (type_identifier "undefined") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "undefined4 uVar12;" (type_identifier "undefined4") (identifier "uVar12") (; ";")) (declaration "undefined4 uVar13;" (type_identifier "undefined4") (identifier "uVar13") (; ";")) (declaration "undefined4 uVar14;" (type_identifier "undefined4") (identifier "uVar14") (; ";")) (declaration "undefined4 *puVar15;" (type_identifier "undefined4") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "char *pcVar16;" (primitive_type "char") (pointer_declarator "*pcVar16" (* "*") (identifier "pcVar16")) (; ";")) (declaration "undefined *puVar17;" (type_identifier "undefined") (pointer_declarator "*puVar17" (* "*") (identifier "puVar17")) (; ";")) (declaration "int iVar18;" (primitive_type "int") (identifier "iVar18") (; ";")) (declaration "int local_30;" (primitive_type "int") (identifier "local_30") (; ";")) (declaration "char *local_2c;" (primitive_type "char") (pointer_declarator "*local_2c" (* "*") (identifier "local_2c")) (; ";")) (expression_statement "puVar5 = PTR___stack_chk_guard_000afc3c;" (assignment_expression "puVar5 = PTR___stack_chk_guard_000afc3c" (identifier "puVar5") (= "=") (identifier "PTR___stack_chk_guard_000afc3c")) (; ";")) (expression_statement "puVar4 = PTR_output_stream_000af524;" (assignment_expression "puVar4 = PTR_output_stream_000af524" (identifier "puVar4") (= "=") (identifier "PTR_output_stream_000af524")) (; ";")) (expression_statement "local_2c = *(char **)PTR___stack_chk_guard_000afc3c;" (assignment_expression "local_2c = *(char **)PTR___stack_chk_guard_000afc3c" (identifier "local_2c") (= "=") (pointer_expression "*(char **)PTR___stack_chk_guard_000afc3c" (* "*") (cast_expression "(char **)PTR___stack_chk_guard_000afc3c" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR___stack_chk_guard_000afc3c")))) (; ";")) (expression_statement "iVar18 = *(int *)PTR_output_stream_000af524;" (assignment_expression "iVar18 = *(int *)PTR_output_stream_000af524" (identifier "iVar18") (= "=") (pointer_expression "*(int *)PTR_output_stream_000af524" (* "*") (cast_expression "(int *)PTR_output_stream_000af524" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_output_stream_000af524")))) (; ";")) (if_statement "if ((iVar18 == 0) &&\n     (iVar18 = (*(code *)PTR_fopen64_000afaac)(param_1,PTR_LAB_000af468 + 0x41e0), iVar18 == 0)) {\n    puVar15 = (undefined4 *)(*(code *)PTR___errno_location_000afe90)();\n    uVar8 = (*(code *)PTR_rpl_strerror_000af4b0)(*puVar15);\n    logprintf(1,PTR_s_hallenge__000af46c + 0x1e4c,param_1,uVar8);\n    iVar18 = 0x13;\n  }\n  else {\n    if (*(int *)(param_2 + 0x28) == 0) {\n      uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710);\n    }\n    else {\n      uVar6 = (*(code *)PTR_url_escape_000af7ec)();\n      if ((*(int *)(param_2 + 0x2c) == 0) ||\n         (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {\n        iVar7 = 0;\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n      }\n      else {\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);\n      }\n      (*(code *)PTR_free_000afd08)(uVar6);\n      (*(code *)PTR_free_000afd08)(iVar7);\n    }\n    puVar2 = PTR_s_hallenge__000af46c;\n    uVar6 = html_quote_string(*(undefined4 *)(param_2 + 0x20));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x1110,1,0x33,iVar18);\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10dc,1,0x15,iVar18);\n    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n    (*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10ac,1,0x1c,iVar18);\n    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n    (*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x108c,1,0x11,iVar18);\n    puVar3 = PTR_s_hallenge__000af46c;\n    puVar2 = PTR_DAT_000af458;\n    if (param_3 != (int *)0x0) {\n      puVar10 = PTR_s_hallenge__000af46c + -0x1074;\n      puVar11 = PTR_s_hallenge__000af46c + -0x1118;\n      do {\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar18);\n        if (param_3[4] == -1) {\n          uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n          iVar7 = *param_3;\n          if (iVar7 == 1) goto LAB_0002e304;\nLAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }\n        }\n        else {\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }\n        uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n        uVar9 = html_quote_string(param_3[1]);\n        uVar12 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1]);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc));\n        if (**(char **)(param_2 + 0x20) != '/') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar6,iVar18);\n        if (**(char **)(param_2 + 0x20) != '\0') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar12,iVar18);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,puVar3 + -0xff0,uVar9);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar18);\n        if (*param_3 == 0) {\n          uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n          uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);\n        }\n        else if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }\n        (*(code *)PTR_putc_000afb2c)(10,iVar18);\n        (*(code *)PTR_free_000afd08)(uVar9);\n        (*(code *)PTR_free_000afd08)(uVar12);\n        param_3 = (int *)param_3[9];\n      } while (param_3 != (int *)0x0);\n    }\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0xfcc,1,0x17,iVar18);\n    (*(code *)PTR_free_000afd08)(uVar6);\n    (*(code *)PTR_free_000afd08)(uVar8);\n    if (*(int *)puVar4 == 0) {\n      (*(code *)PTR_fclose_000afc8c)(iVar18);\n      iVar18 = 7;\n    }\n    else {\n      (*(code *)PTR_rpl_fflush_000af7f4)(iVar18);\n      iVar18 = 7;\n    }\n  }" (if "if") (parenthesized_expression "((iVar18 == 0) &&\n     (iVar18 = (*(code *)PTR_fopen64_000afaac)(param_1,PTR_LAB_000af468 + 0x41e0), iVar18 == 0))" (( "(") (binary_expression "(iVar18 == 0) &&\n     (iVar18 = (*(code *)PTR_fopen64_000afaac)(param_1,PTR_LAB_000af468 + 0x41e0), iVar18 == 0)" (parenthesized_expression "(iVar18 == 0)" (( "(") (binary_expression "iVar18 == 0" (identifier "iVar18") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar18 = (*(code *)PTR_fopen64_000afaac)(param_1,PTR_LAB_000af468 + 0x41e0), iVar18 == 0)" (( "(") (comma_expression "iVar18 = (*(code *)PTR_fopen64_000afaac)(param_1,PTR_LAB_000af468 + 0x41e0), iVar18 == 0" (assignment_expression "iVar18 = (*(code *)PTR_fopen64_000afaac)(param_1,PTR_LAB_000af468 + 0x41e0)" (identifier "iVar18") (= "=") (call_expression "(*(code *)PTR_fopen64_000afaac)(param_1,PTR_LAB_000af468 + 0x41e0)" (parenthesized_expression "(*(code *)PTR_fopen64_000afaac)" (( "(") (pointer_expression "*(code *)PTR_fopen64_000afaac" (* "*") (cast_expression "(code *)PTR_fopen64_000afaac" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fopen64_000afaac"))) () ")")) (argument_list "(param_1,PTR_LAB_000af468 + 0x41e0)" (( "(") (identifier "param_1") (, ",") (binary_expression "PTR_LAB_000af468 + 0x41e0" (identifier "PTR_LAB_000af468") (+ "+") (number_literal "0x41e0")) () ")")))) (, ",") (binary_expression "iVar18 == 0" (identifier "iVar18") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    puVar15 = (undefined4 *)(*(code *)PTR___errno_location_000afe90)();\n    uVar8 = (*(code *)PTR_rpl_strerror_000af4b0)(*puVar15);\n    logprintf(1,PTR_s_hallenge__000af46c + 0x1e4c,param_1,uVar8);\n    iVar18 = 0x13;\n  }" ({ "{") (expression_statement "puVar15 = (undefined4 *)(*(code *)PTR___errno_location_000afe90)();" (assignment_expression "puVar15 = (undefined4 *)(*(code *)PTR___errno_location_000afe90)()" (identifier "puVar15") (= "=") (cast_expression "(undefined4 *)(*(code *)PTR___errno_location_000afe90)()" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR___errno_location_000afe90)()" (parenthesized_expression "(*(code *)PTR___errno_location_000afe90)" (( "(") (pointer_expression "*(code *)PTR___errno_location_000afe90" (* "*") (cast_expression "(code *)PTR___errno_location_000afe90" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___errno_location_000afe90"))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "uVar8 = (*(code *)PTR_rpl_strerror_000af4b0)(*puVar15);" (assignment_expression "uVar8 = (*(code *)PTR_rpl_strerror_000af4b0)(*puVar15)" (identifier "uVar8") (= "=") (call_expression "(*(code *)PTR_rpl_strerror_000af4b0)(*puVar15)" (parenthesized_expression "(*(code *)PTR_rpl_strerror_000af4b0)" (( "(") (pointer_expression "*(code *)PTR_rpl_strerror_000af4b0" (* "*") (cast_expression "(code *)PTR_rpl_strerror_000af4b0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_rpl_strerror_000af4b0"))) () ")")) (argument_list "(*puVar15)" (( "(") (pointer_expression "*puVar15" (* "*") (identifier "puVar15")) () ")")))) (; ";")) (expression_statement "logprintf(1,PTR_s_hallenge__000af46c + 0x1e4c,param_1,uVar8);" (call_expression "logprintf(1,PTR_s_hallenge__000af46c + 0x1e4c,param_1,uVar8)" (identifier "logprintf") (argument_list "(1,PTR_s_hallenge__000af46c + 0x1e4c,param_1,uVar8)" (( "(") (number_literal "1") (, ",") (binary_expression "PTR_s_hallenge__000af46c + 0x1e4c" (identifier "PTR_s_hallenge__000af46c") (+ "+") (number_literal "0x1e4c")) (, ",") (identifier "param_1") (, ",") (identifier "uVar8") () ")"))) (; ";")) (expression_statement "iVar18 = 0x13;" (assignment_expression "iVar18 = 0x13" (identifier "iVar18") (= "=") (number_literal "0x13")) (; ";")) (} "}")) (else_clause "else {\n    if (*(int *)(param_2 + 0x28) == 0) {\n      uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710);\n    }\n    else {\n      uVar6 = (*(code *)PTR_url_escape_000af7ec)();\n      if ((*(int *)(param_2 + 0x2c) == 0) ||\n         (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {\n        iVar7 = 0;\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n      }\n      else {\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);\n      }\n      (*(code *)PTR_free_000afd08)(uVar6);\n      (*(code *)PTR_free_000afd08)(iVar7);\n    }\n    puVar2 = PTR_s_hallenge__000af46c;\n    uVar6 = html_quote_string(*(undefined4 *)(param_2 + 0x20));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x1110,1,0x33,iVar18);\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10dc,1,0x15,iVar18);\n    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n    (*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10ac,1,0x1c,iVar18);\n    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n    (*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x108c,1,0x11,iVar18);\n    puVar3 = PTR_s_hallenge__000af46c;\n    puVar2 = PTR_DAT_000af458;\n    if (param_3 != (int *)0x0) {\n      puVar10 = PTR_s_hallenge__000af46c + -0x1074;\n      puVar11 = PTR_s_hallenge__000af46c + -0x1118;\n      do {\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar18);\n        if (param_3[4] == -1) {\n          uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n          iVar7 = *param_3;\n          if (iVar7 == 1) goto LAB_0002e304;\nLAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }\n        }\n        else {\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }\n        uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n        uVar9 = html_quote_string(param_3[1]);\n        uVar12 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1]);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc));\n        if (**(char **)(param_2 + 0x20) != '/') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar6,iVar18);\n        if (**(char **)(param_2 + 0x20) != '\0') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar12,iVar18);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,puVar3 + -0xff0,uVar9);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar18);\n        if (*param_3 == 0) {\n          uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n          uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);\n        }\n        else if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }\n        (*(code *)PTR_putc_000afb2c)(10,iVar18);\n        (*(code *)PTR_free_000afd08)(uVar9);\n        (*(code *)PTR_free_000afd08)(uVar12);\n        param_3 = (int *)param_3[9];\n      } while (param_3 != (int *)0x0);\n    }\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0xfcc,1,0x17,iVar18);\n    (*(code *)PTR_free_000afd08)(uVar6);\n    (*(code *)PTR_free_000afd08)(uVar8);\n    if (*(int *)puVar4 == 0) {\n      (*(code *)PTR_fclose_000afc8c)(iVar18);\n      iVar18 = 7;\n    }\n    else {\n      (*(code *)PTR_rpl_fflush_000af7f4)(iVar18);\n      iVar18 = 7;\n    }\n  }" (else "else") (compound_statement "{\n    if (*(int *)(param_2 + 0x28) == 0) {\n      uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710);\n    }\n    else {\n      uVar6 = (*(code *)PTR_url_escape_000af7ec)();\n      if ((*(int *)(param_2 + 0x2c) == 0) ||\n         (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {\n        iVar7 = 0;\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n      }\n      else {\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);\n      }\n      (*(code *)PTR_free_000afd08)(uVar6);\n      (*(code *)PTR_free_000afd08)(iVar7);\n    }\n    puVar2 = PTR_s_hallenge__000af46c;\n    uVar6 = html_quote_string(*(undefined4 *)(param_2 + 0x20));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x1110,1,0x33,iVar18);\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10dc,1,0x15,iVar18);\n    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n    (*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10ac,1,0x1c,iVar18);\n    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);\n    (*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x108c,1,0x11,iVar18);\n    puVar3 = PTR_s_hallenge__000af46c;\n    puVar2 = PTR_DAT_000af458;\n    if (param_3 != (int *)0x0) {\n      puVar10 = PTR_s_hallenge__000af46c + -0x1074;\n      puVar11 = PTR_s_hallenge__000af46c + -0x1118;\n      do {\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar18);\n        if (param_3[4] == -1) {\n          uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n          iVar7 = *param_3;\n          if (iVar7 == 1) goto LAB_0002e304;\nLAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }\n        }\n        else {\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }\n        uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n        uVar9 = html_quote_string(param_3[1]);\n        uVar12 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1]);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc));\n        if (**(char **)(param_2 + 0x20) != '/') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar6,iVar18);\n        if (**(char **)(param_2 + 0x20) != '\0') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar12,iVar18);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,puVar3 + -0xff0,uVar9);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar18);\n        if (*param_3 == 0) {\n          uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n          uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);\n        }\n        else if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }\n        (*(code *)PTR_putc_000afb2c)(10,iVar18);\n        (*(code *)PTR_free_000afd08)(uVar9);\n        (*(code *)PTR_free_000afd08)(uVar12);\n        param_3 = (int *)param_3[9];\n      } while (param_3 != (int *)0x0);\n    }\n    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0xfcc,1,0x17,iVar18);\n    (*(code *)PTR_free_000afd08)(uVar6);\n    (*(code *)PTR_free_000afd08)(uVar8);\n    if (*(int *)puVar4 == 0) {\n      (*(code *)PTR_fclose_000afc8c)(iVar18);\n      iVar18 = 7;\n    }\n    else {\n      (*(code *)PTR_rpl_fflush_000af7f4)(iVar18);\n      iVar18 = 7;\n    }\n  }" ({ "{") (if_statement "if (*(int *)(param_2 + 0x28) == 0) {\n      uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710);\n    }\n    else {\n      uVar6 = (*(code *)PTR_url_escape_000af7ec)();\n      if ((*(int *)(param_2 + 0x2c) == 0) ||\n         (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {\n        iVar7 = 0;\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n      }\n      else {\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);\n      }\n      (*(code *)PTR_free_000afd08)(uVar6);\n      (*(code *)PTR_free_000afd08)(iVar7);\n    }" (if "if") (parenthesized_expression "(*(int *)(param_2 + 0x28) == 0)" (( "(") (binary_expression "*(int *)(param_2 + 0x28) == 0" (pointer_expression "*(int *)(param_2 + 0x28)" (* "*") (cast_expression "(int *)(param_2 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x28)" (( "(") (binary_expression "param_2 + 0x28" (identifier "param_2") (+ "+") (number_literal "0x28")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710);\n    }" ({ "{") (expression_statement "uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710);" (assignment_expression "uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710)" (identifier "uVar8") (= "=") (call_expression "(*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710)" (parenthesized_expression "(*(code *)PTR_xstrdup_000af48c)" (( "(") (pointer_expression "*(code *)PTR_xstrdup_000af48c" (* "*") (cast_expression "(code *)PTR_xstrdup_000af48c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_xstrdup_000af48c"))) () ")")) (argument_list "(PTR_s_hallenge__000af46c + -0x1710)" (( "(") (binary_expression "PTR_s_hallenge__000af46c + -0x1710" (identifier "PTR_s_hallenge__000af46c") (+ "+") (number_literal "-0x1710")) () ")")))) (; ";")) (} "}")) (else_clause "else {\n      uVar6 = (*(code *)PTR_url_escape_000af7ec)();\n      if ((*(int *)(param_2 + 0x2c) == 0) ||\n         (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {\n        iVar7 = 0;\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n      }\n      else {\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);\n      }\n      (*(code *)PTR_free_000afd08)(uVar6);\n      (*(code *)PTR_free_000afd08)(iVar7);\n    }" (else "else") (compound_statement "{\n      uVar6 = (*(code *)PTR_url_escape_000af7ec)();\n      if ((*(int *)(param_2 + 0x2c) == 0) ||\n         (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {\n        iVar7 = 0;\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n      }\n      else {\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);\n      }\n      (*(code *)PTR_free_000afd08)(uVar6);\n      (*(code *)PTR_free_000afd08)(iVar7);\n    }" ({ "{") (expression_statement "uVar6 = (*(code *)PTR_url_escape_000af7ec)();" (assignment_expression "uVar6 = (*(code *)PTR_url_escape_000af7ec)()" (identifier "uVar6") (= "=") (call_expression "(*(code *)PTR_url_escape_000af7ec)()" (parenthesized_expression "(*(code *)PTR_url_escape_000af7ec)" (( "(") (pointer_expression "*(code *)PTR_url_escape_000af7ec" (* "*") (cast_expression "(code *)PTR_url_escape_000af7ec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_url_escape_000af7ec"))) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if ((*(int *)(param_2 + 0x2c) == 0) ||\n         (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {\n        iVar7 = 0;\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n      }\n      else {\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);\n      }" (if "if") (parenthesized_expression "((*(int *)(param_2 + 0x2c) == 0) ||\n         (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0))" (( "(") (binary_expression "(*(int *)(param_2 + 0x2c) == 0) ||\n         (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)" (parenthesized_expression "(*(int *)(param_2 + 0x2c) == 0)" (( "(") (binary_expression "*(int *)(param_2 + 0x2c) == 0" (pointer_expression "*(int *)(param_2 + 0x2c)" (* "*") (cast_expression "(int *)(param_2 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x2c)" (( "(") (binary_expression "param_2 + 0x2c" (identifier "param_2") (+ "+") (number_literal "0x2c")) () ")")))) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)" (( "(") (comma_expression "iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0" (assignment_expression "iVar7 = (*(code *)PTR_url_escape_000af7ec)()" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_url_escape_000af7ec)()" (parenthesized_expression "(*(code *)PTR_url_escape_000af7ec)" (( "(") (pointer_expression "*(code *)PTR_url_escape_000af7ec" (* "*") (cast_expression "(code *)PTR_url_escape_000af7ec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_url_escape_000af7ec"))) () ")")) (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        iVar7 = 0;\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);\n      }" ({ "{") (expression_statement "iVar7 = 0;" (assignment_expression "iVar7 = 0" (identifier "iVar7") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);" (assignment_expression "uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0)" (identifier "uVar8") (= "=") (call_expression "(*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0)" (parenthesized_expression "(*(code *)PTR_concat_strings_000af6b4)" (( "(") (pointer_expression "*(code *)PTR_concat_strings_000af6b4" (* "*") (cast_expression "(code *)PTR_concat_strings_000af6b4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_concat_strings_000af6b4"))) () ")")) (argument_list "(uVar6,PTR_LAB_000af468 + 0x48b0,0)" (( "(") (identifier "uVar6") (, ",") (binary_expression "PTR_LAB_000af468 + 0x48b0" (identifier "PTR_LAB_000af468") (+ "+") (number_literal "0x48b0")) (, ",") (number_literal "0") () ")")))) (; ";")) (} "}")) (else_clause "else {\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);\n      }" (else "else") (compound_statement "{\n        uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);\n      }" ({ "{") (expression_statement "uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0);" (assignment_expression "uVar8 = (*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0)" (identifier "uVar8") (= "=") (call_expression "(*(code *)PTR_concat_strings_000af6b4)\n                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0)" (parenthesized_expression "(*(code *)PTR_concat_strings_000af6b4)" (( "(") (pointer_expression "*(code *)PTR_concat_strings_000af6b4" (* "*") (cast_expression "(code *)PTR_concat_strings_000af6b4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_concat_strings_000af6b4"))) () ")")) (argument_list "(uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,\n                           0)" (( "(") (identifier "uVar6") (, ",") (binary_expression "PTR_s_hallenge__000af46c + -0x139c" (identifier "PTR_s_hallenge__000af46c") (+ "+") (number_literal "-0x139c")) (, ",") (identifier "iVar7") (, ",") (binary_expression "PTR_LAB_000af468 + 0x48b0" (identifier "PTR_LAB_000af468") (+ "+") (number_literal "0x48b0")) (, ",") (number_literal "0") () ")")))) (; ";")) (} "}")))) (expression_statement "(*(code *)PTR_free_000afd08)(uVar6);" (call_expression "(*(code *)PTR_free_000afd08)(uVar6)" (parenthesized_expression "(*(code *)PTR_free_000afd08)" (( "(") (pointer_expression "*(code *)PTR_free_000afd08" (* "*") (cast_expression "(code *)PTR_free_000afd08" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_000afd08"))) () ")")) (argument_list "(uVar6)" (( "(") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_free_000afd08)(iVar7);" (call_expression "(*(code *)PTR_free_000afd08)(iVar7)" (parenthesized_expression "(*(code *)PTR_free_000afd08)" (( "(") (pointer_expression "*(code *)PTR_free_000afd08" (* "*") (cast_expression "(code *)PTR_free_000afd08" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_000afd08"))) () ")")) (argument_list "(iVar7)" (( "(") (identifier "iVar7") () ")"))) (; ";")) (} "}")))) (expression_statement "puVar2 = PTR_s_hallenge__000af46c;" (assignment_expression "puVar2 = PTR_s_hallenge__000af46c" (identifier "puVar2") (= "=") (identifier "PTR_s_hallenge__000af46c")) (; ";")) (expression_statement "uVar6 = html_quote_string(*(undefined4 *)(param_2 + 0x20));" (assignment_expression "uVar6 = html_quote_string(*(undefined4 *)(param_2 + 0x20))" (identifier "uVar6") (= "=") (call_expression "html_quote_string(*(undefined4 *)(param_2 + 0x20))" (identifier "html_quote_string") (argument_list "(*(undefined4 *)(param_2 + 0x20))" (( "(") (pointer_expression "*(undefined4 *)(param_2 + 0x20)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x20)" (( "(") (binary_expression "param_2 + 0x20" (identifier "param_2") (+ "+") (number_literal "0x20")) () ")")))) () ")")))) (; ";")) (expression_statement "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x1110,1,0x33,iVar18);" (call_expression "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x1110,1,0x33,iVar18)" (parenthesized_expression "(*(code *)PTR_fwrite_000afbfc)" (( "(") (pointer_expression "*(code *)PTR_fwrite_000afbfc" (* "*") (cast_expression "(code *)PTR_fwrite_000afbfc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fwrite_000afbfc"))) () ")")) (argument_list "(PTR_s_hallenge__000af46c + -0x1110,1,0x33,iVar18)" (( "(") (binary_expression "PTR_s_hallenge__000af46c + -0x1110" (identifier "PTR_s_hallenge__000af46c") (+ "+") (number_literal "-0x1110")) (, ",") (number_literal "1") (, ",") (number_literal "0x33") (, ",") (identifier "iVar18") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10dc,1,0x15,iVar18);" (call_expression "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10dc,1,0x15,iVar18)" (parenthesized_expression "(*(code *)PTR_fwrite_000afbfc)" (( "(") (pointer_expression "*(code *)PTR_fwrite_000afbfc" (* "*") (cast_expression "(code *)PTR_fwrite_000afbfc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fwrite_000afbfc"))) () ")")) (argument_list "(PTR_s_hallenge__000af46c + -0x10dc,1,0x15,iVar18)" (( "(") (binary_expression "PTR_s_hallenge__000af46c + -0x10dc" (identifier "PTR_s_hallenge__000af46c") (+ "+") (number_literal "-0x10dc")) (, ",") (number_literal "1") (, ",") (number_literal "0x15") (, ",") (identifier "iVar18") () ")"))) (; ";")) (expression_statement "uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);" (assignment_expression "uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5)" (identifier "uVar9") (= "=") (call_expression "(*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000afcf4)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_000afcf4" (* "*") (cast_expression "(code *)PTR_dcgettext_000afcf4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_000afcf4"))) () ")")) (argument_list "(0,puVar2 + -0x10c4,5)" (( "(") (number_literal "0") (, ",") (binary_expression "puVar2 + -0x10c4" (identifier "puVar2") (+ "+") (number_literal "-0x10c4")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc))" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" (( "(") (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" (* "*") (cast_expression "(code *)PTR___fprintf_chk_000afe0c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fprintf_chk_000afe0c"))) () ")")) (argument_list "(iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc))" (( "(") (identifier "iVar18") (, ",") (number_literal "1") (, ",") (identifier "uVar9") (, ",") (identifier "uVar6") (, ",") (pointer_expression "*(undefined4 *)(param_2 + 8)" (* "*") (cast_expression "(undefined4 *)(param_2 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 8)" (( "(") (binary_expression "param_2 + 8" (identifier "param_2") (+ "+") (number_literal "8")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_2 + 0xc)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xc)" (( "(") (binary_expression "param_2 + 0xc" (identifier "param_2") (+ "+") (number_literal "0xc")) () ")")))) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10ac,1,0x1c,iVar18);" (call_expression "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10ac,1,0x1c,iVar18)" (parenthesized_expression "(*(code *)PTR_fwrite_000afbfc)" (( "(") (pointer_expression "*(code *)PTR_fwrite_000afbfc" (* "*") (cast_expression "(code *)PTR_fwrite_000afbfc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fwrite_000afbfc"))) () ")")) (argument_list "(PTR_s_hallenge__000af46c + -0x10ac,1,0x1c,iVar18)" (( "(") (binary_expression "PTR_s_hallenge__000af46c + -0x10ac" (identifier "PTR_s_hallenge__000af46c") (+ "+") (number_literal "-0x10ac")) (, ",") (number_literal "1") (, ",") (number_literal "0x1c") (, ",") (identifier "iVar18") () ")"))) (; ";")) (expression_statement "uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);" (assignment_expression "uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5)" (identifier "uVar9") (= "=") (call_expression "(*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000afcf4)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_000afcf4" (* "*") (cast_expression "(code *)PTR_dcgettext_000afcf4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_000afcf4"))) () ")")) (argument_list "(0,puVar2 + -0x10c4,5)" (( "(") (number_literal "0") (, ",") (binary_expression "puVar2 + -0x10c4" (identifier "puVar2") (+ "+") (number_literal "-0x10c4")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)\n              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc))" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" (( "(") (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" (* "*") (cast_expression "(code *)PTR___fprintf_chk_000afe0c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fprintf_chk_000afe0c"))) () ")")) (argument_list "(iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc))" (( "(") (identifier "iVar18") (, ",") (number_literal "1") (, ",") (identifier "uVar9") (, ",") (identifier "uVar6") (, ",") (pointer_expression "*(undefined4 *)(param_2 + 8)" (* "*") (cast_expression "(undefined4 *)(param_2 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 8)" (( "(") (binary_expression "param_2 + 8" (identifier "param_2") (+ "+") (number_literal "8")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_2 + 0xc)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xc)" (( "(") (binary_expression "param_2 + 0xc" (identifier "param_2") (+ "+") (number_literal "0xc")) () ")")))) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x108c,1,0x11,iVar18);" (call_expression "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x108c,1,0x11,iVar18)" (parenthesized_expression "(*(code *)PTR_fwrite_000afbfc)" (( "(") (pointer_expression "*(code *)PTR_fwrite_000afbfc" (* "*") (cast_expression "(code *)PTR_fwrite_000afbfc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fwrite_000afbfc"))) () ")")) (argument_list "(PTR_s_hallenge__000af46c + -0x108c,1,0x11,iVar18)" (( "(") (binary_expression "PTR_s_hallenge__000af46c + -0x108c" (identifier "PTR_s_hallenge__000af46c") (+ "+") (number_literal "-0x108c")) (, ",") (number_literal "1") (, ",") (number_literal "0x11") (, ",") (identifier "iVar18") () ")"))) (; ";")) (expression_statement "puVar3 = PTR_s_hallenge__000af46c;" (assignment_expression "puVar3 = PTR_s_hallenge__000af46c" (identifier "puVar3") (= "=") (identifier "PTR_s_hallenge__000af46c")) (; ";")) (expression_statement "puVar2 = PTR_DAT_000af458;" (assignment_expression "puVar2 = PTR_DAT_000af458" (identifier "puVar2") (= "=") (identifier "PTR_DAT_000af458")) (; ";")) (if_statement "if (param_3 != (int *)0x0) {\n      puVar10 = PTR_s_hallenge__000af46c + -0x1074;\n      puVar11 = PTR_s_hallenge__000af46c + -0x1118;\n      do {\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar18);\n        if (param_3[4] == -1) {\n          uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n          iVar7 = *param_3;\n          if (iVar7 == 1) goto LAB_0002e304;\nLAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }\n        }\n        else {\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }\n        uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n        uVar9 = html_quote_string(param_3[1]);\n        uVar12 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1]);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc));\n        if (**(char **)(param_2 + 0x20) != '/') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar6,iVar18);\n        if (**(char **)(param_2 + 0x20) != '\0') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar12,iVar18);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,puVar3 + -0xff0,uVar9);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar18);\n        if (*param_3 == 0) {\n          uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n          uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);\n        }\n        else if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }\n        (*(code *)PTR_putc_000afb2c)(10,iVar18);\n        (*(code *)PTR_free_000afd08)(uVar9);\n        (*(code *)PTR_free_000afd08)(uVar12);\n        param_3 = (int *)param_3[9];\n      } while (param_3 != (int *)0x0);\n    }" (if "if") (parenthesized_expression "(param_3 != (int *)0x0)" (( "(") (binary_expression "param_3 != (int *)0x0" (identifier "param_3") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      puVar10 = PTR_s_hallenge__000af46c + -0x1074;\n      puVar11 = PTR_s_hallenge__000af46c + -0x1118;\n      do {\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar18);\n        if (param_3[4] == -1) {\n          uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n          iVar7 = *param_3;\n          if (iVar7 == 1) goto LAB_0002e304;\nLAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }\n        }\n        else {\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }\n        uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n        uVar9 = html_quote_string(param_3[1]);\n        uVar12 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1]);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc));\n        if (**(char **)(param_2 + 0x20) != '/') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar6,iVar18);\n        if (**(char **)(param_2 + 0x20) != '\0') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar12,iVar18);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,puVar3 + -0xff0,uVar9);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar18);\n        if (*param_3 == 0) {\n          uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n          uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);\n        }\n        else if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }\n        (*(code *)PTR_putc_000afb2c)(10,iVar18);\n        (*(code *)PTR_free_000afd08)(uVar9);\n        (*(code *)PTR_free_000afd08)(uVar12);\n        param_3 = (int *)param_3[9];\n      } while (param_3 != (int *)0x0);\n    }" ({ "{") (expression_statement "puVar10 = PTR_s_hallenge__000af46c + -0x1074;" (assignment_expression "puVar10 = PTR_s_hallenge__000af46c + -0x1074" (identifier "puVar10") (= "=") (binary_expression "PTR_s_hallenge__000af46c + -0x1074" (identifier "PTR_s_hallenge__000af46c") (+ "+") (number_literal "-0x1074"))) (; ";")) (expression_statement "puVar11 = PTR_s_hallenge__000af46c + -0x1118;" (assignment_expression "puVar11 = PTR_s_hallenge__000af46c + -0x1118" (identifier "puVar11") (= "=") (binary_expression "PTR_s_hallenge__000af46c + -0x1118" (identifier "PTR_s_hallenge__000af46c") (+ "+") (number_literal "-0x1118"))) (; ";")) (do_statement "do {\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar18);\n        if (param_3[4] == -1) {\n          uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n          iVar7 = *param_3;\n          if (iVar7 == 1) goto LAB_0002e304;\nLAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }\n        }\n        else {\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }\n        uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n        uVar9 = html_quote_string(param_3[1]);\n        uVar12 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1]);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc));\n        if (**(char **)(param_2 + 0x20) != '/') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar6,iVar18);\n        if (**(char **)(param_2 + 0x20) != '\0') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar12,iVar18);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,puVar3 + -0xff0,uVar9);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar18);\n        if (*param_3 == 0) {\n          uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n          uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);\n        }\n        else if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }\n        (*(code *)PTR_putc_000afb2c)(10,iVar18);\n        (*(code *)PTR_free_000afd08)(uVar9);\n        (*(code *)PTR_free_000afd08)(uVar12);\n        param_3 = (int *)param_3[9];\n      } while (param_3 != (int *)0x0);" (do "do") (compound_statement "{\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar18);\n        if (param_3[4] == -1) {\n          uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n          iVar7 = *param_3;\n          if (iVar7 == 1) goto LAB_0002e304;\nLAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }\n        }\n        else {\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }\n        uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5);\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n        uVar9 = html_quote_string(param_3[1]);\n        uVar12 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1]);\n        (*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc));\n        if (**(char **)(param_2 + 0x20) != '/') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar6,iVar18);\n        if (**(char **)(param_2 + 0x20) != '\0') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fputs_000afe9c)(uVar12,iVar18);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,puVar3 + -0xff0,uVar9);\n        if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }\n        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar18);\n        if (*param_3 == 0) {\n          uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n          uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);\n        }\n        else if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }\n        (*(code *)PTR_putc_000afb2c)(10,iVar18);\n        (*(code *)PTR_free_000afd08)(uVar9);\n        (*(code *)PTR_free_000afd08)(uVar12);\n        param_3 = (int *)param_3[9];\n      }" ({ "{") (expression_statement "(*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar18);" (call_expression "(*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar18)" (parenthesized_expression "(*(code *)PTR_fwrite_000afbfc)" (( "(") (pointer_expression "*(code *)PTR_fwrite_000afbfc" (* "*") (cast_expression "(code *)PTR_fwrite_000afbfc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fwrite_000afbfc"))) () ")")) (argument_list "(puVar3 + -0x1078,1,2,iVar18)" (( "(") (binary_expression "puVar3 + -0x1078" (identifier "puVar3") (+ "+") (number_literal "-0x1078")) (, ",") (number_literal "1") (, ",") (number_literal "2") (, ",") (identifier "iVar18") () ")"))) (; ";")) (if_statement "if (param_3[4] == -1) {\n          uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n          iVar7 = *param_3;\n          if (iVar7 == 1) goto LAB_0002e304;\nLAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }\n        }\n        else {\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }" (if "if") (parenthesized_expression "(param_3[4] == -1)" (( "(") (binary_expression "param_3[4] == -1" (subscript_expression "param_3[4]" (identifier "param_3") ([ "[") (number_literal "4") (] "]")) (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n          uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);\n          iVar7 = *param_3;\n          if (iVar7 == 1) goto LAB_0002e304;\nLAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }\n        }" ({ "{") (expression_statement "uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);" (assignment_expression "uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5)" (identifier "uVar9") (= "=") (call_expression "(*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000afcf4)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_000afcf4" (* "*") (cast_expression "(code *)PTR_dcgettext_000afcf4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_000afcf4"))) () ")")) (argument_list "(0,puVar3 + -0x105c,5)" (( "(") (number_literal "0") (, ",") (binary_expression "puVar3 + -0x105c" (identifier "puVar3") (+ "+") (number_literal "-0x105c")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" (( "(") (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" (* "*") (cast_expression "(code *)PTR___fprintf_chk_000afe0c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fprintf_chk_000afe0c"))) () ")")) (argument_list "(iVar18,1,uVar9)" (( "(") (identifier "iVar18") (, ",") (number_literal "1") (, ",") (identifier "uVar9") () ")"))) (; ";")) (expression_statement "iVar7 = *param_3;" (assignment_expression "iVar7 = *param_3" (identifier "iVar7") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (if_statement "if (iVar7 == 1) goto LAB_0002e304;" (if "if") (parenthesized_expression "(iVar7 == 1)" (( "(") (binary_expression "iVar7 == 1" (identifier "iVar7") (== "==") (number_literal "1")) () ")")) (goto_statement "goto LAB_0002e304;" (goto "goto") (statement_identifier "LAB_0002e304") (; ";"))) (labeled_statement "LAB_0002e274:\n          if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }" (statement_identifier "LAB_0002e274") (: ":") (if_statement "if (iVar7 == 0) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }\n          else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            puVar17 = PTR_s_hallenge__000af46c + -0x1048;\n          }" ({ "{") (expression_statement "puVar17 = PTR_s_hallenge__000af46c + -0x1048;" (assignment_expression "puVar17 = PTR_s_hallenge__000af46c + -0x1048" (identifier "puVar17") (= "=") (binary_expression "PTR_s_hallenge__000af46c + -0x1048" (identifier "PTR_s_hallenge__000af46c") (+ "+") (number_literal "-0x1048"))) (; ";")) (} "}")) (else_clause "else if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }" (else "else") (if_statement "if (iVar7 == 2) {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }\n          else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }" (if "if") (parenthesized_expression "(iVar7 == 2)" (( "(") (binary_expression "iVar7 == 2" (identifier "iVar7") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n            puVar17 = PTR_s_hallenge__000af46c + -0x1028;\n          }" ({ "{") (expression_statement "puVar17 = PTR_s_hallenge__000af46c + -0x1028;" (assignment_expression "puVar17 = PTR_s_hallenge__000af46c + -0x1028" (identifier "puVar17") (= "=") (binary_expression "PTR_s_hallenge__000af46c + -0x1028" (identifier "PTR_s_hallenge__000af46c") (+ "+") (number_literal "-0x1028"))) (; ";")) (} "}")) (else_clause "else {\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }" (else "else") (compound_statement "{\n            puVar17 = PTR_s_hallenge__000af46c + -0x1018;\n          }" ({ "{") (expression_statement "puVar17 = PTR_s_hallenge__000af46c + -0x1018;" (assignment_expression "puVar17 = PTR_s_hallenge__000af46c + -0x1018" (identifier "puVar17") (= "=") (binary_expression "PTR_s_hallenge__000af46c + -0x1018" (identifier "PTR_s_hallenge__000af46c") (+ "+") (number_literal "-0x1018"))) (; ";")) (} "}"))))))) (} "}")) (else_clause "else {\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }" (else "else") (compound_statement "{\n          local_30 = param_3[4];\n          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);\n          (*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));\n          if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }\n          iVar7 = *param_3;\n          if (iVar7 != 1) goto LAB_0002e274;\nLAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;\n        }" ({ "{") (expression_statement "local_30 = param_3[4];" (assignment_expression "local_30 = param_3[4]" (identifier "local_30") (= "=") (subscript_expression "param_3[4]" (identifier "param_3") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);" (assignment_expression "iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30)" (identifier "iVar7") (= "=") (call_expression "(*(code *)PTR_localtime_000afdd8)(&local_30)" (parenthesized_expression "(*(code *)PTR_localtime_000afdd8)" (( "(") (pointer_expression "*(code *)PTR_localtime_000afdd8" (* "*") (cast_expression "(code *)PTR_localtime_000afdd8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_localtime_000afdd8"))) () ")")) (argument_list "(&local_30)" (( "(") (pointer_expression "&local_30" (& "&") (identifier "local_30")) () ")")))) (; ";")) (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc));" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)\n                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc))" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" (( "(") (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" (* "*") (cast_expression "(code *)PTR___fprintf_chk_000afe0c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fprintf_chk_000afe0c"))) () ")")) (argument_list "(iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,\n                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),\n                     *(undefined4 *)(iVar7 + 0xc))" (( "(") (identifier "iVar18") (, ",") (number_literal "1") (, ",") (identifier "puVar10") (, ",") (binary_expression "*(int *)(iVar7 + 0x14) + 0x76c" (pointer_expression "*(int *)(iVar7 + 0x14)" (* "*") (cast_expression "(int *)(iVar7 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x14)" (( "(") (binary_expression "iVar7 + 0x14" (identifier "iVar7") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (number_literal "0x76c")) (, ",") (pointer_expression "*(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc)" (* "*") (cast_expression "(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc)" (( "(") (binary_expression "puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc" (binary_expression "puVar2 + *(int *)(iVar7 + 0x10) * 4" (identifier "puVar2") (+ "+") (binary_expression "*(int *)(iVar7 + 0x10) * 4" (pointer_expression "*(int *)(iVar7 + 0x10)" (* "*") (cast_expression "(int *)(iVar7 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x10)" (( "(") (binary_expression "iVar7 + 0x10" (identifier "iVar7") (+ "+") (number_literal "0x10")) () ")")))) (* "*") (number_literal "4"))) (+ "+") (number_literal "-0x4abc")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(iVar7 + 0xc)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0xc)" (( "(") (binary_expression "iVar7 + 0xc" (identifier "iVar7") (+ "+") (number_literal "0xc")) () ")")))) () ")"))) (; ";")) (if_statement "if (param_3[5] == 0) {\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }\n          else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }" (if "if") (parenthesized_expression "(param_3[5] == 0)" (( "(") (binary_expression "param_3[5] == 0" (subscript_expression "param_3[5]" (identifier "param_3") ([ "[") (number_literal "5") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            (*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));\n          }" ({ "{") (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4));" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)\n                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4))" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" (( "(") (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" (* "*") (cast_expression "(code *)PTR___fprintf_chk_000afe0c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fprintf_chk_000afe0c"))) () ")")) (argument_list "(iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),\n                       *(undefined4 *)(iVar7 + 4))" (( "(") (identifier "iVar18") (, ",") (number_literal "1") (, ",") (binary_expression "PTR_s_hallenge__000af46c + -0x1068" (identifier "PTR_s_hallenge__000af46c") (+ "+") (number_literal "-0x1068")) (, ",") (pointer_expression "*(undefined4 *)(iVar7 + 8)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 8)" (( "(") (binary_expression "iVar7 + 8" (identifier "iVar7") (+ "+") (number_literal "8")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(iVar7 + 4)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 4)" (( "(") (binary_expression "iVar7 + 4" (identifier "iVar7") (+ "+") (number_literal "4")) () ")")))) () ")"))) (; ";")) (} "}")) (else_clause "else {\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }" (else "else") (compound_statement "{\n            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);\n          }" ({ "{") (expression_statement "(*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);" (call_expression "(*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18)" (parenthesized_expression "(*(code *)PTR_fwrite_000afbfc)" (( "(") (pointer_expression "*(code *)PTR_fwrite_000afbfc" (* "*") (cast_expression "(code *)PTR_fwrite_000afbfc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fwrite_000afbfc"))) () ")")) (argument_list "(puVar3 + -0x1050,1,7,iVar18)" (( "(") (binary_expression "puVar3 + -0x1050" (identifier "puVar3") (+ "+") (number_literal "-0x1050")) (, ",") (number_literal "1") (, ",") (number_literal "7") (, ",") (identifier "iVar18") () ")"))) (; ";")) (} "}")))) (expression_statement "iVar7 = *param_3;" (assignment_expression "iVar7 = *param_3" (identifier "iVar7") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (if_statement "if (iVar7 != 1) goto LAB_0002e274;" (if "if") (parenthesized_expression "(iVar7 != 1)" (( "(") (binary_expression "iVar7 != 1" (identifier "iVar7") (!= "!=") (number_literal "1")) () ")")) (goto_statement "goto LAB_0002e274;" (goto "goto") (statement_identifier "LAB_0002e274") (; ";"))) (labeled_statement "LAB_0002e304:\n          puVar17 = PTR_s_hallenge__000af46c + -0x1038;" (statement_identifier "LAB_0002e304") (: ":") (expression_statement "puVar17 = PTR_s_hallenge__000af46c + -0x1038;" (assignment_expression "puVar17 = PTR_s_hallenge__000af46c + -0x1038" (identifier "puVar17") (= "=") (binary_expression "PTR_s_hallenge__000af46c + -0x1038" (identifier "PTR_s_hallenge__000af46c") (+ "+") (number_literal "-0x1038"))) (; ";"))) (} "}")))) (expression_statement "uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5);" (assignment_expression "uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5)" (identifier "uVar9") (= "=") (call_expression "(*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000afcf4)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_000afcf4" (* "*") (cast_expression "(code *)PTR_dcgettext_000afcf4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_000afcf4"))) () ")")) (argument_list "(0,puVar17,5)" (( "(") (number_literal "0") (, ",") (identifier "puVar17") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" (( "(") (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" (* "*") (cast_expression "(code *)PTR___fprintf_chk_000afe0c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fprintf_chk_000afe0c"))) () ")")) (argument_list "(iVar18,1,uVar9)" (( "(") (identifier "iVar18") (, ",") (number_literal "1") (, ",") (identifier "uVar9") () ")"))) (; ";")) (expression_statement "uVar9 = html_quote_string(param_3[1]);" (assignment_expression "uVar9 = html_quote_string(param_3[1])" (identifier "uVar9") (= "=") (call_expression "html_quote_string(param_3[1])" (identifier "html_quote_string") (argument_list "(param_3[1])" (( "(") (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")) () ")")))) (; ";")) (expression_statement "uVar12 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1]);" (assignment_expression "uVar12 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1])" (identifier "uVar12") (= "=") (call_expression "(*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1])" (parenthesized_expression "(*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)" (( "(") (pointer_expression "*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0" (* "*") (cast_expression "(code *)PTR_url_escape_unsafe_and_reserved_000af7f0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_url_escape_unsafe_and_reserved_000af7f0"))) () ")")) (argument_list "(param_3[1])" (( "(") (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")) () ")")))) (; ";")) (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc));" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)\n                  (iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc))" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" (( "(") (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" (* "*") (cast_expression "(code *)PTR___fprintf_chk_000afe0c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fprintf_chk_000afe0c"))) () ")")) (argument_list "(iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),\n                   *(undefined4 *)(param_2 + 0xc))" (( "(") (identifier "iVar18") (, ",") (number_literal "1") (, ",") (binary_expression "puVar3 + -0x1008" (identifier "puVar3") (+ "+") (number_literal "-0x1008")) (, ",") (identifier "uVar8") (, ",") (pointer_expression "*(undefined4 *)(param_2 + 8)" (* "*") (cast_expression "(undefined4 *)(param_2 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 8)" (( "(") (binary_expression "param_2 + 8" (identifier "param_2") (+ "+") (number_literal "8")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_2 + 0xc)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xc)" (( "(") (binary_expression "param_2 + 0xc" (identifier "param_2") (+ "+") (number_literal "0xc")) () ")")))) () ")"))) (; ";")) (if_statement "if (**(char **)(param_2 + 0x20) != '/') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }" (if "if") (parenthesized_expression "(**(char **)(param_2 + 0x20) != '/')" (( "(") (binary_expression "**(char **)(param_2 + 0x20) != '/'" (pointer_expression "**(char **)(param_2 + 0x20)" (* "*") (pointer_expression "*(char **)(param_2 + 0x20)" (* "*") (cast_expression "(char **)(param_2 + 0x20)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0x20)" (( "(") (binary_expression "param_2 + 0x20" (identifier "param_2") (+ "+") (number_literal "0x20")) () ")"))))) (!= "!=") (char_literal "'/'" (' "'") (character "/") (' "'"))) () ")")) (compound_statement "{\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }" ({ "{") (expression_statement "(*(code *)PTR_putc_000afb2c)(0x2f,iVar18);" (call_expression "(*(code *)PTR_putc_000afb2c)(0x2f,iVar18)" (parenthesized_expression "(*(code *)PTR_putc_000afb2c)" (( "(") (pointer_expression "*(code *)PTR_putc_000afb2c" (* "*") (cast_expression "(code *)PTR_putc_000afb2c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_putc_000afb2c"))) () ")")) (argument_list "(0x2f,iVar18)" (( "(") (number_literal "0x2f") (, ",") (identifier "iVar18") () ")"))) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_fputs_000afe9c)(uVar6,iVar18);" (call_expression "(*(code *)PTR_fputs_000afe9c)(uVar6,iVar18)" (parenthesized_expression "(*(code *)PTR_fputs_000afe9c)" (( "(") (pointer_expression "*(code *)PTR_fputs_000afe9c" (* "*") (cast_expression "(code *)PTR_fputs_000afe9c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fputs_000afe9c"))) () ")")) (argument_list "(uVar6,iVar18)" (( "(") (identifier "uVar6") (, ",") (identifier "iVar18") () ")"))) (; ";")) (if_statement "if (**(char **)(param_2 + 0x20) != '\0') {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }" (if "if") (parenthesized_expression "(**(char **)(param_2 + 0x20) != '\0')" (( "(") (binary_expression "**(char **)(param_2 + 0x20) != '\0'" (pointer_expression "**(char **)(param_2 + 0x20)" (* "*") (pointer_expression "*(char **)(param_2 + 0x20)" (* "*") (cast_expression "(char **)(param_2 + 0x20)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 0x20)" (( "(") (binary_expression "param_2 + 0x20" (identifier "param_2") (+ "+") (number_literal "0x20")) () ")"))))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }" ({ "{") (expression_statement "(*(code *)PTR_putc_000afb2c)(0x2f,iVar18);" (call_expression "(*(code *)PTR_putc_000afb2c)(0x2f,iVar18)" (parenthesized_expression "(*(code *)PTR_putc_000afb2c)" (( "(") (pointer_expression "*(code *)PTR_putc_000afb2c" (* "*") (cast_expression "(code *)PTR_putc_000afb2c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_putc_000afb2c"))) () ")")) (argument_list "(0x2f,iVar18)" (( "(") (number_literal "0x2f") (, ",") (identifier "iVar18") () ")"))) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_fputs_000afe9c)(uVar12,iVar18);" (call_expression "(*(code *)PTR_fputs_000afe9c)(uVar12,iVar18)" (parenthesized_expression "(*(code *)PTR_fputs_000afe9c)" (( "(") (pointer_expression "*(code *)PTR_fputs_000afe9c" (* "*") (cast_expression "(code *)PTR_fputs_000afe9c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fputs_000afe9c"))) () ")")) (argument_list "(uVar12,iVar18)" (( "(") (identifier "uVar12") (, ",") (identifier "iVar18") () ")"))) (; ";")) (if_statement "if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }" (if "if") (parenthesized_expression "(*param_3 == 1)" (( "(") (binary_expression "*param_3 == 1" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (== "==") (number_literal "1")) () ")")) (compound_statement "{\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }" ({ "{") (expression_statement "(*(code *)PTR_putc_000afb2c)(0x2f,iVar18);" (call_expression "(*(code *)PTR_putc_000afb2c)(0x2f,iVar18)" (parenthesized_expression "(*(code *)PTR_putc_000afb2c)" (( "(") (pointer_expression "*(code *)PTR_putc_000afb2c" (* "*") (cast_expression "(code *)PTR_putc_000afb2c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_putc_000afb2c"))) () ")")) (argument_list "(0x2f,iVar18)" (( "(") (number_literal "0x2f") (, ",") (identifier "iVar18") () ")"))) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,puVar3 + -0xff0,uVar9);" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,puVar3 + -0xff0,uVar9)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" (( "(") (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" (* "*") (cast_expression "(code *)PTR___fprintf_chk_000afe0c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fprintf_chk_000afe0c"))) () ")")) (argument_list "(iVar18,1,puVar3 + -0xff0,uVar9)" (( "(") (identifier "iVar18") (, ",") (number_literal "1") (, ",") (binary_expression "puVar3 + -0xff0" (identifier "puVar3") (+ "+") (number_literal "-0xff0")) (, ",") (identifier "uVar9") () ")"))) (; ";")) (if_statement "if (*param_3 == 1) {\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }" (if "if") (parenthesized_expression "(*param_3 == 1)" (( "(") (binary_expression "*param_3 == 1" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (== "==") (number_literal "1")) () ")")) (compound_statement "{\n          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);\n        }" ({ "{") (expression_statement "(*(code *)PTR_putc_000afb2c)(0x2f,iVar18);" (call_expression "(*(code *)PTR_putc_000afb2c)(0x2f,iVar18)" (parenthesized_expression "(*(code *)PTR_putc_000afb2c)" (( "(") (pointer_expression "*(code *)PTR_putc_000afb2c" (* "*") (cast_expression "(code *)PTR_putc_000afb2c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_putc_000afb2c"))) () ")")) (argument_list "(0x2f,iVar18)" (( "(") (number_literal "0x2f") (, ",") (identifier "iVar18") () ")"))) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar18);" (call_expression "(*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar18)" (parenthesized_expression "(*(code *)PTR_fwrite_000afbfc)" (( "(") (pointer_expression "*(code *)PTR_fwrite_000afbfc" (* "*") (cast_expression "(code *)PTR_fwrite_000afbfc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fwrite_000afbfc"))) () ")")) (argument_list "(puVar3 + -0xfe8,1,5,iVar18)" (( "(") (binary_expression "puVar3 + -0xfe8" (identifier "puVar3") (+ "+") (number_literal "-0xfe8")) (, ",") (number_literal "1") (, ",") (number_literal "5") (, ",") (identifier "iVar18") () ")"))) (; ";")) (if_statement "if (*param_3 == 0) {\n          uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n          uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);\n        }\n        else if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }" (if "if") (parenthesized_expression "(*param_3 == 0)" (( "(") (binary_expression "*param_3 == 0" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);\n          uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);\n        }" ({ "{") (expression_statement "uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);" (assignment_expression "uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5)" (identifier "uVar13") (= "=") (call_expression "(*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000afcf4)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_000afcf4" (* "*") (cast_expression "(code *)PTR_dcgettext_000afcf4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_000afcf4"))) () ")")) (argument_list "(0,PTR_s_hallenge__000af46c + -0xfe0,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_s_hallenge__000af46c + -0xfe0" (identifier "PTR_s_hallenge__000af46c") (+ "+") (number_literal "-0xfe0")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);" (assignment_expression "uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3])" (identifier "uVar14") (= "=") (call_expression "(*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3])" (parenthesized_expression "(*(code *)PTR_number_to_static_string_000af698)" (( "(") (pointer_expression "*(code *)PTR_number_to_static_string_000af698" (* "*") (cast_expression "(code *)PTR_number_to_static_string_000af698" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_number_to_static_string_000af698"))) () ")")) (argument_list "(param_3[2],param_3[3])" (( "(") (subscript_expression "param_3[2]" (identifier "param_3") ([ "[") (number_literal "2") (] "]")) (, ",") (subscript_expression "param_3[3]" (identifier "param_3") ([ "[") (number_literal "3") (] "]")) () ")")))) (; ";")) (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" (( "(") (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" (* "*") (cast_expression "(code *)PTR___fprintf_chk_000afe0c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fprintf_chk_000afe0c"))) () ")")) (argument_list "(iVar18,1,uVar13,uVar14)" (( "(") (identifier "iVar18") (, ",") (number_literal "1") (, ",") (identifier "uVar13") (, ",") (identifier "uVar14") () ")"))) (; ";")) (} "}")) (else_clause "else if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }" (else "else") (if_statement "if (*param_3 == 2) {\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }" (if "if") (parenthesized_expression "(*param_3 == 2)" (( "(") (binary_expression "*param_3 == 2" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (== "==") (number_literal "2")) () ")")) (compound_statement "{\n          puVar17 = (undefined *)param_3[7];\n          if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }\n          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);\n        }" ({ "{") (expression_statement "puVar17 = (undefined *)param_3[7];" (assignment_expression "puVar17 = (undefined *)param_3[7]" (identifier "puVar17") (= "=") (cast_expression "(undefined *)param_3[7]" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_3[7]" (identifier "param_3") ([ "[") (number_literal "7") (] "]")))) (; ";")) (if_statement "if ((undefined *)param_3[7] == (undefined *)0x0) {\n            puVar17 = puVar11;\n          }" (if "if") (parenthesized_expression "((undefined *)param_3[7] == (undefined *)0x0)" (( "(") (binary_expression "(undefined *)param_3[7] == (undefined *)0x0" (cast_expression "(undefined *)param_3[7]" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_3[7]" (identifier "param_3") ([ "[") (number_literal "7") (] "]"))) (== "==") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            puVar17 = puVar11;\n          }" ({ "{") (expression_statement "puVar17 = puVar11;" (assignment_expression "puVar17 = puVar11" (identifier "puVar17") (= "=") (identifier "puVar11")) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);" (call_expression "(*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000afe0c)" (( "(") (pointer_expression "*(code *)PTR___fprintf_chk_000afe0c" (* "*") (cast_expression "(code *)PTR___fprintf_chk_000afe0c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___fprintf_chk_000afe0c"))) () ")")) (argument_list "(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17)" (( "(") (identifier "iVar18") (, ",") (number_literal "1") (, ",") (binary_expression "PTR_s_hallenge__000af46c + -0xfd4" (identifier "PTR_s_hallenge__000af46c") (+ "+") (number_literal "-0xfd4")) (, ",") (identifier "puVar17") () ")"))) (; ";")) (} "}"))))) (expression_statement "(*(code *)PTR_putc_000afb2c)(10,iVar18);" (call_expression "(*(code *)PTR_putc_000afb2c)(10,iVar18)" (parenthesized_expression "(*(code *)PTR_putc_000afb2c)" (( "(") (pointer_expression "*(code *)PTR_putc_000afb2c" (* "*") (cast_expression "(code *)PTR_putc_000afb2c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_putc_000afb2c"))) () ")")) (argument_list "(10,iVar18)" (( "(") (number_literal "10") (, ",") (identifier "iVar18") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_free_000afd08)(uVar9);" (call_expression "(*(code *)PTR_free_000afd08)(uVar9)" (parenthesized_expression "(*(code *)PTR_free_000afd08)" (( "(") (pointer_expression "*(code *)PTR_free_000afd08" (* "*") (cast_expression "(code *)PTR_free_000afd08" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_000afd08"))) () ")")) (argument_list "(uVar9)" (( "(") (identifier "uVar9") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_free_000afd08)(uVar12);" (call_expression "(*(code *)PTR_free_000afd08)(uVar12)" (parenthesized_expression "(*(code *)PTR_free_000afd08)" (( "(") (pointer_expression "*(code *)PTR_free_000afd08" (* "*") (cast_expression "(code *)PTR_free_000afd08" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_000afd08"))) () ")")) (argument_list "(uVar12)" (( "(") (identifier "uVar12") () ")"))) (; ";")) (expression_statement "param_3 = (int *)param_3[9];" (assignment_expression "param_3 = (int *)param_3[9]" (identifier "param_3") (= "=") (cast_expression "(int *)param_3[9]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_3[9]" (identifier "param_3") ([ "[") (number_literal "9") (] "]")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(param_3 != (int *)0x0)" (( "(") (binary_expression "param_3 != (int *)0x0" (identifier "param_3") (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0xfcc,1,0x17,iVar18);" (call_expression "(*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0xfcc,1,0x17,iVar18)" (parenthesized_expression "(*(code *)PTR_fwrite_000afbfc)" (( "(") (pointer_expression "*(code *)PTR_fwrite_000afbfc" (* "*") (cast_expression "(code *)PTR_fwrite_000afbfc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fwrite_000afbfc"))) () ")")) (argument_list "(PTR_s_hallenge__000af46c + -0xfcc,1,0x17,iVar18)" (( "(") (binary_expression "PTR_s_hallenge__000af46c + -0xfcc" (identifier "PTR_s_hallenge__000af46c") (+ "+") (number_literal "-0xfcc")) (, ",") (number_literal "1") (, ",") (number_literal "0x17") (, ",") (identifier "iVar18") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_free_000afd08)(uVar6);" (call_expression "(*(code *)PTR_free_000afd08)(uVar6)" (parenthesized_expression "(*(code *)PTR_free_000afd08)" (( "(") (pointer_expression "*(code *)PTR_free_000afd08" (* "*") (cast_expression "(code *)PTR_free_000afd08" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_000afd08"))) () ")")) (argument_list "(uVar6)" (( "(") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_free_000afd08)(uVar8);" (call_expression "(*(code *)PTR_free_000afd08)(uVar8)" (parenthesized_expression "(*(code *)PTR_free_000afd08)" (( "(") (pointer_expression "*(code *)PTR_free_000afd08" (* "*") (cast_expression "(code *)PTR_free_000afd08" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_000afd08"))) () ")")) (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")"))) (; ";")) (if_statement "if (*(int *)puVar4 == 0) {\n      (*(code *)PTR_fclose_000afc8c)(iVar18);\n      iVar18 = 7;\n    }\n    else {\n      (*(code *)PTR_rpl_fflush_000af7f4)(iVar18);\n      iVar18 = 7;\n    }" (if "if") (parenthesized_expression "(*(int *)puVar4 == 0)" (( "(") (binary_expression "*(int *)puVar4 == 0" (pointer_expression "*(int *)puVar4" (* "*") (cast_expression "(int *)puVar4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar4"))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      (*(code *)PTR_fclose_000afc8c)(iVar18);\n      iVar18 = 7;\n    }" ({ "{") (expression_statement "(*(code *)PTR_fclose_000afc8c)(iVar18);" (call_expression "(*(code *)PTR_fclose_000afc8c)(iVar18)" (parenthesized_expression "(*(code *)PTR_fclose_000afc8c)" (( "(") (pointer_expression "*(code *)PTR_fclose_000afc8c" (* "*") (cast_expression "(code *)PTR_fclose_000afc8c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fclose_000afc8c"))) () ")")) (argument_list "(iVar18)" (( "(") (identifier "iVar18") () ")"))) (; ";")) (expression_statement "iVar18 = 7;" (assignment_expression "iVar18 = 7" (identifier "iVar18") (= "=") (number_literal "7")) (; ";")) (} "}")) (else_clause "else {\n      (*(code *)PTR_rpl_fflush_000af7f4)(iVar18);\n      iVar18 = 7;\n    }" (else "else") (compound_statement "{\n      (*(code *)PTR_rpl_fflush_000af7f4)(iVar18);\n      iVar18 = 7;\n    }" ({ "{") (expression_statement "(*(code *)PTR_rpl_fflush_000af7f4)(iVar18);" (call_expression "(*(code *)PTR_rpl_fflush_000af7f4)(iVar18)" (parenthesized_expression "(*(code *)PTR_rpl_fflush_000af7f4)" (( "(") (pointer_expression "*(code *)PTR_rpl_fflush_000af7f4" (* "*") (cast_expression "(code *)PTR_rpl_fflush_000af7f4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_rpl_fflush_000af7f4"))) () ")")) (argument_list "(iVar18)" (( "(") (identifier "iVar18") () ")"))) (; ";")) (expression_statement "iVar18 = 7;" (assignment_expression "iVar18 = 7" (identifier "iVar18") (= "=") (number_literal "7")) (; ";")) (} "}")))) (} "}")))) (if_statement "if (local_2c == *(char **)puVar5) {\n    return iVar18;\n  }" (if "if") (parenthesized_expression "(local_2c == *(char **)puVar5)" (( "(") (binary_expression "local_2c == *(char **)puVar5" (identifier "local_2c") (== "==") (pointer_expression "*(char **)puVar5" (* "*") (cast_expression "(char **)puVar5" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar5")))) () ")")) (compound_statement "{\n    return iVar18;\n  }" ({ "{") (return_statement "return iVar18;" (return "return") (identifier "iVar18") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR___stack_chk_fail_000afbd4)();" (call_expression "(*(code *)PTR___stack_chk_fail_000afbd4)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_000afbd4)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_000afbd4" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_000afbd4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_000afbd4"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar18 = (int)*local_2c;" (assignment_expression "iVar18 = (int)*local_2c" (identifier "iVar18") (= "=") (cast_expression "(int)*local_2c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (pointer_expression "*local_2c" (* "*") (identifier "local_2c")))) (; ";")) (if_statement "if (iVar18 != 0) {\n    pcVar16 = local_2c + 1;\n    cVar1 = local_2c[1];\n    while (cVar1 != 0) {\n      pcVar16 = pcVar16 + 1;\n      iVar18 = (int)cVar1 + iVar18 * 0x1f;\n      cVar1 = *pcVar16;\n    }\n  }" (if "if") (parenthesized_expression "(iVar18 != 0)" (( "(") (binary_expression "iVar18 != 0" (identifier "iVar18") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    pcVar16 = local_2c + 1;\n    cVar1 = local_2c[1];\n    while (cVar1 != 0) {\n      pcVar16 = pcVar16 + 1;\n      iVar18 = (int)cVar1 + iVar18 * 0x1f;\n      cVar1 = *pcVar16;\n    }\n  }" ({ "{") (expression_statement "pcVar16 = local_2c + 1;" (assignment_expression "pcVar16 = local_2c + 1" (identifier "pcVar16") (= "=") (binary_expression "local_2c + 1" (identifier "local_2c") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "cVar1 = local_2c[1];" (assignment_expression "cVar1 = local_2c[1]" (identifier "cVar1") (= "=") (subscript_expression "local_2c[1]" (identifier "local_2c") ([ "[") (number_literal "1") (] "]"))) (; ";")) (while_statement "while (cVar1 != 0) {\n      pcVar16 = pcVar16 + 1;\n      iVar18 = (int)cVar1 + iVar18 * 0x1f;\n      cVar1 = *pcVar16;\n    }" (while "while") (parenthesized_expression "(cVar1 != 0)" (( "(") (binary_expression "cVar1 != 0" (identifier "cVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      pcVar16 = pcVar16 + 1;\n      iVar18 = (int)cVar1 + iVar18 * 0x1f;\n      cVar1 = *pcVar16;\n    }" ({ "{") (expression_statement "pcVar16 = pcVar16 + 1;" (assignment_expression "pcVar16 = pcVar16 + 1" (identifier "pcVar16") (= "=") (binary_expression "pcVar16 + 1" (identifier "pcVar16") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "iVar18 = (int)cVar1 + iVar18 * 0x1f;" (assignment_expression "iVar18 = (int)cVar1 + iVar18 * 0x1f" (identifier "iVar18") (= "=") (binary_expression "(int)cVar1 + iVar18 * 0x1f" (cast_expression "(int)cVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "cVar1")) (+ "+") (binary_expression "iVar18 * 0x1f" (identifier "iVar18") (* "*") (number_literal "0x1f")))) (; ";")) (expression_statement "cVar1 = *pcVar16;" (assignment_expression "cVar1 = *pcVar16" (identifier "cVar1") (= "=") (pointer_expression "*pcVar16" (* "*") (identifier "pcVar16"))) (; ";")) (} "}"))) (} "}"))) (return_statement "return iVar18;" (return "return") (identifier "iVar18") (; ";")) (} "}")))

type_1 function_1(char *file,type_2 *u,type_3 *var_8)

{
  char var_18;
  type_4 *var_7;
  type_4 *var_9;
  type_4 *puVar4;
  type_4 *puVar5;
  type_5 uVar6;
  int var_5;
  type_5 uVar8;
  char *var_19;
  type_4 *puVar10;
  char *pcVar11;
  char *pcVar12;
  type_6 var_10;
  type_5 uVar14;
  type_5 uVar15;
  type_5 *puVar16;
  type_1 var_16;
  type_4 *puVar18;
  char *pcVar19;
  int var_1;
  type_7 tstamp;
  char *var_15;
  
  puVar5 = PTR___stack_chk_guard_000afc3c;
  puVar4 = PTR_output_stream_000af524;
  var_15 = *(char **)PTR___stack_chk_guard_000afc3c;
  var_1 = *(int *)PTR_output_stream_000af524;
  if ((var_1 == 0) &&
     (var_1 = (*(type_8 *)PTR_fopen64_000afaac)(file,var_2 + 0x41e0), var_1 == 0)) {
    puVar16 = (type_5 *)(*(type_8 *)PTR___errno_location_000afe90)();
    uVar8 = (*(type_8 *)PTR_rpl_strerror_000af4b0)(*puVar16);
                    /* WARNING: Subroutine does not return */
    var_3(LOG_NOTQUIET,var_4 + 0x1e4c,file,uVar8);
  }
  if (u->user == (char *)0x0) {
    uVar8 = (*(type_8 *)PTR_xstrdup_000af48c)(var_4 + -0x1710);
  }
  else {
    uVar6 = (*(type_8 *)PTR_url_escape_000af7ec)();
    if ((u->passwd == (char *)0x0) || (var_5 = (*(type_8 *)PTR_url_escape_000af7ec)(), var_5 == 0)) {
      var_5 = 0;
      uVar8 = (*(type_8 *)PTR_concat_strings_000af6b4)(uVar6,var_2 + 0x48b0,0);
    }
    else {
      uVar8 = (*(type_8 *)PTR_concat_strings_000af6b4)
                        (uVar6,var_4 + -0x139c,var_5,var_2 + 0x48b0,0)
      ;
    }
    (*(type_8 *)PTR_free_000afd08)(uVar6);
    (*(type_8 *)PTR_free_000afd08)(var_5);
  }
  var_7 = var_4;
  var_19 = var_6(u->dir);
  (*(type_8 *)PTR_fwrite_000afbfc)(var_4 + -0x1110,1,0x33,var_1);
  (*(type_8 *)PTR_fwrite_000afbfc)(var_4 + -0x10dc,1,0x15,var_1);
  uVar6 = (*(type_8 *)PTR_dcgettext_000afcf4)(0,var_7 + -0x10c4,5);
  (*(type_8 *)PTR___fprintf_chk_000afe0c)(var_1,1,uVar6,var_19,u->host,u->port);
  (*(type_8 *)PTR_fwrite_000afbfc)(var_4 + -0x10ac,1,0x1c,var_1);
  uVar6 = (*(type_8 *)PTR_dcgettext_000afcf4)(0,var_7 + -0x10c4,5);
  (*(type_8 *)PTR___fprintf_chk_000afe0c)(var_1,1,uVar6,var_19,u->host,u->port);
  (*(type_8 *)PTR_fwrite_000afbfc)(var_4 + -0x108c,1,0x11,var_1);
  var_9 = var_4;
  var_7 = PTR_host_name_addresses_map_000af458;
  if (var_8 != (type_3 *)0x0) {
    puVar10 = var_4 + -0x1074;
    pcVar11 = var_4 + -0x1118;
    do {
      (*(type_8 *)PTR_fwrite_000afbfc)(var_9 + -0x1078,1,2,var_1);
      if (var_8->tstamp == -1) {
        uVar6 = (*(type_8 *)PTR_dcgettext_000afcf4)(0,var_9 + -0x105c,5);
        (*(type_8 *)PTR___fprintf_chk_000afe0c)(var_1,1,uVar6);
        var_10 = var_8->type;
        if (var_10 == var_11) goto LAB_0002e304;
LAB_0002e274:
        if (var_10 == var_12) {
          puVar18 = var_4 + -0x1048;
        }
        else if (var_10 == var_13) {
          puVar18 = var_4 + -0x1028;
        }
        else {
          puVar18 = var_4 + -0x1018;
        }
      }
      else {
        tstamp = var_8->tstamp;
        var_5 = (*(type_8 *)PTR_localtime_000afdd8)(&tstamp);
        (*(type_8 *)PTR___fprintf_chk_000afe0c)
                  (var_1,1,puVar10,*(int *)(var_5 + 0x14) + 0x76c,
                   *(type_5 *)(var_7 + *(int *)(var_5 + 0x10) * 4 + -0x4abc),
                   *(type_5 *)(var_5 + 0xc));
        if (var_8->ptype == var_14) {
          (*(type_8 *)PTR___fprintf_chk_000afe0c)
                    (var_1,1,var_4 + -0x1068,*(type_5 *)(var_5 + 8),
                     *(type_5 *)(var_5 + 4));
        }
        else {
          (*(type_8 *)PTR_fwrite_000afbfc)(var_9 + -0x1050,1,7,var_1);
        }
        var_10 = var_8->type;
        if (var_10 != var_11) goto LAB_0002e274;
LAB_0002e304:
        puVar18 = var_4 + -0x1038;
      }
      uVar6 = (*(type_8 *)PTR_dcgettext_000afcf4)(0,puVar18,5);
      (*(type_8 *)PTR___fprintf_chk_000afe0c)(var_1,1,uVar6);
      pcVar12 = var_6(var_8->name);
      uVar6 = (*(type_8 *)PTR_url_escape_unsafe_and_reserved_000af7f0)(var_8->name);
      (*(type_8 *)PTR___fprintf_chk_000afe0c)(var_1,1,var_9 + -0x1008,uVar8,u->host,u->port);
      if (*u->dir != '/') {
        (*(type_8 *)PTR_putc_000afb2c)(0x2f,var_1);
      }
      (*(type_8 *)PTR_fputs_000afe9c)(var_19,var_1);
      if (*u->dir != '\0') {
        (*(type_8 *)PTR_putc_000afb2c)(0x2f,var_1);
      }
      (*(type_8 *)PTR_fputs_000afe9c)(uVar6,var_1);
      if (var_8->type == var_11) {
        (*(type_8 *)PTR_putc_000afb2c)(0x2f,var_1);
      }
      (*(type_8 *)PTR___fprintf_chk_000afe0c)(var_1,1,var_9 + -0xff0,pcVar12);
      if (var_8->type == var_11) {
        (*(type_8 *)PTR_putc_000afb2c)(0x2f,var_1);
      }
      (*(type_8 *)PTR_fwrite_000afbfc)(var_9 + -0xfe8,1,5,var_1);
      if (var_8->type == var_12) {
        uVar14 = (*(type_8 *)PTR_dcgettext_000afcf4)(0,var_4 + -0xfe0,5);
        uVar15 = (*(type_8 *)PTR_number_to_static_string_000af698)
                           (*(type_5 *)&var_8->size,(int)var_8->size);
        (*(type_8 *)PTR___fprintf_chk_000afe0c)(var_1,1,uVar14,uVar15);
      }
      else if (var_8->type == var_13) {
        pcVar19 = var_8->linkto;
        if (var_8->linkto == (char *)0x0) {
          pcVar19 = pcVar11;
        }
        (*(type_8 *)PTR___fprintf_chk_000afe0c)(var_1,1,var_4 + -0xfd4,pcVar19);
      }
      (*(type_8 *)PTR_putc_000afb2c)(10,var_1);
      (*(type_8 *)PTR_free_000afd08)(pcVar12);
      (*(type_8 *)PTR_free_000afd08)(uVar6);
      var_8 = var_8->next;
    } while (var_8 != (type_3 *)0x0);
  }
  (*(type_8 *)PTR_fwrite_000afbfc)(var_4 + -0xfcc,1,0x17,var_1);
  (*(type_8 *)PTR_free_000afd08)(var_19);
  (*(type_8 *)PTR_free_000afd08)(uVar8);
  if (*(int *)puVar4 == 0) {
    (*(type_8 *)PTR_fclose_000afc8c)(var_1);
  }
  else {
    (*(type_8 *)PTR_rpl_fflush_000af7f4)(var_1);
  }
  if (var_15 == *(char **)puVar5) {
    return FTPOK;
  }
  (*(type_8 *)PTR___stack_chk_fail_000afbd4)();
  var_16 = (type_1)*var_15;
  if (var_16 != var_17) {
    var_19 = var_15 + 1;
    var_18 = var_15[1];
    while (var_18 != 0) {
      var_19 = var_19 + 1;
      var_16 = (int)var_18 + var_16 * 0x1f;
      var_18 = *var_19;
    }
  }
  return var_16;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal)) (identifier) (binary_expression left: (identifier) right: (number_literal)) (number_literal)))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (number_literal) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (number_literal) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (number_literal) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (number_literal) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (do_statement body: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (number_literal) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (number_literal) (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (identifier) (number_literal))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (number_literal) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (subscript_expression argument: (identifier) index: (number_literal)) (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (identifier)))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal)))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (number_literal) (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) consequence: (compound_statement (return_statement (identifier)))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))))))) (return_statement (identifier)))))

int MASKED(undefined4 param_1,int param_2,int *param_3)

{
  char cVar1;
  undefined *puVar2;
  undefined *puVar3;
  undefined *puVar4;
  undefined *puVar5;
  undefined4 uVar6;
  int iVar7;
  undefined4 uVar8;
  undefined4 uVar9;
  undefined *puVar10;
  undefined *puVar11;
  undefined4 uVar12;
  undefined4 uVar13;
  undefined4 uVar14;
  undefined4 *puVar15;
  char *pcVar16;
  undefined *puVar17;
  int iVar18;
  int local_30;
  char *local_2c;
  
  puVar5 = PTR___stack_chk_guard_000afc3c;
  puVar4 = PTR_output_stream_000af524;
  local_2c = *(char **)PTR___stack_chk_guard_000afc3c;
  iVar18 = *(int *)PTR_output_stream_000af524;
  if ((iVar18 == 0) &&
     (iVar18 = (*(code *)PTR_fopen64_000afaac)(param_1,PTR_LAB_000af468 + 0x41e0), iVar18 == 0)) {
    puVar15 = (undefined4 *)(*(code *)PTR___errno_location_000afe90)();
    uVar8 = (*(code *)PTR_rpl_strerror_000af4b0)(*puVar15);
    logprintf(1,PTR_s_hallenge__000af46c + 0x1e4c,param_1,uVar8);
    iVar18 = 0x13;
  }
  else {
    if (*(int *)(param_2 + 0x28) == 0) {
      uVar8 = (*(code *)PTR_xstrdup_000af48c)(PTR_s_hallenge__000af46c + -0x1710);
    }
    else {
      uVar6 = (*(code *)PTR_url_escape_000af7ec)();
      if ((*(int *)(param_2 + 0x2c) == 0) ||
         (iVar7 = (*(code *)PTR_url_escape_000af7ec)(), iVar7 == 0)) {
        iVar7 = 0;
        uVar8 = (*(code *)PTR_concat_strings_000af6b4)(uVar6,PTR_LAB_000af468 + 0x48b0,0);
      }
      else {
        uVar8 = (*(code *)PTR_concat_strings_000af6b4)
                          (uVar6,PTR_s_hallenge__000af46c + -0x139c,iVar7,PTR_LAB_000af468 + 0x48b0,
                           0);
      }
      (*(code *)PTR_free_000afd08)(uVar6);
      (*(code *)PTR_free_000afd08)(iVar7);
    }
    puVar2 = PTR_s_hallenge__000af46c;
    uVar6 = html_quote_string(*(undefined4 *)(param_2 + 0x20));
    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x1110,1,0x33,iVar18);
    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10dc,1,0x15,iVar18);
    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);
    (*(code *)PTR___fprintf_chk_000afe0c)
              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));
    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x10ac,1,0x1c,iVar18);
    uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar2 + -0x10c4,5);
    (*(code *)PTR___fprintf_chk_000afe0c)
              (iVar18,1,uVar9,uVar6,*(undefined4 *)(param_2 + 8),*(undefined4 *)(param_2 + 0xc));
    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0x108c,1,0x11,iVar18);
    puVar3 = PTR_s_hallenge__000af46c;
    puVar2 = PTR_DAT_000af458;
    if (param_3 != (int *)0x0) {
      puVar10 = PTR_s_hallenge__000af46c + -0x1074;
      puVar11 = PTR_s_hallenge__000af46c + -0x1118;
      do {
        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1078,1,2,iVar18);
        if (param_3[4] == -1) {
          uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar3 + -0x105c,5);
          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);
          iVar7 = *param_3;
          if (iVar7 == 1) goto LAB_0002e304;
LAB_0002e274:
          if (iVar7 == 0) {
            puVar17 = PTR_s_hallenge__000af46c + -0x1048;
          }
          else if (iVar7 == 2) {
            puVar17 = PTR_s_hallenge__000af46c + -0x1028;
          }
          else {
            puVar17 = PTR_s_hallenge__000af46c + -0x1018;
          }
        }
        else {
          local_30 = param_3[4];
          iVar7 = (*(code *)PTR_localtime_000afdd8)(&local_30);
          (*(code *)PTR___fprintf_chk_000afe0c)
                    (iVar18,1,puVar10,*(int *)(iVar7 + 0x14) + 0x76c,
                     *(undefined4 *)(puVar2 + *(int *)(iVar7 + 0x10) * 4 + -0x4abc),
                     *(undefined4 *)(iVar7 + 0xc));
          if (param_3[5] == 0) {
            (*(code *)PTR___fprintf_chk_000afe0c)
                      (iVar18,1,PTR_s_hallenge__000af46c + -0x1068,*(undefined4 *)(iVar7 + 8),
                       *(undefined4 *)(iVar7 + 4));
          }
          else {
            (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0x1050,1,7,iVar18);
          }
          iVar7 = *param_3;
          if (iVar7 != 1) goto LAB_0002e274;
LAB_0002e304:
          puVar17 = PTR_s_hallenge__000af46c + -0x1038;
        }
        uVar9 = (*(code *)PTR_dcgettext_000afcf4)(0,puVar17,5);
        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar9);
        uVar9 = html_quote_string(param_3[1]);
        uVar12 = (*(code *)PTR_url_escape_unsafe_and_reserved_000af7f0)(param_3[1]);
        (*(code *)PTR___fprintf_chk_000afe0c)
                  (iVar18,1,puVar3 + -0x1008,uVar8,*(undefined4 *)(param_2 + 8),
                   *(undefined4 *)(param_2 + 0xc));
        if (**(char **)(param_2 + 0x20) != '/') {
          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);
        }
        (*(code *)PTR_fputs_000afe9c)(uVar6,iVar18);
        if (**(char **)(param_2 + 0x20) != '\0') {
          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);
        }
        (*(code *)PTR_fputs_000afe9c)(uVar12,iVar18);
        if (*param_3 == 1) {
          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);
        }
        (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,puVar3 + -0xff0,uVar9);
        if (*param_3 == 1) {
          (*(code *)PTR_putc_000afb2c)(0x2f,iVar18);
        }
        (*(code *)PTR_fwrite_000afbfc)(puVar3 + -0xfe8,1,5,iVar18);
        if (*param_3 == 0) {
          uVar13 = (*(code *)PTR_dcgettext_000afcf4)(0,PTR_s_hallenge__000af46c + -0xfe0,5);
          uVar14 = (*(code *)PTR_number_to_static_string_000af698)(param_3[2],param_3[3]);
          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,uVar13,uVar14);
        }
        else if (*param_3 == 2) {
          puVar17 = (undefined *)param_3[7];
          if ((undefined *)param_3[7] == (undefined *)0x0) {
            puVar17 = puVar11;
          }
          (*(code *)PTR___fprintf_chk_000afe0c)(iVar18,1,PTR_s_hallenge__000af46c + -0xfd4,puVar17);
        }
        (*(code *)PTR_putc_000afb2c)(10,iVar18);
        (*(code *)PTR_free_000afd08)(uVar9);
        (*(code *)PTR_free_000afd08)(uVar12);
        param_3 = (int *)param_3[9];
      } while (param_3 != (int *)0x0);
    }
    (*(code *)PTR_fwrite_000afbfc)(PTR_s_hallenge__000af46c + -0xfcc,1,0x17,iVar18);
    (*(code *)PTR_free_000afd08)(uVar6);
    (*(code *)PTR_free_000afd08)(uVar8);
    if (*(int *)puVar4 == 0) {
      (*(code *)PTR_fclose_000afc8c)(iVar18);
      iVar18 = 7;
    }
    else {
      (*(code *)PTR_rpl_fflush_000af7f4)(iVar18);
      iVar18 = 7;
    }
  }
  if (local_2c == *(char **)puVar5) {
    return iVar18;
  }
  (*(code *)PTR___stack_chk_fail_000afbd4)();
  iVar18 = (int)*local_2c;
  if (iVar18 != 0) {
    pcVar16 = local_2c + 1;
    cVar1 = local_2c[1];
    while (cVar1 != 0) {
      pcVar16 = pcVar16 + 1;
      iVar18 = (int)cVar1 + iVar18 * 0x1f;
      cVar1 = *pcVar16;
    }
  }
  return iVar18;
}

