
/* WARNING: Function: __x86.get_pc_thunk.bp replaced with injection: get_pc_thunk.bp */
/* WARNING: Unknown calling convention */

void print_comment(int *paren_targ,BOOLEAN *pbreak_line)

{
  int *piVar1;
  byte bVar2;
  char cVar3;
  bool bVar4;
  bool bVar5;
  parser_state_ty *ppVar6;
  char *pcVar7;
  int iVar8;
  int iVar9;
  int iVar10;
  int iVar11;
  uint uVar12;
  char *pcVar13;
  char cVar14;
  bool bVar15;
  bool bVar16;
  char *pcVar17;
  size_t local_84;
  int local_80;
  char *local_78;
  int local_74;
  int local_70;
  int local_68;
  char *local_64;
  int local_60;
  int local_5c;
  int local_54;
  undefined *local_4c;
  uint local_48;
  size_t local_40;
  int local_28;
  
  inc_pstack();
  iVar8 = com_lines;
  if (token[1] == '/') {
    local_4c = &DAT_0002121e;
    bVar5 = false;
    bVar15 = false;
    local_5c = 0x14;
    local_48 = 3;
    local_28 = 0;
    local_84 = 0;
    cVar14 = '/';
  }
  else {
    bVar2 = *buf_ptr;
    if (((bVar2 == 0x2a || bVar2 == 0x5f) || ((bVar2 & 0xef) == 0x2d)) ||
       ((parser_state_tos->col_1 != 0 && (settings.format_col1_comments == 0)))) {
      if ((buf_ptr < save_com.ptr) ||
         (iVar8 = save_com.start_column, save_com.ptr + save_com.len < buf_ptr)) {
        iVar8 = current_column();
        iVar8 = iVar8 + -2;
      }
      ppVar6 = parser_state_tos;
      parser_state_tos->com_col = iVar8;
      ppVar6->box_com = 1;
      if (settings.blanklines_before_blockcomments != 0) {
        prefix_blankline_requested = 1;
      }
      local_68 = 1;
      pcVar13 = e_com + 1;
      *e_com = '/';
      e_com = pcVar13;
      pcVar13 = e_com + 1;
      *e_com = '*';
      e_com = pcVar13;
      cVar14 = *buf_ptr;
      do {
        do {
          pcVar17 = s_com;
          pcVar13 = l_com;
          if (cVar14 == '\n') {
            line_no = line_no + 1;
          }
          if (l_com + -1 <= e_com) {
            combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x191 - (int)s_com)));
            l_com = combuf + (int)(pcVar13 + (0x18c - (int)pcVar17));
            e_com = combuf + (int)(e_com + (1 - (int)s_com));
            s_com = combuf + 1;
          }
          cVar14 = *buf_ptr;
          pcVar13 = e_com + 1;
          buf_ptr = buf_ptr + 1;
          *e_com = cVar14;
          e_com = pcVar13;
          cVar14 = *buf_ptr;
        } while ((cVar14 != '*') && (buf_ptr < buf_end));
        if (buf_end < buf_ptr) {
          buf_ptr = buf_end;
          cVar14 = *buf_end;
        }
        if (settings.fix_nested_comments == 0) {
LAB_00014e50:
          if (cVar14 == '*') {
LAB_00014e59:
            if (buf_ptr[1] == '/') {
              if (buf_ptr == buf_end) {
                fill_buffer();
              }
              buf_ptr = buf_ptr + 2;
              if (buf_ptr == buf_end) {
                fill_buffer();
              }
              pcVar13 = e_com + 1;
              *e_com = '*';
              e_com = pcVar13;
              pcVar13 = e_com + 1;
              *e_com = '/';
              e_com = pcVar13;
              *e_com = '\0';
              ppVar6 = parser_state_tos;
              parser_state_tos->tos = parser_state_tos->tos + -1;
              iVar9 = 1;
              if (local_68 == 1) {
                iVar9 = iVar8;
              }
              ppVar6->com_col = iVar9;
              return;
            }
            cVar14 = '*';
          }
        }
        else if (cVar14 == '*') {
          if (buf_ptr[-1] == '/') {
            e_com[-1] = ' ';
            *e_com = '*';
            cVar14 = *buf_ptr;
            goto LAB_00014e50;
          }
          goto LAB_00014e59;
        }
        if (buf_ptr == buf_end) {
          if (buf_ptr[-1] == '\n') {
            pcVar13 = e_com + -1;
            e_com = e_com + -1;
            *pcVar13 = '\0';
            dump_line(1,paren_targ,pbreak_line);
            local_68 = local_68 + 1;
            parser_state_tos->com_col = 1;
          }
          fill_buffer();
          if (had_eof != '\0') {
            pcVar13 = e_com + 1;
            *e_com = '\0';
            e_com = pcVar13;
            ppVar6 = parser_state_tos;
            parser_state_tos->tos = parser_state_tos->tos + -1;
            ppVar6->com_col = iVar8;
            return;
          }
          cVar14 = *buf_ptr;
        }
      } while( true );
    }
    bVar5 = true;
    cVar14 = '*';
    local_5c = 0x13;
    local_84 = settings.star_comment_cont;
    local_28 = settings.comment_delimiter_on_blankline;
    local_48 = 0;
    local_4c = (undefined *)0x0;
    bVar15 = settings.comment_delimiter_on_blankline != 0;
  }
  local_60 = settings.comment_max_col;
  iVar9 = current_column();
  pcVar17 = s_lab;
  pcVar13 = s_code;
  if ((s_lab == e_lab) && (s_code == e_code)) {
    if ((parser_state_tos->col_1 == 0) || (settings.format_col1_comments != 0)) {
      local_74 = settings.format_comments;
      if ((parser_state_tos->ind_level < 1) &&
         ((parser_state_tos->in_stmt == 0 ||
          ((parser_state_tos->in_decl != '\0' && (parser_state_tos->paren_level == 0)))))) {
        bVar4 = true;
        local_80 = iVar9;
        local_70 = iVar9 + -2;
      }
      else {
        local_70 = compute_code_target(*paren_targ);
        local_70 = local_70 - settings.unindent_displace;
        if (local_70 < 0) {
          local_80 = 3;
          bVar4 = true;
          local_70 = 1;
        }
        else {
          bVar4 = true;
          local_80 = local_70 + 2;
        }
      }
    }
    else {
      local_80 = 3;
      bVar4 = true;
      local_70 = 1;
      local_74 = 0;
    }
  }
  else {
    if (parser_state_tos->decl_on_line == 0) {
      if (else_or_endif == 0) {
        local_70 = settings.com_ind;
      }
      else {
        local_70 = settings.else_endif_col;
      }
    }
    else {
      local_70 = settings.decl_com_ind;
    }
    if (s_code == e_code) {
      iVar10 = compute_label_target();
    }
    else {
      iVar10 = compute_code_target(*paren_targ);
      pcVar17 = pcVar13;
    }
    iVar10 = count_columns(iVar10,pcVar17,0);
    if (local_70 <= iVar10) {
      if (else_or_endif == 0 && settings.dont_tab_align_comments == 0) {
        local_70 = (settings.tabsize - (iVar10 + -1) % settings.tabsize) + iVar10;
      }
      else {
        local_70 = iVar10 + 1;
        else_or_endif = 0;
      }
    }
    bVar4 = false;
    bVar15 = false;
    local_74 = settings.format_comments;
    local_80 = local_70 + 2;
  }
  ppVar6 = parser_state_tos;
  if (local_4c == (undefined *)0x0) {
    if (local_84 == 0) {
      local_4c = &DAT_00021226;
      bVar5 = true;
      local_48 = 3;
    }
    else {
      local_4c = &DAT_00021222;
      bVar5 = false;
      local_48 = 3;
    }
  }
  parser_state_tos->box_com = 0;
  ppVar6->com_col = local_70;
  pcVar13 = e_com + 1;
  *e_com = '/';
  e_com = pcVar13;
  pcVar13 = e_com + 1;
  *e_com = cVar14;
  e_com = pcVar13;
  pcVar13 = buf_ptr;
  if (bVar15) {
    *e_com = '\0';
    dump_line(1,paren_targ,pbreak_line);
    pcVar13 = skip_horiz_space(pcVar13);
    if (*pcVar13 == '\n') {
      pcVar13 = pcVar13 + 1;
    }
    else if (local_74 == 0) {
      pcVar13 = buf_ptr;
    }
    buf_ptr = pcVar13;
    if (buf_end <= buf_ptr) {
      fill_buffer();
    }
    local_78 = (char *)0x0;
    local_40 = 0;
    local_54 = 0;
    goto LAB_0001543c;
  }
  if (local_74 == 0) {
    local_40 = 0;
    local_54 = 0;
    local_78 = (char *)0x0;
  }
  else {
    pcVar13 = e_com + 1;
    *e_com = ' ';
    e_com = pcVar13;
    local_80 = local_70 + 3;
    skip_buffered_space();
    local_78 = (char *)0x0;
    local_40 = 0;
    local_54 = 0;
  }
  while (had_eof == '\0') {
    local_64 = (char *)0x0;
LAB_00015228:
    pcVar7 = local_78;
    pcVar17 = s_com;
    pcVar13 = l_com;
    if (l_com + -1 <= e_com) {
      combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x191 - (int)s_com)));
      e_com = combuf + (int)(e_com + (1 - (int)s_com));
      l_com = combuf + (int)(pcVar13 + (0x18c - (int)pcVar17));
      s_com = combuf + 1;
      cVar14 = *buf_ptr;
      cVar3 = cVar14 + -10;
      bVar15 = cVar3 == '\0';
      if (!bVar15) goto LAB_0001524d;
LAB_0001531c:
      if (local_5c == 0x14) goto LAB_00015c4a;
      if (local_74 == 0) {
        local_78 = (char *)0x0;
        bVar15 = false;
        bVar16 = (bool)(pcVar7 == (char *)0x0 & bVar5);
        goto LAB_00015630;
      }
      buf_ptr = buf_ptr + 1;
      line_no = line_no + 1;
      if (buf_end <= buf_ptr) {
        fill_buffer();
      }
      if ((local_78 < local_64) && (local_64 < e_com)) {
        e_com = local_64;
      }
      skip_buffered_space();
      if (*buf_ptr == '\n') {
        local_78 = (char *)0x0;
        bVar15 = true;
        bVar16 = (bool)(pcVar7 == (char *)0x0 & bVar5);
        goto LAB_00015630;
      }
      if (local_78 == (char *)0x0) {
        bVar15 = true;
        bVar16 = bVar5;
        goto LAB_00015630;
      }
      if ((((local_54 == 0) && (iVar10 = current_column(), iVar10 == iVar9 + -1)) &&
          (*buf_ptr == '*')) && (buf_ptr[1] != '/')) {
        buf_ptr = buf_ptr + 1;
        if (buf_end <= buf_ptr) {
          fill_buffer();
        }
        if ((*buf_ptr == ' ') && (buf_ptr = buf_ptr + 1, buf_end <= buf_ptr)) {
          fill_buffer();
        }
      }
      pcVar13 = e_com;
      if (e_com[-1] != ' ') {
        local_80 = local_80 + 1;
        pcVar17 = e_com + 1;
        *e_com = ' ';
        e_com = pcVar17;
        local_64 = pcVar13;
      }
      goto LAB_0001521b;
    }
    cVar14 = *buf_ptr;
    cVar3 = cVar14 + -10;
    bVar15 = cVar14 == '\n';
    if (bVar15) goto LAB_0001531c;
LAB_0001524d:
    pcVar13 = e_com;
    if (!bVar15 && SBORROW1(cVar14,'\n') == cVar3 < '\0') {
      if (cVar14 == ' ') goto LAB_0001525c;
      if ((cVar14 != '*') || (local_5c != 0x13)) {
LAB_000151b8:
        local_80 = local_80 + 1;
        pcVar17 = e_com + 1;
        *e_com = *buf_ptr;
        e_com = pcVar17;
        bVar15 = local_74 != 0;
        local_78 = pcVar13;
        goto LAB_000151d8;
      }
      if (buf_ptr[1] == '/') {
        if (local_54 == 0) {
          if (local_78 == (char *)0x0) {
            if ((s_com == e_com) || (*s_com != '/')) {
              e_com = s_com + 1;
              *s_com = ' ';
              goto LAB_00015cc8;
            }
          }
          else if ((local_28 != 0) && (bVar4)) {
            *e_com = '\0';
            dump_line(1,paren_targ,pbreak_line);
            pcVar13 = e_com + 1;
            *e_com = ' ';
            e_com = pcVar13;
            goto LAB_00015cc8;
          }
          if ((e_com[-1] != ' ') && (e_com[-1] != '\t')) {
            pcVar13 = e_com + 1;
            *e_com = ' ';
            e_com = pcVar13;
          }
        }
LAB_00015cc8:
        pcVar17 = s_com;
        pcVar13 = l_com;
        if (l_com + -3 <= e_com) {
          combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x193 - (int)s_com)));
          e_com = combuf + (int)(e_com + (1 - (int)s_com));
          l_com = combuf + (int)(pcVar13 + (0x18e - (int)pcVar17));
          s_com = combuf + 1;
        }
        pcVar13 = e_com + 1;
        *e_com = '*';
        e_com = pcVar13;
        pcVar13 = e_com + 1;
        *e_com = '/';
        e_com = pcVar13;
        *e_com = '\0';
        buf_ptr = buf_ptr + 2;
        buf_ptr = skip_horiz_space(buf_ptr);
        if (buf_end <= buf_ptr) {
          fill_buffer();
        }
        ppVar6 = parser_state_tos;
        parser_state_tos->com_col = local_70;
        piVar1 = &ppVar6->tos;
        *piVar1 = *piVar1 + -1;
        ppVar6->box_com = local_54;
        return;
      }
      if ((com_lines + -1 != iVar8) || (e_com != s_com + local_48)) goto LAB_000151b8;
      *s_com = ' ';
      local_80 = (local_80 - local_48) + 2;
      local_48 = 1;
      local_4c = &DAT_00021228;
      s_com[1] = '*';
      local_78 = s_com + 2;
      local_28 = 0;
      local_54 = 1;
      e_com = local_78;
LAB_00015589:
      local_74 = 0;
LAB_000151f8:
      if (*buf_ptr == '\n') {
        line_no = line_no + 1;
      }
      buf_ptr = buf_ptr + 1;
      if (buf_ptr == buf_end) {
        fill_buffer();
      }
LAB_0001521b:
      if (had_eof != '\0') goto LAB_000159db;
      goto LAB_00015228;
    }
    if (cVar14 != '\t') goto LAB_000151b8;
LAB_0001525c:
    if (((local_74 == 0) || (pcVar13 = e_com, local_78 <= local_64)) &&
       (pcVar13 = local_64, local_74 == 0)) {
      if (cVar14 == ' ') {
        local_80 = local_80 + 1;
        pcVar13 = e_com + 1;
        *e_com = ' ';
        e_com = pcVar13;
      }
      else {
        iVar10 = settings.tabsize - (((iVar9 + -2 + local_80) - local_70) + -1) % settings.tabsize;
        local_80 = local_80 + iVar10;
        if (l_com + -iVar10 <= e_com) {
          pcVar13 = l_com + ((iVar10 + 400) - (int)s_com);
          combuf = (char *)xrealloc(combuf,(uint)pcVar13);
          e_com = combuf + (int)(e_com + (1 - (int)s_com));
          l_com = combuf + (int)(pcVar13 + -5);
          s_com = combuf + 1;
        }
        if (iVar10 == 0) goto LAB_00015589;
        iVar11 = iVar10 + -2;
        pcVar13 = e_com + 1;
        *e_com = ' ';
        e_com = pcVar13;
        if (iVar10 != 1) {
          do {
            iVar11 = iVar11 + -1;
            pcVar13 = e_com + 1;
            *e_com = ' ';
            e_com = pcVar13;
          } while (iVar11 != -1);
        }
      }
      goto LAB_000151f8;
    }
    local_64 = pcVar13;
    if (((s_com == e_com) || (e_com[-1] != ' ')) ||
       ((s_com == e_com + -1 || (bVar15 = true, e_com[-2] == '.')))) {
      local_80 = local_80 + 1;
      bVar15 = true;
      pcVar13 = e_com + 1;
      *e_com = ' ';
      e_com = pcVar13;
    }
LAB_000151d8:
    if ((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar15)) goto LAB_000151f8;
    if (local_64 < e_com + -1) {
      *local_64 = '\0';
      pcVar13 = e_com;
      e_com = local_64;
      local_40 = (int)pcVar13 - (int)(local_64 + 1);
      iVar10 = local_80 - local_40;
      if ((int)(local_80 - local_40) <= local_60) {
        iVar10 = local_60;
      }
      bVar16 = local_78 == (char *)0x0;
      bVar15 = false;
      local_78 = local_64 + 1;
      local_60 = iVar10;
      bVar16 = (bool)(bVar16 & bVar5);
      goto LAB_00015630;
    }
    if (local_5c == 0x14) {
      pcVar13 = skip_horiz_space(buf_ptr);
      buf_ptr = pcVar13 + -1;
      if (pcVar13[-1] == '\n') {
LAB_00015c4a:
        ppVar6 = parser_state_tos;
        pcVar13 = e_com;
        parser_state_tos->com_col = local_70;
        piVar1 = &ppVar6->tos;
        *piVar1 = *piVar1 + -1;
        ppVar6->box_com = local_54;
        *pcVar13 = '\0';
        return;
      }
    }
    else {
      while ((pcVar13 = buf_ptr, cVar14 = *pcVar13, (byte)(cVar14 - 9U) < 2 || (cVar14 == ' '))) {
        if (cVar14 == '\n') {
          line_no = line_no + 1;
        }
        buf_ptr = pcVar13 + 1;
        if (buf_end <= pcVar13 + 1) {
          buf_ptr = pcVar13 + 1;
          fill_buffer();
        }
      }
      buf_ptr = pcVar13 + -1;
    }
    *e_com = '\0';
LAB_000159db:
    pcVar13 = local_78;
    local_78 = (char *)0x0;
    bVar15 = false;
    bVar16 = (bool)(pcVar13 == (char *)0x0 & bVar5);
LAB_00015630:
    if ((bVar16) && (com_lines != iVar8)) {
      e_com = s_com;
    }
    *e_com = '\0';
    dump_line(1,paren_targ,pbreak_line);
    prefix_blankline_requested = 0;
    if (!bVar15) {
      if (*buf_ptr == '\n') {
        line_no = line_no + 1;
      }
      buf_ptr = buf_ptr + 1;
      if (buf_end <= buf_ptr) {
        fill_buffer();
      }
    }
LAB_0001543c:
    if (had_eof != '\0') break;
    local_80 = local_70;
    if (local_48 != 0) {
      if (l_com + -local_48 <= e_com) {
        pcVar13 = l_com + ((local_48 + 400) - (int)s_com);
        combuf = (char *)xrealloc(combuf,(uint)pcVar13);
        e_com = combuf + (int)(e_com + (1 - (int)s_com));
        l_com = combuf + (int)(pcVar13 + -5);
        s_com = combuf + 1;
      }
      pcVar13 = e_com;
      if (local_48 != 0) {
        uVar12 = 0;
        do {
          pcVar13[uVar12] = local_4c[uVar12];
          uVar12 = uVar12 + 1;
        } while (uVar12 < local_48);
      }
      e_com = e_com + local_48;
      local_80 = local_70 + local_48;
    }
    if (local_78 == (char *)0x0) {
      skip_buffered_space();
    }
    else {
      if ((*local_78 == ' ') || (*local_78 == '\t')) {
        if (local_40 == 0) {
          iVar10 = 0;
          local_84 = 0;
        }
        else {
          do {
            local_78 = local_78 + 1;
            local_40 = local_40 - 1;
            if ((*local_78 != ' ') && (*local_78 != '\t')) {
              local_80 = local_80 + local_40;
              iVar10 = -local_40;
              local_84 = local_40;
              goto LAB_000158f3;
            }
          } while (local_40 != 0);
          iVar10 = 0;
          local_84 = 0;
        }
      }
      else {
        local_80 = local_80 + local_40;
        local_84 = local_40;
        iVar10 = -local_40;
      }
LAB_000158f3:
      if (l_com + iVar10 <= e_com) {
        pcVar13 = l_com + ((local_40 + 400) - (int)s_com);
        combuf = (char *)xrealloc(combuf,(uint)pcVar13);
        l_com = combuf + (int)(pcVar13 + -5);
        e_com = combuf + (int)(e_com + (1 - (int)s_com));
        s_com = combuf + 1;
      }
      memmove(e_com,local_78,local_84);
      local_78 = e_com;
      e_com = e_com + local_84;
      local_40 = 0;
    }
  }
  ppVar6 = parser_state_tos;
  parser_state_tos->com_col = local_70;
  piVar1 = &ppVar6->tos;
  *piVar1 = *piVar1 + -1;
  ppVar6->box_com = local_54;
  return;
}



void FUN_00014c50(undefined4 *param_1,undefined4 param_2)

{
  int *piVar1;
  int *piVar2;
  code *pcVar3;
  int *piVar4;
  uint *puVar5;
  uint *puVar6;
  undefined4 *puVar7;
  int *piVar8;
  byte bVar9;
  byte *pbVar10;
  byte *pbVar11;
  char cVar12;
  bool bVar13;
  bool bVar14;
  int iVar15;
  int iVar16;
  undefined4 uVar17;
  char *pcVar18;
  char *pcVar19;
  undefined1 *puVar20;
  uint uVar21;
  int iVar22;
  int iVar23;
  uint uVar24;
  undefined1 uVar25;
  int iVar26;
  char *pcVar27;
  char cVar28;
  void *__dest;
  int unaff_EBP;
  bool bVar29;
  bool bVar30;
  size_t local_84;
  int local_80;
  char *local_78;
  int local_74;
  int local_70;
  int *local_6c;
  char *local_68;
  char *local_64;
  int local_60;
  int local_5c;
  int local_54;
  int local_4c;
  uint local_48;
  size_t local_40;
  int local_28;
  
  FUN_00013b71();
  FUN_00017e00();
  if (*(char *)(*(int *)(unaff_EBP + 0x12caa) + 1) == '/') {
    local_4c = unaff_EBP + 0xc5c8;
    bVar14 = false;
    bVar29 = false;
    local_5c = 0x14;
    local_48 = 3;
    local_28 = 0;
    local_84 = 0;
    uVar25 = 0x2f;
LAB_00014fd0:
    local_6c = (int *)(&DAT_00012b16 + unaff_EBP);
    piVar1 = (int *)(unaff_EBP + 0x12b52);
    iVar15 = *piVar1;
    local_60 = *(int *)(unaff_EBP + 0x12c46);
    iVar16 = FUN_00018750();
    iVar26 = *(int *)(unaff_EBP + 0x129c6);
    if ((iVar26 == *(int *)(unaff_EBP + 0x129c2)) &&
       (*(int *)(unaff_EBP + 0x129b6) == *(int *)(unaff_EBP + 0x129b2))) {
      iVar26 = *local_6c;
      if ((*(int *)(iVar26 + 0x54) == 0) || (*(int *)(unaff_EBP + 0x12c02) != 0)) {
        local_74 = *(int *)(unaff_EBP + 0x12bfe);
        if ((*(int *)(iVar26 + 0x74) < 1) &&
           ((*(int *)(iVar26 + 0x6c) == 0 ||
            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))))) {
          bVar13 = true;
          local_80 = iVar16;
          local_70 = iVar16 + -2;
        }
        else {
          local_70 = FUN_00019aa0(*param_1);
          local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);
          if (local_70 < 0) {
            local_80 = 3;
            bVar13 = true;
            iVar26 = *local_6c;
            local_70 = 1;
          }
          else {
            bVar13 = true;
            local_80 = local_70 + 2;
            iVar26 = *local_6c;
          }
        }
      }
      else {
        local_80 = 3;
        bVar13 = true;
        local_70 = 1;
        local_74 = 0;
      }
    }
    else {
      if (*(int *)(*local_6c + 0x60) == 0) {
        if (*(int *)(unaff_EBP + 0x1296a) == 0) {
          local_70 = *(int *)(unaff_EBP + 0x12c7a);
        }
        else {
          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);
        }
      }
      else {
        local_70 = *(int *)(unaff_EBP + 0x12c6e);
      }
      iVar23 = *(int *)(unaff_EBP + 0x129b6);
      if (iVar23 == *(int *)(unaff_EBP + 0x129b2)) {
        uVar17 = FUN_00019bf0();
      }
      else {
        uVar17 = FUN_00019aa0(*param_1);
        iVar26 = iVar23;
      }
      iVar26 = FUN_00019b60(uVar17,iVar26,0);
      if (local_70 <= iVar26) {
        if (*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0) {
          local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))
                     + iVar26;
        }
        else {
          local_70 = iVar26 + 1;
          *(int *)(unaff_EBP + 0x1296a) = 0;
        }
      }
      bVar13 = false;
      bVar29 = false;
      local_74 = *(int *)(unaff_EBP + 0x12bfe);
      iVar26 = *local_6c;
      local_80 = local_70 + 2;
    }
    if (local_4c == 0) {
      if (local_84 == 0) {
        local_4c = unaff_EBP + 0xc5d0;
        bVar14 = true;
        local_48 = 3;
      }
      else {
        local_4c = unaff_EBP + 0xc5cc;
        bVar14 = false;
        local_48 = 3;
      }
    }
    *(undefined4 *)(iVar26 + 0x24) = 0;
    *(int *)(iVar26 + 0x58) = local_70;
    puVar5 = (uint *)(unaff_EBP + 0x129a2);
    puVar20 = (undefined1 *)*puVar5;
    *puVar5 = (uint)(puVar20 + 1);
    *puVar20 = 0x2f;
    puVar20 = (undefined1 *)*puVar5;
    *puVar5 = (uint)(puVar20 + 1);
    *puVar20 = uVar25;
    if (bVar29) {
      puVar7 = (undefined4 *)(&DAT_00012b26 + unaff_EBP);
      uVar17 = *puVar7;
      *(undefined1 *)*puVar5 = 0;
      FUN_0001a130(1,param_1,param_2);
      pcVar18 = (char *)FUN_00018720(uVar17);
      if (*pcVar18 == '\n') {
        pcVar18 = pcVar18 + 1;
        *puVar7 = pcVar18;
      }
      else if (local_74 == 0) {
        pcVar18 = (char *)*puVar7;
      }
      else {
        *puVar7 = pcVar18;
      }
      if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {
        FUN_00018c70();
      }
      local_78 = (char *)0x0;
      local_40 = 0;
      local_54 = 0;
      goto LAB_0001543c;
    }
    if (local_74 == 0) {
      local_40 = 0;
      local_54 = 0;
      local_78 = (char *)0x0;
    }
    else {
      puVar20 = (undefined1 *)*puVar5;
      *puVar5 = (uint)(puVar20 + 1);
      *puVar20 = 0x20;
      local_80 = local_70 + 3;
      FUN_00018e10();
      local_78 = (char *)0x0;
      local_40 = 0;
      local_54 = 0;
    }
    while (local_68 = &DAT_00012b1e + unaff_EBP, *local_68 == '\0') {
      piVar2 = (int *)(unaff_EBP + 0x1299e);
      puVar6 = (uint *)(&DAT_00012b26 + unaff_EBP);
      local_64 = (char *)0x0;
      piVar4 = (int *)(unaff_EBP + 0x129a6);
LAB_00015228:
      pcVar27 = local_78;
      iVar26 = *piVar2;
      pcVar18 = (char *)*puVar5;
      if ((char *)(iVar26 + -1) <= pcVar18) {
        iVar23 = *piVar4;
        iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191);
        *(int *)(unaff_EBP + 0x129aa) = iVar22;
        pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar4));
        *puVar5 = (uint)pcVar18;
        iVar26 = iVar22 + 0x18c + (iVar26 - iVar23);
        *piVar4 = iVar22 + 1;
        pcVar19 = (char *)*puVar6;
        *piVar2 = iVar26;
        cVar28 = *pcVar19;
        cVar12 = cVar28 + -10;
        bVar29 = cVar12 == '\0';
        if (!bVar29) goto LAB_0001524d;
LAB_0001531c:
        if (local_5c == 0x14) {
LAB_00015c4a:
          iVar15 = *local_6c;
          *(int *)(iVar15 + 0x58) = local_70;
          *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;
          *(int *)(iVar15 + 0x24) = local_54;
          *pcVar18 = '\0';
          return;
        }
        if (local_74 == 0) {
          local_78 = (char *)0x0;
          bVar29 = false;
          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);
          goto LAB_00015630;
        }
        *puVar6 = (uint)(pcVar19 + 1);
        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;
        pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;
        if (*(char **)pcVar3 <= pcVar19 + 1) {
          FUN_00018c70();
          pcVar18 = (char *)*puVar5;
        }
        if ((local_78 < local_64) && (local_64 < pcVar18)) {
          *puVar5 = (uint)local_64;
        }
        FUN_00018e10();
        if (*(char *)*puVar6 == '\n') {
          local_78 = (char *)0x0;
          bVar29 = true;
          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);
          goto LAB_00015630;
        }
        if (local_78 == (char *)0x0) {
          bVar29 = true;
          bVar30 = bVar14;
          goto LAB_00015630;
        }
        if ((((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&
            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')) && (pcVar18[1] != '/')) {
          pcVar18 = pcVar18 + 1;
          *puVar6 = (uint)pcVar18;
          if (*(char **)pcVar3 <= pcVar18) {
            FUN_00018c70();
            pcVar18 = (char *)*puVar6;
          }
          if ((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))
          {
            FUN_00018c70();
          }
        }
        pcVar18 = (char *)*puVar5;
        if (pcVar18[-1] != ' ') {
          local_80 = local_80 + 1;
          *puVar5 = (uint)(pcVar18 + 1);
          *pcVar18 = ' ';
          local_64 = pcVar18;
        }
        goto LAB_0001521b;
      }
      pcVar19 = (char *)*puVar6;
      cVar28 = *pcVar19;
      cVar12 = cVar28 + -10;
      bVar29 = cVar28 == '\n';
      if (bVar29) goto LAB_0001531c;
LAB_0001524d:
      if (bVar29 || SBORROW1(cVar28,'\n') != cVar12 < '\0') {
        if (cVar28 != '\t') goto LAB_000151b8;
LAB_0001525c:
        if (((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||
           (pcVar27 = local_64, local_74 != 0)) {
          local_64 = pcVar27;
          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||
             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||
              (bVar29 = true, pcVar18[-2] == '.')))) {
            local_80 = local_80 + 1;
            bVar29 = true;
            *puVar5 = (uint)(pcVar18 + 1);
            *pcVar18 = ' ';
          }
          goto LAB_000151d8;
        }
        if (cVar28 == ' ') {
          local_80 = local_80 + 1;
          *puVar5 = (uint)(pcVar18 + 1);
          *pcVar18 = ' ';
        }
        else {
          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -
                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);
          local_80 = local_80 + iVar23;
          if ((char *)(iVar26 - iVar23) <= pcVar18) {
            piVar8 = (int *)(unaff_EBP + 0x129a6);
            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);
            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);
            *(int *)(unaff_EBP + 0x129aa) = iVar22;
            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));
            *puVar5 = (uint)pcVar18;
            *piVar2 = iVar22 + -5 + iVar26;
            *piVar8 = iVar22 + 1;
          }
          if (iVar23 == 0) {
LAB_00015589:
            local_74 = 0;
          }
          else {
            *puVar5 = (uint)(pcVar18 + 1);
            iVar26 = iVar23 + -2;
            *pcVar18 = ' ';
            if (iVar23 != 1) {
              do {
                puVar20 = (undefined1 *)*puVar5;
                iVar26 = iVar26 + -1;
                *puVar5 = (uint)(puVar20 + 1);
                *puVar20 = 0x20;
              } while (iVar26 != -1);
            }
          }
        }
LAB_000151f8:
        pcVar18 = (char *)*puVar6;
        if (*pcVar18 == '\n') {
          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;
        }
        pcVar18 = pcVar18 + 1;
        *puVar6 = (uint)pcVar18;
        if (pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)) {
          FUN_00018c70();
        }
LAB_0001521b:
        if (*local_68 != '\0') goto LAB_000159db;
        goto LAB_00015228;
      }
      if (cVar28 == ' ') goto LAB_0001525c;
      if ((cVar28 != '*') || (local_5c != 0x13)) goto LAB_000151b8;
      if (pcVar19[1] == '/') {
        if (local_54 == 0) {
          if (local_78 == (char *)0x0) {
            pcVar27 = *(char **)(unaff_EBP + 0x129a6);
            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {
              *puVar5 = (uint)(pcVar27 + 1);
              *pcVar27 = ' ';
              pcVar18 = (char *)*puVar5;
              iVar26 = *piVar2;
              goto LAB_00015cc8;
            }
          }
          else if ((local_28 != 0) && (bVar13)) {
            *pcVar18 = '\0';
            FUN_0001a130(1,param_1,param_2,local_78);
            puVar20 = (undefined1 *)*puVar5;
            *puVar5 = (uint)(puVar20 + 1);
            *puVar20 = 0x20;
            pcVar18 = (char *)*puVar5;
            iVar26 = *piVar2;
            goto LAB_00015cc8;
          }
          if ((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')) {
            *puVar5 = (uint)(pcVar18 + 1);
            *pcVar18 = ' ';
            pcVar18 = (char *)*puVar5;
            iVar26 = *piVar2;
          }
        }
LAB_00015cc8:
        if ((char *)(iVar26 + -3) <= pcVar18) {
          piVar1 = (int *)(unaff_EBP + 0x129a6);
          iVar15 = *piVar1;
          iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,
                                piVar1);
          *(int *)(unaff_EBP + 0x129aa) = iVar16;
          pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));
          *piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);
          *piVar1 = iVar16 + 1;
        }
        *puVar5 = (uint)(pcVar18 + 1);
        *pcVar18 = '*';
        puVar20 = (undefined1 *)*puVar5;
        *puVar5 = (uint)(puVar20 + 1);
        *puVar20 = 0x2f;
        *(undefined1 *)*puVar5 = 0;
        uVar24 = *puVar6;
        *puVar6 = uVar24 + 2;
        uVar24 = FUN_00018720(uVar24 + 2);
        *puVar6 = uVar24;
        if (*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= uVar24) {
          FUN_00018c70();
        }
        iVar15 = *local_6c;
        *(int *)(iVar15 + 0x58) = local_70;
        *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;
        *(int *)(iVar15 + 0x24) = local_54;
        return;
      }
      if (*piVar1 + -1 == iVar15) {
        piVar8 = (int *)(unaff_EBP + 0x129a6);
        if (pcVar18 != (undefined1 *)*piVar8 + local_48) goto LAB_000151b8;
        *(undefined1 *)*piVar8 = 0x20;
        local_80 = (local_80 - local_48) + 2;
        local_48 = 1;
        local_4c = unaff_EBP + 0xc5d2;
        *(undefined1 *)(*piVar8 + 1) = 0x2a;
        local_78 = (char *)(*piVar8 + 2);
        local_28 = 0;
        *puVar5 = (uint)local_78;
        local_54 = 1;
        goto LAB_00015589;
      }
LAB_000151b8:
      local_80 = local_80 + 1;
      *puVar5 = (uint)(pcVar18 + 1);
      *pcVar18 = *pcVar19;
      bVar29 = local_74 != 0;
      local_78 = pcVar18;
LAB_000151d8:
      if ((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar29)) goto LAB_000151f8;
      if (local_64 < (char *)(*puVar5 - 1)) {
        *local_64 = '\0';
        uVar24 = *puVar5;
        *puVar5 = (uint)local_64;
        local_40 = uVar24 - (int)(local_64 + 1);
        iVar26 = local_80 - local_40;
        if ((int)(local_80 - local_40) <= local_60) {
          iVar26 = local_60;
        }
        bVar30 = local_78 == (char *)0x0;
        bVar29 = false;
        local_78 = local_64 + 1;
        local_60 = iVar26;
        bVar30 = (bool)(bVar30 & bVar14);
        goto LAB_00015630;
      }
      pcVar18 = (char *)*puVar6;
      if (local_5c != 0x14) {
        do {
          pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2);
          do {
            while( true ) {
              cVar28 = *pcVar18;
              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {
                *puVar6 = (uint)(pcVar18 + -1);
                goto LAB_00015d49;
              }
              if (cVar28 == '\n') break;
              pcVar18 = pcVar18 + 1;
              *puVar6 = (uint)pcVar18;
              if (pcVar27 <= pcVar18) goto LAB_00015b63;
            }
            pcVar18 = pcVar18 + 1;
            *puVar6 = (uint)pcVar18;
            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;
          } while (pcVar18 < pcVar27);
LAB_00015b63:
          FUN_00018c70();
          pcVar18 = (char *)*puVar6;
        } while( true );
      }
      iVar26 = FUN_00018720(pcVar18);
      *puVar6 = iVar26 - 1;
      if (*(char *)(iVar26 + -1) == '\n') {
        pcVar18 = (char *)*puVar5;
        goto LAB_00015c4a;
      }
LAB_00015d49:
      *(undefined1 *)*puVar5 = 0;
LAB_000159db:
      pcVar18 = local_78;
      local_78 = (char *)0x0;
      bVar29 = false;
      bVar30 = (bool)(pcVar18 == (char *)0x0 & bVar14);
LAB_00015630:
      if ((bVar30) && (*piVar1 != iVar15)) {
        puVar20 = *(undefined1 **)(unaff_EBP + 0x129a6);
        *puVar5 = (uint)puVar20;
      }
      else {
        puVar20 = (undefined1 *)*puVar5;
      }
      *puVar20 = 0;
      FUN_0001a130(1,param_1,param_2);
      *(undefined4 *)(unaff_EBP + 0x1297e) = 0;
      if (!bVar29) {
        pcVar18 = (char *)*puVar6;
        if (*pcVar18 == '\n') {
          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;
        }
        pcVar18 = pcVar18 + 1;
        *puVar6 = (uint)pcVar18;
        if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {
          FUN_00018c70();
        }
      }
LAB_0001543c:
      local_68 = &DAT_00012b1e + unaff_EBP;
      if (*local_68 != '\0') break;
      local_80 = local_70;
      if (local_48 != 0) {
        uVar24 = *puVar5;
        iVar26 = *(int *)(unaff_EBP + 0x1299e);
        if (iVar26 - local_48 <= uVar24) {
          piVar2 = (int *)(unaff_EBP + 0x129a6);
          iVar26 = local_48 + 400 + (iVar26 - *piVar2);
          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);
          *(int *)(unaff_EBP + 0x129aa) = iVar23;
          uVar24 = iVar23 + 1 + (*puVar5 - *piVar2);
          *puVar5 = uVar24;
          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;
          *piVar2 = iVar23 + 1;
        }
        if (local_48 != 0) {
          uVar21 = 0;
          do {
            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);
            uVar21 = uVar21 + 1;
          } while (uVar21 < local_48);
        }
        *puVar5 = *puVar5 + local_48;
        local_80 = local_70 + local_48;
      }
      if (local_78 == (char *)0x0) {
        FUN_00018e10();
      }
      else {
        if ((*local_78 == ' ') || (*local_78 == '\t')) {
          if (local_40 == 0) {
            iVar26 = 0;
            local_84 = 0;
          }
          else {
            do {
              local_78 = local_78 + 1;
              local_40 = local_40 - 1;
              if ((*local_78 != ' ') && (*local_78 != '\t')) {
                local_80 = local_80 + local_40;
                iVar26 = -local_40;
                local_84 = local_40;
                goto LAB_000158f3;
              }
            } while (local_40 != 0);
            iVar26 = 0;
            local_84 = 0;
          }
        }
        else {
          local_80 = local_80 + local_40;
          local_84 = local_40;
          iVar26 = -local_40;
        }
LAB_000158f3:
        __dest = (void *)*puVar5;
        iVar23 = *(int *)(unaff_EBP + 0x1299e);
        if ((void *)(iVar26 + iVar23) <= __dest) {
          piVar2 = (int *)(unaff_EBP + 0x129a6);
          iVar26 = local_40 + 400 + (iVar23 - *piVar2);
          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);
          *(int *)(unaff_EBP + 0x129aa) = iVar23;
          __dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));
          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;
          *puVar5 = (uint)__dest;
          *piVar2 = iVar23 + 1;
        }
        memmove(__dest,local_78,local_84);
        local_78 = (char *)*puVar5;
        *puVar5 = (uint)(local_78 + local_84);
        local_40 = 0;
      }
    }
    iVar15 = *local_6c;
    *(int *)(iVar15 + 0x58) = local_70;
    *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;
    *(int *)(iVar15 + 0x24) = local_54;
    return;
  }
  piVar1 = (int *)(&DAT_00012b26 + unaff_EBP);
  pbVar10 = (byte *)*piVar1;
  bVar9 = *pbVar10;
  if (bVar9 == 0x2a || bVar9 == 0x5f) {
    pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);
  }
  else {
    if (((bVar9 & 0xef) != 0x2d) &&
       ((*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0 ||
        (*(int *)(unaff_EBP + 0x12c02) != 0)))) {
      bVar14 = true;
      uVar25 = 0x2a;
      local_5c = 0x13;
      local_84 = *(size_t *)(FUN_00012bc0 + unaff_EBP + 2);
      local_28 = *(int *)(unaff_EBP + 0x12c1a);
      local_48 = 0;
      local_4c = 0;
      bVar29 = local_28 != 0;
      goto LAB_00014fd0;
    }
    pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);
  }
  if ((pbVar10 < pbVar11) || (pbVar11 + *(int *)(unaff_EBP + 0x12b7a) < pbVar10)) {
    iVar15 = FUN_00018750();
    iVar15 = iVar15 + -2;
  }
  else {
    iVar15 = *(int *)(unaff_EBP + 0x12b7e);
  }
  local_6c = (int *)(&DAT_00012b16 + unaff_EBP);
  iVar26 = *local_6c;
  *(int *)(iVar26 + 0x58) = iVar15;
  *(undefined4 *)(iVar26 + 0x24) = 1;
  if (*(int *)(unaff_EBP + 0x12c32) != 0) {
    *(undefined4 *)(unaff_EBP + 0x1297e) = 1;
  }
  piVar2 = (int *)(unaff_EBP + 0x129a2);
  local_68 = (char *)0x1;
  puVar20 = (undefined1 *)*piVar2;
  pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;
  *piVar2 = (int)(puVar20 + 1);
  *puVar20 = 0x2f;
  puVar20 = (undefined1 *)*piVar2;
  piVar4 = (int *)(unaff_EBP + 0x129a6);
  *piVar2 = (int)(puVar20 + 1);
  *puVar20 = 0x2a;
  pcVar18 = (char *)*piVar1;
  cVar28 = *pcVar18;
  do {
    do {
      if (cVar28 == '\n') {
        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;
      }
      pcVar27 = (char *)*piVar2;
      iVar26 = *(int *)(unaff_EBP + 0x1299e);
      if ((char *)(iVar26 - 1U) <= pcVar27) {
        iVar26 = iVar26 - *piVar4;
        iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191);
        *(int *)(unaff_EBP + 0x129aa) = iVar16;
        pcVar27 = (char *)(iVar16 + 1 + (*piVar2 - *piVar4));
        *(int *)(unaff_EBP + 0x1299e) = iVar16 + 0x18c + iVar26;
        *piVar4 = iVar16 + 1;
        pcVar18 = (char *)*piVar1;
      }
      *piVar1 = (int)(pcVar18 + 1);
      *piVar2 = (int)(pcVar27 + 1);
      *pcVar27 = *pcVar18;
      pcVar18 = (char *)*piVar1;
      pcVar27 = *(char **)pcVar3;
      cVar28 = *pcVar18;
    } while ((cVar28 != '*') && (pcVar18 < pcVar27));
    if (pcVar27 < pcVar18) {
      *piVar1 = (int)pcVar27;
      cVar28 = *pcVar27;
      pcVar18 = pcVar27;
    }
    if (*(int *)(unaff_EBP + 0x12bfa) == 0) {
LAB_00014e50:
      if (cVar28 == '*') {
LAB_00014e59:
        if (pcVar18[1] == '/') {
          if (pcVar18 == pcVar27) {
            FUN_00018c70();
            pcVar18 = (char *)*piVar1;
            pcVar27 = *(char **)pcVar3;
          }
          *piVar1 = (int)(pcVar18 + 2);
          if (pcVar18 + 2 == pcVar27) {
            FUN_00018c70();
          }
          puVar20 = (undefined1 *)*piVar2;
          *piVar2 = (int)(puVar20 + 1);
          *puVar20 = 0x2a;
          puVar20 = (undefined1 *)*piVar2;
          *piVar2 = (int)(puVar20 + 1);
          *puVar20 = 0x2f;
          *(undefined1 *)*piVar2 = 0;
          iVar26 = *local_6c;
          piVar1 = (int *)(iVar26 + 0x20);
          *piVar1 = *piVar1 + -1;
          iVar16 = 1;
          if (local_68 == (char *)0x1) {
            iVar16 = iVar15;
          }
          *(int *)(iVar26 + 0x58) = iVar16;
          return;
        }
        cVar28 = '*';
      }
    }
    else if (cVar28 == '*') {
      if (pcVar18[-1] == '/') {
        *(undefined1 *)(*piVar2 + -1) = 0x20;
        *(undefined1 *)*piVar2 = 0x2a;
        pcVar18 = (char *)*piVar1;
        pcVar27 = *(char **)pcVar3;
        cVar28 = *pcVar18;
        goto LAB_00014e50;
      }
      goto LAB_00014e59;
    }
    if (pcVar18 == pcVar27) {
      if (pcVar18[-1] == '\n') {
        iVar26 = *piVar2;
        *piVar2 = iVar26 + -1;
        *(undefined1 *)(iVar26 + -1) = 0;
        FUN_0001a130(1,param_1,param_2);
        local_68 = (char *)((int)local_68 + 1);
        *(undefined4 *)(*local_6c + 0x58) = 1;
      }
      FUN_00018c70();
      if ((&DAT_00012b1e)[unaff_EBP] != '\0') {
        puVar20 = (undefined1 *)*piVar2;
        *piVar2 = (int)(puVar20 + 1);
        *puVar20 = 0;
        iVar26 = *local_6c;
        piVar1 = (int *)(iVar26 + 0x20);
        *piVar1 = *piVar1 + -1;
        *(int *)(iVar26 + 0x58) = iVar15;
        return;
      }
      pcVar18 = (char *)*piVar1;
      cVar28 = *pcVar18;
    }
  } while( true );
}


PUSH EBP
CALL 0x00013b71
ADD EBP,0x123aa
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x7c
MOV EBX,EBP
CALL 0x00017e00
LEA EAX,[EBP + 0x900]
MOV EAX,dword ptr [EAX]
MOVZX ECX,byte ptr [EAX + 0x1]
CMP CL,0x2f
JZ 0x00014f8b
LEA ESI,[EBP + 0x77c]
MOV EAX,dword ptr [ESI]
MOVZX EDX,byte ptr [EAX]
CMP DL,0x2a
SETZ BL
CMP DL,0x5f
SETZ CL
OR BL,CL
JNZ 0x00014df0
LEA EDI,[EBP + 0x76c]
AND EDX,0xffffffef
MOV dword ptr [ESP + 0x20],EDI
CMP DL,0x2d
JNZ 0x00015469
LEA EDI,[EBP + 0x800]
MOV dword ptr [ESP + 0x10],EDI
LEA ECX,[EBP + 0x7c4]
MOV EDX,dword ptr [ECX]
CMP EAX,EDX
JC 0x00014e14
ADD EDX,dword ptr [ECX + 0xc]
CMP EAX,EDX
JA 0x00014e14
MOV EAX,dword ptr [ECX + 0x10]
MOV dword ptr [ESP + 0x28],EAX
MOV EDI,EAX
MOV EAX,dword ptr [ESP + 0x20]
MOV EAX,dword ptr [EAX]
MOV dword ptr [EAX + 0x58],EDI
MOV dword ptr [EAX + 0x24],0x1
MOV EAX,dword ptr [ESP + 0x10]
MOV EDI,dword ptr [EAX + 0x88]
TEST EDI,EDI
JZ 0x00014d0b
LEA EAX,[EBP + 0x5d4]
MOV dword ptr [EAX],0x1
LEA EDI,[EBP + 0x5f8]
LEA EBX,[EBP + 0x5f4]
MOV dword ptr [ESP + 0x24],0x1
MOV EAX,dword ptr [EDI]
MOV dword ptr [ESP + 0x4],EBX
LEA EBX,[EBP + 0x778]
LEA EDX,[EAX + 0x1]
MOV dword ptr [EDI],EDX
MOV dword ptr [ESP + 0x8],EBX
LEA EBX,[EBP + 0x5e0]
MOV byte ptr [EAX],0x2f
MOV EAX,dword ptr [EDI]
MOV dword ptr [ESP + 0x1c],EBX
LEA EBX,[EBP + 0x5fc]
LEA EDX,[EAX + 0x1]
MOV dword ptr [EDI],EDX
MOV byte ptr [EAX],0x2a
MOV EAX,dword ptr [ESI]
MOV dword ptr [ESP + 0xc],EBX
MOVZX EDX,byte ptr [EAX]
LEA ESI,[ESI]
CMP DL,0xa
JNZ 0x00014d6c
MOV EBX,dword ptr [ESP + 0x1c]
ADD dword ptr [EBX],0x1
MOV EBX,dword ptr [ESP + 0x4]
MOV EDX,dword ptr [EDI]
MOV ECX,dword ptr [EBX]
LEA EBX,[ECX + -0x1]
CMP EDX,EBX
JNC 0x00014e70
LEA ECX,[EAX + 0x1]
MOV EBX,dword ptr [ESP + 0x8]
MOV dword ptr [ESI],ECX
LEA ECX,[EDX + 0x1]
MOV dword ptr [EDI],ECX
MOVZX EAX,byte ptr [EAX]
MOV byte ptr [EDX],AL
MOV EAX,dword ptr [ESI]
MOV ECX,dword ptr [EBX]
MOVZX EDX,byte ptr [EAX]
CMP DL,0x2a
JZ 0x00014da2
CMP EAX,ECX
JC 0x00014d60
CMP EAX,ECX
JBE 0x00014dad
MOV dword ptr [ESI],ECX
MOVZX EDX,byte ptr [ECX]
MOV EAX,ECX
MOV EBX,dword ptr [ESP + 0x10]
MOV EBX,dword ptr [EBX + 0x50]
TEST EBX,EBX
JZ 0x00014e50
CMP DL,0x2a
JZ 0x00014e30
CMP EAX,ECX
JNZ 0x00014d60
CMP byte ptr [EAX + -0x1],0xa
JZ 0x00014ed0
MOV EBX,EBP
CALL 0x00018c70
LEA EAX,[EBP + 0x774]
CMP byte ptr [EAX],0x0
JNZ 0x00014f68
MOV EAX,dword ptr [ESI]
MOVZX EDX,byte ptr [EAX]
JMP 0x00014d60
LEA EDI,[EBP + 0x76c]
LEA ECX,[EBP + 0x7c4]
MOV dword ptr [ESP + 0x20],EDI
MOV EDX,dword ptr [ECX]
LEA EDI,[EBP + 0x800]
MOV dword ptr [ESP + 0x10],EDI
CMP EAX,EDX
JNC 0x00014ccd
MOV EBX,EBP
CALL 0x00018750
SUB EAX,0x2
MOV dword ptr [ESP + 0x28],EAX
MOV EDI,EAX
JMP 0x00014ce1
CMP byte ptr [EAX + -0x1],0x2f
JNZ 0x00014e59
MOV EAX,dword ptr [EDI]
MOV EBX,dword ptr [ESP + 0x8]
MOV byte ptr [EAX + -0x1],0x20
MOV EAX,dword ptr [EDI]
MOV byte ptr [EAX],0x2a
MOV EAX,dword ptr [ESI]
MOV ECX,dword ptr [EBX]
MOVZX EDX,byte ptr [EAX]
LEA ESI,[ESI]
CMP DL,0x2a
JNZ 0x00014dc1
CMP byte ptr [EAX + 0x1],0x2f
JZ 0x00014f10
MOV EDX,0x2a
JMP 0x00014dc1
MOV EBX,dword ptr [ESP + 0xc]
LEA EDX,[EBP + 0x600]
SUB ESP,0x8
SUB ECX,dword ptr [EBX]
MOV EBX,EBP
LEA EAX,[ECX + 0x191]
MOV dword ptr [ESP + 0x20],ECX
PUSH EAX
PUSH dword ptr [EDX]
MOV dword ptr [ESP + 0x24],EDX
CALL 0x00018620
MOV EDX,dword ptr [ESP + 0x24]
MOV EBX,dword ptr [ESP + 0x1c]
MOV ECX,dword ptr [ESP + 0x28]
MOV dword ptr [EDX],EAX
MOV EDX,dword ptr [EDI]
SUB EDX,dword ptr [EBX]
MOV EBX,dword ptr [ESP + 0x14]
LEA ECX,[EAX + ECX*0x1 + 0x18c]
LEA EDX,[EAX + EDX*0x1 + 0x1]
ADD EAX,0x1
MOV dword ptr [EBX],ECX
MOV EBX,dword ptr [ESP + 0x1c]
ADD ESP,0x10
MOV dword ptr [EBX],EAX
MOV EAX,dword ptr [ESI]
JMP 0x00014d7f
MOV EAX,dword ptr [EDI]
SUB ESP,0x4
MOV EBX,EBP
LEA EDX,[EAX + -0x1]
MOV dword ptr [EDI],EDX
MOV byte ptr [EAX + -0x1],0x0
PUSH dword ptr [ESP + 0x98]
PUSH dword ptr [ESP + 0x98]
PUSH 0x1
CALL 0x0001a130
MOV EAX,dword ptr [ESP + 0x30]
ADD dword ptr [ESP + 0x34],0x1
ADD ESP,0x10
MOV EAX,dword ptr [EAX]
MOV dword ptr [EAX + 0x58],0x1
JMP 0x00014dcf
CMP EAX,ECX
JZ 0x00015803
ADD EAX,0x2
MOV dword ptr [ESI],EAX
CMP EAX,ECX
JZ 0x00015817
MOV EAX,dword ptr [EDI]
LEA EDX,[EAX + 0x1]
MOV dword ptr [EDI],EDX
MOV byte ptr [EAX],0x2a
MOV EAX,dword ptr [EDI]
LEA EDX,[EAX + 0x1]
MOV dword ptr [EDI],EDX
MOV EDX,0x1
MOV byte ptr [EAX],0x2f
MOV EAX,dword ptr [EDI]
MOV byte ptr [EAX],0x0
MOV EAX,dword ptr [ESP + 0x20]
MOV EAX,dword ptr [EAX]
SUB dword ptr [EAX + 0x20],0x1
CMP dword ptr [ESP + 0x24],0x1
CMOVZ EDX,dword ptr [ESP + 0x28]
MOV dword ptr [EAX + 0x58],EDX
ADD ESP,0x7c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [EDI]
LEA EDX,[EAX + 0x1]
MOV dword ptr [EDI],EDX
MOV EDI,dword ptr [ESP + 0x28]
MOV byte ptr [EAX],0x0
MOV EAX,dword ptr [ESP + 0x20]
MOV EAX,dword ptr [EAX]
SUB dword ptr [EAX + 0x20],0x1
MOV dword ptr [EAX + 0x58],EDI
ADD ESP,0x7c
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA EAX,[EBP + 0xffffa21e]
MOV byte ptr [ESP + 0x56],0x0
XOR ESI,ESI
MOV dword ptr [ESP + 0x40],EAX
LEA EAX,[EBP + 0x76c]
MOV dword ptr [ESP + 0x30],0x14
MOV dword ptr [ESP + 0x20],EAX
LEA EAX,[EBP + 0x800]
MOV dword ptr [ESP + 0x44],0x3
MOV dword ptr [ESP + 0x64],0x0
MOV dword ptr [ESP + 0x8],0x0
MOV dword ptr [ESP + 0x10],EAX
LEA EAX,[EBP + 0x7a8]
MOV EBX,EBP
MOV byte ptr [ESP + 0x4],CL
MOV dword ptr [ESP + 0x58],EAX
MOV EAX,dword ptr [EAX]
MOV dword ptr [ESP + 0x50],EAX
MOV EAX,dword ptr [ESP + 0x10]
MOV EAX,dword ptr [EAX + 0x9c]
MOV dword ptr [ESP + 0x2c],EAX
CALL 0x00018750
LEA EDX,[EBP + 0x60c]
MOVZX ECX,byte ptr [ESP + 0x4]
MOV dword ptr [ESP + 0x5c],EAX
SUB EAX,0x2
MOV dword ptr [ESP + 0x60],EAX
LEA EAX,[EBP + 0x61c]
MOV EDI,dword ptr [EAX]
LEA EAX,[EBP + 0x618]
CMP EDI,dword ptr [EAX]
LEA EAX,[EBP + 0x608]
JZ 0x00015596
MOV ESI,dword ptr [ESP + 0x20]
MOV EBX,dword ptr [ESI]
MOV ESI,dword ptr [EBX + 0x60]
TEST ESI,ESI
JNZ 0x000152ab
LEA EBX,[EBP + 0x5c0]
MOV ESI,dword ptr [ESP + 0x10]
MOV EBX,dword ptr [EBX]
TEST EBX,EBX
JZ 0x00015723
MOV ESI,dword ptr [ESI + 0xb8]
MOV dword ptr [ESP + 0x1c],ESI
MOV ESI,dword ptr [EDX]
CMP ESI,dword ptr [EAX]
MOV byte ptr [ESP + 0x4],CL
JZ 0x000156b4
SUB ESP,0xc
MOV EBX,EBP
MOV EAX,dword ptr [ESP + 0x9c]
PUSH dword ptr [EAX]
CALL 0x00019aa0
ADD ESP,0xc
PUSH 0x0
PUSH ESI
PUSH EAX
CALL 0x00019b60
ADD ESP,0x10
MOVZX ECX,byte ptr [ESP + 0x4]
MOV ESI,EAX
CMP EAX,dword ptr [ESP + 0x1c]
JL 0x000150c8
LEA EAX,[EBP + 0x5c0]
MOV EDI,dword ptr [ESP + 0x10]
MOV EDX,dword ptr [EAX]
OR EDX,dword ptr [EDI + 0xfc]
JNZ 0x000154f7
MOV EBX,dword ptr [EDI + 0x8]
LEA EAX,[ESI + -0x1]
CDQ
IDIV EBX
SUB EBX,EDX
LEA EAX,[EBX + ESI*0x1]
MOV dword ptr [ESP + 0x1c],EAX
LEA ESI,[ESI]
MOV EAX,dword ptr [ESP + 0x10]
MOV EDI,dword ptr [ESP + 0x1c]
MOV byte ptr [ESP + 0x57],0x0
XOR ESI,ESI
MOV EAX,dword ptr [EAX + 0x54]
ADD EDI,0x2
MOV dword ptr [ESP + 0xc],EDI
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,dword ptr [ESP + 0x20]
MOV EAX,dword ptr [EAX]
MOV EDI,dword ptr [ESP + 0x40]
TEST EDI,EDI
JZ 0x000155fa
MOV EDI,dword ptr [ESP + 0x1c]
MOV dword ptr [EAX + 0x24],0x0
MOV dword ptr [EAX + 0x58],EDI
LEA EDI,[EBP + 0x5f8]
MOV EAX,dword ptr [EDI]
LEA EDX,[EAX + 0x1]
MOV dword ptr [EDI],EDX
MOV byte ptr [EAX],0x2f
MOV EAX,dword ptr [EDI]
LEA EDX,[EAX + 0x1]
MOV dword ptr [EDI],EDX
MOV byte ptr [EAX],CL
MOV EAX,ESI
TEST AL,AL
JNZ 0x000153bb
MOV EAX,dword ptr [ESP + 0x18]
TEST EAX,EAX
JNZ 0x000156c6
LEA EAX,[EBP + 0x774]
MOV dword ptr [ESP + 0x4c],0x0
MOV dword ptr [ESP + 0x38],0x0
MOV dword ptr [ESP + 0x14],0x0
MOV dword ptr [ESP + 0x24],EAX
CMP byte ptr [EAX],0x0
JNZ 0x00015449
LEA EAX,[EBP + 0x5f4]
LEA ESI,[EBP + 0x77c]
MOV dword ptr [ESP + 0x28],0x0
MOV dword ptr [ESP + 0x8],EDI
MOV dword ptr [ESP + 0x4],EAX
LEA EAX,[EBP + 0x5fc]
MOV dword ptr [ESP + 0x34],EAX
LEA EAX,[EBP + 0x600]
MOV dword ptr [ESP + 0x48],EAX
JMP 0x00015228
CMP DL,0x20
JZ 0x0001525c
CMP DL,0x2a
JNZ 0x000151b8
CMP dword ptr [ESP + 0x30],0x13
JZ 0x00015509
LEA ESI,[ESI]
MOV EDI,dword ptr [ESP + 0x8]
LEA EDX,[EBX + 0x1]
MOV dword ptr [ESP + 0x14],EBX
ADD dword ptr [ESP + 0xc],0x1
MOV dword ptr [EDI],EDX
MOVZX EAX,byte ptr [EAX]
MOV byte ptr [EBX],AL
MOV EAX,dword ptr [ESP + 0x18]
TEST EAX,EAX
SETNZ DL
MOV EDI,dword ptr [ESP + 0x28]
MOV EBX,dword ptr [ESP + 0x2c]
CMP dword ptr [ESP + 0xc],EBX
SETG CL
TEST EDI,EDI
SETNZ AL
TEST CL,AL
JZ 0x000151f8
TEST DL,DL
JNZ 0x00015b09
MOV EAX,dword ptr [ESI]
CMP byte ptr [EAX],0xa
JNZ 0x00015208
LEA EDX,[EBP + 0x5e0]
ADD dword ptr [EDX],0x1
LEA EDX,[EBP + 0x778]
ADD EAX,0x1
MOV dword ptr [ESI],EAX
CMP EAX,dword ptr [EDX]
JZ 0x000154c0
MOV EAX,dword ptr [ESP + 0x24]
CMP byte ptr [EAX],0x0
JNZ 0x000159d7
MOV EAX,dword ptr [ESP + 0x4]
MOV ECX,dword ptr [EAX]
MOV EAX,dword ptr [ESP + 0x8]
MOV EBX,dword ptr [EAX]
LEA EAX,[ECX + -0x1]
CMP EBX,EAX
JNC 0x000152c0
MOV EAX,dword ptr [ESI]
MOVZX EDX,byte ptr [EAX]
CMP DL,0xa
JZ 0x0001531c
JG 0x00015198
CMP DL,0x9
JNZ 0x000151b8
MOV EAX,dword ptr [ESP + 0x18]
TEST EAX,EAX
JZ 0x000154cc
MOV EDI,dword ptr [ESP + 0x28]
CMP dword ptr [ESP + 0x14],EDI
JBE 0x000154cc
MOV dword ptr [ESP + 0x28],EBX
LEA EAX,[EBP + 0x5fc]
MOV EAX,dword ptr [EAX]
CMP EAX,EBX
JZ 0x00015290
CMP byte ptr [EBX + -0x1],0x20
JZ 0x000159b8
MOV EDI,dword ptr [ESP + 0x8]
LEA EAX,[EBX + 0x1]
ADD dword ptr [ESP + 0xc],0x1
MOV EDX,0x1
MOV dword ptr [EDI],EAX
MOV byte ptr [EBX],0x20
JMP 0x000151d8
MOV ESI,dword ptr [ESP + 0x10]
MOV ESI,dword ptr [ESI + 0xc4]
MOV dword ptr [ESP + 0x1c],ESI
JMP 0x0001505a
MOV EAX,dword ptr [ESP + 0x34]
SUB ESP,0x8
MOV EBX,EBP
SUB ECX,dword ptr [EAX]
LEA EAX,[ECX + 0x191]
MOV dword ptr [ESP + 0x44],ECX
PUSH EAX
MOV EDI,dword ptr [ESP + 0x54]
PUSH dword ptr [EDI]
CALL 0x00018620
MOV ECX,dword ptr [ESP + 0x18]
MOV dword ptr [EDI],EAX
MOV EDI,dword ptr [ESP + 0x44]
MOV EDX,dword ptr [ECX]
SUB EDX,dword ptr [EDI]
LEA EBX,[EAX + EDX*0x1 + 0x1]
MOV EDX,dword ptr [ESP + 0x14]
MOV dword ptr [ECX],EBX
MOV ECX,dword ptr [ESP + 0x4c]
ADD ESP,0x10
LEA ECX,[EAX + ECX*0x1 + 0x18c]
ADD EAX,0x1
MOV dword ptr [EDI],EAX
MOV EAX,dword ptr [ESI]
MOV dword ptr [EDX],ECX
MOVZX EDX,byte ptr [EAX]
CMP DL,0xa
JNZ 0x0001524d
CMP dword ptr [ESP + 0x30],0x14
JZ 0x00015c4a
MOV EDI,dword ptr [ESP + 0x18]
TEST EDI,EDI
JZ 0x00015c28
LEA EDX,[EBP + 0x5e0]
ADD EAX,0x1
MOV dword ptr [ESI],EAX
ADD dword ptr [EDX],0x1
LEA EDX,[EBP + 0x778]
CMP EAX,dword ptr [EDX]
JNC 0x000155e0
MOV EAX,dword ptr [ESP + 0x28]
CMP dword ptr [ESP + 0x14],EAX
JNC 0x00015363
CMP EAX,EBX
JNC 0x00015363
MOV EDI,dword ptr [ESP + 0x8]
MOV dword ptr [EDI],EAX
MOV EBX,EBP
MOV dword ptr [ESP + 0x3c],EDX
CALL 0x00018e10
MOV EAX,dword ptr [ESI]
MOV EDX,dword ptr [ESP + 0x3c]
CMP byte ptr [EAX],0xa
JZ 0x00015c05
MOV ECX,dword ptr [ESP + 0x14]
TEST ECX,ECX
JZ 0x00015622
MOV EAX,dword ptr [ESP + 0x38]
TEST EAX,EAX
JZ 0x00015732
MOV EDI,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [EDI]
CMP byte ptr [EAX + -0x1],0x20
JZ 0x0001521b
LEA EDX,[EAX + 0x1]
ADD dword ptr [ESP + 0xc],0x1
MOV dword ptr [EDI],EDX
MOV dword ptr [ESP + 0x28],EAX
MOV byte ptr [EAX],0x20
JMP 0x0001521b
LEA ESI,[EBP + 0x77c]
MOV EAX,dword ptr [EDI]
SUB ESP,0x4
MOV EBX,EBP
MOV EDX,dword ptr [ESI]
MOV byte ptr [EAX],0x0
MOV dword ptr [ESP + 0x8],EDX
PUSH dword ptr [ESP + 0x98]
PUSH dword ptr [ESP + 0x98]
PUSH 0x1
CALL 0x0001a130
MOV EDX,dword ptr [ESP + 0x14]
MOV dword ptr [ESP],EDX
CALL 0x00018720
ADD ESP,0x10
CMP byte ptr [EAX],0xa
JZ 0x000159ae
MOV EDX,dword ptr [ESP + 0x18]
TEST EDX,EDX
JNZ 0x00015a03
MOV EAX,dword ptr [ESI]
LEA ESI,[EBP + 0x778]
CMP dword ptr [ESI],EAX
JBE 0x000159f7
LEA EAX,[EBP + 0x774]
MOV dword ptr [ESP + 0x14],0x0
MOV dword ptr [ESP + 0x4c],0x0
MOV dword ptr [ESP + 0x38],0x0
MOV dword ptr [ESP + 0x24],EAX
MOV EAX,dword ptr [ESP + 0x24]
CMP byte ptr [EAX],0x0
JZ 0x0001583f
MOV EAX,dword ptr [ESP + 0x20]
MOV EDI,dword ptr [ESP + 0x1c]
MOV EAX,dword ptr [EAX]
MOV dword ptr [EAX + 0x58],EDI
MOV EDI,dword ptr [ESP + 0x38]
SUB dword ptr [EAX + 0x20],0x1
MOV dword ptr [EAX + 0x24],EDI
ADD ESP,0x7c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EDX,dword ptr [EDI]
MOV ECX,dword ptr [EDX + 0x54]
TEST ECX,ECX
JNZ 0x00015709
LEA EAX,[EBP + 0x800]
MOV dword ptr [ESP + 0x10],EAX
MOV EAX,dword ptr [ESP + 0x10]
MOV byte ptr [ESP + 0x56],0x1
MOV ECX,0x2a
MOV dword ptr [ESP + 0x30],0x13
MOV EDI,dword ptr [EAX + 0x18]
MOV EAX,dword ptr [EAX + 0x70]
MOV dword ptr [ESP + 0x44],0x0
MOV dword ptr [ESP + 0x40],0x0
TEST EAX,EAX
MOV dword ptr [ESP + 0x64],EAX
SETNZ AL
MOV dword ptr [ESP + 0x8],EDI
MOV ESI,EAX
JMP 0x00014fd0
MOV EBX,EBP
CALL 0x00018c70
JMP 0x0001521b
MOV EAX,dword ptr [ESP + 0x18]
TEST EAX,EAX
JNZ 0x0001527a
CMP DL,0x20
JNZ 0x00015798
MOV EDI,dword ptr [ESP + 0x8]
LEA EAX,[EBX + 0x1]
ADD dword ptr [ESP + 0xc],0x1
MOV dword ptr [EDI],EAX
MOV byte ptr [EBX],0x20
JMP 0x000151f8
LEA EDI,[ESI + 0x1]
MOV dword ptr [EAX],0x0
MOV dword ptr [ESP + 0x1c],EDI
JMP 0x000150c8
CMP byte ptr [EAX + 0x1],0x2f
JZ 0x00015c6a
MOV EDI,dword ptr [ESP + 0x58]
MOV EDI,dword ptr [EDI]
MOV dword ptr [ESP + 0x14],EDI
LEA EDX,[EDI + -0x1]
CMP EDX,dword ptr [ESP + 0x50]
JNZ 0x000151b8
LEA EDX,[EBP + 0x5fc]
MOV EDI,dword ptr [ESP + 0x44]
MOV ECX,dword ptr [EDX]
ADD EDI,ECX
CMP EBX,EDI
JNZ 0x000151b8
MOV EAX,dword ptr [ESP + 0xc]
SUB EAX,dword ptr [ESP + 0x44]
MOV byte ptr [ECX],0x20
MOV ECX,dword ptr [EDX]
ADD EAX,0x2
MOV EBX,dword ptr [ESP + 0x8]
MOV dword ptr [ESP + 0x44],0x1
MOV dword ptr [ESP + 0xc],EAX
LEA EAX,[EBP + 0xffffa228]
MOV byte ptr [ECX + 0x1],0x2a
MOV EDX,dword ptr [EDX]
MOV dword ptr [ESP + 0x40],EAX
LEA EDI,[EDX + 0x2]
MOV dword ptr [ESP + 0x64],0x0
MOV dword ptr [ESP + 0x14],EDI
MOV dword ptr [EBX],EDI
MOV dword ptr [ESP + 0x38],0x1
MOV dword ptr [ESP + 0x18],0x0
JMP 0x000151f8
MOV EBX,dword ptr [EAX]
CMP dword ptr [EDX],EBX
JNZ 0x0001502b
MOV EAX,dword ptr [ESP + 0x20]
MOV EAX,dword ptr [EAX]
MOV EDI,dword ptr [EAX + 0x54]
TEST EDI,EDI
JZ 0x00015a0a
MOV EDI,dword ptr [ESP + 0x10]
MOV EDI,dword ptr [EDI + 0x58]
MOV dword ptr [ESP + 0x18],EDI
TEST EDI,EDI
JNZ 0x00015a0a
MOV dword ptr [ESP + 0xc],0x3
MOV byte ptr [ESP + 0x57],0x1
MOV dword ptr [ESP + 0x1c],0x1
JMP 0x000150eb
MOV EBX,EBP
MOV dword ptr [ESP + 0x3c],EDX
CALL 0x00018c70
MOV EAX,dword ptr [ESP + 0x8]
MOV EDX,dword ptr [ESP + 0x3c]
MOV EBX,dword ptr [EAX]
JMP 0x0001534f
MOV EBX,dword ptr [ESP + 0x8]
TEST EBX,EBX
JZ 0x00015823
LEA EDI,[EBP + 0xffffa222]
MOV byte ptr [ESP + 0x56],0x0
MOV dword ptr [ESP + 0x44],0x3
MOV dword ptr [ESP + 0x40],EDI
JMP 0x000150f7
MOV EDI,dword ptr [ESP + 0x8]
MOVZX EAX,byte ptr [ESP + 0x56]
MOV EDX,0x1
TEST AL,AL
JZ 0x0001564c
MOV EAX,dword ptr [ESP + 0x58]
MOV EBX,dword ptr [ESP + 0x50]
CMP dword ptr [EAX],EBX
JZ 0x0001564c
LEA EAX,[EBP + 0x5fc]
MOV EAX,dword ptr [EAX]
MOV dword ptr [EDI],EAX
JMP 0x0001564e
MOV EAX,dword ptr [EDI]
MOV dword ptr [ESP + 0x4],EDX
SUB ESP,0x4
MOV EBX,EBP
MOV byte ptr [EAX],0x0
PUSH dword ptr [ESP + 0x98]
PUSH dword ptr [ESP + 0x98]
PUSH 0x1
CALL 0x0001a130
ADD ESP,0x10
LEA EAX,[EBP + 0x5d4]
MOV EDX,dword ptr [ESP + 0x4]
MOV dword ptr [EAX],0x0
TEST EDX,EDX
JNZ 0x0001543c
MOV EAX,dword ptr [ESI]
CMP byte ptr [EAX],0xa
JZ 0x000159a0
ADD EAX,0x1
MOV dword ptr [ESI],EAX
LEA ESI,[EBP + 0x778]
CMP EAX,dword ptr [ESI]
JC 0x0001543c
MOV EBX,EBP
CALL 0x00018c70
JMP 0x0001543c
MOV EBX,EBP
CALL 0x00019bf0
SUB ESP,0x4
PUSH 0x0
PUSH EDI
JMP 0x00015081
MOV EAX,dword ptr [EDI]
MOV EBX,EBP
LEA EDX,[EAX + 0x1]
MOV dword ptr [EDI],EDX
MOV byte ptr [EAX],0x20
MOV EAX,dword ptr [ESP + 0x1c]
ADD EAX,0x3
MOV dword ptr [ESP + 0xc],EAX
CALL 0x00018e10
LEA EAX,[EBP + 0x774]
MOV dword ptr [ESP + 0x14],0x0
MOV dword ptr [ESP + 0x4c],0x0
MOV dword ptr [ESP + 0x38],0x0
MOV dword ptr [ESP + 0x24],EAX
JMP 0x00015156
LEA EDI,[EBP + 0x800]
MOV EDX,dword ptr [EDI + 0x58]
MOV dword ptr [ESP + 0x10],EDI
TEST EDX,EDX
JNZ 0x00015480
JMP 0x00014cbd
MOV ESI,dword ptr [ESI + 0xd0]
MOV dword ptr [ESP + 0x1c],ESI
JMP 0x0001505a
MOV dword ptr [ESP + 0x3c],EDX
CALL 0x00018750
MOV EDI,dword ptr [ESP + 0x5c]
MOV EDX,dword ptr [ESP + 0x3c]
LEA ECX,[EDI + -0x1]
CMP EAX,ECX
JNZ 0x00015395
MOV EAX,dword ptr [ESI]
CMP byte ptr [EAX],0x2a
JNZ 0x00015395
CMP byte ptr [EAX + 0x1],0x2f
JZ 0x00015395
ADD EAX,0x1
MOV dword ptr [ESI],EAX
CMP EAX,dword ptr [EDX]
JNC 0x00015d53
CMP byte ptr [EAX],0x20
JNZ 0x00015395
ADD EAX,0x1
MOV dword ptr [ESI],EAX
CMP EAX,dword ptr [EDX]
JC 0x00015395
MOV EBX,EBP
CALL 0x00018c70
JMP 0x00015395
MOV EAX,dword ptr [ESP + 0x10]
MOV EDI,dword ptr [EAX + 0x8]
MOV EAX,dword ptr [ESP + 0x60]
ADD EAX,dword ptr [ESP + 0xc]
SUB EAX,dword ptr [ESP + 0x1c]
SUB EAX,0x1
CDQ
IDIV EDI
MOV EAX,ECX
SUB EDI,EDX
ADD dword ptr [ESP + 0xc],EDI
SUB EAX,EDI
MOV EDX,EDI
CMP EBX,EAX
JNC 0x0001593f
TEST EDX,EDX
JZ 0x00015589
MOV EDI,dword ptr [ESP + 0x8]
LEA EAX,[EBX + 0x1]
MOV dword ptr [EDI],EAX
LEA EAX,[EDX + -0x2]
MOV byte ptr [EBX],0x20
CMP EDX,0x1
JZ 0x000151f8
LEA ESI,[ESI]
MOV EDX,dword ptr [EDI]
SUB EAX,0x1
LEA ECX,[EDX + 0x1]
MOV dword ptr [EDI],ECX
MOV byte ptr [EDX],0x20
CMP EAX,-0x1
JNZ 0x000157e8
MOV dword ptr [ESP + 0x8],EDI
JMP 0x000151f8
MOV EBX,EBP
CALL 0x00018c70
MOV EBX,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [ESI]
MOV ECX,dword ptr [EBX]
JMP 0x00014f18
MOV EBX,EBP
CALL 0x00018c70
JMP 0x00014f25
LEA EDI,[EBP + 0xffffa226]
MOV byte ptr [ESP + 0x56],0x1
MOV dword ptr [ESP + 0x44],0x3
MOV dword ptr [ESP + 0x40],EDI
JMP 0x000150f7
MOV EAX,dword ptr [ESP + 0x1c]
MOV ESI,dword ptr [ESP + 0x44]
MOV dword ptr [ESP + 0xc],EAX
TEST ESI,ESI
JZ 0x00015897
LEA EAX,[EBP + 0x5f4]
MOV ECX,dword ptr [EDI]
MOV dword ptr [ESP + 0x4],EAX
MOV EAX,dword ptr [EAX]
MOV EDX,EAX
SUB EDX,ESI
CMP ECX,EDX
JNC 0x00015b80
MOV EAX,dword ptr [ESP + 0x44]
TEST EAX,EAX
JZ 0x00015887
MOV EBX,dword ptr [ESP + 0x40]
XOR EAX,EAX
MOVZX EDX,byte ptr [EBX + EAX*0x1]
MOV byte ptr [ECX + EAX*0x1],DL
ADD EAX,0x1
CMP EAX,dword ptr [ESP + 0x44]
JC 0x00015877
MOV EAX,dword ptr [ESP + 0x44]
MOV ESI,dword ptr [ESP + 0x1c]
ADD dword ptr [EDI],EAX
ADD ESI,EAX
MOV dword ptr [ESP + 0xc],ESI
MOV EAX,dword ptr [ESP + 0x14]
TEST EAX,EAX
JZ 0x00015bd5
MOVZX EAX,byte ptr [EAX]
CMP AL,0x20
JZ 0x000158b2
CMP AL,0x9
JNZ 0x00015d63
MOV EDX,dword ptr [ESP + 0x4c]
TEST EDX,EDX
JZ 0x00015d78
MOV EAX,dword ptr [ESP + 0x14]
JMP 0x000158cc
TEST EDX,EDX
JZ 0x00015a99
ADD EAX,0x1
MOVZX ECX,byte ptr [EAX]
SUB EDX,0x1
CMP CL,0x20
JZ 0x000158c4
CMP CL,0x9
JZ 0x000158c4
ADD dword ptr [ESP + 0xc],EDX
MOV dword ptr [ESP + 0x4c],EDX
MOV dword ptr [ESP + 0x8],EDX
MOV dword ptr [ESP + 0x14],EAX
MOV EAX,EDX
NEG EAX
LEA ESI,[EBP + 0x5f4]
MOV EDX,dword ptr [EDI]
MOV ECX,dword ptr [ESI]
MOV dword ptr [ESP + 0x4],ESI
ADD EAX,ECX
CMP EDX,EAX
JNC 0x00015ab0
SUB ESP,0x4
MOV EBX,EBP
MOV ESI,dword ptr [ESP + 0xc]
PUSH ESI
PUSH dword ptr [ESP + 0x1c]
PUSH EDX
CALL 0x00012080
MOV EBX,dword ptr [EDI]
MOV EAX,ESI
MOV dword ptr [ESP + 0x24],EBX
ADD EAX,EBX
ADD ESP,0x10
MOV dword ptr [EDI],EAX
MOV EAX,dword ptr [ESP + 0x24]
MOV dword ptr [ESP + 0x4c],0x0
JMP 0x00015156
LEA EDI,[EBP + 0x5fc]
MOV dword ptr [ESP + 0x6c],EDX
SUB ESP,0x8
MOV EBX,EBP
SUB ECX,dword ptr [EDI]
LEA EAX,[EDX + ECX*0x1 + 0x190]
LEA ECX,[EBP + 0x600]
MOV dword ptr [ESP + 0x44],EAX
PUSH EAX
PUSH dword ptr [ECX]
MOV dword ptr [ESP + 0x78],ECX
CALL 0x00018620
MOV EDX,dword ptr [ESP + 0x18]
MOV ECX,dword ptr [ESP + 0x78]
MOV dword ptr [ECX],EAX
MOV ECX,dword ptr [EDX]
SUB ECX,dword ptr [EDI]
LEA EBX,[EAX + ECX*0x1 + 0x1]
MOV ECX,dword ptr [ESP + 0x4c]
MOV dword ptr [EDX],EBX
MOV EDX,dword ptr [ESP + 0x14]
ADD ESP,0x10
LEA ECX,[EAX + ECX*0x1 + -0x5]
ADD EAX,0x1
MOV dword ptr [EDX],ECX
MOV EDX,dword ptr [ESP + 0x6c]
MOV dword ptr [EDI],EAX
JMP 0x000157c5
LEA EDX,[EBP + 0x5e0]
ADD dword ptr [EDX],0x1
JMP 0x00015695
ADD EAX,0x1
MOV dword ptr [ESI],EAX
JMP 0x0001540c
LEA EDX,[EBX + -0x1]
CMP EAX,EDX
JZ 0x00015290
CMP byte ptr [EBX + -0x2],0x2e
MOV EDX,0x1
JNZ 0x000151d8
JMP 0x00015290
MOV EDI,dword ptr [ESP + 0x8]
MOV ECX,dword ptr [ESP + 0x14]
MOV dword ptr [ESP + 0x14],0x0
TEST ECX,ECX
SETZ AL
XOR EDX,EDX
AND AL,byte ptr [ESP + 0x56]
JMP 0x00015630
MOV EBX,EBP
CALL 0x00018c70
JMP 0x0001541a
MOV dword ptr [ESI],EAX
JMP 0x0001540c
MOV EDI,dword ptr [ESP + 0x10]
MOV EBX,dword ptr [EAX + 0x74]
MOV EDI,dword ptr [EDI + 0x54]
MOV dword ptr [ESP + 0x18],EDI
TEST EBX,EBX
JG 0x00015a4d
MOV EDX,dword ptr [EAX + 0x6c]
TEST EDX,EDX
JZ 0x00015a33
CMP byte ptr [EAX + 0x68],0x0
JZ 0x00015a4d
MOV EDI,dword ptr [EAX + 0x84]
TEST EDI,EDI
JNZ 0x00015a4d
MOV EDI,dword ptr [ESP + 0x5c]
MOV byte ptr [ESP + 0x57],0x1
MOV dword ptr [ESP + 0xc],EDI
MOV EDI,dword ptr [ESP + 0x60]
MOV dword ptr [ESP + 0x1c],EDI
JMP 0x000150eb
MOV byte ptr [ESP + 0x4],CL
SUB ESP,0xc
MOV EBX,EBP
MOV EAX,dword ptr [ESP + 0x9c]
PUSH dword ptr [EAX]
CALL 0x00019aa0
ADD ESP,0x10
MOV EDI,dword ptr [ESP + 0x10]
MOVZX ECX,byte ptr [ESP + 0x4]
SUB EAX,dword ptr [EDI + 0xb4]
MOV dword ptr [ESP + 0x1c],EAX
JS 0x00015be5
MOV EDI,EAX
MOV EAX,dword ptr [ESP + 0x20]
MOV byte ptr [ESP + 0x57],0x1
ADD EDI,0x2
MOV EAX,dword ptr [EAX]
MOV dword ptr [ESP + 0xc],EDI
JMP 0x000150eb
MOV dword ptr [ESP + 0x14],EAX
XOR EAX,EAX
MOV dword ptr [ESP + 0x4c],EDX
MOV dword ptr [ESP + 0x8],0x0
JMP 0x000158f3
LEA ESI,[EBP + 0x5fc]
MOV EAX,dword ptr [ESP + 0x4c]
SUB ESP,0x8
MOV EBX,EBP
SUB ECX,dword ptr [ESI]
MOV dword ptr [ESP + 0x30],ESI
LEA ECX,[EAX + ECX*0x1 + 0x190]
LEA ESI,[EBP + 0x600]
PUSH ECX
MOV dword ptr [ESP + 0x40],ECX
PUSH dword ptr [ESI]
CALL 0x00018620
MOV ECX,dword ptr [ESP + 0x44]
MOV EDX,dword ptr [EDI]
MOV dword ptr [ESI],EAX
MOV ESI,dword ptr [ESP + 0x38]
MOV EBX,dword ptr [ESP + 0x14]
LEA ECX,[EAX + ECX*0x1 + -0x5]
ADD ESP,0x10
SUB EDX,dword ptr [ESI]
LEA EDX,[EAX + EDX*0x1 + 0x1]
ADD EAX,0x1
MOV dword ptr [EBX],ECX
MOV dword ptr [EDI],EDX
MOV dword ptr [ESI],EAX
JMP 0x0001590b
MOV EDI,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [EDI]
SUB EAX,0x1
CMP dword ptr [ESP + 0x28],EAX
JC 0x00015d87
LEA EAX,[EBP + 0x778]
CMP dword ptr [ESP + 0x30],0x14
MOV EBX,dword ptr [ESI]
MOV dword ptr [ESP + 0x8],EAX
LEA EAX,[EBP + 0x5e0]
MOV dword ptr [ESP + 0x4],EAX
JZ 0x00015d2c
MOV EAX,dword ptr [ESP + 0x8]
MOV ECX,dword ptr [EAX]
MOVZX EAX,byte ptr [EBX]
LEA EDX,[EAX + -0x9]
CMP DL,0x1
JBE 0x00015b56
CMP AL,0x20
JNZ 0x00015dc6
CMP AL,0xa
JZ 0x00015b6e
ADD EBX,0x1
MOV dword ptr [ESI],EBX
CMP EBX,ECX
JC 0x00015b43
MOV EBX,EBP
CALL 0x00018c70
MOV EBX,dword ptr [ESI]
JMP 0x00015b3d
MOV EAX,dword ptr [ESP + 0x4]
ADD EBX,0x1
MOV dword ptr [ESI],EBX
ADD dword ptr [EAX],0x1
CMP ECX,EBX
JA 0x00015b43
JMP 0x00015b63
LEA EBX,[EBP + 0x5fc]
LEA EDX,[EBP + 0x600]
SUB ESP,0x8
SUB EAX,dword ptr [EBX]
MOV dword ptr [ESP + 0x10],EBX
MOV EBX,EBP
LEA ESI,[ESI + EAX*0x1 + 0x190]
PUSH ESI
PUSH dword ptr [EDX]
MOV dword ptr [ESP + 0x1c],EDX
CALL 0x00018620
MOV EDX,dword ptr [ESP + 0x1c]
MOV EBX,dword ptr [ESP + 0x18]
MOV dword ptr [EDX],EAX
MOV EDX,dword ptr [EDI]
SUB EDX,dword ptr [EBX]
LEA ECX,[EAX + EDX*0x1 + 0x1]
LEA EDX,[EAX + ESI*0x1 + -0x5]
MOV ESI,dword ptr [ESP + 0x14]
ADD EAX,0x1
MOV dword ptr [EDI],ECX
ADD ESP,0x10
MOV dword ptr [ESI],EDX
MOV dword ptr [EBX],EAX
JMP 0x00015869
MOV EBX,EBP
CALL 0x00018e10
MOV EAX,dword ptr [ESP + 0x24]
JMP 0x00015156
MOV EAX,dword ptr [ESP + 0x20]
MOV dword ptr [ESP + 0xc],0x3
MOV byte ptr [ESP + 0x57],0x1
MOV EAX,dword ptr [EAX]
MOV dword ptr [ESP + 0x1c],0x1
JMP 0x000150eb
MOV EBX,dword ptr [ESP + 0x14]
MOV EDI,dword ptr [ESP + 0x8]
MOV dword ptr [ESP + 0x14],0x0
MOV EDX,0x1
TEST EBX,EBX
SETZ AL
AND AL,byte ptr [ESP + 0x56]
JMP 0x00015630
MOV EDX,dword ptr [ESP + 0x14]
MOV EDI,dword ptr [ESP + 0x8]
MOV dword ptr [ESP + 0x14],0x0
TEST EDX,EDX
SETZ AL
XOR EDX,EDX
AND AL,byte ptr [ESP + 0x56]
JMP 0x00015630
MOV EBX,dword ptr [EDI]
MOV EAX,dword ptr [ESP + 0x20]
MOV ESI,dword ptr [ESP + 0x1c]
MOV EAX,dword ptr [EAX]
MOV dword ptr [EAX + 0x58],ESI
MOV ESI,dword ptr [ESP + 0x38]
SUB dword ptr [EAX + 0x20],0x1
MOV dword ptr [EAX + 0x24],ESI
MOV byte ptr [EBX],0x0
JMP 0x00014f5a
MOV EAX,dword ptr [ESP + 0x38]
MOV EDI,dword ptr [ESP + 0x8]
TEST EAX,EAX
JNZ 0x00015cc8
MOV EAX,dword ptr [ESP + 0x14]
TEST EAX,EAX
JZ 0x00015df9
CMP dword ptr [ESP + 0x64],0x0
JZ 0x00015dd0
CMP byte ptr [ESP + 0x57],0x0
JZ 0x00015dd0
MOV byte ptr [EBX],0x0
MOV EBX,EBP
PUSH EAX
PUSH dword ptr [ESP + 0x98]
PUSH dword ptr [ESP + 0x98]
PUSH 0x1
CALL 0x0001a130
MOV EAX,dword ptr [EDI]
LEA EDX,[EAX + 0x1]
MOV dword ptr [EDI],EDX
MOV byte ptr [EAX],0x20
MOV EAX,dword ptr [ESP + 0x14]
ADD ESP,0x10
MOV EBX,dword ptr [EDI]
MOV ECX,dword ptr [EAX]
LEA EAX,[ECX + -0x3]
CMP EBX,EAX
JNC 0x00015e29
LEA EAX,[EBX + 0x1]
SUB ESP,0xc
MOV dword ptr [EDI],EAX
MOV byte ptr [EBX],0x2a
MOV EAX,dword ptr [EDI]
MOV EBX,EBP
LEA EDX,[EAX + 0x1]
MOV dword ptr [EDI],EDX
MOV byte ptr [EAX],0x2f
MOV EAX,dword ptr [EDI]
MOV byte ptr [EAX],0x0
MOV EAX,dword ptr [ESI]
ADD EAX,0x2
MOV dword ptr [ESI],EAX
PUSH EAX
CALL 0x00018720
LEA EDX,[EBP + 0x778]
ADD ESP,0x10
MOV dword ptr [ESI],EAX
CMP EAX,dword ptr [EDX]
JNC 0x00015e1f
MOV EAX,dword ptr [ESP + 0x20]
MOV ESI,dword ptr [ESP + 0x1c]
MOV EAX,dword ptr [EAX]
MOV dword ptr [EAX + 0x58],ESI
MOV ESI,dword ptr [ESP + 0x38]
SUB dword ptr [EAX + 0x20],0x1
MOV dword ptr [EAX + 0x24],ESI
JMP 0x00014f5a
SUB ESP,0xc
PUSH EBX
MOV EBX,EBP
CALL 0x00018720
ADD ESP,0x10
LEA EDX,[EAX + -0x1]
MOV dword ptr [ESI],EDX
CMP byte ptr [EAX + -0x1],0xa
JZ 0x00015c48
MOV EAX,dword ptr [EDI]
MOV byte ptr [EAX],0x0
JMP 0x000159db
CALL 0x00018c70
MOV EAX,dword ptr [ESI]
MOV EDX,dword ptr [ESP + 0x3c]
JMP 0x00015770
MOV ESI,dword ptr [ESP + 0x4c]
ADD dword ptr [ESP + 0xc],ESI
MOV EAX,ESI
MOV dword ptr [ESP + 0x8],ESI
NEG EAX
JMP 0x000158f3
XOR EAX,EAX
MOV dword ptr [ESP + 0x8],0x0
JMP 0x000158f3
MOV EAX,dword ptr [ESP + 0x28]
MOV byte ptr [EAX],0x0
MOV EBX,dword ptr [EDI]
LEA EDX,[EAX + 0x1]
MOV dword ptr [EDI],EAX
MOV EAX,dword ptr [ESP + 0xc]
SUB EBX,EDX
SUB EAX,EBX
MOV dword ptr [ESP + 0x4c],EBX
MOV EBX,dword ptr [ESP + 0x2c]
CMP EBX,EAX
CMOVGE EAX,EBX
MOV EBX,dword ptr [ESP + 0x14]
MOV dword ptr [ESP + 0x14],EDX
TEST EBX,EBX
MOV dword ptr [ESP + 0x2c],EAX
SETZ AL
XOR EDX,EDX
AND AL,byte ptr [ESP + 0x56]
JMP 0x00015630
SUB EBX,0x1
MOV dword ptr [ESI],EBX
JMP 0x00015d49
MOVZX EAX,byte ptr [EBX + -0x1]
CMP AL,0x20
JZ 0x00015cc8
CMP AL,0x9
JZ 0x00015cc8
LEA EAX,[EBX + 0x1]
MOV dword ptr [EDI],EAX
MOV EAX,dword ptr [ESP + 0x4]
MOV byte ptr [EBX],0x20
MOV EBX,dword ptr [EDI]
MOV ECX,dword ptr [EAX]
JMP 0x00015cc8
LEA EAX,[EBP + 0x5fc]
MOV EAX,dword ptr [EAX]
CMP EAX,EBX
JZ 0x00015e0a
CMP byte ptr [EAX],0x2f
JZ 0x00015dd0
LEA EDX,[EAX + 0x1]
MOV dword ptr [EDI],EDX
MOV byte ptr [EAX],0x20
MOV EAX,dword ptr [ESP + 0x4]
MOV EBX,dword ptr [EDI]
MOV ECX,dword ptr [EAX]
JMP 0x00015cc8
CALL 0x00018c70
JMP 0x00015d0f
LEA EAX,[EBP + 0x5fc]
LEA EDX,[EBP + 0x600]
MOV EBX,EBP
SUB ECX,dword ptr [EAX]
MOV dword ptr [ESP + 0x8],EAX
PUSH EAX
PUSH EAX
LEA EAX,[ECX + 0x193]
MOV dword ptr [ESP + 0x18],ECX
PUSH EAX
PUSH dword ptr [EDX]
MOV dword ptr [ESP + 0x1c],EDX
CALL 0x00018620
MOV EDX,dword ptr [ESP + 0x1c]
MOV EBX,dword ptr [ESP + 0x18]
MOV ECX,dword ptr [ESP + 0x20]
MOV dword ptr [EDX],EAX
MOV EDX,dword ptr [EDI]
SUB EDX,dword ptr [EBX]
LEA EBX,[EAX + EDX*0x1 + 0x1]
LEA EDX,[EAX + ECX*0x1 + 0x18e]
MOV ECX,dword ptr [ESP + 0x14]
ADD EAX,0x1
MOV dword ptr [ECX],EDX
MOV ECX,dword ptr [ESP + 0x18]
ADD ESP,0x10
MOV dword ptr [ECX],EAX
JMP 0x00015cd3
(translation_unit "void FUN_00014c50(undefined4 *param_1,undefined4 param_2)\n\n{\n  int *piVar1;\n  int *piVar2;\n  code *pcVar3;\n  int *piVar4;\n  uint *puVar5;\n  uint *puVar6;\n  undefined4 *puVar7;\n  int *piVar8;\n  byte bVar9;\n  byte *pbVar10;\n  byte *pbVar11;\n  char cVar12;\n  bool bVar13;\n  bool bVar14;\n  int iVar15;\n  int iVar16;\n  undefined4 uVar17;\n  char *pcVar18;\n  char *pcVar19;\n  undefined1 *puVar20;\n  uint uVar21;\n  int iVar22;\n  int iVar23;\n  uint uVar24;\n  undefined1 uVar25;\n  int iVar26;\n  char *pcVar27;\n  char cVar28;\n  void *__dest;\n  int unaff_EBP;\n  bool bVar29;\n  bool bVar30;\n  size_t local_84;\n  int local_80;\n  char *local_78;\n  int local_74;\n  int local_70;\n  int *local_6c;\n  char *local_68;\n  char *local_64;\n  int local_60;\n  int local_5c;\n  int local_54;\n  int local_4c;\n  uint local_48;\n  size_t local_40;\n  int local_28;\n  \n  FUN_00013b71();\n  FUN_00017e00();\n  if (*(char *)(*(int *)(unaff_EBP + 0x12caa) + 1) == '/') {\n    local_4c = unaff_EBP + 0xc5c8;\n    bVar14 = false;\n    bVar29 = false;\n    local_5c = 0x14;\n    local_48 = 3;\n    local_28 = 0;\n    local_84 = 0;\n    uVar25 = 0x2f;\nLAB_00014fd0:\n    local_6c = (int *)(&DAT_00012b16 + unaff_EBP);\n    piVar1 = (int *)(unaff_EBP + 0x12b52);\n    iVar15 = *piVar1;\n    local_60 = *(int *)(unaff_EBP + 0x12c46);\n    iVar16 = FUN_00018750();\n    iVar26 = *(int *)(unaff_EBP + 0x129c6);\n    if ((iVar26 == *(int *)(unaff_EBP + 0x129c2)) &&\n       (*(int *)(unaff_EBP + 0x129b6) == *(int *)(unaff_EBP + 0x129b2))) {\n      iVar26 = *local_6c;\n      if ((*(int *)(iVar26 + 0x54) == 0) || (*(int *)(unaff_EBP + 0x12c02) != 0)) {\n        local_74 = *(int *)(unaff_EBP + 0x12bfe);\n        if ((*(int *)(iVar26 + 0x74) < 1) &&\n           ((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))))) {\n          bVar13 = true;\n          local_80 = iVar16;\n          local_70 = iVar16 + -2;\n        }\n        else {\n          local_70 = FUN_00019aa0(*param_1);\n          local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);\n          if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }\n        }\n      }\n      else {\n        local_80 = 3;\n        bVar13 = true;\n        local_70 = 1;\n        local_74 = 0;\n      }\n    }\n    else {\n      if (*(int *)(*local_6c + 0x60) == 0) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0) {\n          local_70 = *(int *)(unaff_EBP + 0x12c7a);\n        }\n        else {\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }\n      }\n      else {\n        local_70 = *(int *)(unaff_EBP + 0x12c6e);\n      }\n      iVar23 = *(int *)(unaff_EBP + 0x129b6);\n      if (iVar23 == *(int *)(unaff_EBP + 0x129b2)) {\n        uVar17 = FUN_00019bf0();\n      }\n      else {\n        uVar17 = FUN_00019aa0(*param_1);\n        iVar26 = iVar23;\n      }\n      iVar26 = FUN_00019b60(uVar17,iVar26,0);\n      if (local_70 <= iVar26) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0) {\n          local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;\n        }\n        else {\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }\n      }\n      bVar13 = false;\n      bVar29 = false;\n      local_74 = *(int *)(unaff_EBP + 0x12bfe);\n      iVar26 = *local_6c;\n      local_80 = local_70 + 2;\n    }\n    if (local_4c == 0) {\n      if (local_84 == 0) {\n        local_4c = unaff_EBP + 0xc5d0;\n        bVar14 = true;\n        local_48 = 3;\n      }\n      else {\n        local_4c = unaff_EBP + 0xc5cc;\n        bVar14 = false;\n        local_48 = 3;\n      }\n    }\n    *(undefined4 *)(iVar26 + 0x24) = 0;\n    *(int *)(iVar26 + 0x58) = local_70;\n    puVar5 = (uint *)(unaff_EBP + 0x129a2);\n    puVar20 = (undefined1 *)*puVar5;\n    *puVar5 = (uint)(puVar20 + 1);\n    *puVar20 = 0x2f;\n    puVar20 = (undefined1 *)*puVar5;\n    *puVar5 = (uint)(puVar20 + 1);\n    *puVar20 = uVar25;\n    if (bVar29) {\n      puVar7 = (undefined4 *)(&DAT_00012b26 + unaff_EBP);\n      uVar17 = *puVar7;\n      *(undefined1 *)*puVar5 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      pcVar18 = (char *)FUN_00018720(uVar17);\n      if (*pcVar18 == '\n') {\n        pcVar18 = pcVar18 + 1;\n        *puVar7 = pcVar18;\n      }\n      else if (local_74 == 0) {\n        pcVar18 = (char *)*puVar7;\n      }\n      else {\n        *puVar7 = pcVar18;\n      }\n      if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n        FUN_00018c70();\n      }\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n      goto LAB_0001543c;\n    }\n    if (local_74 == 0) {\n      local_40 = 0;\n      local_54 = 0;\n      local_78 = (char *)0x0;\n    }\n    else {\n      puVar20 = (undefined1 *)*puVar5;\n      *puVar5 = (uint)(puVar20 + 1);\n      *puVar20 = 0x20;\n      local_80 = local_70 + 3;\n      FUN_00018e10();\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n    }\n    while (local_68 = &DAT_00012b1e + unaff_EBP, *local_68 == '\0') {\n      piVar2 = (int *)(unaff_EBP + 0x1299e);\n      puVar6 = (uint *)(&DAT_00012b26 + unaff_EBP);\n      local_64 = (char *)0x0;\n      piVar4 = (int *)(unaff_EBP + 0x129a6);\nLAB_00015228:\n      pcVar27 = local_78;\n      iVar26 = *piVar2;\n      pcVar18 = (char *)*puVar5;\n      if ((char *)(iVar26 + -1) <= pcVar18) {\n        iVar23 = *piVar4;\n        iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar22;\n        pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar4));\n        *puVar5 = (uint)pcVar18;\n        iVar26 = iVar22 + 0x18c + (iVar26 - iVar23);\n        *piVar4 = iVar22 + 1;\n        pcVar19 = (char *)*puVar6;\n        *piVar2 = iVar26;\n        cVar28 = *pcVar19;\n        cVar12 = cVar28 + -10;\n        bVar29 = cVar12 == '\0';\n        if (!bVar29) goto LAB_0001524d;\nLAB_0001531c:\n        if (local_5c == 0x14) {\nLAB_00015c4a:\n          iVar15 = *local_6c;\n          *(int *)(iVar15 + 0x58) = local_70;\n          *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n          *(int *)(iVar15 + 0x24) = local_54;\n          *pcVar18 = '\0';\n          return;\n        }\n        if (local_74 == 0) {\n          local_78 = (char *)0x0;\n          bVar29 = false;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        *puVar6 = (uint)(pcVar19 + 1);\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;\n        if (*(char **)pcVar3 <= pcVar19 + 1) {\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar5;\n        }\n        if ((local_78 < local_64) && (local_64 < pcVar18)) {\n          *puVar5 = (uint)local_64;\n        }\n        FUN_00018e10();\n        if (*(char *)*puVar6 == '\n') {\n          local_78 = (char *)0x0;\n          bVar29 = true;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        if (local_78 == (char *)0x0) {\n          bVar29 = true;\n          bVar30 = bVar14;\n          goto LAB_00015630;\n        }\n        if ((((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')) && (pcVar18[1] != '/')) {\n          pcVar18 = pcVar18 + 1;\n          *puVar6 = (uint)pcVar18;\n          if (*(char **)pcVar3 <= pcVar18) {\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }\n          if ((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))\n          {\n            FUN_00018c70();\n          }\n        }\n        pcVar18 = (char *)*puVar5;\n        if (pcVar18[-1] != ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n          local_64 = pcVar18;\n        }\n        goto LAB_0001521b;\n      }\n      pcVar19 = (char *)*puVar6;\n      cVar28 = *pcVar19;\n      cVar12 = cVar28 + -10;\n      bVar29 = cVar28 == '\n';\n      if (bVar29) goto LAB_0001531c;\nLAB_0001524d:\n      if (bVar29 || SBORROW1(cVar28,'\n') != cVar12 < '\0') {\n        if (cVar28 != '\t') goto LAB_000151b8;\nLAB_0001525c:\n        if (((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)) {\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }\n        if (cVar28 == ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n        }\n        else {\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }\nLAB_000151f8:\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)) {\n          FUN_00018c70();\n        }\nLAB_0001521b:\n        if (*local_68 != '\0') goto LAB_000159db;\n        goto LAB_00015228;\n      }\n      if (cVar28 == ' ') goto LAB_0001525c;\n      if ((cVar28 != '*') || (local_5c != 0x13)) goto LAB_000151b8;\n      if (pcVar19[1] == '/') {\n        if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }\n          if ((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')) {\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }\n        }\nLAB_00015cc8:\n        if ((char *)(iVar26 + -3) <= pcVar18) {\n          piVar1 = (int *)(unaff_EBP + 0x129a6);\n          iVar15 = *piVar1;\n          iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);\n          *(int *)(unaff_EBP + 0x129aa) = iVar16;\n          pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));\n          *piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);\n          *piVar1 = iVar16 + 1;\n        }\n        *puVar5 = (uint)(pcVar18 + 1);\n        *pcVar18 = '*';\n        puVar20 = (undefined1 *)*puVar5;\n        *puVar5 = (uint)(puVar20 + 1);\n        *puVar20 = 0x2f;\n        *(undefined1 *)*puVar5 = 0;\n        uVar24 = *puVar6;\n        *puVar6 = uVar24 + 2;\n        uVar24 = FUN_00018720(uVar24 + 2);\n        *puVar6 = uVar24;\n        if (*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= uVar24) {\n          FUN_00018c70();\n        }\n        iVar15 = *local_6c;\n        *(int *)(iVar15 + 0x58) = local_70;\n        *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n        *(int *)(iVar15 + 0x24) = local_54;\n        return;\n      }\n      if (*piVar1 + -1 == iVar15) {\n        piVar8 = (int *)(unaff_EBP + 0x129a6);\n        if (pcVar18 != (undefined1 *)*piVar8 + local_48) goto LAB_000151b8;\n        *(undefined1 *)*piVar8 = 0x20;\n        local_80 = (local_80 - local_48) + 2;\n        local_48 = 1;\n        local_4c = unaff_EBP + 0xc5d2;\n        *(undefined1 *)(*piVar8 + 1) = 0x2a;\n        local_78 = (char *)(*piVar8 + 2);\n        local_28 = 0;\n        *puVar5 = (uint)local_78;\n        local_54 = 1;\n        goto LAB_00015589;\n      }\nLAB_000151b8:\n      local_80 = local_80 + 1;\n      *puVar5 = (uint)(pcVar18 + 1);\n      *pcVar18 = *pcVar19;\n      bVar29 = local_74 != 0;\n      local_78 = pcVar18;\nLAB_000151d8:\n      if ((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar29)) goto LAB_000151f8;\n      if (local_64 < (char *)(*puVar5 - 1)) {\n        *local_64 = '\0';\n        uVar24 = *puVar5;\n        *puVar5 = (uint)local_64;\n        local_40 = uVar24 - (int)(local_64 + 1);\n        iVar26 = local_80 - local_40;\n        if ((int)(local_80 - local_40) <= local_60) {\n          iVar26 = local_60;\n        }\n        bVar30 = local_78 == (char *)0x0;\n        bVar29 = false;\n        local_78 = local_64 + 1;\n        local_60 = iVar26;\n        bVar30 = (bool)(bVar30 & bVar14);\n        goto LAB_00015630;\n      }\n      pcVar18 = (char *)*puVar6;\n      if (local_5c != 0x14) {\n        do {\n          pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2);\n          do {\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          } while (pcVar18 < pcVar27);\nLAB_00015b63:\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar6;\n        } while( true );\n      }\n      iVar26 = FUN_00018720(pcVar18);\n      *puVar6 = iVar26 - 1;\n      if (*(char *)(iVar26 + -1) == '\n') {\n        pcVar18 = (char *)*puVar5;\n        goto LAB_00015c4a;\n      }\nLAB_00015d49:\n      *(undefined1 *)*puVar5 = 0;\nLAB_000159db:\n      pcVar18 = local_78;\n      local_78 = (char *)0x0;\n      bVar29 = false;\n      bVar30 = (bool)(pcVar18 == (char *)0x0 & bVar14);\nLAB_00015630:\n      if ((bVar30) && (*piVar1 != iVar15)) {\n        puVar20 = *(undefined1 **)(unaff_EBP + 0x129a6);\n        *puVar5 = (uint)puVar20;\n      }\n      else {\n        puVar20 = (undefined1 *)*puVar5;\n      }\n      *puVar20 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      *(undefined4 *)(unaff_EBP + 0x1297e) = 0;\n      if (!bVar29) {\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n          FUN_00018c70();\n        }\n      }\nLAB_0001543c:\n      local_68 = &DAT_00012b1e + unaff_EBP;\n      if (*local_68 != '\0') break;\n      local_80 = local_70;\n      if (local_48 != 0) {\n        uVar24 = *puVar5;\n        iVar26 = *(int *)(unaff_EBP + 0x1299e);\n        if (iVar26 - local_48 <= uVar24) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_48 + 400 + (iVar26 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          uVar24 = iVar23 + 1 + (*puVar5 - *piVar2);\n          *puVar5 = uVar24;\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *piVar2 = iVar23 + 1;\n        }\n        if (local_48 != 0) {\n          uVar21 = 0;\n          do {\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          } while (uVar21 < local_48);\n        }\n        *puVar5 = *puVar5 + local_48;\n        local_80 = local_70 + local_48;\n      }\n      if (local_78 == (char *)0x0) {\n        FUN_00018e10();\n      }\n      else {\n        if ((*local_78 == ' ') || (*local_78 == '\t')) {\n          if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }\n        }\n        else {\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }\nLAB_000158f3:\n        __dest = (void *)*puVar5;\n        iVar23 = *(int *)(unaff_EBP + 0x1299e);\n        if ((void *)(iVar26 + iVar23) <= __dest) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_40 + 400 + (iVar23 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          __dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *puVar5 = (uint)__dest;\n          *piVar2 = iVar23 + 1;\n        }\n        memmove(__dest,local_78,local_84);\n        local_78 = (char *)*puVar5;\n        *puVar5 = (uint)(local_78 + local_84);\n        local_40 = 0;\n      }\n    }\n    iVar15 = *local_6c;\n    *(int *)(iVar15 + 0x58) = local_70;\n    *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n    *(int *)(iVar15 + 0x24) = local_54;\n    return;\n  }\n  piVar1 = (int *)(&DAT_00012b26 + unaff_EBP);\n  pbVar10 = (byte *)*piVar1;\n  bVar9 = *pbVar10;\n  if (bVar9 == 0x2a || bVar9 == 0x5f) {\n    pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);\n  }\n  else {\n    if (((bVar9 & 0xef) != 0x2d) &&\n       ((*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0 ||\n        (*(int *)(unaff_EBP + 0x12c02) != 0)))) {\n      bVar14 = true;\n      uVar25 = 0x2a;\n      local_5c = 0x13;\n      local_84 = *(size_t *)(FUN_00012bc0 + unaff_EBP + 2);\n      local_28 = *(int *)(unaff_EBP + 0x12c1a);\n      local_48 = 0;\n      local_4c = 0;\n      bVar29 = local_28 != 0;\n      goto LAB_00014fd0;\n    }\n    pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);\n  }\n  if ((pbVar10 < pbVar11) || (pbVar11 + *(int *)(unaff_EBP + 0x12b7a) < pbVar10)) {\n    iVar15 = FUN_00018750();\n    iVar15 = iVar15 + -2;\n  }\n  else {\n    iVar15 = *(int *)(unaff_EBP + 0x12b7e);\n  }\n  local_6c = (int *)(&DAT_00012b16 + unaff_EBP);\n  iVar26 = *local_6c;\n  *(int *)(iVar26 + 0x58) = iVar15;\n  *(undefined4 *)(iVar26 + 0x24) = 1;\n  if (*(int *)(unaff_EBP + 0x12c32) != 0) {\n    *(undefined4 *)(unaff_EBP + 0x1297e) = 1;\n  }\n  piVar2 = (int *)(unaff_EBP + 0x129a2);\n  local_68 = (char *)0x1;\n  puVar20 = (undefined1 *)*piVar2;\n  pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;\n  *piVar2 = (int)(puVar20 + 1);\n  *puVar20 = 0x2f;\n  puVar20 = (undefined1 *)*piVar2;\n  piVar4 = (int *)(unaff_EBP + 0x129a6);\n  *piVar2 = (int)(puVar20 + 1);\n  *puVar20 = 0x2a;\n  pcVar18 = (char *)*piVar1;\n  cVar28 = *pcVar18;\n  do {\n    do {\n      if (cVar28 == '\n') {\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n      }\n      pcVar27 = (char *)*piVar2;\n      iVar26 = *(int *)(unaff_EBP + 0x1299e);\n      if ((char *)(iVar26 - 1U) <= pcVar27) {\n        iVar26 = iVar26 - *piVar4;\n        iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar16;\n        pcVar27 = (char *)(iVar16 + 1 + (*piVar2 - *piVar4));\n        *(int *)(unaff_EBP + 0x1299e) = iVar16 + 0x18c + iVar26;\n        *piVar4 = iVar16 + 1;\n        pcVar18 = (char *)*piVar1;\n      }\n      *piVar1 = (int)(pcVar18 + 1);\n      *piVar2 = (int)(pcVar27 + 1);\n      *pcVar27 = *pcVar18;\n      pcVar18 = (char *)*piVar1;\n      pcVar27 = *(char **)pcVar3;\n      cVar28 = *pcVar18;\n    } while ((cVar28 != '*') && (pcVar18 < pcVar27));\n    if (pcVar27 < pcVar18) {\n      *piVar1 = (int)pcVar27;\n      cVar28 = *pcVar27;\n      pcVar18 = pcVar27;\n    }\n    if (*(int *)(unaff_EBP + 0x12bfa) == 0) {\nLAB_00014e50:\n      if (cVar28 == '*') {\nLAB_00014e59:\n        if (pcVar18[1] == '/') {\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }\n        cVar28 = '*';\n      }\n    }\n    else if (cVar28 == '*') {\n      if (pcVar18[-1] == '/') {\n        *(undefined1 *)(*piVar2 + -1) = 0x20;\n        *(undefined1 *)*piVar2 = 0x2a;\n        pcVar18 = (char *)*piVar1;\n        pcVar27 = *(char **)pcVar3;\n        cVar28 = *pcVar18;\n        goto LAB_00014e50;\n      }\n      goto LAB_00014e59;\n    }\n    if (pcVar18 == pcVar27) {\n      if (pcVar18[-1] == '\n') {\n        iVar26 = *piVar2;\n        *piVar2 = iVar26 + -1;\n        *(undefined1 *)(iVar26 + -1) = 0;\n        FUN_0001a130(1,param_1,param_2);\n        local_68 = (char *)((int)local_68 + 1);\n        *(undefined4 *)(*local_6c + 0x58) = 1;\n      }\n      FUN_00018c70();\n      if ((&DAT_00012b1e)[unaff_EBP] != '\0') {\n        puVar20 = (undefined1 *)*piVar2;\n        *piVar2 = (int)(puVar20 + 1);\n        *puVar20 = 0;\n        iVar26 = *local_6c;\n        piVar1 = (int *)(iVar26 + 0x20);\n        *piVar1 = *piVar1 + -1;\n        *(int *)(iVar26 + 0x58) = iVar15;\n        return;\n      }\n      pcVar18 = (char *)*piVar1;\n      cVar28 = *pcVar18;\n    }\n  } while( true );\n}\n\n" (function_definition "void FUN_00014c50(undefined4 *param_1,undefined4 param_2)\n\n{\n  int *piVar1;\n  int *piVar2;\n  code *pcVar3;\n  int *piVar4;\n  uint *puVar5;\n  uint *puVar6;\n  undefined4 *puVar7;\n  int *piVar8;\n  byte bVar9;\n  byte *pbVar10;\n  byte *pbVar11;\n  char cVar12;\n  bool bVar13;\n  bool bVar14;\n  int iVar15;\n  int iVar16;\n  undefined4 uVar17;\n  char *pcVar18;\n  char *pcVar19;\n  undefined1 *puVar20;\n  uint uVar21;\n  int iVar22;\n  int iVar23;\n  uint uVar24;\n  undefined1 uVar25;\n  int iVar26;\n  char *pcVar27;\n  char cVar28;\n  void *__dest;\n  int unaff_EBP;\n  bool bVar29;\n  bool bVar30;\n  size_t local_84;\n  int local_80;\n  char *local_78;\n  int local_74;\n  int local_70;\n  int *local_6c;\n  char *local_68;\n  char *local_64;\n  int local_60;\n  int local_5c;\n  int local_54;\n  int local_4c;\n  uint local_48;\n  size_t local_40;\n  int local_28;\n  \n  FUN_00013b71();\n  FUN_00017e00();\n  if (*(char *)(*(int *)(unaff_EBP + 0x12caa) + 1) == '/') {\n    local_4c = unaff_EBP + 0xc5c8;\n    bVar14 = false;\n    bVar29 = false;\n    local_5c = 0x14;\n    local_48 = 3;\n    local_28 = 0;\n    local_84 = 0;\n    uVar25 = 0x2f;\nLAB_00014fd0:\n    local_6c = (int *)(&DAT_00012b16 + unaff_EBP);\n    piVar1 = (int *)(unaff_EBP + 0x12b52);\n    iVar15 = *piVar1;\n    local_60 = *(int *)(unaff_EBP + 0x12c46);\n    iVar16 = FUN_00018750();\n    iVar26 = *(int *)(unaff_EBP + 0x129c6);\n    if ((iVar26 == *(int *)(unaff_EBP + 0x129c2)) &&\n       (*(int *)(unaff_EBP + 0x129b6) == *(int *)(unaff_EBP + 0x129b2))) {\n      iVar26 = *local_6c;\n      if ((*(int *)(iVar26 + 0x54) == 0) || (*(int *)(unaff_EBP + 0x12c02) != 0)) {\n        local_74 = *(int *)(unaff_EBP + 0x12bfe);\n        if ((*(int *)(iVar26 + 0x74) < 1) &&\n           ((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))))) {\n          bVar13 = true;\n          local_80 = iVar16;\n          local_70 = iVar16 + -2;\n        }\n        else {\n          local_70 = FUN_00019aa0(*param_1);\n          local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);\n          if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }\n        }\n      }\n      else {\n        local_80 = 3;\n        bVar13 = true;\n        local_70 = 1;\n        local_74 = 0;\n      }\n    }\n    else {\n      if (*(int *)(*local_6c + 0x60) == 0) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0) {\n          local_70 = *(int *)(unaff_EBP + 0x12c7a);\n        }\n        else {\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }\n      }\n      else {\n        local_70 = *(int *)(unaff_EBP + 0x12c6e);\n      }\n      iVar23 = *(int *)(unaff_EBP + 0x129b6);\n      if (iVar23 == *(int *)(unaff_EBP + 0x129b2)) {\n        uVar17 = FUN_00019bf0();\n      }\n      else {\n        uVar17 = FUN_00019aa0(*param_1);\n        iVar26 = iVar23;\n      }\n      iVar26 = FUN_00019b60(uVar17,iVar26,0);\n      if (local_70 <= iVar26) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0) {\n          local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;\n        }\n        else {\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }\n      }\n      bVar13 = false;\n      bVar29 = false;\n      local_74 = *(int *)(unaff_EBP + 0x12bfe);\n      iVar26 = *local_6c;\n      local_80 = local_70 + 2;\n    }\n    if (local_4c == 0) {\n      if (local_84 == 0) {\n        local_4c = unaff_EBP + 0xc5d0;\n        bVar14 = true;\n        local_48 = 3;\n      }\n      else {\n        local_4c = unaff_EBP + 0xc5cc;\n        bVar14 = false;\n        local_48 = 3;\n      }\n    }\n    *(undefined4 *)(iVar26 + 0x24) = 0;\n    *(int *)(iVar26 + 0x58) = local_70;\n    puVar5 = (uint *)(unaff_EBP + 0x129a2);\n    puVar20 = (undefined1 *)*puVar5;\n    *puVar5 = (uint)(puVar20 + 1);\n    *puVar20 = 0x2f;\n    puVar20 = (undefined1 *)*puVar5;\n    *puVar5 = (uint)(puVar20 + 1);\n    *puVar20 = uVar25;\n    if (bVar29) {\n      puVar7 = (undefined4 *)(&DAT_00012b26 + unaff_EBP);\n      uVar17 = *puVar7;\n      *(undefined1 *)*puVar5 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      pcVar18 = (char *)FUN_00018720(uVar17);\n      if (*pcVar18 == '\n') {\n        pcVar18 = pcVar18 + 1;\n        *puVar7 = pcVar18;\n      }\n      else if (local_74 == 0) {\n        pcVar18 = (char *)*puVar7;\n      }\n      else {\n        *puVar7 = pcVar18;\n      }\n      if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n        FUN_00018c70();\n      }\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n      goto LAB_0001543c;\n    }\n    if (local_74 == 0) {\n      local_40 = 0;\n      local_54 = 0;\n      local_78 = (char *)0x0;\n    }\n    else {\n      puVar20 = (undefined1 *)*puVar5;\n      *puVar5 = (uint)(puVar20 + 1);\n      *puVar20 = 0x20;\n      local_80 = local_70 + 3;\n      FUN_00018e10();\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n    }\n    while (local_68 = &DAT_00012b1e + unaff_EBP, *local_68 == '\0') {\n      piVar2 = (int *)(unaff_EBP + 0x1299e);\n      puVar6 = (uint *)(&DAT_00012b26 + unaff_EBP);\n      local_64 = (char *)0x0;\n      piVar4 = (int *)(unaff_EBP + 0x129a6);\nLAB_00015228:\n      pcVar27 = local_78;\n      iVar26 = *piVar2;\n      pcVar18 = (char *)*puVar5;\n      if ((char *)(iVar26 + -1) <= pcVar18) {\n        iVar23 = *piVar4;\n        iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar22;\n        pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar4));\n        *puVar5 = (uint)pcVar18;\n        iVar26 = iVar22 + 0x18c + (iVar26 - iVar23);\n        *piVar4 = iVar22 + 1;\n        pcVar19 = (char *)*puVar6;\n        *piVar2 = iVar26;\n        cVar28 = *pcVar19;\n        cVar12 = cVar28 + -10;\n        bVar29 = cVar12 == '\0';\n        if (!bVar29) goto LAB_0001524d;\nLAB_0001531c:\n        if (local_5c == 0x14) {\nLAB_00015c4a:\n          iVar15 = *local_6c;\n          *(int *)(iVar15 + 0x58) = local_70;\n          *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n          *(int *)(iVar15 + 0x24) = local_54;\n          *pcVar18 = '\0';\n          return;\n        }\n        if (local_74 == 0) {\n          local_78 = (char *)0x0;\n          bVar29 = false;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        *puVar6 = (uint)(pcVar19 + 1);\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;\n        if (*(char **)pcVar3 <= pcVar19 + 1) {\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar5;\n        }\n        if ((local_78 < local_64) && (local_64 < pcVar18)) {\n          *puVar5 = (uint)local_64;\n        }\n        FUN_00018e10();\n        if (*(char *)*puVar6 == '\n') {\n          local_78 = (char *)0x0;\n          bVar29 = true;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        if (local_78 == (char *)0x0) {\n          bVar29 = true;\n          bVar30 = bVar14;\n          goto LAB_00015630;\n        }\n        if ((((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')) && (pcVar18[1] != '/')) {\n          pcVar18 = pcVar18 + 1;\n          *puVar6 = (uint)pcVar18;\n          if (*(char **)pcVar3 <= pcVar18) {\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }\n          if ((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))\n          {\n            FUN_00018c70();\n          }\n        }\n        pcVar18 = (char *)*puVar5;\n        if (pcVar18[-1] != ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n          local_64 = pcVar18;\n        }\n        goto LAB_0001521b;\n      }\n      pcVar19 = (char *)*puVar6;\n      cVar28 = *pcVar19;\n      cVar12 = cVar28 + -10;\n      bVar29 = cVar28 == '\n';\n      if (bVar29) goto LAB_0001531c;\nLAB_0001524d:\n      if (bVar29 || SBORROW1(cVar28,'\n') != cVar12 < '\0') {\n        if (cVar28 != '\t') goto LAB_000151b8;\nLAB_0001525c:\n        if (((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)) {\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }\n        if (cVar28 == ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n        }\n        else {\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }\nLAB_000151f8:\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)) {\n          FUN_00018c70();\n        }\nLAB_0001521b:\n        if (*local_68 != '\0') goto LAB_000159db;\n        goto LAB_00015228;\n      }\n      if (cVar28 == ' ') goto LAB_0001525c;\n      if ((cVar28 != '*') || (local_5c != 0x13)) goto LAB_000151b8;\n      if (pcVar19[1] == '/') {\n        if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }\n          if ((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')) {\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }\n        }\nLAB_00015cc8:\n        if ((char *)(iVar26 + -3) <= pcVar18) {\n          piVar1 = (int *)(unaff_EBP + 0x129a6);\n          iVar15 = *piVar1;\n          iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);\n          *(int *)(unaff_EBP + 0x129aa) = iVar16;\n          pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));\n          *piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);\n          *piVar1 = iVar16 + 1;\n        }\n        *puVar5 = (uint)(pcVar18 + 1);\n        *pcVar18 = '*';\n        puVar20 = (undefined1 *)*puVar5;\n        *puVar5 = (uint)(puVar20 + 1);\n        *puVar20 = 0x2f;\n        *(undefined1 *)*puVar5 = 0;\n        uVar24 = *puVar6;\n        *puVar6 = uVar24 + 2;\n        uVar24 = FUN_00018720(uVar24 + 2);\n        *puVar6 = uVar24;\n        if (*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= uVar24) {\n          FUN_00018c70();\n        }\n        iVar15 = *local_6c;\n        *(int *)(iVar15 + 0x58) = local_70;\n        *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n        *(int *)(iVar15 + 0x24) = local_54;\n        return;\n      }\n      if (*piVar1 + -1 == iVar15) {\n        piVar8 = (int *)(unaff_EBP + 0x129a6);\n        if (pcVar18 != (undefined1 *)*piVar8 + local_48) goto LAB_000151b8;\n        *(undefined1 *)*piVar8 = 0x20;\n        local_80 = (local_80 - local_48) + 2;\n        local_48 = 1;\n        local_4c = unaff_EBP + 0xc5d2;\n        *(undefined1 *)(*piVar8 + 1) = 0x2a;\n        local_78 = (char *)(*piVar8 + 2);\n        local_28 = 0;\n        *puVar5 = (uint)local_78;\n        local_54 = 1;\n        goto LAB_00015589;\n      }\nLAB_000151b8:\n      local_80 = local_80 + 1;\n      *puVar5 = (uint)(pcVar18 + 1);\n      *pcVar18 = *pcVar19;\n      bVar29 = local_74 != 0;\n      local_78 = pcVar18;\nLAB_000151d8:\n      if ((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar29)) goto LAB_000151f8;\n      if (local_64 < (char *)(*puVar5 - 1)) {\n        *local_64 = '\0';\n        uVar24 = *puVar5;\n        *puVar5 = (uint)local_64;\n        local_40 = uVar24 - (int)(local_64 + 1);\n        iVar26 = local_80 - local_40;\n        if ((int)(local_80 - local_40) <= local_60) {\n          iVar26 = local_60;\n        }\n        bVar30 = local_78 == (char *)0x0;\n        bVar29 = false;\n        local_78 = local_64 + 1;\n        local_60 = iVar26;\n        bVar30 = (bool)(bVar30 & bVar14);\n        goto LAB_00015630;\n      }\n      pcVar18 = (char *)*puVar6;\n      if (local_5c != 0x14) {\n        do {\n          pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2);\n          do {\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          } while (pcVar18 < pcVar27);\nLAB_00015b63:\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar6;\n        } while( true );\n      }\n      iVar26 = FUN_00018720(pcVar18);\n      *puVar6 = iVar26 - 1;\n      if (*(char *)(iVar26 + -1) == '\n') {\n        pcVar18 = (char *)*puVar5;\n        goto LAB_00015c4a;\n      }\nLAB_00015d49:\n      *(undefined1 *)*puVar5 = 0;\nLAB_000159db:\n      pcVar18 = local_78;\n      local_78 = (char *)0x0;\n      bVar29 = false;\n      bVar30 = (bool)(pcVar18 == (char *)0x0 & bVar14);\nLAB_00015630:\n      if ((bVar30) && (*piVar1 != iVar15)) {\n        puVar20 = *(undefined1 **)(unaff_EBP + 0x129a6);\n        *puVar5 = (uint)puVar20;\n      }\n      else {\n        puVar20 = (undefined1 *)*puVar5;\n      }\n      *puVar20 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      *(undefined4 *)(unaff_EBP + 0x1297e) = 0;\n      if (!bVar29) {\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n          FUN_00018c70();\n        }\n      }\nLAB_0001543c:\n      local_68 = &DAT_00012b1e + unaff_EBP;\n      if (*local_68 != '\0') break;\n      local_80 = local_70;\n      if (local_48 != 0) {\n        uVar24 = *puVar5;\n        iVar26 = *(int *)(unaff_EBP + 0x1299e);\n        if (iVar26 - local_48 <= uVar24) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_48 + 400 + (iVar26 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          uVar24 = iVar23 + 1 + (*puVar5 - *piVar2);\n          *puVar5 = uVar24;\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *piVar2 = iVar23 + 1;\n        }\n        if (local_48 != 0) {\n          uVar21 = 0;\n          do {\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          } while (uVar21 < local_48);\n        }\n        *puVar5 = *puVar5 + local_48;\n        local_80 = local_70 + local_48;\n      }\n      if (local_78 == (char *)0x0) {\n        FUN_00018e10();\n      }\n      else {\n        if ((*local_78 == ' ') || (*local_78 == '\t')) {\n          if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }\n        }\n        else {\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }\nLAB_000158f3:\n        __dest = (void *)*puVar5;\n        iVar23 = *(int *)(unaff_EBP + 0x1299e);\n        if ((void *)(iVar26 + iVar23) <= __dest) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_40 + 400 + (iVar23 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          __dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *puVar5 = (uint)__dest;\n          *piVar2 = iVar23 + 1;\n        }\n        memmove(__dest,local_78,local_84);\n        local_78 = (char *)*puVar5;\n        *puVar5 = (uint)(local_78 + local_84);\n        local_40 = 0;\n      }\n    }\n    iVar15 = *local_6c;\n    *(int *)(iVar15 + 0x58) = local_70;\n    *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n    *(int *)(iVar15 + 0x24) = local_54;\n    return;\n  }\n  piVar1 = (int *)(&DAT_00012b26 + unaff_EBP);\n  pbVar10 = (byte *)*piVar1;\n  bVar9 = *pbVar10;\n  if (bVar9 == 0x2a || bVar9 == 0x5f) {\n    pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);\n  }\n  else {\n    if (((bVar9 & 0xef) != 0x2d) &&\n       ((*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0 ||\n        (*(int *)(unaff_EBP + 0x12c02) != 0)))) {\n      bVar14 = true;\n      uVar25 = 0x2a;\n      local_5c = 0x13;\n      local_84 = *(size_t *)(FUN_00012bc0 + unaff_EBP + 2);\n      local_28 = *(int *)(unaff_EBP + 0x12c1a);\n      local_48 = 0;\n      local_4c = 0;\n      bVar29 = local_28 != 0;\n      goto LAB_00014fd0;\n    }\n    pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);\n  }\n  if ((pbVar10 < pbVar11) || (pbVar11 + *(int *)(unaff_EBP + 0x12b7a) < pbVar10)) {\n    iVar15 = FUN_00018750();\n    iVar15 = iVar15 + -2;\n  }\n  else {\n    iVar15 = *(int *)(unaff_EBP + 0x12b7e);\n  }\n  local_6c = (int *)(&DAT_00012b16 + unaff_EBP);\n  iVar26 = *local_6c;\n  *(int *)(iVar26 + 0x58) = iVar15;\n  *(undefined4 *)(iVar26 + 0x24) = 1;\n  if (*(int *)(unaff_EBP + 0x12c32) != 0) {\n    *(undefined4 *)(unaff_EBP + 0x1297e) = 1;\n  }\n  piVar2 = (int *)(unaff_EBP + 0x129a2);\n  local_68 = (char *)0x1;\n  puVar20 = (undefined1 *)*piVar2;\n  pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;\n  *piVar2 = (int)(puVar20 + 1);\n  *puVar20 = 0x2f;\n  puVar20 = (undefined1 *)*piVar2;\n  piVar4 = (int *)(unaff_EBP + 0x129a6);\n  *piVar2 = (int)(puVar20 + 1);\n  *puVar20 = 0x2a;\n  pcVar18 = (char *)*piVar1;\n  cVar28 = *pcVar18;\n  do {\n    do {\n      if (cVar28 == '\n') {\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n      }\n      pcVar27 = (char *)*piVar2;\n      iVar26 = *(int *)(unaff_EBP + 0x1299e);\n      if ((char *)(iVar26 - 1U) <= pcVar27) {\n        iVar26 = iVar26 - *piVar4;\n        iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar16;\n        pcVar27 = (char *)(iVar16 + 1 + (*piVar2 - *piVar4));\n        *(int *)(unaff_EBP + 0x1299e) = iVar16 + 0x18c + iVar26;\n        *piVar4 = iVar16 + 1;\n        pcVar18 = (char *)*piVar1;\n      }\n      *piVar1 = (int)(pcVar18 + 1);\n      *piVar2 = (int)(pcVar27 + 1);\n      *pcVar27 = *pcVar18;\n      pcVar18 = (char *)*piVar1;\n      pcVar27 = *(char **)pcVar3;\n      cVar28 = *pcVar18;\n    } while ((cVar28 != '*') && (pcVar18 < pcVar27));\n    if (pcVar27 < pcVar18) {\n      *piVar1 = (int)pcVar27;\n      cVar28 = *pcVar27;\n      pcVar18 = pcVar27;\n    }\n    if (*(int *)(unaff_EBP + 0x12bfa) == 0) {\nLAB_00014e50:\n      if (cVar28 == '*') {\nLAB_00014e59:\n        if (pcVar18[1] == '/') {\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }\n        cVar28 = '*';\n      }\n    }\n    else if (cVar28 == '*') {\n      if (pcVar18[-1] == '/') {\n        *(undefined1 *)(*piVar2 + -1) = 0x20;\n        *(undefined1 *)*piVar2 = 0x2a;\n        pcVar18 = (char *)*piVar1;\n        pcVar27 = *(char **)pcVar3;\n        cVar28 = *pcVar18;\n        goto LAB_00014e50;\n      }\n      goto LAB_00014e59;\n    }\n    if (pcVar18 == pcVar27) {\n      if (pcVar18[-1] == '\n') {\n        iVar26 = *piVar2;\n        *piVar2 = iVar26 + -1;\n        *(undefined1 *)(iVar26 + -1) = 0;\n        FUN_0001a130(1,param_1,param_2);\n        local_68 = (char *)((int)local_68 + 1);\n        *(undefined4 *)(*local_6c + 0x58) = 1;\n      }\n      FUN_00018c70();\n      if ((&DAT_00012b1e)[unaff_EBP] != '\0') {\n        puVar20 = (undefined1 *)*piVar2;\n        *piVar2 = (int)(puVar20 + 1);\n        *puVar20 = 0;\n        iVar26 = *local_6c;\n        piVar1 = (int *)(iVar26 + 0x20);\n        *piVar1 = *piVar1 + -1;\n        *(int *)(iVar26 + 0x58) = iVar15;\n        return;\n      }\n      pcVar18 = (char *)*piVar1;\n      cVar28 = *pcVar18;\n    }\n  } while( true );\n}" primitive_type (function_declarator "FUN_00014c50(undefined4 *param_1,undefined4 param_2)" identifier (parameter_list "(undefined4 *param_1,undefined4 param_2)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  int *piVar1;\n  int *piVar2;\n  code *pcVar3;\n  int *piVar4;\n  uint *puVar5;\n  uint *puVar6;\n  undefined4 *puVar7;\n  int *piVar8;\n  byte bVar9;\n  byte *pbVar10;\n  byte *pbVar11;\n  char cVar12;\n  bool bVar13;\n  bool bVar14;\n  int iVar15;\n  int iVar16;\n  undefined4 uVar17;\n  char *pcVar18;\n  char *pcVar19;\n  undefined1 *puVar20;\n  uint uVar21;\n  int iVar22;\n  int iVar23;\n  uint uVar24;\n  undefined1 uVar25;\n  int iVar26;\n  char *pcVar27;\n  char cVar28;\n  void *__dest;\n  int unaff_EBP;\n  bool bVar29;\n  bool bVar30;\n  size_t local_84;\n  int local_80;\n  char *local_78;\n  int local_74;\n  int local_70;\n  int *local_6c;\n  char *local_68;\n  char *local_64;\n  int local_60;\n  int local_5c;\n  int local_54;\n  int local_4c;\n  uint local_48;\n  size_t local_40;\n  int local_28;\n  \n  FUN_00013b71();\n  FUN_00017e00();\n  if (*(char *)(*(int *)(unaff_EBP + 0x12caa) + 1) == '/') {\n    local_4c = unaff_EBP + 0xc5c8;\n    bVar14 = false;\n    bVar29 = false;\n    local_5c = 0x14;\n    local_48 = 3;\n    local_28 = 0;\n    local_84 = 0;\n    uVar25 = 0x2f;\nLAB_00014fd0:\n    local_6c = (int *)(&DAT_00012b16 + unaff_EBP);\n    piVar1 = (int *)(unaff_EBP + 0x12b52);\n    iVar15 = *piVar1;\n    local_60 = *(int *)(unaff_EBP + 0x12c46);\n    iVar16 = FUN_00018750();\n    iVar26 = *(int *)(unaff_EBP + 0x129c6);\n    if ((iVar26 == *(int *)(unaff_EBP + 0x129c2)) &&\n       (*(int *)(unaff_EBP + 0x129b6) == *(int *)(unaff_EBP + 0x129b2))) {\n      iVar26 = *local_6c;\n      if ((*(int *)(iVar26 + 0x54) == 0) || (*(int *)(unaff_EBP + 0x12c02) != 0)) {\n        local_74 = *(int *)(unaff_EBP + 0x12bfe);\n        if ((*(int *)(iVar26 + 0x74) < 1) &&\n           ((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))))) {\n          bVar13 = true;\n          local_80 = iVar16;\n          local_70 = iVar16 + -2;\n        }\n        else {\n          local_70 = FUN_00019aa0(*param_1);\n          local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);\n          if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }\n        }\n      }\n      else {\n        local_80 = 3;\n        bVar13 = true;\n        local_70 = 1;\n        local_74 = 0;\n      }\n    }\n    else {\n      if (*(int *)(*local_6c + 0x60) == 0) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0) {\n          local_70 = *(int *)(unaff_EBP + 0x12c7a);\n        }\n        else {\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }\n      }\n      else {\n        local_70 = *(int *)(unaff_EBP + 0x12c6e);\n      }\n      iVar23 = *(int *)(unaff_EBP + 0x129b6);\n      if (iVar23 == *(int *)(unaff_EBP + 0x129b2)) {\n        uVar17 = FUN_00019bf0();\n      }\n      else {\n        uVar17 = FUN_00019aa0(*param_1);\n        iVar26 = iVar23;\n      }\n      iVar26 = FUN_00019b60(uVar17,iVar26,0);\n      if (local_70 <= iVar26) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0) {\n          local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;\n        }\n        else {\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }\n      }\n      bVar13 = false;\n      bVar29 = false;\n      local_74 = *(int *)(unaff_EBP + 0x12bfe);\n      iVar26 = *local_6c;\n      local_80 = local_70 + 2;\n    }\n    if (local_4c == 0) {\n      if (local_84 == 0) {\n        local_4c = unaff_EBP + 0xc5d0;\n        bVar14 = true;\n        local_48 = 3;\n      }\n      else {\n        local_4c = unaff_EBP + 0xc5cc;\n        bVar14 = false;\n        local_48 = 3;\n      }\n    }\n    *(undefined4 *)(iVar26 + 0x24) = 0;\n    *(int *)(iVar26 + 0x58) = local_70;\n    puVar5 = (uint *)(unaff_EBP + 0x129a2);\n    puVar20 = (undefined1 *)*puVar5;\n    *puVar5 = (uint)(puVar20 + 1);\n    *puVar20 = 0x2f;\n    puVar20 = (undefined1 *)*puVar5;\n    *puVar5 = (uint)(puVar20 + 1);\n    *puVar20 = uVar25;\n    if (bVar29) {\n      puVar7 = (undefined4 *)(&DAT_00012b26 + unaff_EBP);\n      uVar17 = *puVar7;\n      *(undefined1 *)*puVar5 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      pcVar18 = (char *)FUN_00018720(uVar17);\n      if (*pcVar18 == '\n') {\n        pcVar18 = pcVar18 + 1;\n        *puVar7 = pcVar18;\n      }\n      else if (local_74 == 0) {\n        pcVar18 = (char *)*puVar7;\n      }\n      else {\n        *puVar7 = pcVar18;\n      }\n      if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n        FUN_00018c70();\n      }\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n      goto LAB_0001543c;\n    }\n    if (local_74 == 0) {\n      local_40 = 0;\n      local_54 = 0;\n      local_78 = (char *)0x0;\n    }\n    else {\n      puVar20 = (undefined1 *)*puVar5;\n      *puVar5 = (uint)(puVar20 + 1);\n      *puVar20 = 0x20;\n      local_80 = local_70 + 3;\n      FUN_00018e10();\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n    }\n    while (local_68 = &DAT_00012b1e + unaff_EBP, *local_68 == '\0') {\n      piVar2 = (int *)(unaff_EBP + 0x1299e);\n      puVar6 = (uint *)(&DAT_00012b26 + unaff_EBP);\n      local_64 = (char *)0x0;\n      piVar4 = (int *)(unaff_EBP + 0x129a6);\nLAB_00015228:\n      pcVar27 = local_78;\n      iVar26 = *piVar2;\n      pcVar18 = (char *)*puVar5;\n      if ((char *)(iVar26 + -1) <= pcVar18) {\n        iVar23 = *piVar4;\n        iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar22;\n        pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar4));\n        *puVar5 = (uint)pcVar18;\n        iVar26 = iVar22 + 0x18c + (iVar26 - iVar23);\n        *piVar4 = iVar22 + 1;\n        pcVar19 = (char *)*puVar6;\n        *piVar2 = iVar26;\n        cVar28 = *pcVar19;\n        cVar12 = cVar28 + -10;\n        bVar29 = cVar12 == '\0';\n        if (!bVar29) goto LAB_0001524d;\nLAB_0001531c:\n        if (local_5c == 0x14) {\nLAB_00015c4a:\n          iVar15 = *local_6c;\n          *(int *)(iVar15 + 0x58) = local_70;\n          *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n          *(int *)(iVar15 + 0x24) = local_54;\n          *pcVar18 = '\0';\n          return;\n        }\n        if (local_74 == 0) {\n          local_78 = (char *)0x0;\n          bVar29 = false;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        *puVar6 = (uint)(pcVar19 + 1);\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;\n        if (*(char **)pcVar3 <= pcVar19 + 1) {\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar5;\n        }\n        if ((local_78 < local_64) && (local_64 < pcVar18)) {\n          *puVar5 = (uint)local_64;\n        }\n        FUN_00018e10();\n        if (*(char *)*puVar6 == '\n') {\n          local_78 = (char *)0x0;\n          bVar29 = true;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        if (local_78 == (char *)0x0) {\n          bVar29 = true;\n          bVar30 = bVar14;\n          goto LAB_00015630;\n        }\n        if ((((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')) && (pcVar18[1] != '/')) {\n          pcVar18 = pcVar18 + 1;\n          *puVar6 = (uint)pcVar18;\n          if (*(char **)pcVar3 <= pcVar18) {\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }\n          if ((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))\n          {\n            FUN_00018c70();\n          }\n        }\n        pcVar18 = (char *)*puVar5;\n        if (pcVar18[-1] != ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n          local_64 = pcVar18;\n        }\n        goto LAB_0001521b;\n      }\n      pcVar19 = (char *)*puVar6;\n      cVar28 = *pcVar19;\n      cVar12 = cVar28 + -10;\n      bVar29 = cVar28 == '\n';\n      if (bVar29) goto LAB_0001531c;\nLAB_0001524d:\n      if (bVar29 || SBORROW1(cVar28,'\n') != cVar12 < '\0') {\n        if (cVar28 != '\t') goto LAB_000151b8;\nLAB_0001525c:\n        if (((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)) {\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }\n        if (cVar28 == ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n        }\n        else {\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }\nLAB_000151f8:\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)) {\n          FUN_00018c70();\n        }\nLAB_0001521b:\n        if (*local_68 != '\0') goto LAB_000159db;\n        goto LAB_00015228;\n      }\n      if (cVar28 == ' ') goto LAB_0001525c;\n      if ((cVar28 != '*') || (local_5c != 0x13)) goto LAB_000151b8;\n      if (pcVar19[1] == '/') {\n        if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }\n          if ((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')) {\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }\n        }\nLAB_00015cc8:\n        if ((char *)(iVar26 + -3) <= pcVar18) {\n          piVar1 = (int *)(unaff_EBP + 0x129a6);\n          iVar15 = *piVar1;\n          iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);\n          *(int *)(unaff_EBP + 0x129aa) = iVar16;\n          pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));\n          *piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);\n          *piVar1 = iVar16 + 1;\n        }\n        *puVar5 = (uint)(pcVar18 + 1);\n        *pcVar18 = '*';\n        puVar20 = (undefined1 *)*puVar5;\n        *puVar5 = (uint)(puVar20 + 1);\n        *puVar20 = 0x2f;\n        *(undefined1 *)*puVar5 = 0;\n        uVar24 = *puVar6;\n        *puVar6 = uVar24 + 2;\n        uVar24 = FUN_00018720(uVar24 + 2);\n        *puVar6 = uVar24;\n        if (*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= uVar24) {\n          FUN_00018c70();\n        }\n        iVar15 = *local_6c;\n        *(int *)(iVar15 + 0x58) = local_70;\n        *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n        *(int *)(iVar15 + 0x24) = local_54;\n        return;\n      }\n      if (*piVar1 + -1 == iVar15) {\n        piVar8 = (int *)(unaff_EBP + 0x129a6);\n        if (pcVar18 != (undefined1 *)*piVar8 + local_48) goto LAB_000151b8;\n        *(undefined1 *)*piVar8 = 0x20;\n        local_80 = (local_80 - local_48) + 2;\n        local_48 = 1;\n        local_4c = unaff_EBP + 0xc5d2;\n        *(undefined1 *)(*piVar8 + 1) = 0x2a;\n        local_78 = (char *)(*piVar8 + 2);\n        local_28 = 0;\n        *puVar5 = (uint)local_78;\n        local_54 = 1;\n        goto LAB_00015589;\n      }\nLAB_000151b8:\n      local_80 = local_80 + 1;\n      *puVar5 = (uint)(pcVar18 + 1);\n      *pcVar18 = *pcVar19;\n      bVar29 = local_74 != 0;\n      local_78 = pcVar18;\nLAB_000151d8:\n      if ((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar29)) goto LAB_000151f8;\n      if (local_64 < (char *)(*puVar5 - 1)) {\n        *local_64 = '\0';\n        uVar24 = *puVar5;\n        *puVar5 = (uint)local_64;\n        local_40 = uVar24 - (int)(local_64 + 1);\n        iVar26 = local_80 - local_40;\n        if ((int)(local_80 - local_40) <= local_60) {\n          iVar26 = local_60;\n        }\n        bVar30 = local_78 == (char *)0x0;\n        bVar29 = false;\n        local_78 = local_64 + 1;\n        local_60 = iVar26;\n        bVar30 = (bool)(bVar30 & bVar14);\n        goto LAB_00015630;\n      }\n      pcVar18 = (char *)*puVar6;\n      if (local_5c != 0x14) {\n        do {\n          pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2);\n          do {\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          } while (pcVar18 < pcVar27);\nLAB_00015b63:\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar6;\n        } while( true );\n      }\n      iVar26 = FUN_00018720(pcVar18);\n      *puVar6 = iVar26 - 1;\n      if (*(char *)(iVar26 + -1) == '\n') {\n        pcVar18 = (char *)*puVar5;\n        goto LAB_00015c4a;\n      }\nLAB_00015d49:\n      *(undefined1 *)*puVar5 = 0;\nLAB_000159db:\n      pcVar18 = local_78;\n      local_78 = (char *)0x0;\n      bVar29 = false;\n      bVar30 = (bool)(pcVar18 == (char *)0x0 & bVar14);\nLAB_00015630:\n      if ((bVar30) && (*piVar1 != iVar15)) {\n        puVar20 = *(undefined1 **)(unaff_EBP + 0x129a6);\n        *puVar5 = (uint)puVar20;\n      }\n      else {\n        puVar20 = (undefined1 *)*puVar5;\n      }\n      *puVar20 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      *(undefined4 *)(unaff_EBP + 0x1297e) = 0;\n      if (!bVar29) {\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n          FUN_00018c70();\n        }\n      }\nLAB_0001543c:\n      local_68 = &DAT_00012b1e + unaff_EBP;\n      if (*local_68 != '\0') break;\n      local_80 = local_70;\n      if (local_48 != 0) {\n        uVar24 = *puVar5;\n        iVar26 = *(int *)(unaff_EBP + 0x1299e);\n        if (iVar26 - local_48 <= uVar24) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_48 + 400 + (iVar26 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          uVar24 = iVar23 + 1 + (*puVar5 - *piVar2);\n          *puVar5 = uVar24;\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *piVar2 = iVar23 + 1;\n        }\n        if (local_48 != 0) {\n          uVar21 = 0;\n          do {\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          } while (uVar21 < local_48);\n        }\n        *puVar5 = *puVar5 + local_48;\n        local_80 = local_70 + local_48;\n      }\n      if (local_78 == (char *)0x0) {\n        FUN_00018e10();\n      }\n      else {\n        if ((*local_78 == ' ') || (*local_78 == '\t')) {\n          if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }\n        }\n        else {\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }\nLAB_000158f3:\n        __dest = (void *)*puVar5;\n        iVar23 = *(int *)(unaff_EBP + 0x1299e);\n        if ((void *)(iVar26 + iVar23) <= __dest) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_40 + 400 + (iVar23 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          __dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *puVar5 = (uint)__dest;\n          *piVar2 = iVar23 + 1;\n        }\n        memmove(__dest,local_78,local_84);\n        local_78 = (char *)*puVar5;\n        *puVar5 = (uint)(local_78 + local_84);\n        local_40 = 0;\n      }\n    }\n    iVar15 = *local_6c;\n    *(int *)(iVar15 + 0x58) = local_70;\n    *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n    *(int *)(iVar15 + 0x24) = local_54;\n    return;\n  }\n  piVar1 = (int *)(&DAT_00012b26 + unaff_EBP);\n  pbVar10 = (byte *)*piVar1;\n  bVar9 = *pbVar10;\n  if (bVar9 == 0x2a || bVar9 == 0x5f) {\n    pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);\n  }\n  else {\n    if (((bVar9 & 0xef) != 0x2d) &&\n       ((*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0 ||\n        (*(int *)(unaff_EBP + 0x12c02) != 0)))) {\n      bVar14 = true;\n      uVar25 = 0x2a;\n      local_5c = 0x13;\n      local_84 = *(size_t *)(FUN_00012bc0 + unaff_EBP + 2);\n      local_28 = *(int *)(unaff_EBP + 0x12c1a);\n      local_48 = 0;\n      local_4c = 0;\n      bVar29 = local_28 != 0;\n      goto LAB_00014fd0;\n    }\n    pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);\n  }\n  if ((pbVar10 < pbVar11) || (pbVar11 + *(int *)(unaff_EBP + 0x12b7a) < pbVar10)) {\n    iVar15 = FUN_00018750();\n    iVar15 = iVar15 + -2;\n  }\n  else {\n    iVar15 = *(int *)(unaff_EBP + 0x12b7e);\n  }\n  local_6c = (int *)(&DAT_00012b16 + unaff_EBP);\n  iVar26 = *local_6c;\n  *(int *)(iVar26 + 0x58) = iVar15;\n  *(undefined4 *)(iVar26 + 0x24) = 1;\n  if (*(int *)(unaff_EBP + 0x12c32) != 0) {\n    *(undefined4 *)(unaff_EBP + 0x1297e) = 1;\n  }\n  piVar2 = (int *)(unaff_EBP + 0x129a2);\n  local_68 = (char *)0x1;\n  puVar20 = (undefined1 *)*piVar2;\n  pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;\n  *piVar2 = (int)(puVar20 + 1);\n  *puVar20 = 0x2f;\n  puVar20 = (undefined1 *)*piVar2;\n  piVar4 = (int *)(unaff_EBP + 0x129a6);\n  *piVar2 = (int)(puVar20 + 1);\n  *puVar20 = 0x2a;\n  pcVar18 = (char *)*piVar1;\n  cVar28 = *pcVar18;\n  do {\n    do {\n      if (cVar28 == '\n') {\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n      }\n      pcVar27 = (char *)*piVar2;\n      iVar26 = *(int *)(unaff_EBP + 0x1299e);\n      if ((char *)(iVar26 - 1U) <= pcVar27) {\n        iVar26 = iVar26 - *piVar4;\n        iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar16;\n        pcVar27 = (char *)(iVar16 + 1 + (*piVar2 - *piVar4));\n        *(int *)(unaff_EBP + 0x1299e) = iVar16 + 0x18c + iVar26;\n        *piVar4 = iVar16 + 1;\n        pcVar18 = (char *)*piVar1;\n      }\n      *piVar1 = (int)(pcVar18 + 1);\n      *piVar2 = (int)(pcVar27 + 1);\n      *pcVar27 = *pcVar18;\n      pcVar18 = (char *)*piVar1;\n      pcVar27 = *(char **)pcVar3;\n      cVar28 = *pcVar18;\n    } while ((cVar28 != '*') && (pcVar18 < pcVar27));\n    if (pcVar27 < pcVar18) {\n      *piVar1 = (int)pcVar27;\n      cVar28 = *pcVar27;\n      pcVar18 = pcVar27;\n    }\n    if (*(int *)(unaff_EBP + 0x12bfa) == 0) {\nLAB_00014e50:\n      if (cVar28 == '*') {\nLAB_00014e59:\n        if (pcVar18[1] == '/') {\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }\n        cVar28 = '*';\n      }\n    }\n    else if (cVar28 == '*') {\n      if (pcVar18[-1] == '/') {\n        *(undefined1 *)(*piVar2 + -1) = 0x20;\n        *(undefined1 *)*piVar2 = 0x2a;\n        pcVar18 = (char *)*piVar1;\n        pcVar27 = *(char **)pcVar3;\n        cVar28 = *pcVar18;\n        goto LAB_00014e50;\n      }\n      goto LAB_00014e59;\n    }\n    if (pcVar18 == pcVar27) {\n      if (pcVar18[-1] == '\n') {\n        iVar26 = *piVar2;\n        *piVar2 = iVar26 + -1;\n        *(undefined1 *)(iVar26 + -1) = 0;\n        FUN_0001a130(1,param_1,param_2);\n        local_68 = (char *)((int)local_68 + 1);\n        *(undefined4 *)(*local_6c + 0x58) = 1;\n      }\n      FUN_00018c70();\n      if ((&DAT_00012b1e)[unaff_EBP] != '\0') {\n        puVar20 = (undefined1 *)*piVar2;\n        *piVar2 = (int)(puVar20 + 1);\n        *puVar20 = 0;\n        iVar26 = *local_6c;\n        piVar1 = (int *)(iVar26 + 0x20);\n        *piVar1 = *piVar1 + -1;\n        *(int *)(iVar26 + 0x58) = iVar15;\n        return;\n      }\n      pcVar18 = (char *)*piVar1;\n      cVar28 = *pcVar18;\n    }\n  } while( true );\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "code *pcVar3;" type_identifier (pointer_declarator "*pcVar3" * identifier) ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "uint *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "uint *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "byte bVar9;" type_identifier identifier ;) (declaration "byte *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (declaration "byte *pbVar11;" type_identifier (pointer_declarator "*pbVar11" * identifier) ;) (declaration "char cVar12;" primitive_type identifier ;) (declaration "bool bVar13;" primitive_type identifier ;) (declaration "bool bVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "undefined4 uVar17;" type_identifier identifier ;) (declaration "char *pcVar18;" primitive_type (pointer_declarator "*pcVar18" * identifier) ;) (declaration "char *pcVar19;" primitive_type (pointer_declarator "*pcVar19" * identifier) ;) (declaration "undefined1 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "undefined1 uVar25;" type_identifier identifier ;) (declaration "int iVar26;" primitive_type identifier ;) (declaration "char *pcVar27;" primitive_type (pointer_declarator "*pcVar27" * identifier) ;) (declaration "char cVar28;" primitive_type identifier ;) (declaration "void *__dest;" primitive_type (pointer_declarator "*__dest" * identifier) ;) (declaration "int unaff_EBP;" primitive_type identifier ;) (declaration "bool bVar29;" primitive_type identifier ;) (declaration "bool bVar30;" primitive_type identifier ;) (declaration "size_t local_84;" primitive_type identifier ;) (declaration "int local_80;" primitive_type identifier ;) (declaration "char *local_78;" primitive_type (pointer_declarator "*local_78" * identifier) ;) (declaration "int local_74;" primitive_type identifier ;) (declaration "int local_70;" primitive_type identifier ;) (declaration "int *local_6c;" primitive_type (pointer_declarator "*local_6c" * identifier) ;) (declaration "char *local_68;" primitive_type (pointer_declarator "*local_68" * identifier) ;) (declaration "char *local_64;" primitive_type (pointer_declarator "*local_64" * identifier) ;) (declaration "int local_60;" primitive_type identifier ;) (declaration "int local_5c;" primitive_type identifier ;) (declaration "int local_54;" primitive_type identifier ;) (declaration "int local_4c;" primitive_type identifier ;) (declaration "uint local_48;" type_identifier identifier ;) (declaration "size_t local_40;" primitive_type identifier ;) (declaration "int local_28;" primitive_type identifier ;) (expression_statement "FUN_00013b71();" (call_expression "FUN_00013b71()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00017e00();" (call_expression "FUN_00017e00()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*(char *)(*(int *)(unaff_EBP + 0x12caa) + 1) == '/') {\n    local_4c = unaff_EBP + 0xc5c8;\n    bVar14 = false;\n    bVar29 = false;\n    local_5c = 0x14;\n    local_48 = 3;\n    local_28 = 0;\n    local_84 = 0;\n    uVar25 = 0x2f;\nLAB_00014fd0:\n    local_6c = (int *)(&DAT_00012b16 + unaff_EBP);\n    piVar1 = (int *)(unaff_EBP + 0x12b52);\n    iVar15 = *piVar1;\n    local_60 = *(int *)(unaff_EBP + 0x12c46);\n    iVar16 = FUN_00018750();\n    iVar26 = *(int *)(unaff_EBP + 0x129c6);\n    if ((iVar26 == *(int *)(unaff_EBP + 0x129c2)) &&\n       (*(int *)(unaff_EBP + 0x129b6) == *(int *)(unaff_EBP + 0x129b2))) {\n      iVar26 = *local_6c;\n      if ((*(int *)(iVar26 + 0x54) == 0) || (*(int *)(unaff_EBP + 0x12c02) != 0)) {\n        local_74 = *(int *)(unaff_EBP + 0x12bfe);\n        if ((*(int *)(iVar26 + 0x74) < 1) &&\n           ((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))))) {\n          bVar13 = true;\n          local_80 = iVar16;\n          local_70 = iVar16 + -2;\n        }\n        else {\n          local_70 = FUN_00019aa0(*param_1);\n          local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);\n          if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }\n        }\n      }\n      else {\n        local_80 = 3;\n        bVar13 = true;\n        local_70 = 1;\n        local_74 = 0;\n      }\n    }\n    else {\n      if (*(int *)(*local_6c + 0x60) == 0) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0) {\n          local_70 = *(int *)(unaff_EBP + 0x12c7a);\n        }\n        else {\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }\n      }\n      else {\n        local_70 = *(int *)(unaff_EBP + 0x12c6e);\n      }\n      iVar23 = *(int *)(unaff_EBP + 0x129b6);\n      if (iVar23 == *(int *)(unaff_EBP + 0x129b2)) {\n        uVar17 = FUN_00019bf0();\n      }\n      else {\n        uVar17 = FUN_00019aa0(*param_1);\n        iVar26 = iVar23;\n      }\n      iVar26 = FUN_00019b60(uVar17,iVar26,0);\n      if (local_70 <= iVar26) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0) {\n          local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;\n        }\n        else {\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }\n      }\n      bVar13 = false;\n      bVar29 = false;\n      local_74 = *(int *)(unaff_EBP + 0x12bfe);\n      iVar26 = *local_6c;\n      local_80 = local_70 + 2;\n    }\n    if (local_4c == 0) {\n      if (local_84 == 0) {\n        local_4c = unaff_EBP + 0xc5d0;\n        bVar14 = true;\n        local_48 = 3;\n      }\n      else {\n        local_4c = unaff_EBP + 0xc5cc;\n        bVar14 = false;\n        local_48 = 3;\n      }\n    }\n    *(undefined4 *)(iVar26 + 0x24) = 0;\n    *(int *)(iVar26 + 0x58) = local_70;\n    puVar5 = (uint *)(unaff_EBP + 0x129a2);\n    puVar20 = (undefined1 *)*puVar5;\n    *puVar5 = (uint)(puVar20 + 1);\n    *puVar20 = 0x2f;\n    puVar20 = (undefined1 *)*puVar5;\n    *puVar5 = (uint)(puVar20 + 1);\n    *puVar20 = uVar25;\n    if (bVar29) {\n      puVar7 = (undefined4 *)(&DAT_00012b26 + unaff_EBP);\n      uVar17 = *puVar7;\n      *(undefined1 *)*puVar5 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      pcVar18 = (char *)FUN_00018720(uVar17);\n      if (*pcVar18 == '\n') {\n        pcVar18 = pcVar18 + 1;\n        *puVar7 = pcVar18;\n      }\n      else if (local_74 == 0) {\n        pcVar18 = (char *)*puVar7;\n      }\n      else {\n        *puVar7 = pcVar18;\n      }\n      if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n        FUN_00018c70();\n      }\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n      goto LAB_0001543c;\n    }\n    if (local_74 == 0) {\n      local_40 = 0;\n      local_54 = 0;\n      local_78 = (char *)0x0;\n    }\n    else {\n      puVar20 = (undefined1 *)*puVar5;\n      *puVar5 = (uint)(puVar20 + 1);\n      *puVar20 = 0x20;\n      local_80 = local_70 + 3;\n      FUN_00018e10();\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n    }\n    while (local_68 = &DAT_00012b1e + unaff_EBP, *local_68 == '\0') {\n      piVar2 = (int *)(unaff_EBP + 0x1299e);\n      puVar6 = (uint *)(&DAT_00012b26 + unaff_EBP);\n      local_64 = (char *)0x0;\n      piVar4 = (int *)(unaff_EBP + 0x129a6);\nLAB_00015228:\n      pcVar27 = local_78;\n      iVar26 = *piVar2;\n      pcVar18 = (char *)*puVar5;\n      if ((char *)(iVar26 + -1) <= pcVar18) {\n        iVar23 = *piVar4;\n        iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar22;\n        pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar4));\n        *puVar5 = (uint)pcVar18;\n        iVar26 = iVar22 + 0x18c + (iVar26 - iVar23);\n        *piVar4 = iVar22 + 1;\n        pcVar19 = (char *)*puVar6;\n        *piVar2 = iVar26;\n        cVar28 = *pcVar19;\n        cVar12 = cVar28 + -10;\n        bVar29 = cVar12 == '\0';\n        if (!bVar29) goto LAB_0001524d;\nLAB_0001531c:\n        if (local_5c == 0x14) {\nLAB_00015c4a:\n          iVar15 = *local_6c;\n          *(int *)(iVar15 + 0x58) = local_70;\n          *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n          *(int *)(iVar15 + 0x24) = local_54;\n          *pcVar18 = '\0';\n          return;\n        }\n        if (local_74 == 0) {\n          local_78 = (char *)0x0;\n          bVar29 = false;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        *puVar6 = (uint)(pcVar19 + 1);\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;\n        if (*(char **)pcVar3 <= pcVar19 + 1) {\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar5;\n        }\n        if ((local_78 < local_64) && (local_64 < pcVar18)) {\n          *puVar5 = (uint)local_64;\n        }\n        FUN_00018e10();\n        if (*(char *)*puVar6 == '\n') {\n          local_78 = (char *)0x0;\n          bVar29 = true;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        if (local_78 == (char *)0x0) {\n          bVar29 = true;\n          bVar30 = bVar14;\n          goto LAB_00015630;\n        }\n        if ((((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')) && (pcVar18[1] != '/')) {\n          pcVar18 = pcVar18 + 1;\n          *puVar6 = (uint)pcVar18;\n          if (*(char **)pcVar3 <= pcVar18) {\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }\n          if ((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))\n          {\n            FUN_00018c70();\n          }\n        }\n        pcVar18 = (char *)*puVar5;\n        if (pcVar18[-1] != ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n          local_64 = pcVar18;\n        }\n        goto LAB_0001521b;\n      }\n      pcVar19 = (char *)*puVar6;\n      cVar28 = *pcVar19;\n      cVar12 = cVar28 + -10;\n      bVar29 = cVar28 == '\n';\n      if (bVar29) goto LAB_0001531c;\nLAB_0001524d:\n      if (bVar29 || SBORROW1(cVar28,'\n') != cVar12 < '\0') {\n        if (cVar28 != '\t') goto LAB_000151b8;\nLAB_0001525c:\n        if (((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)) {\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }\n        if (cVar28 == ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n        }\n        else {\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }\nLAB_000151f8:\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)) {\n          FUN_00018c70();\n        }\nLAB_0001521b:\n        if (*local_68 != '\0') goto LAB_000159db;\n        goto LAB_00015228;\n      }\n      if (cVar28 == ' ') goto LAB_0001525c;\n      if ((cVar28 != '*') || (local_5c != 0x13)) goto LAB_000151b8;\n      if (pcVar19[1] == '/') {\n        if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }\n          if ((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')) {\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }\n        }\nLAB_00015cc8:\n        if ((char *)(iVar26 + -3) <= pcVar18) {\n          piVar1 = (int *)(unaff_EBP + 0x129a6);\n          iVar15 = *piVar1;\n          iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);\n          *(int *)(unaff_EBP + 0x129aa) = iVar16;\n          pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));\n          *piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);\n          *piVar1 = iVar16 + 1;\n        }\n        *puVar5 = (uint)(pcVar18 + 1);\n        *pcVar18 = '*';\n        puVar20 = (undefined1 *)*puVar5;\n        *puVar5 = (uint)(puVar20 + 1);\n        *puVar20 = 0x2f;\n        *(undefined1 *)*puVar5 = 0;\n        uVar24 = *puVar6;\n        *puVar6 = uVar24 + 2;\n        uVar24 = FUN_00018720(uVar24 + 2);\n        *puVar6 = uVar24;\n        if (*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= uVar24) {\n          FUN_00018c70();\n        }\n        iVar15 = *local_6c;\n        *(int *)(iVar15 + 0x58) = local_70;\n        *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n        *(int *)(iVar15 + 0x24) = local_54;\n        return;\n      }\n      if (*piVar1 + -1 == iVar15) {\n        piVar8 = (int *)(unaff_EBP + 0x129a6);\n        if (pcVar18 != (undefined1 *)*piVar8 + local_48) goto LAB_000151b8;\n        *(undefined1 *)*piVar8 = 0x20;\n        local_80 = (local_80 - local_48) + 2;\n        local_48 = 1;\n        local_4c = unaff_EBP + 0xc5d2;\n        *(undefined1 *)(*piVar8 + 1) = 0x2a;\n        local_78 = (char *)(*piVar8 + 2);\n        local_28 = 0;\n        *puVar5 = (uint)local_78;\n        local_54 = 1;\n        goto LAB_00015589;\n      }\nLAB_000151b8:\n      local_80 = local_80 + 1;\n      *puVar5 = (uint)(pcVar18 + 1);\n      *pcVar18 = *pcVar19;\n      bVar29 = local_74 != 0;\n      local_78 = pcVar18;\nLAB_000151d8:\n      if ((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar29)) goto LAB_000151f8;\n      if (local_64 < (char *)(*puVar5 - 1)) {\n        *local_64 = '\0';\n        uVar24 = *puVar5;\n        *puVar5 = (uint)local_64;\n        local_40 = uVar24 - (int)(local_64 + 1);\n        iVar26 = local_80 - local_40;\n        if ((int)(local_80 - local_40) <= local_60) {\n          iVar26 = local_60;\n        }\n        bVar30 = local_78 == (char *)0x0;\n        bVar29 = false;\n        local_78 = local_64 + 1;\n        local_60 = iVar26;\n        bVar30 = (bool)(bVar30 & bVar14);\n        goto LAB_00015630;\n      }\n      pcVar18 = (char *)*puVar6;\n      if (local_5c != 0x14) {\n        do {\n          pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2);\n          do {\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          } while (pcVar18 < pcVar27);\nLAB_00015b63:\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar6;\n        } while( true );\n      }\n      iVar26 = FUN_00018720(pcVar18);\n      *puVar6 = iVar26 - 1;\n      if (*(char *)(iVar26 + -1) == '\n') {\n        pcVar18 = (char *)*puVar5;\n        goto LAB_00015c4a;\n      }\nLAB_00015d49:\n      *(undefined1 *)*puVar5 = 0;\nLAB_000159db:\n      pcVar18 = local_78;\n      local_78 = (char *)0x0;\n      bVar29 = false;\n      bVar30 = (bool)(pcVar18 == (char *)0x0 & bVar14);\nLAB_00015630:\n      if ((bVar30) && (*piVar1 != iVar15)) {\n        puVar20 = *(undefined1 **)(unaff_EBP + 0x129a6);\n        *puVar5 = (uint)puVar20;\n      }\n      else {\n        puVar20 = (undefined1 *)*puVar5;\n      }\n      *puVar20 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      *(undefined4 *)(unaff_EBP + 0x1297e) = 0;\n      if (!bVar29) {\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n          FUN_00018c70();\n        }\n      }\nLAB_0001543c:\n      local_68 = &DAT_00012b1e + unaff_EBP;\n      if (*local_68 != '\0') break;\n      local_80 = local_70;\n      if (local_48 != 0) {\n        uVar24 = *puVar5;\n        iVar26 = *(int *)(unaff_EBP + 0x1299e);\n        if (iVar26 - local_48 <= uVar24) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_48 + 400 + (iVar26 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          uVar24 = iVar23 + 1 + (*puVar5 - *piVar2);\n          *puVar5 = uVar24;\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *piVar2 = iVar23 + 1;\n        }\n        if (local_48 != 0) {\n          uVar21 = 0;\n          do {\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          } while (uVar21 < local_48);\n        }\n        *puVar5 = *puVar5 + local_48;\n        local_80 = local_70 + local_48;\n      }\n      if (local_78 == (char *)0x0) {\n        FUN_00018e10();\n      }\n      else {\n        if ((*local_78 == ' ') || (*local_78 == '\t')) {\n          if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }\n        }\n        else {\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }\nLAB_000158f3:\n        __dest = (void *)*puVar5;\n        iVar23 = *(int *)(unaff_EBP + 0x1299e);\n        if ((void *)(iVar26 + iVar23) <= __dest) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_40 + 400 + (iVar23 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          __dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *puVar5 = (uint)__dest;\n          *piVar2 = iVar23 + 1;\n        }\n        memmove(__dest,local_78,local_84);\n        local_78 = (char *)*puVar5;\n        *puVar5 = (uint)(local_78 + local_84);\n        local_40 = 0;\n      }\n    }\n    iVar15 = *local_6c;\n    *(int *)(iVar15 + 0x58) = local_70;\n    *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n    *(int *)(iVar15 + 0x24) = local_54;\n    return;\n  }" if (parenthesized_expression "(*(char *)(*(int *)(unaff_EBP + 0x12caa) + 1) == '/')" ( (binary_expression "*(char *)(*(int *)(unaff_EBP + 0x12caa) + 1) == '/'" (pointer_expression "*(char *)(*(int *)(unaff_EBP + 0x12caa) + 1)" * (cast_expression "(char *)(*(int *)(unaff_EBP + 0x12caa) + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(unaff_EBP + 0x12caa) + 1)" ( (binary_expression "*(int *)(unaff_EBP + 0x12caa) + 1" (pointer_expression "*(int *)(unaff_EBP + 0x12caa)" * (cast_expression "(int *)(unaff_EBP + 0x12caa)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12caa)" ( (binary_expression "unaff_EBP + 0x12caa" identifier + number_literal) )))) + number_literal) )))) == (char_literal "'/'" ' character ')) )) (compound_statement "{\n    local_4c = unaff_EBP + 0xc5c8;\n    bVar14 = false;\n    bVar29 = false;\n    local_5c = 0x14;\n    local_48 = 3;\n    local_28 = 0;\n    local_84 = 0;\n    uVar25 = 0x2f;\nLAB_00014fd0:\n    local_6c = (int *)(&DAT_00012b16 + unaff_EBP);\n    piVar1 = (int *)(unaff_EBP + 0x12b52);\n    iVar15 = *piVar1;\n    local_60 = *(int *)(unaff_EBP + 0x12c46);\n    iVar16 = FUN_00018750();\n    iVar26 = *(int *)(unaff_EBP + 0x129c6);\n    if ((iVar26 == *(int *)(unaff_EBP + 0x129c2)) &&\n       (*(int *)(unaff_EBP + 0x129b6) == *(int *)(unaff_EBP + 0x129b2))) {\n      iVar26 = *local_6c;\n      if ((*(int *)(iVar26 + 0x54) == 0) || (*(int *)(unaff_EBP + 0x12c02) != 0)) {\n        local_74 = *(int *)(unaff_EBP + 0x12bfe);\n        if ((*(int *)(iVar26 + 0x74) < 1) &&\n           ((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))))) {\n          bVar13 = true;\n          local_80 = iVar16;\n          local_70 = iVar16 + -2;\n        }\n        else {\n          local_70 = FUN_00019aa0(*param_1);\n          local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);\n          if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }\n        }\n      }\n      else {\n        local_80 = 3;\n        bVar13 = true;\n        local_70 = 1;\n        local_74 = 0;\n      }\n    }\n    else {\n      if (*(int *)(*local_6c + 0x60) == 0) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0) {\n          local_70 = *(int *)(unaff_EBP + 0x12c7a);\n        }\n        else {\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }\n      }\n      else {\n        local_70 = *(int *)(unaff_EBP + 0x12c6e);\n      }\n      iVar23 = *(int *)(unaff_EBP + 0x129b6);\n      if (iVar23 == *(int *)(unaff_EBP + 0x129b2)) {\n        uVar17 = FUN_00019bf0();\n      }\n      else {\n        uVar17 = FUN_00019aa0(*param_1);\n        iVar26 = iVar23;\n      }\n      iVar26 = FUN_00019b60(uVar17,iVar26,0);\n      if (local_70 <= iVar26) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0) {\n          local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;\n        }\n        else {\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }\n      }\n      bVar13 = false;\n      bVar29 = false;\n      local_74 = *(int *)(unaff_EBP + 0x12bfe);\n      iVar26 = *local_6c;\n      local_80 = local_70 + 2;\n    }\n    if (local_4c == 0) {\n      if (local_84 == 0) {\n        local_4c = unaff_EBP + 0xc5d0;\n        bVar14 = true;\n        local_48 = 3;\n      }\n      else {\n        local_4c = unaff_EBP + 0xc5cc;\n        bVar14 = false;\n        local_48 = 3;\n      }\n    }\n    *(undefined4 *)(iVar26 + 0x24) = 0;\n    *(int *)(iVar26 + 0x58) = local_70;\n    puVar5 = (uint *)(unaff_EBP + 0x129a2);\n    puVar20 = (undefined1 *)*puVar5;\n    *puVar5 = (uint)(puVar20 + 1);\n    *puVar20 = 0x2f;\n    puVar20 = (undefined1 *)*puVar5;\n    *puVar5 = (uint)(puVar20 + 1);\n    *puVar20 = uVar25;\n    if (bVar29) {\n      puVar7 = (undefined4 *)(&DAT_00012b26 + unaff_EBP);\n      uVar17 = *puVar7;\n      *(undefined1 *)*puVar5 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      pcVar18 = (char *)FUN_00018720(uVar17);\n      if (*pcVar18 == '\n') {\n        pcVar18 = pcVar18 + 1;\n        *puVar7 = pcVar18;\n      }\n      else if (local_74 == 0) {\n        pcVar18 = (char *)*puVar7;\n      }\n      else {\n        *puVar7 = pcVar18;\n      }\n      if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n        FUN_00018c70();\n      }\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n      goto LAB_0001543c;\n    }\n    if (local_74 == 0) {\n      local_40 = 0;\n      local_54 = 0;\n      local_78 = (char *)0x0;\n    }\n    else {\n      puVar20 = (undefined1 *)*puVar5;\n      *puVar5 = (uint)(puVar20 + 1);\n      *puVar20 = 0x20;\n      local_80 = local_70 + 3;\n      FUN_00018e10();\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n    }\n    while (local_68 = &DAT_00012b1e + unaff_EBP, *local_68 == '\0') {\n      piVar2 = (int *)(unaff_EBP + 0x1299e);\n      puVar6 = (uint *)(&DAT_00012b26 + unaff_EBP);\n      local_64 = (char *)0x0;\n      piVar4 = (int *)(unaff_EBP + 0x129a6);\nLAB_00015228:\n      pcVar27 = local_78;\n      iVar26 = *piVar2;\n      pcVar18 = (char *)*puVar5;\n      if ((char *)(iVar26 + -1) <= pcVar18) {\n        iVar23 = *piVar4;\n        iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar22;\n        pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar4));\n        *puVar5 = (uint)pcVar18;\n        iVar26 = iVar22 + 0x18c + (iVar26 - iVar23);\n        *piVar4 = iVar22 + 1;\n        pcVar19 = (char *)*puVar6;\n        *piVar2 = iVar26;\n        cVar28 = *pcVar19;\n        cVar12 = cVar28 + -10;\n        bVar29 = cVar12 == '\0';\n        if (!bVar29) goto LAB_0001524d;\nLAB_0001531c:\n        if (local_5c == 0x14) {\nLAB_00015c4a:\n          iVar15 = *local_6c;\n          *(int *)(iVar15 + 0x58) = local_70;\n          *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n          *(int *)(iVar15 + 0x24) = local_54;\n          *pcVar18 = '\0';\n          return;\n        }\n        if (local_74 == 0) {\n          local_78 = (char *)0x0;\n          bVar29 = false;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        *puVar6 = (uint)(pcVar19 + 1);\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;\n        if (*(char **)pcVar3 <= pcVar19 + 1) {\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar5;\n        }\n        if ((local_78 < local_64) && (local_64 < pcVar18)) {\n          *puVar5 = (uint)local_64;\n        }\n        FUN_00018e10();\n        if (*(char *)*puVar6 == '\n') {\n          local_78 = (char *)0x0;\n          bVar29 = true;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        if (local_78 == (char *)0x0) {\n          bVar29 = true;\n          bVar30 = bVar14;\n          goto LAB_00015630;\n        }\n        if ((((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')) && (pcVar18[1] != '/')) {\n          pcVar18 = pcVar18 + 1;\n          *puVar6 = (uint)pcVar18;\n          if (*(char **)pcVar3 <= pcVar18) {\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }\n          if ((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))\n          {\n            FUN_00018c70();\n          }\n        }\n        pcVar18 = (char *)*puVar5;\n        if (pcVar18[-1] != ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n          local_64 = pcVar18;\n        }\n        goto LAB_0001521b;\n      }\n      pcVar19 = (char *)*puVar6;\n      cVar28 = *pcVar19;\n      cVar12 = cVar28 + -10;\n      bVar29 = cVar28 == '\n';\n      if (bVar29) goto LAB_0001531c;\nLAB_0001524d:\n      if (bVar29 || SBORROW1(cVar28,'\n') != cVar12 < '\0') {\n        if (cVar28 != '\t') goto LAB_000151b8;\nLAB_0001525c:\n        if (((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)) {\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }\n        if (cVar28 == ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n        }\n        else {\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }\nLAB_000151f8:\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)) {\n          FUN_00018c70();\n        }\nLAB_0001521b:\n        if (*local_68 != '\0') goto LAB_000159db;\n        goto LAB_00015228;\n      }\n      if (cVar28 == ' ') goto LAB_0001525c;\n      if ((cVar28 != '*') || (local_5c != 0x13)) goto LAB_000151b8;\n      if (pcVar19[1] == '/') {\n        if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }\n          if ((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')) {\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }\n        }\nLAB_00015cc8:\n        if ((char *)(iVar26 + -3) <= pcVar18) {\n          piVar1 = (int *)(unaff_EBP + 0x129a6);\n          iVar15 = *piVar1;\n          iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);\n          *(int *)(unaff_EBP + 0x129aa) = iVar16;\n          pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));\n          *piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);\n          *piVar1 = iVar16 + 1;\n        }\n        *puVar5 = (uint)(pcVar18 + 1);\n        *pcVar18 = '*';\n        puVar20 = (undefined1 *)*puVar5;\n        *puVar5 = (uint)(puVar20 + 1);\n        *puVar20 = 0x2f;\n        *(undefined1 *)*puVar5 = 0;\n        uVar24 = *puVar6;\n        *puVar6 = uVar24 + 2;\n        uVar24 = FUN_00018720(uVar24 + 2);\n        *puVar6 = uVar24;\n        if (*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= uVar24) {\n          FUN_00018c70();\n        }\n        iVar15 = *local_6c;\n        *(int *)(iVar15 + 0x58) = local_70;\n        *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n        *(int *)(iVar15 + 0x24) = local_54;\n        return;\n      }\n      if (*piVar1 + -1 == iVar15) {\n        piVar8 = (int *)(unaff_EBP + 0x129a6);\n        if (pcVar18 != (undefined1 *)*piVar8 + local_48) goto LAB_000151b8;\n        *(undefined1 *)*piVar8 = 0x20;\n        local_80 = (local_80 - local_48) + 2;\n        local_48 = 1;\n        local_4c = unaff_EBP + 0xc5d2;\n        *(undefined1 *)(*piVar8 + 1) = 0x2a;\n        local_78 = (char *)(*piVar8 + 2);\n        local_28 = 0;\n        *puVar5 = (uint)local_78;\n        local_54 = 1;\n        goto LAB_00015589;\n      }\nLAB_000151b8:\n      local_80 = local_80 + 1;\n      *puVar5 = (uint)(pcVar18 + 1);\n      *pcVar18 = *pcVar19;\n      bVar29 = local_74 != 0;\n      local_78 = pcVar18;\nLAB_000151d8:\n      if ((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar29)) goto LAB_000151f8;\n      if (local_64 < (char *)(*puVar5 - 1)) {\n        *local_64 = '\0';\n        uVar24 = *puVar5;\n        *puVar5 = (uint)local_64;\n        local_40 = uVar24 - (int)(local_64 + 1);\n        iVar26 = local_80 - local_40;\n        if ((int)(local_80 - local_40) <= local_60) {\n          iVar26 = local_60;\n        }\n        bVar30 = local_78 == (char *)0x0;\n        bVar29 = false;\n        local_78 = local_64 + 1;\n        local_60 = iVar26;\n        bVar30 = (bool)(bVar30 & bVar14);\n        goto LAB_00015630;\n      }\n      pcVar18 = (char *)*puVar6;\n      if (local_5c != 0x14) {\n        do {\n          pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2);\n          do {\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          } while (pcVar18 < pcVar27);\nLAB_00015b63:\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar6;\n        } while( true );\n      }\n      iVar26 = FUN_00018720(pcVar18);\n      *puVar6 = iVar26 - 1;\n      if (*(char *)(iVar26 + -1) == '\n') {\n        pcVar18 = (char *)*puVar5;\n        goto LAB_00015c4a;\n      }\nLAB_00015d49:\n      *(undefined1 *)*puVar5 = 0;\nLAB_000159db:\n      pcVar18 = local_78;\n      local_78 = (char *)0x0;\n      bVar29 = false;\n      bVar30 = (bool)(pcVar18 == (char *)0x0 & bVar14);\nLAB_00015630:\n      if ((bVar30) && (*piVar1 != iVar15)) {\n        puVar20 = *(undefined1 **)(unaff_EBP + 0x129a6);\n        *puVar5 = (uint)puVar20;\n      }\n      else {\n        puVar20 = (undefined1 *)*puVar5;\n      }\n      *puVar20 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      *(undefined4 *)(unaff_EBP + 0x1297e) = 0;\n      if (!bVar29) {\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n          FUN_00018c70();\n        }\n      }\nLAB_0001543c:\n      local_68 = &DAT_00012b1e + unaff_EBP;\n      if (*local_68 != '\0') break;\n      local_80 = local_70;\n      if (local_48 != 0) {\n        uVar24 = *puVar5;\n        iVar26 = *(int *)(unaff_EBP + 0x1299e);\n        if (iVar26 - local_48 <= uVar24) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_48 + 400 + (iVar26 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          uVar24 = iVar23 + 1 + (*puVar5 - *piVar2);\n          *puVar5 = uVar24;\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *piVar2 = iVar23 + 1;\n        }\n        if (local_48 != 0) {\n          uVar21 = 0;\n          do {\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          } while (uVar21 < local_48);\n        }\n        *puVar5 = *puVar5 + local_48;\n        local_80 = local_70 + local_48;\n      }\n      if (local_78 == (char *)0x0) {\n        FUN_00018e10();\n      }\n      else {\n        if ((*local_78 == ' ') || (*local_78 == '\t')) {\n          if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }\n        }\n        else {\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }\nLAB_000158f3:\n        __dest = (void *)*puVar5;\n        iVar23 = *(int *)(unaff_EBP + 0x1299e);\n        if ((void *)(iVar26 + iVar23) <= __dest) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_40 + 400 + (iVar23 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          __dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *puVar5 = (uint)__dest;\n          *piVar2 = iVar23 + 1;\n        }\n        memmove(__dest,local_78,local_84);\n        local_78 = (char *)*puVar5;\n        *puVar5 = (uint)(local_78 + local_84);\n        local_40 = 0;\n      }\n    }\n    iVar15 = *local_6c;\n    *(int *)(iVar15 + 0x58) = local_70;\n    *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n    *(int *)(iVar15 + 0x24) = local_54;\n    return;\n  }" { (expression_statement "local_4c = unaff_EBP + 0xc5c8;" (assignment_expression "local_4c = unaff_EBP + 0xc5c8" identifier = (binary_expression "unaff_EBP + 0xc5c8" identifier + number_literal)) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar29 = false;" (assignment_expression "bVar29 = false" identifier = false) ;) (expression_statement "local_5c = 0x14;" (assignment_expression "local_5c = 0x14" identifier = number_literal) ;) (expression_statement "local_48 = 3;" (assignment_expression "local_48 = 3" identifier = number_literal) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_84 = 0;" (assignment_expression "local_84 = 0" identifier = number_literal) ;) (expression_statement "uVar25 = 0x2f;" (assignment_expression "uVar25 = 0x2f" identifier = number_literal) ;) (labeled_statement "LAB_00014fd0:\n    local_6c = (int *)(&DAT_00012b16 + unaff_EBP);" statement_identifier : (expression_statement "local_6c = (int *)(&DAT_00012b16 + unaff_EBP);" (assignment_expression "local_6c = (int *)(&DAT_00012b16 + unaff_EBP)" identifier = (cast_expression "(int *)(&DAT_00012b16 + unaff_EBP)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00012b16 + unaff_EBP)" ( (binary_expression "&DAT_00012b16 + unaff_EBP" (pointer_expression "&DAT_00012b16" & identifier) + identifier) )))) ;)) (expression_statement "piVar1 = (int *)(unaff_EBP + 0x12b52);" (assignment_expression "piVar1 = (int *)(unaff_EBP + 0x12b52)" identifier = (cast_expression "(int *)(unaff_EBP + 0x12b52)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12b52)" ( (binary_expression "unaff_EBP + 0x12b52" identifier + number_literal) )))) ;) (expression_statement "iVar15 = *piVar1;" (assignment_expression "iVar15 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) (expression_statement "local_60 = *(int *)(unaff_EBP + 0x12c46);" (assignment_expression "local_60 = *(int *)(unaff_EBP + 0x12c46)" identifier = (pointer_expression "*(int *)(unaff_EBP + 0x12c46)" * (cast_expression "(int *)(unaff_EBP + 0x12c46)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12c46)" ( (binary_expression "unaff_EBP + 0x12c46" identifier + number_literal) ))))) ;) (expression_statement "iVar16 = FUN_00018750();" (assignment_expression "iVar16 = FUN_00018750()" identifier = (call_expression "FUN_00018750()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar26 = *(int *)(unaff_EBP + 0x129c6);" (assignment_expression "iVar26 = *(int *)(unaff_EBP + 0x129c6)" identifier = (pointer_expression "*(int *)(unaff_EBP + 0x129c6)" * (cast_expression "(int *)(unaff_EBP + 0x129c6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129c6)" ( (binary_expression "unaff_EBP + 0x129c6" identifier + number_literal) ))))) ;) (if_statement "if ((iVar26 == *(int *)(unaff_EBP + 0x129c2)) &&\n       (*(int *)(unaff_EBP + 0x129b6) == *(int *)(unaff_EBP + 0x129b2))) {\n      iVar26 = *local_6c;\n      if ((*(int *)(iVar26 + 0x54) == 0) || (*(int *)(unaff_EBP + 0x12c02) != 0)) {\n        local_74 = *(int *)(unaff_EBP + 0x12bfe);\n        if ((*(int *)(iVar26 + 0x74) < 1) &&\n           ((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))))) {\n          bVar13 = true;\n          local_80 = iVar16;\n          local_70 = iVar16 + -2;\n        }\n        else {\n          local_70 = FUN_00019aa0(*param_1);\n          local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);\n          if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }\n        }\n      }\n      else {\n        local_80 = 3;\n        bVar13 = true;\n        local_70 = 1;\n        local_74 = 0;\n      }\n    }\n    else {\n      if (*(int *)(*local_6c + 0x60) == 0) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0) {\n          local_70 = *(int *)(unaff_EBP + 0x12c7a);\n        }\n        else {\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }\n      }\n      else {\n        local_70 = *(int *)(unaff_EBP + 0x12c6e);\n      }\n      iVar23 = *(int *)(unaff_EBP + 0x129b6);\n      if (iVar23 == *(int *)(unaff_EBP + 0x129b2)) {\n        uVar17 = FUN_00019bf0();\n      }\n      else {\n        uVar17 = FUN_00019aa0(*param_1);\n        iVar26 = iVar23;\n      }\n      iVar26 = FUN_00019b60(uVar17,iVar26,0);\n      if (local_70 <= iVar26) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0) {\n          local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;\n        }\n        else {\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }\n      }\n      bVar13 = false;\n      bVar29 = false;\n      local_74 = *(int *)(unaff_EBP + 0x12bfe);\n      iVar26 = *local_6c;\n      local_80 = local_70 + 2;\n    }" if (parenthesized_expression "((iVar26 == *(int *)(unaff_EBP + 0x129c2)) &&\n       (*(int *)(unaff_EBP + 0x129b6) == *(int *)(unaff_EBP + 0x129b2)))" ( (binary_expression "(iVar26 == *(int *)(unaff_EBP + 0x129c2)) &&\n       (*(int *)(unaff_EBP + 0x129b6) == *(int *)(unaff_EBP + 0x129b2))" (parenthesized_expression "(iVar26 == *(int *)(unaff_EBP + 0x129c2))" ( (binary_expression "iVar26 == *(int *)(unaff_EBP + 0x129c2)" identifier == (pointer_expression "*(int *)(unaff_EBP + 0x129c2)" * (cast_expression "(int *)(unaff_EBP + 0x129c2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129c2)" ( (binary_expression "unaff_EBP + 0x129c2" identifier + number_literal) ))))) )) && (parenthesized_expression "(*(int *)(unaff_EBP + 0x129b6) == *(int *)(unaff_EBP + 0x129b2))" ( (binary_expression "*(int *)(unaff_EBP + 0x129b6) == *(int *)(unaff_EBP + 0x129b2)" (pointer_expression "*(int *)(unaff_EBP + 0x129b6)" * (cast_expression "(int *)(unaff_EBP + 0x129b6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129b6)" ( (binary_expression "unaff_EBP + 0x129b6" identifier + number_literal) )))) == (pointer_expression "*(int *)(unaff_EBP + 0x129b2)" * (cast_expression "(int *)(unaff_EBP + 0x129b2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129b2)" ( (binary_expression "unaff_EBP + 0x129b2" identifier + number_literal) ))))) ))) )) (compound_statement "{\n      iVar26 = *local_6c;\n      if ((*(int *)(iVar26 + 0x54) == 0) || (*(int *)(unaff_EBP + 0x12c02) != 0)) {\n        local_74 = *(int *)(unaff_EBP + 0x12bfe);\n        if ((*(int *)(iVar26 + 0x74) < 1) &&\n           ((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))))) {\n          bVar13 = true;\n          local_80 = iVar16;\n          local_70 = iVar16 + -2;\n        }\n        else {\n          local_70 = FUN_00019aa0(*param_1);\n          local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);\n          if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }\n        }\n      }\n      else {\n        local_80 = 3;\n        bVar13 = true;\n        local_70 = 1;\n        local_74 = 0;\n      }\n    }" { (expression_statement "iVar26 = *local_6c;" (assignment_expression "iVar26 = *local_6c" identifier = (pointer_expression "*local_6c" * identifier)) ;) (if_statement "if ((*(int *)(iVar26 + 0x54) == 0) || (*(int *)(unaff_EBP + 0x12c02) != 0)) {\n        local_74 = *(int *)(unaff_EBP + 0x12bfe);\n        if ((*(int *)(iVar26 + 0x74) < 1) &&\n           ((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))))) {\n          bVar13 = true;\n          local_80 = iVar16;\n          local_70 = iVar16 + -2;\n        }\n        else {\n          local_70 = FUN_00019aa0(*param_1);\n          local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);\n          if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }\n        }\n      }\n      else {\n        local_80 = 3;\n        bVar13 = true;\n        local_70 = 1;\n        local_74 = 0;\n      }" if (parenthesized_expression "((*(int *)(iVar26 + 0x54) == 0) || (*(int *)(unaff_EBP + 0x12c02) != 0))" ( (binary_expression "(*(int *)(iVar26 + 0x54) == 0) || (*(int *)(unaff_EBP + 0x12c02) != 0)" (parenthesized_expression "(*(int *)(iVar26 + 0x54) == 0)" ( (binary_expression "*(int *)(iVar26 + 0x54) == 0" (pointer_expression "*(int *)(iVar26 + 0x54)" * (cast_expression "(int *)(iVar26 + 0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x54)" ( (binary_expression "iVar26 + 0x54" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(*(int *)(unaff_EBP + 0x12c02) != 0)" ( (binary_expression "*(int *)(unaff_EBP + 0x12c02) != 0" (pointer_expression "*(int *)(unaff_EBP + 0x12c02)" * (cast_expression "(int *)(unaff_EBP + 0x12c02)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12c02)" ( (binary_expression "unaff_EBP + 0x12c02" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n        local_74 = *(int *)(unaff_EBP + 0x12bfe);\n        if ((*(int *)(iVar26 + 0x74) < 1) &&\n           ((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))))) {\n          bVar13 = true;\n          local_80 = iVar16;\n          local_70 = iVar16 + -2;\n        }\n        else {\n          local_70 = FUN_00019aa0(*param_1);\n          local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);\n          if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }\n        }\n      }" { (expression_statement "local_74 = *(int *)(unaff_EBP + 0x12bfe);" (assignment_expression "local_74 = *(int *)(unaff_EBP + 0x12bfe)" identifier = (pointer_expression "*(int *)(unaff_EBP + 0x12bfe)" * (cast_expression "(int *)(unaff_EBP + 0x12bfe)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12bfe)" ( (binary_expression "unaff_EBP + 0x12bfe" identifier + number_literal) ))))) ;) (if_statement "if ((*(int *)(iVar26 + 0x74) < 1) &&\n           ((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))))) {\n          bVar13 = true;\n          local_80 = iVar16;\n          local_70 = iVar16 + -2;\n        }\n        else {\n          local_70 = FUN_00019aa0(*param_1);\n          local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);\n          if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }\n        }" if (parenthesized_expression "((*(int *)(iVar26 + 0x74) < 1) &&\n           ((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0))))))" ( (binary_expression "(*(int *)(iVar26 + 0x74) < 1) &&\n           ((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))))" (parenthesized_expression "(*(int *)(iVar26 + 0x74) < 1)" ( (binary_expression "*(int *)(iVar26 + 0x74) < 1" (pointer_expression "*(int *)(iVar26 + 0x74)" * (cast_expression "(int *)(iVar26 + 0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x74)" ( (binary_expression "iVar26 + 0x74" identifier + number_literal) )))) < number_literal) )) && (parenthesized_expression "((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))))" ( (parenthesized_expression "(*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0))))" ( (binary_expression "*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))" (binary_expression "*(int *)(iVar26 + 0x6c) == 0" (pointer_expression "*(int *)(iVar26 + 0x6c)" * (cast_expression "(int *)(iVar26 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x6c)" ( (binary_expression "iVar26 + 0x6c" identifier + number_literal) )))) == number_literal) || (parenthesized_expression "((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))" ( (parenthesized_expression "(*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0))" ( (binary_expression "*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)" (binary_expression "*(char *)(iVar26 + 0x68) != '\0'" (pointer_expression "*(char *)(iVar26 + 0x68)" * (cast_expression "(char *)(iVar26 + 0x68)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x68)" ( (binary_expression "iVar26 + 0x68" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(*(int *)(iVar26 + 0x84) == 0)" ( (binary_expression "*(int *)(iVar26 + 0x84) == 0" (pointer_expression "*(int *)(iVar26 + 0x84)" * (cast_expression "(int *)(iVar26 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x84)" ( (binary_expression "iVar26 + 0x84" identifier + number_literal) )))) == number_literal) ))) )) ))) )) ))) )) (compound_statement "{\n          bVar13 = true;\n          local_80 = iVar16;\n          local_70 = iVar16 + -2;\n        }" { (expression_statement "bVar13 = true;" (assignment_expression "bVar13 = true" identifier = true) ;) (expression_statement "local_80 = iVar16;" (assignment_expression "local_80 = iVar16" identifier = identifier) ;) (expression_statement "local_70 = iVar16 + -2;" (assignment_expression "local_70 = iVar16 + -2" identifier = (binary_expression "iVar16 + -2" identifier + number_literal)) ;) }) (else_clause "else {\n          local_70 = FUN_00019aa0(*param_1);\n          local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);\n          if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }\n        }" else (compound_statement "{\n          local_70 = FUN_00019aa0(*param_1);\n          local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);\n          if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }\n        }" { (expression_statement "local_70 = FUN_00019aa0(*param_1);" (assignment_expression "local_70 = FUN_00019aa0(*param_1)" identifier = (call_expression "FUN_00019aa0(*param_1)" identifier (argument_list "(*param_1)" ( (pointer_expression "*param_1" * identifier) )))) ;) (expression_statement "local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);" (assignment_expression "local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP)" identifier = (binary_expression "local_70 - *(int *)(&DAT_00012c5e + unaff_EBP)" identifier - (pointer_expression "*(int *)(&DAT_00012c5e + unaff_EBP)" * (cast_expression "(int *)(&DAT_00012c5e + unaff_EBP)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00012c5e + unaff_EBP)" ( (binary_expression "&DAT_00012c5e + unaff_EBP" (pointer_expression "&DAT_00012c5e" & identifier) + identifier) )))))) ;) (if_statement "if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }" if (parenthesized_expression "(local_70 < 0)" ( (binary_expression "local_70 < 0" identifier < number_literal) )) (compound_statement "{\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }" { (expression_statement "local_80 = 3;" (assignment_expression "local_80 = 3" identifier = number_literal) ;) (expression_statement "bVar13 = true;" (assignment_expression "bVar13 = true" identifier = true) ;) (expression_statement "iVar26 = *local_6c;" (assignment_expression "iVar26 = *local_6c" identifier = (pointer_expression "*local_6c" * identifier)) ;) (expression_statement "local_70 = 1;" (assignment_expression "local_70 = 1" identifier = number_literal) ;) }) (else_clause "else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }" else (compound_statement "{\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }" { (expression_statement "bVar13 = true;" (assignment_expression "bVar13 = true" identifier = true) ;) (expression_statement "local_80 = local_70 + 2;" (assignment_expression "local_80 = local_70 + 2" identifier = (binary_expression "local_70 + 2" identifier + number_literal)) ;) (expression_statement "iVar26 = *local_6c;" (assignment_expression "iVar26 = *local_6c" identifier = (pointer_expression "*local_6c" * identifier)) ;) }))) }))) }) (else_clause "else {\n        local_80 = 3;\n        bVar13 = true;\n        local_70 = 1;\n        local_74 = 0;\n      }" else (compound_statement "{\n        local_80 = 3;\n        bVar13 = true;\n        local_70 = 1;\n        local_74 = 0;\n      }" { (expression_statement "local_80 = 3;" (assignment_expression "local_80 = 3" identifier = number_literal) ;) (expression_statement "bVar13 = true;" (assignment_expression "bVar13 = true" identifier = true) ;) (expression_statement "local_70 = 1;" (assignment_expression "local_70 = 1" identifier = number_literal) ;) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" identifier = number_literal) ;) }))) }) (else_clause "else {\n      if (*(int *)(*local_6c + 0x60) == 0) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0) {\n          local_70 = *(int *)(unaff_EBP + 0x12c7a);\n        }\n        else {\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }\n      }\n      else {\n        local_70 = *(int *)(unaff_EBP + 0x12c6e);\n      }\n      iVar23 = *(int *)(unaff_EBP + 0x129b6);\n      if (iVar23 == *(int *)(unaff_EBP + 0x129b2)) {\n        uVar17 = FUN_00019bf0();\n      }\n      else {\n        uVar17 = FUN_00019aa0(*param_1);\n        iVar26 = iVar23;\n      }\n      iVar26 = FUN_00019b60(uVar17,iVar26,0);\n      if (local_70 <= iVar26) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0) {\n          local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;\n        }\n        else {\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }\n      }\n      bVar13 = false;\n      bVar29 = false;\n      local_74 = *(int *)(unaff_EBP + 0x12bfe);\n      iVar26 = *local_6c;\n      local_80 = local_70 + 2;\n    }" else (compound_statement "{\n      if (*(int *)(*local_6c + 0x60) == 0) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0) {\n          local_70 = *(int *)(unaff_EBP + 0x12c7a);\n        }\n        else {\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }\n      }\n      else {\n        local_70 = *(int *)(unaff_EBP + 0x12c6e);\n      }\n      iVar23 = *(int *)(unaff_EBP + 0x129b6);\n      if (iVar23 == *(int *)(unaff_EBP + 0x129b2)) {\n        uVar17 = FUN_00019bf0();\n      }\n      else {\n        uVar17 = FUN_00019aa0(*param_1);\n        iVar26 = iVar23;\n      }\n      iVar26 = FUN_00019b60(uVar17,iVar26,0);\n      if (local_70 <= iVar26) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0) {\n          local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;\n        }\n        else {\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }\n      }\n      bVar13 = false;\n      bVar29 = false;\n      local_74 = *(int *)(unaff_EBP + 0x12bfe);\n      iVar26 = *local_6c;\n      local_80 = local_70 + 2;\n    }" { (if_statement "if (*(int *)(*local_6c + 0x60) == 0) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0) {\n          local_70 = *(int *)(unaff_EBP + 0x12c7a);\n        }\n        else {\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }\n      }\n      else {\n        local_70 = *(int *)(unaff_EBP + 0x12c6e);\n      }" if (parenthesized_expression "(*(int *)(*local_6c + 0x60) == 0)" ( (binary_expression "*(int *)(*local_6c + 0x60) == 0" (pointer_expression "*(int *)(*local_6c + 0x60)" * (cast_expression "(int *)(*local_6c + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_6c + 0x60)" ( (binary_expression "*local_6c + 0x60" (pointer_expression "*local_6c" * identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n        if (*(int *)(unaff_EBP + 0x1296a) == 0) {\n          local_70 = *(int *)(unaff_EBP + 0x12c7a);\n        }\n        else {\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }\n      }" { (if_statement "if (*(int *)(unaff_EBP + 0x1296a) == 0) {\n          local_70 = *(int *)(unaff_EBP + 0x12c7a);\n        }\n        else {\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }" if (parenthesized_expression "(*(int *)(unaff_EBP + 0x1296a) == 0)" ( (binary_expression "*(int *)(unaff_EBP + 0x1296a) == 0" (pointer_expression "*(int *)(unaff_EBP + 0x1296a)" * (cast_expression "(int *)(unaff_EBP + 0x1296a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1296a)" ( (binary_expression "unaff_EBP + 0x1296a" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          local_70 = *(int *)(unaff_EBP + 0x12c7a);\n        }" { (expression_statement "local_70 = *(int *)(unaff_EBP + 0x12c7a);" (assignment_expression "local_70 = *(int *)(unaff_EBP + 0x12c7a)" identifier = (pointer_expression "*(int *)(unaff_EBP + 0x12c7a)" * (cast_expression "(int *)(unaff_EBP + 0x12c7a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12c7a)" ( (binary_expression "unaff_EBP + 0x12c7a" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }" else (compound_statement "{\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }" { (expression_statement "local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);" (assignment_expression "local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2)" identifier = (pointer_expression "*(int *)(FUN_00012c60 + unaff_EBP + 2)" * (cast_expression "(int *)(FUN_00012c60 + unaff_EBP + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(FUN_00012c60 + unaff_EBP + 2)" ( (binary_expression "FUN_00012c60 + unaff_EBP + 2" (binary_expression "FUN_00012c60 + unaff_EBP" identifier + identifier) + number_literal) ))))) ;) }))) }) (else_clause "else {\n        local_70 = *(int *)(unaff_EBP + 0x12c6e);\n      }" else (compound_statement "{\n        local_70 = *(int *)(unaff_EBP + 0x12c6e);\n      }" { (expression_statement "local_70 = *(int *)(unaff_EBP + 0x12c6e);" (assignment_expression "local_70 = *(int *)(unaff_EBP + 0x12c6e)" identifier = (pointer_expression "*(int *)(unaff_EBP + 0x12c6e)" * (cast_expression "(int *)(unaff_EBP + 0x12c6e)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12c6e)" ( (binary_expression "unaff_EBP + 0x12c6e" identifier + number_literal) ))))) ;) }))) (expression_statement "iVar23 = *(int *)(unaff_EBP + 0x129b6);" (assignment_expression "iVar23 = *(int *)(unaff_EBP + 0x129b6)" identifier = (pointer_expression "*(int *)(unaff_EBP + 0x129b6)" * (cast_expression "(int *)(unaff_EBP + 0x129b6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129b6)" ( (binary_expression "unaff_EBP + 0x129b6" identifier + number_literal) ))))) ;) (if_statement "if (iVar23 == *(int *)(unaff_EBP + 0x129b2)) {\n        uVar17 = FUN_00019bf0();\n      }\n      else {\n        uVar17 = FUN_00019aa0(*param_1);\n        iVar26 = iVar23;\n      }" if (parenthesized_expression "(iVar23 == *(int *)(unaff_EBP + 0x129b2))" ( (binary_expression "iVar23 == *(int *)(unaff_EBP + 0x129b2)" identifier == (pointer_expression "*(int *)(unaff_EBP + 0x129b2)" * (cast_expression "(int *)(unaff_EBP + 0x129b2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129b2)" ( (binary_expression "unaff_EBP + 0x129b2" identifier + number_literal) ))))) )) (compound_statement "{\n        uVar17 = FUN_00019bf0();\n      }" { (expression_statement "uVar17 = FUN_00019bf0();" (assignment_expression "uVar17 = FUN_00019bf0()" identifier = (call_expression "FUN_00019bf0()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else {\n        uVar17 = FUN_00019aa0(*param_1);\n        iVar26 = iVar23;\n      }" else (compound_statement "{\n        uVar17 = FUN_00019aa0(*param_1);\n        iVar26 = iVar23;\n      }" { (expression_statement "uVar17 = FUN_00019aa0(*param_1);" (assignment_expression "uVar17 = FUN_00019aa0(*param_1)" identifier = (call_expression "FUN_00019aa0(*param_1)" identifier (argument_list "(*param_1)" ( (pointer_expression "*param_1" * identifier) )))) ;) (expression_statement "iVar26 = iVar23;" (assignment_expression "iVar26 = iVar23" identifier = identifier) ;) }))) (expression_statement "iVar26 = FUN_00019b60(uVar17,iVar26,0);" (assignment_expression "iVar26 = FUN_00019b60(uVar17,iVar26,0)" identifier = (call_expression "FUN_00019b60(uVar17,iVar26,0)" identifier (argument_list "(uVar17,iVar26,0)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (local_70 <= iVar26) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0) {\n          local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;\n        }\n        else {\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }\n      }" if (parenthesized_expression "(local_70 <= iVar26)" ( (binary_expression "local_70 <= iVar26" identifier <= identifier) )) (compound_statement "{\n        if (*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0) {\n          local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;\n        }\n        else {\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }\n      }" { (if_statement "if (*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0) {\n          local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;\n        }\n        else {\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }" if (parenthesized_expression "(*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0)" ( (binary_expression "*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0" (binary_expression "*(int *)(unaff_EBP + 0x1296a) == 0" (pointer_expression "*(int *)(unaff_EBP + 0x1296a)" * (cast_expression "(int *)(unaff_EBP + 0x1296a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1296a)" ( (binary_expression "unaff_EBP + 0x1296a" identifier + number_literal) )))) == number_literal) && (binary_expression "*(int *)(unaff_EBP + 0x12ca6) == 0" (pointer_expression "*(int *)(unaff_EBP + 0x12ca6)" * (cast_expression "(int *)(unaff_EBP + 0x12ca6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12ca6)" ( (binary_expression "unaff_EBP + 0x12ca6" identifier + number_literal) )))) == number_literal)) )) (compound_statement "{\n          local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;\n        }" { (expression_statement "local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;" (assignment_expression "local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26" identifier = (binary_expression "(*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26" (parenthesized_expression "(*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))" ( (binary_expression "*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2)" (pointer_expression "*(int *)(unaff_EBP + 0x12bb2)" * (cast_expression "(int *)(unaff_EBP + 0x12bb2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12bb2)" ( (binary_expression "unaff_EBP + 0x12bb2" identifier + number_literal) )))) - (binary_expression "(iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2)" (parenthesized_expression "(iVar26 + -1)" ( (binary_expression "iVar26 + -1" identifier + number_literal) )) % (pointer_expression "*(int *)(unaff_EBP + 0x12bb2)" * (cast_expression "(int *)(unaff_EBP + 0x12bb2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12bb2)" ( (binary_expression "unaff_EBP + 0x12bb2" identifier + number_literal) )))))) )) + identifier)) ;) }) (else_clause "else {\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }" else (compound_statement "{\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }" { (expression_statement "local_70 = iVar26 + 1;" (assignment_expression "local_70 = iVar26 + 1" identifier = (binary_expression "iVar26 + 1" identifier + number_literal)) ;) (expression_statement "*(int *)(unaff_EBP + 0x1296a) = 0;" (assignment_expression "*(int *)(unaff_EBP + 0x1296a) = 0" (pointer_expression "*(int *)(unaff_EBP + 0x1296a)" * (cast_expression "(int *)(unaff_EBP + 0x1296a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1296a)" ( (binary_expression "unaff_EBP + 0x1296a" identifier + number_literal) )))) = number_literal) ;) }))) })) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (expression_statement "bVar29 = false;" (assignment_expression "bVar29 = false" identifier = false) ;) (expression_statement "local_74 = *(int *)(unaff_EBP + 0x12bfe);" (assignment_expression "local_74 = *(int *)(unaff_EBP + 0x12bfe)" identifier = (pointer_expression "*(int *)(unaff_EBP + 0x12bfe)" * (cast_expression "(int *)(unaff_EBP + 0x12bfe)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12bfe)" ( (binary_expression "unaff_EBP + 0x12bfe" identifier + number_literal) ))))) ;) (expression_statement "iVar26 = *local_6c;" (assignment_expression "iVar26 = *local_6c" identifier = (pointer_expression "*local_6c" * identifier)) ;) (expression_statement "local_80 = local_70 + 2;" (assignment_expression "local_80 = local_70 + 2" identifier = (binary_expression "local_70 + 2" identifier + number_literal)) ;) }))) (if_statement "if (local_4c == 0) {\n      if (local_84 == 0) {\n        local_4c = unaff_EBP + 0xc5d0;\n        bVar14 = true;\n        local_48 = 3;\n      }\n      else {\n        local_4c = unaff_EBP + 0xc5cc;\n        bVar14 = false;\n        local_48 = 3;\n      }\n    }" if (parenthesized_expression "(local_4c == 0)" ( (binary_expression "local_4c == 0" identifier == number_literal) )) (compound_statement "{\n      if (local_84 == 0) {\n        local_4c = unaff_EBP + 0xc5d0;\n        bVar14 = true;\n        local_48 = 3;\n      }\n      else {\n        local_4c = unaff_EBP + 0xc5cc;\n        bVar14 = false;\n        local_48 = 3;\n      }\n    }" { (if_statement "if (local_84 == 0) {\n        local_4c = unaff_EBP + 0xc5d0;\n        bVar14 = true;\n        local_48 = 3;\n      }\n      else {\n        local_4c = unaff_EBP + 0xc5cc;\n        bVar14 = false;\n        local_48 = 3;\n      }" if (parenthesized_expression "(local_84 == 0)" ( (binary_expression "local_84 == 0" identifier == number_literal) )) (compound_statement "{\n        local_4c = unaff_EBP + 0xc5d0;\n        bVar14 = true;\n        local_48 = 3;\n      }" { (expression_statement "local_4c = unaff_EBP + 0xc5d0;" (assignment_expression "local_4c = unaff_EBP + 0xc5d0" identifier = (binary_expression "unaff_EBP + 0xc5d0" identifier + number_literal)) ;) (expression_statement "bVar14 = true;" (assignment_expression "bVar14 = true" identifier = true) ;) (expression_statement "local_48 = 3;" (assignment_expression "local_48 = 3" identifier = number_literal) ;) }) (else_clause "else {\n        local_4c = unaff_EBP + 0xc5cc;\n        bVar14 = false;\n        local_48 = 3;\n      }" else (compound_statement "{\n        local_4c = unaff_EBP + 0xc5cc;\n        bVar14 = false;\n        local_48 = 3;\n      }" { (expression_statement "local_4c = unaff_EBP + 0xc5cc;" (assignment_expression "local_4c = unaff_EBP + 0xc5cc" identifier = (binary_expression "unaff_EBP + 0xc5cc" identifier + number_literal)) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "local_48 = 3;" (assignment_expression "local_48 = 3" identifier = number_literal) ;) }))) })) (expression_statement "*(undefined4 *)(iVar26 + 0x24) = 0;" (assignment_expression "*(undefined4 *)(iVar26 + 0x24) = 0" (pointer_expression "*(undefined4 *)(iVar26 + 0x24)" * (cast_expression "(undefined4 *)(iVar26 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x24)" ( (binary_expression "iVar26 + 0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(iVar26 + 0x58) = local_70;" (assignment_expression "*(int *)(iVar26 + 0x58) = local_70" (pointer_expression "*(int *)(iVar26 + 0x58)" * (cast_expression "(int *)(iVar26 + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x58)" ( (binary_expression "iVar26 + 0x58" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar5 = (uint *)(unaff_EBP + 0x129a2);" (assignment_expression "puVar5 = (uint *)(unaff_EBP + 0x129a2)" identifier = (cast_expression "(uint *)(unaff_EBP + 0x129a2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129a2)" ( (binary_expression "unaff_EBP + 0x129a2" identifier + number_literal) )))) ;) (expression_statement "puVar20 = (undefined1 *)*puVar5;" (assignment_expression "puVar20 = (undefined1 *)*puVar5" identifier = (cast_expression "(undefined1 *)*puVar5" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) (expression_statement "*puVar5 = (uint)(puVar20 + 1);" (assignment_expression "*puVar5 = (uint)(puVar20 + 1)" (pointer_expression "*puVar5" * identifier) = (call_expression "(uint)(puVar20 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar20 + 1)" ( (binary_expression "puVar20 + 1" identifier + number_literal) )))) ;) (expression_statement "*puVar20 = 0x2f;" (assignment_expression "*puVar20 = 0x2f" (pointer_expression "*puVar20" * identifier) = number_literal) ;) (expression_statement "puVar20 = (undefined1 *)*puVar5;" (assignment_expression "puVar20 = (undefined1 *)*puVar5" identifier = (cast_expression "(undefined1 *)*puVar5" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) (expression_statement "*puVar5 = (uint)(puVar20 + 1);" (assignment_expression "*puVar5 = (uint)(puVar20 + 1)" (pointer_expression "*puVar5" * identifier) = (call_expression "(uint)(puVar20 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar20 + 1)" ( (binary_expression "puVar20 + 1" identifier + number_literal) )))) ;) (expression_statement "*puVar20 = uVar25;" (assignment_expression "*puVar20 = uVar25" (pointer_expression "*puVar20" * identifier) = identifier) ;) (if_statement "if (bVar29) {\n      puVar7 = (undefined4 *)(&DAT_00012b26 + unaff_EBP);\n      uVar17 = *puVar7;\n      *(undefined1 *)*puVar5 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      pcVar18 = (char *)FUN_00018720(uVar17);\n      if (*pcVar18 == '\n') {\n        pcVar18 = pcVar18 + 1;\n        *puVar7 = pcVar18;\n      }\n      else if (local_74 == 0) {\n        pcVar18 = (char *)*puVar7;\n      }\n      else {\n        *puVar7 = pcVar18;\n      }\n      if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n        FUN_00018c70();\n      }\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n      goto LAB_0001543c;\n    }" if (parenthesized_expression "(bVar29)" ( identifier )) (compound_statement "{\n      puVar7 = (undefined4 *)(&DAT_00012b26 + unaff_EBP);\n      uVar17 = *puVar7;\n      *(undefined1 *)*puVar5 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      pcVar18 = (char *)FUN_00018720(uVar17);\n      if (*pcVar18 == '\n') {\n        pcVar18 = pcVar18 + 1;\n        *puVar7 = pcVar18;\n      }\n      else if (local_74 == 0) {\n        pcVar18 = (char *)*puVar7;\n      }\n      else {\n        *puVar7 = pcVar18;\n      }\n      if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n        FUN_00018c70();\n      }\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n      goto LAB_0001543c;\n    }" { (expression_statement "puVar7 = (undefined4 *)(&DAT_00012b26 + unaff_EBP);" (assignment_expression "puVar7 = (undefined4 *)(&DAT_00012b26 + unaff_EBP)" identifier = (cast_expression "(undefined4 *)(&DAT_00012b26 + unaff_EBP)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00012b26 + unaff_EBP)" ( (binary_expression "&DAT_00012b26 + unaff_EBP" (pointer_expression "&DAT_00012b26" & identifier) + identifier) )))) ;) (expression_statement "uVar17 = *puVar7;" (assignment_expression "uVar17 = *puVar7" identifier = (pointer_expression "*puVar7" * identifier)) ;) (expression_statement "*(undefined1 *)*puVar5 = 0;" (assignment_expression "*(undefined1 *)*puVar5 = 0" (pointer_expression "*(undefined1 *)*puVar5" * (cast_expression "(undefined1 *)*puVar5" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) = number_literal) ;) (expression_statement "FUN_0001a130(1,param_1,param_2);" (call_expression "FUN_0001a130(1,param_1,param_2)" identifier (argument_list "(1,param_1,param_2)" ( number_literal , identifier , identifier ))) ;) (expression_statement "pcVar18 = (char *)FUN_00018720(uVar17);" (assignment_expression "pcVar18 = (char *)FUN_00018720(uVar17)" identifier = (cast_expression "(char *)FUN_00018720(uVar17)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00018720(uVar17)" identifier (argument_list "(uVar17)" ( identifier ))))) ;) (if_statement "if (*pcVar18 == '\n') {\n        pcVar18 = pcVar18 + 1;\n        *puVar7 = pcVar18;\n      }\n      else if (local_74 == 0) {\n        pcVar18 = (char *)*puVar7;\n      }\n      else {\n        *puVar7 = pcVar18;\n      }" if (parenthesized_expression "(*pcVar18 == '\n')" ( (binary_expression "*pcVar18 == '\n'" (pointer_expression "*pcVar18" * identifier) == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n        pcVar18 = pcVar18 + 1;\n        *puVar7 = pcVar18;\n      }" { (expression_statement "pcVar18 = pcVar18 + 1;" (assignment_expression "pcVar18 = pcVar18 + 1" identifier = (binary_expression "pcVar18 + 1" identifier + number_literal)) ;) (expression_statement "*puVar7 = pcVar18;" (assignment_expression "*puVar7 = pcVar18" (pointer_expression "*puVar7" * identifier) = identifier) ;) }) (else_clause "else if (local_74 == 0) {\n        pcVar18 = (char *)*puVar7;\n      }\n      else {\n        *puVar7 = pcVar18;\n      }" else (if_statement "if (local_74 == 0) {\n        pcVar18 = (char *)*puVar7;\n      }\n      else {\n        *puVar7 = pcVar18;\n      }" if (parenthesized_expression "(local_74 == 0)" ( (binary_expression "local_74 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar18 = (char *)*puVar7;\n      }" { (expression_statement "pcVar18 = (char *)*puVar7;" (assignment_expression "pcVar18 = (char *)*puVar7" identifier = (cast_expression "(char *)*puVar7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar7" * identifier))) ;) }) (else_clause "else {\n        *puVar7 = pcVar18;\n      }" else (compound_statement "{\n        *puVar7 = pcVar18;\n      }" { (expression_statement "*puVar7 = pcVar18;" (assignment_expression "*puVar7 = pcVar18" (pointer_expression "*puVar7" * identifier) = identifier) ;) }))))) (if_statement "if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n        FUN_00018c70();\n      }" if (parenthesized_expression "(*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18)" ( (binary_expression "*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18" (pointer_expression "*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)" * (cast_expression "(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(__i686_get_pc_thunk_bx + unaff_EBP + 2)" ( (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP + 2" (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP" identifier + identifier) + number_literal) )))) <= identifier) )) (compound_statement "{\n        FUN_00018c70();\n      }" { (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_78 = (char *)0x0;" (assignment_expression "local_78 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0001543c;" goto statement_identifier ;) })) (if_statement "if (local_74 == 0) {\n      local_40 = 0;\n      local_54 = 0;\n      local_78 = (char *)0x0;\n    }\n    else {\n      puVar20 = (undefined1 *)*puVar5;\n      *puVar5 = (uint)(puVar20 + 1);\n      *puVar20 = 0x20;\n      local_80 = local_70 + 3;\n      FUN_00018e10();\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n    }" if (parenthesized_expression "(local_74 == 0)" ( (binary_expression "local_74 == 0" identifier == number_literal) )) (compound_statement "{\n      local_40 = 0;\n      local_54 = 0;\n      local_78 = (char *)0x0;\n    }" { (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (expression_statement "local_78 = (char *)0x0;" (assignment_expression "local_78 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      puVar20 = (undefined1 *)*puVar5;\n      *puVar5 = (uint)(puVar20 + 1);\n      *puVar20 = 0x20;\n      local_80 = local_70 + 3;\n      FUN_00018e10();\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n    }" else (compound_statement "{\n      puVar20 = (undefined1 *)*puVar5;\n      *puVar5 = (uint)(puVar20 + 1);\n      *puVar20 = 0x20;\n      local_80 = local_70 + 3;\n      FUN_00018e10();\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n    }" { (expression_statement "puVar20 = (undefined1 *)*puVar5;" (assignment_expression "puVar20 = (undefined1 *)*puVar5" identifier = (cast_expression "(undefined1 *)*puVar5" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) (expression_statement "*puVar5 = (uint)(puVar20 + 1);" (assignment_expression "*puVar5 = (uint)(puVar20 + 1)" (pointer_expression "*puVar5" * identifier) = (call_expression "(uint)(puVar20 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar20 + 1)" ( (binary_expression "puVar20 + 1" identifier + number_literal) )))) ;) (expression_statement "*puVar20 = 0x20;" (assignment_expression "*puVar20 = 0x20" (pointer_expression "*puVar20" * identifier) = number_literal) ;) (expression_statement "local_80 = local_70 + 3;" (assignment_expression "local_80 = local_70 + 3" identifier = (binary_expression "local_70 + 3" identifier + number_literal)) ;) (expression_statement "FUN_00018e10();" (call_expression "FUN_00018e10()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_78 = (char *)0x0;" (assignment_expression "local_78 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) }))) (while_statement "while (local_68 = &DAT_00012b1e + unaff_EBP, *local_68 == '\0') {\n      piVar2 = (int *)(unaff_EBP + 0x1299e);\n      puVar6 = (uint *)(&DAT_00012b26 + unaff_EBP);\n      local_64 = (char *)0x0;\n      piVar4 = (int *)(unaff_EBP + 0x129a6);\nLAB_00015228:\n      pcVar27 = local_78;\n      iVar26 = *piVar2;\n      pcVar18 = (char *)*puVar5;\n      if ((char *)(iVar26 + -1) <= pcVar18) {\n        iVar23 = *piVar4;\n        iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar22;\n        pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar4));\n        *puVar5 = (uint)pcVar18;\n        iVar26 = iVar22 + 0x18c + (iVar26 - iVar23);\n        *piVar4 = iVar22 + 1;\n        pcVar19 = (char *)*puVar6;\n        *piVar2 = iVar26;\n        cVar28 = *pcVar19;\n        cVar12 = cVar28 + -10;\n        bVar29 = cVar12 == '\0';\n        if (!bVar29) goto LAB_0001524d;\nLAB_0001531c:\n        if (local_5c == 0x14) {\nLAB_00015c4a:\n          iVar15 = *local_6c;\n          *(int *)(iVar15 + 0x58) = local_70;\n          *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n          *(int *)(iVar15 + 0x24) = local_54;\n          *pcVar18 = '\0';\n          return;\n        }\n        if (local_74 == 0) {\n          local_78 = (char *)0x0;\n          bVar29 = false;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        *puVar6 = (uint)(pcVar19 + 1);\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;\n        if (*(char **)pcVar3 <= pcVar19 + 1) {\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar5;\n        }\n        if ((local_78 < local_64) && (local_64 < pcVar18)) {\n          *puVar5 = (uint)local_64;\n        }\n        FUN_00018e10();\n        if (*(char *)*puVar6 == '\n') {\n          local_78 = (char *)0x0;\n          bVar29 = true;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        if (local_78 == (char *)0x0) {\n          bVar29 = true;\n          bVar30 = bVar14;\n          goto LAB_00015630;\n        }\n        if ((((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')) && (pcVar18[1] != '/')) {\n          pcVar18 = pcVar18 + 1;\n          *puVar6 = (uint)pcVar18;\n          if (*(char **)pcVar3 <= pcVar18) {\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }\n          if ((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))\n          {\n            FUN_00018c70();\n          }\n        }\n        pcVar18 = (char *)*puVar5;\n        if (pcVar18[-1] != ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n          local_64 = pcVar18;\n        }\n        goto LAB_0001521b;\n      }\n      pcVar19 = (char *)*puVar6;\n      cVar28 = *pcVar19;\n      cVar12 = cVar28 + -10;\n      bVar29 = cVar28 == '\n';\n      if (bVar29) goto LAB_0001531c;\nLAB_0001524d:\n      if (bVar29 || SBORROW1(cVar28,'\n') != cVar12 < '\0') {\n        if (cVar28 != '\t') goto LAB_000151b8;\nLAB_0001525c:\n        if (((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)) {\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }\n        if (cVar28 == ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n        }\n        else {\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }\nLAB_000151f8:\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)) {\n          FUN_00018c70();\n        }\nLAB_0001521b:\n        if (*local_68 != '\0') goto LAB_000159db;\n        goto LAB_00015228;\n      }\n      if (cVar28 == ' ') goto LAB_0001525c;\n      if ((cVar28 != '*') || (local_5c != 0x13)) goto LAB_000151b8;\n      if (pcVar19[1] == '/') {\n        if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }\n          if ((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')) {\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }\n        }\nLAB_00015cc8:\n        if ((char *)(iVar26 + -3) <= pcVar18) {\n          piVar1 = (int *)(unaff_EBP + 0x129a6);\n          iVar15 = *piVar1;\n          iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);\n          *(int *)(unaff_EBP + 0x129aa) = iVar16;\n          pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));\n          *piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);\n          *piVar1 = iVar16 + 1;\n        }\n        *puVar5 = (uint)(pcVar18 + 1);\n        *pcVar18 = '*';\n        puVar20 = (undefined1 *)*puVar5;\n        *puVar5 = (uint)(puVar20 + 1);\n        *puVar20 = 0x2f;\n        *(undefined1 *)*puVar5 = 0;\n        uVar24 = *puVar6;\n        *puVar6 = uVar24 + 2;\n        uVar24 = FUN_00018720(uVar24 + 2);\n        *puVar6 = uVar24;\n        if (*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= uVar24) {\n          FUN_00018c70();\n        }\n        iVar15 = *local_6c;\n        *(int *)(iVar15 + 0x58) = local_70;\n        *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n        *(int *)(iVar15 + 0x24) = local_54;\n        return;\n      }\n      if (*piVar1 + -1 == iVar15) {\n        piVar8 = (int *)(unaff_EBP + 0x129a6);\n        if (pcVar18 != (undefined1 *)*piVar8 + local_48) goto LAB_000151b8;\n        *(undefined1 *)*piVar8 = 0x20;\n        local_80 = (local_80 - local_48) + 2;\n        local_48 = 1;\n        local_4c = unaff_EBP + 0xc5d2;\n        *(undefined1 *)(*piVar8 + 1) = 0x2a;\n        local_78 = (char *)(*piVar8 + 2);\n        local_28 = 0;\n        *puVar5 = (uint)local_78;\n        local_54 = 1;\n        goto LAB_00015589;\n      }\nLAB_000151b8:\n      local_80 = local_80 + 1;\n      *puVar5 = (uint)(pcVar18 + 1);\n      *pcVar18 = *pcVar19;\n      bVar29 = local_74 != 0;\n      local_78 = pcVar18;\nLAB_000151d8:\n      if ((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar29)) goto LAB_000151f8;\n      if (local_64 < (char *)(*puVar5 - 1)) {\n        *local_64 = '\0';\n        uVar24 = *puVar5;\n        *puVar5 = (uint)local_64;\n        local_40 = uVar24 - (int)(local_64 + 1);\n        iVar26 = local_80 - local_40;\n        if ((int)(local_80 - local_40) <= local_60) {\n          iVar26 = local_60;\n        }\n        bVar30 = local_78 == (char *)0x0;\n        bVar29 = false;\n        local_78 = local_64 + 1;\n        local_60 = iVar26;\n        bVar30 = (bool)(bVar30 & bVar14);\n        goto LAB_00015630;\n      }\n      pcVar18 = (char *)*puVar6;\n      if (local_5c != 0x14) {\n        do {\n          pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2);\n          do {\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          } while (pcVar18 < pcVar27);\nLAB_00015b63:\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar6;\n        } while( true );\n      }\n      iVar26 = FUN_00018720(pcVar18);\n      *puVar6 = iVar26 - 1;\n      if (*(char *)(iVar26 + -1) == '\n') {\n        pcVar18 = (char *)*puVar5;\n        goto LAB_00015c4a;\n      }\nLAB_00015d49:\n      *(undefined1 *)*puVar5 = 0;\nLAB_000159db:\n      pcVar18 = local_78;\n      local_78 = (char *)0x0;\n      bVar29 = false;\n      bVar30 = (bool)(pcVar18 == (char *)0x0 & bVar14);\nLAB_00015630:\n      if ((bVar30) && (*piVar1 != iVar15)) {\n        puVar20 = *(undefined1 **)(unaff_EBP + 0x129a6);\n        *puVar5 = (uint)puVar20;\n      }\n      else {\n        puVar20 = (undefined1 *)*puVar5;\n      }\n      *puVar20 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      *(undefined4 *)(unaff_EBP + 0x1297e) = 0;\n      if (!bVar29) {\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n          FUN_00018c70();\n        }\n      }\nLAB_0001543c:\n      local_68 = &DAT_00012b1e + unaff_EBP;\n      if (*local_68 != '\0') break;\n      local_80 = local_70;\n      if (local_48 != 0) {\n        uVar24 = *puVar5;\n        iVar26 = *(int *)(unaff_EBP + 0x1299e);\n        if (iVar26 - local_48 <= uVar24) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_48 + 400 + (iVar26 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          uVar24 = iVar23 + 1 + (*puVar5 - *piVar2);\n          *puVar5 = uVar24;\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *piVar2 = iVar23 + 1;\n        }\n        if (local_48 != 0) {\n          uVar21 = 0;\n          do {\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          } while (uVar21 < local_48);\n        }\n        *puVar5 = *puVar5 + local_48;\n        local_80 = local_70 + local_48;\n      }\n      if (local_78 == (char *)0x0) {\n        FUN_00018e10();\n      }\n      else {\n        if ((*local_78 == ' ') || (*local_78 == '\t')) {\n          if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }\n        }\n        else {\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }\nLAB_000158f3:\n        __dest = (void *)*puVar5;\n        iVar23 = *(int *)(unaff_EBP + 0x1299e);\n        if ((void *)(iVar26 + iVar23) <= __dest) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_40 + 400 + (iVar23 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          __dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *puVar5 = (uint)__dest;\n          *piVar2 = iVar23 + 1;\n        }\n        memmove(__dest,local_78,local_84);\n        local_78 = (char *)*puVar5;\n        *puVar5 = (uint)(local_78 + local_84);\n        local_40 = 0;\n      }\n    }" while (parenthesized_expression "(local_68 = &DAT_00012b1e + unaff_EBP, *local_68 == '\0')" ( (comma_expression "local_68 = &DAT_00012b1e + unaff_EBP, *local_68 == '\0'" (assignment_expression "local_68 = &DAT_00012b1e + unaff_EBP" identifier = (binary_expression "&DAT_00012b1e + unaff_EBP" (pointer_expression "&DAT_00012b1e" & identifier) + identifier)) , (binary_expression "*local_68 == '\0'" (pointer_expression "*local_68" * identifier) == (char_literal "'\0'" ' escape_sequence '))) )) (compound_statement "{\n      piVar2 = (int *)(unaff_EBP + 0x1299e);\n      puVar6 = (uint *)(&DAT_00012b26 + unaff_EBP);\n      local_64 = (char *)0x0;\n      piVar4 = (int *)(unaff_EBP + 0x129a6);\nLAB_00015228:\n      pcVar27 = local_78;\n      iVar26 = *piVar2;\n      pcVar18 = (char *)*puVar5;\n      if ((char *)(iVar26 + -1) <= pcVar18) {\n        iVar23 = *piVar4;\n        iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar22;\n        pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar4));\n        *puVar5 = (uint)pcVar18;\n        iVar26 = iVar22 + 0x18c + (iVar26 - iVar23);\n        *piVar4 = iVar22 + 1;\n        pcVar19 = (char *)*puVar6;\n        *piVar2 = iVar26;\n        cVar28 = *pcVar19;\n        cVar12 = cVar28 + -10;\n        bVar29 = cVar12 == '\0';\n        if (!bVar29) goto LAB_0001524d;\nLAB_0001531c:\n        if (local_5c == 0x14) {\nLAB_00015c4a:\n          iVar15 = *local_6c;\n          *(int *)(iVar15 + 0x58) = local_70;\n          *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n          *(int *)(iVar15 + 0x24) = local_54;\n          *pcVar18 = '\0';\n          return;\n        }\n        if (local_74 == 0) {\n          local_78 = (char *)0x0;\n          bVar29 = false;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        *puVar6 = (uint)(pcVar19 + 1);\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;\n        if (*(char **)pcVar3 <= pcVar19 + 1) {\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar5;\n        }\n        if ((local_78 < local_64) && (local_64 < pcVar18)) {\n          *puVar5 = (uint)local_64;\n        }\n        FUN_00018e10();\n        if (*(char *)*puVar6 == '\n') {\n          local_78 = (char *)0x0;\n          bVar29 = true;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        if (local_78 == (char *)0x0) {\n          bVar29 = true;\n          bVar30 = bVar14;\n          goto LAB_00015630;\n        }\n        if ((((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')) && (pcVar18[1] != '/')) {\n          pcVar18 = pcVar18 + 1;\n          *puVar6 = (uint)pcVar18;\n          if (*(char **)pcVar3 <= pcVar18) {\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }\n          if ((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))\n          {\n            FUN_00018c70();\n          }\n        }\n        pcVar18 = (char *)*puVar5;\n        if (pcVar18[-1] != ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n          local_64 = pcVar18;\n        }\n        goto LAB_0001521b;\n      }\n      pcVar19 = (char *)*puVar6;\n      cVar28 = *pcVar19;\n      cVar12 = cVar28 + -10;\n      bVar29 = cVar28 == '\n';\n      if (bVar29) goto LAB_0001531c;\nLAB_0001524d:\n      if (bVar29 || SBORROW1(cVar28,'\n') != cVar12 < '\0') {\n        if (cVar28 != '\t') goto LAB_000151b8;\nLAB_0001525c:\n        if (((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)) {\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }\n        if (cVar28 == ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n        }\n        else {\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }\nLAB_000151f8:\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)) {\n          FUN_00018c70();\n        }\nLAB_0001521b:\n        if (*local_68 != '\0') goto LAB_000159db;\n        goto LAB_00015228;\n      }\n      if (cVar28 == ' ') goto LAB_0001525c;\n      if ((cVar28 != '*') || (local_5c != 0x13)) goto LAB_000151b8;\n      if (pcVar19[1] == '/') {\n        if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }\n          if ((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')) {\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }\n        }\nLAB_00015cc8:\n        if ((char *)(iVar26 + -3) <= pcVar18) {\n          piVar1 = (int *)(unaff_EBP + 0x129a6);\n          iVar15 = *piVar1;\n          iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);\n          *(int *)(unaff_EBP + 0x129aa) = iVar16;\n          pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));\n          *piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);\n          *piVar1 = iVar16 + 1;\n        }\n        *puVar5 = (uint)(pcVar18 + 1);\n        *pcVar18 = '*';\n        puVar20 = (undefined1 *)*puVar5;\n        *puVar5 = (uint)(puVar20 + 1);\n        *puVar20 = 0x2f;\n        *(undefined1 *)*puVar5 = 0;\n        uVar24 = *puVar6;\n        *puVar6 = uVar24 + 2;\n        uVar24 = FUN_00018720(uVar24 + 2);\n        *puVar6 = uVar24;\n        if (*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= uVar24) {\n          FUN_00018c70();\n        }\n        iVar15 = *local_6c;\n        *(int *)(iVar15 + 0x58) = local_70;\n        *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n        *(int *)(iVar15 + 0x24) = local_54;\n        return;\n      }\n      if (*piVar1 + -1 == iVar15) {\n        piVar8 = (int *)(unaff_EBP + 0x129a6);\n        if (pcVar18 != (undefined1 *)*piVar8 + local_48) goto LAB_000151b8;\n        *(undefined1 *)*piVar8 = 0x20;\n        local_80 = (local_80 - local_48) + 2;\n        local_48 = 1;\n        local_4c = unaff_EBP + 0xc5d2;\n        *(undefined1 *)(*piVar8 + 1) = 0x2a;\n        local_78 = (char *)(*piVar8 + 2);\n        local_28 = 0;\n        *puVar5 = (uint)local_78;\n        local_54 = 1;\n        goto LAB_00015589;\n      }\nLAB_000151b8:\n      local_80 = local_80 + 1;\n      *puVar5 = (uint)(pcVar18 + 1);\n      *pcVar18 = *pcVar19;\n      bVar29 = local_74 != 0;\n      local_78 = pcVar18;\nLAB_000151d8:\n      if ((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar29)) goto LAB_000151f8;\n      if (local_64 < (char *)(*puVar5 - 1)) {\n        *local_64 = '\0';\n        uVar24 = *puVar5;\n        *puVar5 = (uint)local_64;\n        local_40 = uVar24 - (int)(local_64 + 1);\n        iVar26 = local_80 - local_40;\n        if ((int)(local_80 - local_40) <= local_60) {\n          iVar26 = local_60;\n        }\n        bVar30 = local_78 == (char *)0x0;\n        bVar29 = false;\n        local_78 = local_64 + 1;\n        local_60 = iVar26;\n        bVar30 = (bool)(bVar30 & bVar14);\n        goto LAB_00015630;\n      }\n      pcVar18 = (char *)*puVar6;\n      if (local_5c != 0x14) {\n        do {\n          pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2);\n          do {\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          } while (pcVar18 < pcVar27);\nLAB_00015b63:\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar6;\n        } while( true );\n      }\n      iVar26 = FUN_00018720(pcVar18);\n      *puVar6 = iVar26 - 1;\n      if (*(char *)(iVar26 + -1) == '\n') {\n        pcVar18 = (char *)*puVar5;\n        goto LAB_00015c4a;\n      }\nLAB_00015d49:\n      *(undefined1 *)*puVar5 = 0;\nLAB_000159db:\n      pcVar18 = local_78;\n      local_78 = (char *)0x0;\n      bVar29 = false;\n      bVar30 = (bool)(pcVar18 == (char *)0x0 & bVar14);\nLAB_00015630:\n      if ((bVar30) && (*piVar1 != iVar15)) {\n        puVar20 = *(undefined1 **)(unaff_EBP + 0x129a6);\n        *puVar5 = (uint)puVar20;\n      }\n      else {\n        puVar20 = (undefined1 *)*puVar5;\n      }\n      *puVar20 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      *(undefined4 *)(unaff_EBP + 0x1297e) = 0;\n      if (!bVar29) {\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n          FUN_00018c70();\n        }\n      }\nLAB_0001543c:\n      local_68 = &DAT_00012b1e + unaff_EBP;\n      if (*local_68 != '\0') break;\n      local_80 = local_70;\n      if (local_48 != 0) {\n        uVar24 = *puVar5;\n        iVar26 = *(int *)(unaff_EBP + 0x1299e);\n        if (iVar26 - local_48 <= uVar24) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_48 + 400 + (iVar26 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          uVar24 = iVar23 + 1 + (*puVar5 - *piVar2);\n          *puVar5 = uVar24;\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *piVar2 = iVar23 + 1;\n        }\n        if (local_48 != 0) {\n          uVar21 = 0;\n          do {\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          } while (uVar21 < local_48);\n        }\n        *puVar5 = *puVar5 + local_48;\n        local_80 = local_70 + local_48;\n      }\n      if (local_78 == (char *)0x0) {\n        FUN_00018e10();\n      }\n      else {\n        if ((*local_78 == ' ') || (*local_78 == '\t')) {\n          if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }\n        }\n        else {\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }\nLAB_000158f3:\n        __dest = (void *)*puVar5;\n        iVar23 = *(int *)(unaff_EBP + 0x1299e);\n        if ((void *)(iVar26 + iVar23) <= __dest) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_40 + 400 + (iVar23 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          __dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *puVar5 = (uint)__dest;\n          *piVar2 = iVar23 + 1;\n        }\n        memmove(__dest,local_78,local_84);\n        local_78 = (char *)*puVar5;\n        *puVar5 = (uint)(local_78 + local_84);\n        local_40 = 0;\n      }\n    }" { (expression_statement "piVar2 = (int *)(unaff_EBP + 0x1299e);" (assignment_expression "piVar2 = (int *)(unaff_EBP + 0x1299e)" identifier = (cast_expression "(int *)(unaff_EBP + 0x1299e)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1299e)" ( (binary_expression "unaff_EBP + 0x1299e" identifier + number_literal) )))) ;) (expression_statement "puVar6 = (uint *)(&DAT_00012b26 + unaff_EBP);" (assignment_expression "puVar6 = (uint *)(&DAT_00012b26 + unaff_EBP)" identifier = (cast_expression "(uint *)(&DAT_00012b26 + unaff_EBP)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00012b26 + unaff_EBP)" ( (binary_expression "&DAT_00012b26 + unaff_EBP" (pointer_expression "&DAT_00012b26" & identifier) + identifier) )))) ;) (expression_statement "local_64 = (char *)0x0;" (assignment_expression "local_64 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar4 = (int *)(unaff_EBP + 0x129a6);" (assignment_expression "piVar4 = (int *)(unaff_EBP + 0x129a6)" identifier = (cast_expression "(int *)(unaff_EBP + 0x129a6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129a6)" ( (binary_expression "unaff_EBP + 0x129a6" identifier + number_literal) )))) ;) (labeled_statement "LAB_00015228:\n      pcVar27 = local_78;" statement_identifier : (expression_statement "pcVar27 = local_78;" (assignment_expression "pcVar27 = local_78" identifier = identifier) ;)) (expression_statement "iVar26 = *piVar2;" (assignment_expression "iVar26 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "pcVar18 = (char *)*puVar5;" (assignment_expression "pcVar18 = (char *)*puVar5" identifier = (cast_expression "(char *)*puVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) (if_statement "if ((char *)(iVar26 + -1) <= pcVar18) {\n        iVar23 = *piVar4;\n        iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar22;\n        pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar4));\n        *puVar5 = (uint)pcVar18;\n        iVar26 = iVar22 + 0x18c + (iVar26 - iVar23);\n        *piVar4 = iVar22 + 1;\n        pcVar19 = (char *)*puVar6;\n        *piVar2 = iVar26;\n        cVar28 = *pcVar19;\n        cVar12 = cVar28 + -10;\n        bVar29 = cVar12 == '\0';\n        if (!bVar29) goto LAB_0001524d;\nLAB_0001531c:\n        if (local_5c == 0x14) {\nLAB_00015c4a:\n          iVar15 = *local_6c;\n          *(int *)(iVar15 + 0x58) = local_70;\n          *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n          *(int *)(iVar15 + 0x24) = local_54;\n          *pcVar18 = '\0';\n          return;\n        }\n        if (local_74 == 0) {\n          local_78 = (char *)0x0;\n          bVar29 = false;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        *puVar6 = (uint)(pcVar19 + 1);\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;\n        if (*(char **)pcVar3 <= pcVar19 + 1) {\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar5;\n        }\n        if ((local_78 < local_64) && (local_64 < pcVar18)) {\n          *puVar5 = (uint)local_64;\n        }\n        FUN_00018e10();\n        if (*(char *)*puVar6 == '\n') {\n          local_78 = (char *)0x0;\n          bVar29 = true;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        if (local_78 == (char *)0x0) {\n          bVar29 = true;\n          bVar30 = bVar14;\n          goto LAB_00015630;\n        }\n        if ((((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')) && (pcVar18[1] != '/')) {\n          pcVar18 = pcVar18 + 1;\n          *puVar6 = (uint)pcVar18;\n          if (*(char **)pcVar3 <= pcVar18) {\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }\n          if ((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))\n          {\n            FUN_00018c70();\n          }\n        }\n        pcVar18 = (char *)*puVar5;\n        if (pcVar18[-1] != ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n          local_64 = pcVar18;\n        }\n        goto LAB_0001521b;\n      }" if (parenthesized_expression "((char *)(iVar26 + -1) <= pcVar18)" ( (binary_expression "(char *)(iVar26 + -1) <= pcVar18" (cast_expression "(char *)(iVar26 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + -1)" ( (binary_expression "iVar26 + -1" identifier + number_literal) ))) <= identifier) )) (compound_statement "{\n        iVar23 = *piVar4;\n        iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar22;\n        pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar4));\n        *puVar5 = (uint)pcVar18;\n        iVar26 = iVar22 + 0x18c + (iVar26 - iVar23);\n        *piVar4 = iVar22 + 1;\n        pcVar19 = (char *)*puVar6;\n        *piVar2 = iVar26;\n        cVar28 = *pcVar19;\n        cVar12 = cVar28 + -10;\n        bVar29 = cVar12 == '\0';\n        if (!bVar29) goto LAB_0001524d;\nLAB_0001531c:\n        if (local_5c == 0x14) {\nLAB_00015c4a:\n          iVar15 = *local_6c;\n          *(int *)(iVar15 + 0x58) = local_70;\n          *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n          *(int *)(iVar15 + 0x24) = local_54;\n          *pcVar18 = '\0';\n          return;\n        }\n        if (local_74 == 0) {\n          local_78 = (char *)0x0;\n          bVar29 = false;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        *puVar6 = (uint)(pcVar19 + 1);\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;\n        if (*(char **)pcVar3 <= pcVar19 + 1) {\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar5;\n        }\n        if ((local_78 < local_64) && (local_64 < pcVar18)) {\n          *puVar5 = (uint)local_64;\n        }\n        FUN_00018e10();\n        if (*(char *)*puVar6 == '\n') {\n          local_78 = (char *)0x0;\n          bVar29 = true;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        if (local_78 == (char *)0x0) {\n          bVar29 = true;\n          bVar30 = bVar14;\n          goto LAB_00015630;\n        }\n        if ((((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')) && (pcVar18[1] != '/')) {\n          pcVar18 = pcVar18 + 1;\n          *puVar6 = (uint)pcVar18;\n          if (*(char **)pcVar3 <= pcVar18) {\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }\n          if ((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))\n          {\n            FUN_00018c70();\n          }\n        }\n        pcVar18 = (char *)*puVar5;\n        if (pcVar18[-1] != ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n          local_64 = pcVar18;\n        }\n        goto LAB_0001521b;\n      }" { (expression_statement "iVar23 = *piVar4;" (assignment_expression "iVar23 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) (expression_statement "iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191);" (assignment_expression "iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191)" identifier = (call_expression "FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191)" identifier (argument_list "(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191)" ( (pointer_expression "*(int *)(unaff_EBP + 0x129aa)" * (cast_expression "(int *)(unaff_EBP + 0x129aa)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129aa)" ( (binary_expression "unaff_EBP + 0x129aa" identifier + number_literal) )))) , (binary_expression "(iVar26 - iVar23) + 0x191" (parenthesized_expression "(iVar26 - iVar23)" ( (binary_expression "iVar26 - iVar23" identifier - identifier) )) + number_literal) )))) ;) (expression_statement "*(int *)(unaff_EBP + 0x129aa) = iVar22;" (assignment_expression "*(int *)(unaff_EBP + 0x129aa) = iVar22" (pointer_expression "*(int *)(unaff_EBP + 0x129aa)" * (cast_expression "(int *)(unaff_EBP + 0x129aa)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129aa)" ( (binary_expression "unaff_EBP + 0x129aa" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar4));" (assignment_expression "pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar4))" identifier = (cast_expression "(char *)(iVar22 + 1 + (*puVar5 - *piVar4))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 1 + (*puVar5 - *piVar4))" ( (binary_expression "iVar22 + 1 + (*puVar5 - *piVar4)" (binary_expression "iVar22 + 1" identifier + number_literal) + (parenthesized_expression "(*puVar5 - *piVar4)" ( (binary_expression "*puVar5 - *piVar4" (pointer_expression "*puVar5" * identifier) - (pointer_expression "*piVar4" * identifier)) ))) )))) ;) (expression_statement "*puVar5 = (uint)pcVar18;" (assignment_expression "*puVar5 = (uint)pcVar18" (pointer_expression "*puVar5" * identifier) = (cast_expression "(uint)pcVar18" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "iVar26 = iVar22 + 0x18c + (iVar26 - iVar23);" (assignment_expression "iVar26 = iVar22 + 0x18c + (iVar26 - iVar23)" identifier = (binary_expression "iVar22 + 0x18c + (iVar26 - iVar23)" (binary_expression "iVar22 + 0x18c" identifier + number_literal) + (parenthesized_expression "(iVar26 - iVar23)" ( (binary_expression "iVar26 - iVar23" identifier - identifier) )))) ;) (expression_statement "*piVar4 = iVar22 + 1;" (assignment_expression "*piVar4 = iVar22 + 1" (pointer_expression "*piVar4" * identifier) = (binary_expression "iVar22 + 1" identifier + number_literal)) ;) (expression_statement "pcVar19 = (char *)*puVar6;" (assignment_expression "pcVar19 = (char *)*puVar6" identifier = (cast_expression "(char *)*puVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) ;) (expression_statement "*piVar2 = iVar26;" (assignment_expression "*piVar2 = iVar26" (pointer_expression "*piVar2" * identifier) = identifier) ;) (expression_statement "cVar28 = *pcVar19;" (assignment_expression "cVar28 = *pcVar19" identifier = (pointer_expression "*pcVar19" * identifier)) ;) (expression_statement "cVar12 = cVar28 + -10;" (assignment_expression "cVar12 = cVar28 + -10" identifier = (binary_expression "cVar28 + -10" identifier + number_literal)) ;) (expression_statement "bVar29 = cVar12 == '\0';" (assignment_expression "bVar29 = cVar12 == '\0'" identifier = (binary_expression "cVar12 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ;) (if_statement "if (!bVar29) goto LAB_0001524d;" if (parenthesized_expression "(!bVar29)" ( (unary_expression "!bVar29" ! identifier) )) (goto_statement "goto LAB_0001524d;" goto statement_identifier ;)) (labeled_statement "LAB_0001531c:\n        if (local_5c == 0x14) {\nLAB_00015c4a:\n          iVar15 = *local_6c;\n          *(int *)(iVar15 + 0x58) = local_70;\n          *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n          *(int *)(iVar15 + 0x24) = local_54;\n          *pcVar18 = '\0';\n          return;\n        }" statement_identifier : (if_statement "if (local_5c == 0x14) {\nLAB_00015c4a:\n          iVar15 = *local_6c;\n          *(int *)(iVar15 + 0x58) = local_70;\n          *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n          *(int *)(iVar15 + 0x24) = local_54;\n          *pcVar18 = '\0';\n          return;\n        }" if (parenthesized_expression "(local_5c == 0x14)" ( (binary_expression "local_5c == 0x14" identifier == number_literal) )) (compound_statement "{\nLAB_00015c4a:\n          iVar15 = *local_6c;\n          *(int *)(iVar15 + 0x58) = local_70;\n          *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n          *(int *)(iVar15 + 0x24) = local_54;\n          *pcVar18 = '\0';\n          return;\n        }" { (labeled_statement "LAB_00015c4a:\n          iVar15 = *local_6c;" statement_identifier : (expression_statement "iVar15 = *local_6c;" (assignment_expression "iVar15 = *local_6c" identifier = (pointer_expression "*local_6c" * identifier)) ;)) (expression_statement "*(int *)(iVar15 + 0x58) = local_70;" (assignment_expression "*(int *)(iVar15 + 0x58) = local_70" (pointer_expression "*(int *)(iVar15 + 0x58)" * (cast_expression "(int *)(iVar15 + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x58)" ( (binary_expression "iVar15 + 0x58" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;" (assignment_expression "*(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1" (pointer_expression "*(int *)(iVar15 + 0x20)" * (cast_expression "(int *)(iVar15 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x20)" ( (binary_expression "iVar15 + 0x20" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar15 + 0x20) + -1" (pointer_expression "*(int *)(iVar15 + 0x20)" * (cast_expression "(int *)(iVar15 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x20)" ( (binary_expression "iVar15 + 0x20" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(iVar15 + 0x24) = local_54;" (assignment_expression "*(int *)(iVar15 + 0x24) = local_54" (pointer_expression "*(int *)(iVar15 + 0x24)" * (cast_expression "(int *)(iVar15 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x24)" ( (binary_expression "iVar15 + 0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*pcVar18 = '\0';" (assignment_expression "*pcVar18 = '\0'" (pointer_expression "*pcVar18" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (return_statement "return;" return ;) }))) (if_statement "if (local_74 == 0) {\n          local_78 = (char *)0x0;\n          bVar29 = false;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }" if (parenthesized_expression "(local_74 == 0)" ( (binary_expression "local_74 == 0" identifier == number_literal) )) (compound_statement "{\n          local_78 = (char *)0x0;\n          bVar29 = false;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }" { (expression_statement "local_78 = (char *)0x0;" (assignment_expression "local_78 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "bVar29 = false;" (assignment_expression "bVar29 = false" identifier = false) ;) (expression_statement "bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);" (assignment_expression "bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14)" identifier = (cast_expression "(bool)(pcVar27 == (char *)0x0 & bVar14)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(pcVar27 == (char *)0x0 & bVar14)" ( (binary_expression "pcVar27 == (char *)0x0 & bVar14" (binary_expression "pcVar27 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) & identifier) )))) ;) (goto_statement "goto LAB_00015630;" goto statement_identifier ;) })) (expression_statement "*puVar6 = (uint)(pcVar19 + 1);" (assignment_expression "*puVar6 = (uint)(pcVar19 + 1)" (pointer_expression "*puVar6" * identifier) = (call_expression "(uint)(pcVar19 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar19 + 1)" ( (binary_expression "pcVar19 + 1" identifier + number_literal) )))) ;) (expression_statement "*(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;" (assignment_expression "*(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1" (pointer_expression "*(int *)(unaff_EBP + 0x1298a)" * (cast_expression "(int *)(unaff_EBP + 0x1298a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1298a)" ( (binary_expression "unaff_EBP + 0x1298a" identifier + number_literal) )))) = (binary_expression "*(int *)(unaff_EBP + 0x1298a) + 1" (pointer_expression "*(int *)(unaff_EBP + 0x1298a)" * (cast_expression "(int *)(unaff_EBP + 0x1298a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1298a)" ( (binary_expression "unaff_EBP + 0x1298a" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;" (assignment_expression "pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2" identifier = (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP + 2" (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP" identifier + identifier) + number_literal)) ;) (if_statement "if (*(char **)pcVar3 <= pcVar19 + 1) {\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar5;\n        }" if (parenthesized_expression "(*(char **)pcVar3 <= pcVar19 + 1)" ( (binary_expression "*(char **)pcVar3 <= pcVar19 + 1" (pointer_expression "*(char **)pcVar3" * (cast_expression "(char **)pcVar3" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) <= (binary_expression "pcVar19 + 1" identifier + number_literal)) )) (compound_statement "{\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar5;\n        }" { (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar18 = (char *)*puVar5;" (assignment_expression "pcVar18 = (char *)*puVar5" identifier = (cast_expression "(char *)*puVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) })) (if_statement "if ((local_78 < local_64) && (local_64 < pcVar18)) {\n          *puVar5 = (uint)local_64;\n        }" if (parenthesized_expression "((local_78 < local_64) && (local_64 < pcVar18))" ( (binary_expression "(local_78 < local_64) && (local_64 < pcVar18)" (parenthesized_expression "(local_78 < local_64)" ( (binary_expression "local_78 < local_64" identifier < identifier) )) && (parenthesized_expression "(local_64 < pcVar18)" ( (binary_expression "local_64 < pcVar18" identifier < identifier) ))) )) (compound_statement "{\n          *puVar5 = (uint)local_64;\n        }" { (expression_statement "*puVar5 = (uint)local_64;" (assignment_expression "*puVar5 = (uint)local_64" (pointer_expression "*puVar5" * identifier) = (cast_expression "(uint)local_64" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) })) (expression_statement "FUN_00018e10();" (call_expression "FUN_00018e10()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*(char *)*puVar6 == '\n') {\n          local_78 = (char *)0x0;\n          bVar29 = true;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }" if (parenthesized_expression "(*(char *)*puVar6 == '\n')" ( (binary_expression "*(char *)*puVar6 == '\n'" (pointer_expression "*(char *)*puVar6" * (cast_expression "(char *)*puVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n          local_78 = (char *)0x0;\n          bVar29 = true;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }" { (expression_statement "local_78 = (char *)0x0;" (assignment_expression "local_78 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "bVar29 = true;" (assignment_expression "bVar29 = true" identifier = true) ;) (expression_statement "bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);" (assignment_expression "bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14)" identifier = (cast_expression "(bool)(pcVar27 == (char *)0x0 & bVar14)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(pcVar27 == (char *)0x0 & bVar14)" ( (binary_expression "pcVar27 == (char *)0x0 & bVar14" (binary_expression "pcVar27 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) & identifier) )))) ;) (goto_statement "goto LAB_00015630;" goto statement_identifier ;) })) (if_statement "if (local_78 == (char *)0x0) {\n          bVar29 = true;\n          bVar30 = bVar14;\n          goto LAB_00015630;\n        }" if (parenthesized_expression "(local_78 == (char *)0x0)" ( (binary_expression "local_78 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          bVar29 = true;\n          bVar30 = bVar14;\n          goto LAB_00015630;\n        }" { (expression_statement "bVar29 = true;" (assignment_expression "bVar29 = true" identifier = true) ;) (expression_statement "bVar30 = bVar14;" (assignment_expression "bVar30 = bVar14" identifier = identifier) ;) (goto_statement "goto LAB_00015630;" goto statement_identifier ;) })) (if_statement "if ((((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')) && (pcVar18[1] != '/')) {\n          pcVar18 = pcVar18 + 1;\n          *puVar6 = (uint)pcVar18;\n          if (*(char **)pcVar3 <= pcVar18) {\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }\n          if ((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))\n          {\n            FUN_00018c70();\n          }\n        }" if (parenthesized_expression "((((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')) && (pcVar18[1] != '/'))" ( (binary_expression "(((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')) && (pcVar18[1] != '/')" (parenthesized_expression "(((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*'))" ( (binary_expression "((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')" (parenthesized_expression "((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1))" ( (binary_expression "(local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)" (parenthesized_expression "(local_54 == 0)" ( (binary_expression "local_54 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)" ( (comma_expression "iVar26 = FUN_00018750(), iVar26 == iVar16 + -1" (assignment_expression "iVar26 = FUN_00018750()" identifier = (call_expression "FUN_00018750()" identifier (argument_list "()" ( )))) , (binary_expression "iVar26 == iVar16 + -1" identifier == (binary_expression "iVar16 + -1" identifier + number_literal))) ))) )) && (parenthesized_expression "(pcVar18 = (char *)*puVar6, *pcVar18 == '*')" ( (comma_expression "pcVar18 = (char *)*puVar6, *pcVar18 == '*'" (assignment_expression "pcVar18 = (char *)*puVar6" identifier = (cast_expression "(char *)*puVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) , (binary_expression "*pcVar18 == '*'" (pointer_expression "*pcVar18" * identifier) == (char_literal "'*'" ' character '))) ))) )) && (parenthesized_expression "(pcVar18[1] != '/')" ( (binary_expression "pcVar18[1] != '/'" (subscript_expression "pcVar18[1]" identifier [ number_literal ]) != (char_literal "'/'" ' character ')) ))) )) (compound_statement "{\n          pcVar18 = pcVar18 + 1;\n          *puVar6 = (uint)pcVar18;\n          if (*(char **)pcVar3 <= pcVar18) {\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }\n          if ((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))\n          {\n            FUN_00018c70();\n          }\n        }" { (expression_statement "pcVar18 = pcVar18 + 1;" (assignment_expression "pcVar18 = pcVar18 + 1" identifier = (binary_expression "pcVar18 + 1" identifier + number_literal)) ;) (expression_statement "*puVar6 = (uint)pcVar18;" (assignment_expression "*puVar6 = (uint)pcVar18" (pointer_expression "*puVar6" * identifier) = (cast_expression "(uint)pcVar18" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (*(char **)pcVar3 <= pcVar18) {\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }" if (parenthesized_expression "(*(char **)pcVar3 <= pcVar18)" ( (binary_expression "*(char **)pcVar3 <= pcVar18" (pointer_expression "*(char **)pcVar3" * (cast_expression "(char **)pcVar3" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) <= identifier) )) (compound_statement "{\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }" { (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar18 = (char *)*puVar6;" (assignment_expression "pcVar18 = (char *)*puVar6" identifier = (cast_expression "(char *)*puVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) ;) })) (if_statement "if ((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))\n          {\n            FUN_00018c70();\n          }" if (parenthesized_expression "((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))" ( (binary_expression "(*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1)" (parenthesized_expression "(*pcVar18 == ' ')" ( (binary_expression "*pcVar18 == ' '" (pointer_expression "*pcVar18" * identifier) == (char_literal "' '" ' character ')) )) && (parenthesized_expression "(*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1)" ( (comma_expression "*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1" (assignment_expression "*puVar6 = (uint)(pcVar18 + 1)" (pointer_expression "*puVar6" * identifier) = (call_expression "(uint)(pcVar18 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar18 + 1)" ( (binary_expression "pcVar18 + 1" identifier + number_literal) )))) , (binary_expression "*(char **)pcVar3 <= pcVar18 + 1" (pointer_expression "*(char **)pcVar3" * (cast_expression "(char **)pcVar3" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) <= (binary_expression "pcVar18 + 1" identifier + number_literal))) ))) )) (compound_statement "{\n            FUN_00018c70();\n          }" { (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" identifier (argument_list "()" ( ))) ;) })) })) (expression_statement "pcVar18 = (char *)*puVar5;" (assignment_expression "pcVar18 = (char *)*puVar5" identifier = (cast_expression "(char *)*puVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) (if_statement "if (pcVar18[-1] != ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n          local_64 = pcVar18;\n        }" if (parenthesized_expression "(pcVar18[-1] != ' ')" ( (binary_expression "pcVar18[-1] != ' '" (subscript_expression "pcVar18[-1]" identifier [ number_literal ]) != (char_literal "' '" ' character ')) )) (compound_statement "{\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n          local_64 = pcVar18;\n        }" { (expression_statement "local_80 = local_80 + 1;" (assignment_expression "local_80 = local_80 + 1" identifier = (binary_expression "local_80 + 1" identifier + number_literal)) ;) (expression_statement "*puVar5 = (uint)(pcVar18 + 1);" (assignment_expression "*puVar5 = (uint)(pcVar18 + 1)" (pointer_expression "*puVar5" * identifier) = (call_expression "(uint)(pcVar18 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar18 + 1)" ( (binary_expression "pcVar18 + 1" identifier + number_literal) )))) ;) (expression_statement "*pcVar18 = ' ';" (assignment_expression "*pcVar18 = ' '" (pointer_expression "*pcVar18" * identifier) = (char_literal "' '" ' character ')) ;) (expression_statement "local_64 = pcVar18;" (assignment_expression "local_64 = pcVar18" identifier = identifier) ;) })) (goto_statement "goto LAB_0001521b;" goto statement_identifier ;) })) (expression_statement "pcVar19 = (char *)*puVar6;" (assignment_expression "pcVar19 = (char *)*puVar6" identifier = (cast_expression "(char *)*puVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) ;) (expression_statement "cVar28 = *pcVar19;" (assignment_expression "cVar28 = *pcVar19" identifier = (pointer_expression "*pcVar19" * identifier)) ;) (expression_statement "cVar12 = cVar28 + -10;" (assignment_expression "cVar12 = cVar28 + -10" identifier = (binary_expression "cVar28 + -10" identifier + number_literal)) ;) (expression_statement "bVar29 = cVar28 == '\n';" (assignment_expression "bVar29 = cVar28 == '\n'" identifier = (binary_expression "cVar28 == '\n'" identifier == (char_literal "'\n'" ' escape_sequence '))) ;) (if_statement "if (bVar29) goto LAB_0001531c;" if (parenthesized_expression "(bVar29)" ( identifier )) (goto_statement "goto LAB_0001531c;" goto statement_identifier ;)) (labeled_statement "LAB_0001524d:\n      if (bVar29 || SBORROW1(cVar28,'\n') != cVar12 < '\0') {\n        if (cVar28 != '\t') goto LAB_000151b8;\nLAB_0001525c:\n        if (((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)) {\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }\n        if (cVar28 == ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n        }\n        else {\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }\nLAB_000151f8:\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)) {\n          FUN_00018c70();\n        }\nLAB_0001521b:\n        if (*local_68 != '\0') goto LAB_000159db;\n        goto LAB_00015228;\n      }" statement_identifier : (if_statement "if (bVar29 || SBORROW1(cVar28,'\n') != cVar12 < '\0') {\n        if (cVar28 != '\t') goto LAB_000151b8;\nLAB_0001525c:\n        if (((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)) {\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }\n        if (cVar28 == ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n        }\n        else {\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }\nLAB_000151f8:\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)) {\n          FUN_00018c70();\n        }\nLAB_0001521b:\n        if (*local_68 != '\0') goto LAB_000159db;\n        goto LAB_00015228;\n      }" if (parenthesized_expression "(bVar29 || SBORROW1(cVar28,'\n') != cVar12 < '\0')" ( (binary_expression "bVar29 || SBORROW1(cVar28,'\n') != cVar12 < '\0'" identifier || (binary_expression "SBORROW1(cVar28,'\n') != cVar12 < '\0'" (call_expression "SBORROW1(cVar28,'\n')" identifier (argument_list "(cVar28,'\n')" ( identifier , (char_literal "'\n'" ' escape_sequence ') ))) != (binary_expression "cVar12 < '\0'" identifier < (char_literal "'\0'" ' escape_sequence ')))) )) (compound_statement "{\n        if (cVar28 != '\t') goto LAB_000151b8;\nLAB_0001525c:\n        if (((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)) {\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }\n        if (cVar28 == ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n        }\n        else {\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }\nLAB_000151f8:\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)) {\n          FUN_00018c70();\n        }\nLAB_0001521b:\n        if (*local_68 != '\0') goto LAB_000159db;\n        goto LAB_00015228;\n      }" { (if_statement "if (cVar28 != '\t') goto LAB_000151b8;" if (parenthesized_expression "(cVar28 != '\t')" ( (binary_expression "cVar28 != '\t'" identifier != (char_literal "'\t'" ' escape_sequence ')) )) (goto_statement "goto LAB_000151b8;" goto statement_identifier ;)) (labeled_statement "LAB_0001525c:\n        if (((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)) {\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }" statement_identifier : (if_statement "if (((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)) {\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }" if (parenthesized_expression "(((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0))" ( (binary_expression "((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)" (parenthesized_expression "((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78))" ( (binary_expression "(local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)" (parenthesized_expression "(local_74 != 0)" ( (binary_expression "local_74 != 0" identifier != number_literal) )) && (parenthesized_expression "(pcVar27 = pcVar18, local_64 < local_78)" ( (comma_expression "pcVar27 = pcVar18, local_64 < local_78" (assignment_expression "pcVar27 = pcVar18" identifier = identifier) , (binary_expression "local_64 < local_78" identifier < identifier)) ))) )) || (parenthesized_expression "(pcVar27 = local_64, local_74 != 0)" ( (comma_expression "pcVar27 = local_64, local_74 != 0" (assignment_expression "pcVar27 = local_64" identifier = identifier) , (binary_expression "local_74 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }" { (expression_statement "local_64 = pcVar27;" (assignment_expression "local_64 = pcVar27" identifier = identifier) ;) (if_statement "if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }" if (parenthesized_expression "(((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.'))))" ( (binary_expression "((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))" (parenthesized_expression "((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' '))" ( (binary_expression "(*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')" (parenthesized_expression "(*(char **)(unaff_EBP + 0x129a6) == pcVar18)" ( (binary_expression "*(char **)(unaff_EBP + 0x129a6) == pcVar18" (pointer_expression "*(char **)(unaff_EBP + 0x129a6)" * (cast_expression "(char **)(unaff_EBP + 0x129a6)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + 0x129a6)" ( (binary_expression "unaff_EBP + 0x129a6" identifier + number_literal) )))) == identifier) )) || (parenthesized_expression "(pcVar18[-1] != ' ')" ( (binary_expression "pcVar18[-1] != ' '" (subscript_expression "pcVar18[-1]" identifier [ number_literal ]) != (char_literal "' '" ' character ')) ))) )) || (parenthesized_expression "((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))" ( (parenthesized_expression "(*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.'))" ( (binary_expression "*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')" (binary_expression "*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1" (pointer_expression "*(char **)(unaff_EBP + 0x129a6)" * (cast_expression "(char **)(unaff_EBP + 0x129a6)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + 0x129a6)" ( (binary_expression "unaff_EBP + 0x129a6" identifier + number_literal) )))) == (binary_expression "pcVar18 + -1" identifier + number_literal)) || (parenthesized_expression "(bVar29 = true, pcVar18[-2] == '.')" ( (comma_expression "bVar29 = true, pcVar18[-2] == '.'" (assignment_expression "bVar29 = true" identifier = true) , (binary_expression "pcVar18[-2] == '.'" (subscript_expression "pcVar18[-2]" identifier [ number_literal ]) == (char_literal "'.'" ' character '))) ))) )) ))) )) (compound_statement "{\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }" { (expression_statement "local_80 = local_80 + 1;" (assignment_expression "local_80 = local_80 + 1" identifier = (binary_expression "local_80 + 1" identifier + number_literal)) ;) (expression_statement "bVar29 = true;" (assignment_expression "bVar29 = true" identifier = true) ;) (expression_statement "*puVar5 = (uint)(pcVar18 + 1);" (assignment_expression "*puVar5 = (uint)(pcVar18 + 1)" (pointer_expression "*puVar5" * identifier) = (call_expression "(uint)(pcVar18 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar18 + 1)" ( (binary_expression "pcVar18 + 1" identifier + number_literal) )))) ;) (expression_statement "*pcVar18 = ' ';" (assignment_expression "*pcVar18 = ' '" (pointer_expression "*pcVar18" * identifier) = (char_literal "' '" ' character ')) ;) })) (goto_statement "goto LAB_000151d8;" goto statement_identifier ;) }))) (if_statement "if (cVar28 == ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n        }\n        else {\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }" if (parenthesized_expression "(cVar28 == ' ')" ( (binary_expression "cVar28 == ' '" identifier == (char_literal "' '" ' character ')) )) (compound_statement "{\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n        }" { (expression_statement "local_80 = local_80 + 1;" (assignment_expression "local_80 = local_80 + 1" identifier = (binary_expression "local_80 + 1" identifier + number_literal)) ;) (expression_statement "*puVar5 = (uint)(pcVar18 + 1);" (assignment_expression "*puVar5 = (uint)(pcVar18 + 1)" (pointer_expression "*puVar5" * identifier) = (call_expression "(uint)(pcVar18 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar18 + 1)" ( (binary_expression "pcVar18 + 1" identifier + number_literal) )))) ;) (expression_statement "*pcVar18 = ' ';" (assignment_expression "*pcVar18 = ' '" (pointer_expression "*pcVar18" * identifier) = (char_literal "' '" ' character ')) ;) }) (else_clause "else {\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }" else (compound_statement "{\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }" { (expression_statement "iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);" (assignment_expression "iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2)" identifier = (binary_expression "*(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2)" (pointer_expression "*(int *)(unaff_EBP + 0x12bb2)" * (cast_expression "(int *)(unaff_EBP + 0x12bb2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12bb2)" ( (binary_expression "unaff_EBP + 0x12bb2" identifier + number_literal) )))) - (binary_expression "(((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2)" (parenthesized_expression "(((iVar16 + -2 + local_80) - local_70) + -1)" ( (binary_expression "((iVar16 + -2 + local_80) - local_70) + -1" (parenthesized_expression "((iVar16 + -2 + local_80) - local_70)" ( (binary_expression "(iVar16 + -2 + local_80) - local_70" (parenthesized_expression "(iVar16 + -2 + local_80)" ( (binary_expression "iVar16 + -2 + local_80" (binary_expression "iVar16 + -2" identifier + number_literal) + identifier) )) - identifier) )) + number_literal) )) % (pointer_expression "*(int *)(unaff_EBP + 0x12bb2)" * (cast_expression "(int *)(unaff_EBP + 0x12bb2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12bb2)" ( (binary_expression "unaff_EBP + 0x12bb2" identifier + number_literal) ))))))) ;) (expression_statement "local_80 = local_80 + iVar23;" (assignment_expression "local_80 = local_80 + iVar23" identifier = (binary_expression "local_80 + iVar23" identifier + identifier)) ;) (if_statement "if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }" if (parenthesized_expression "((char *)(iVar26 - iVar23) <= pcVar18)" ( (binary_expression "(char *)(iVar26 - iVar23) <= pcVar18" (cast_expression "(char *)(iVar26 - iVar23)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 - iVar23)" ( (binary_expression "iVar26 - iVar23" identifier - identifier) ))) <= identifier) )) (compound_statement "{\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }" { (expression_statement "piVar8 = (int *)(unaff_EBP + 0x129a6);" (assignment_expression "piVar8 = (int *)(unaff_EBP + 0x129a6)" identifier = (cast_expression "(int *)(unaff_EBP + 0x129a6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129a6)" ( (binary_expression "unaff_EBP + 0x129a6" identifier + number_literal) )))) ;) (expression_statement "iVar26 = iVar23 + 400 + (iVar26 - *piVar8);" (assignment_expression "iVar26 = iVar23 + 400 + (iVar26 - *piVar8)" identifier = (binary_expression "iVar23 + 400 + (iVar26 - *piVar8)" (binary_expression "iVar23 + 400" identifier + number_literal) + (parenthesized_expression "(iVar26 - *piVar8)" ( (binary_expression "iVar26 - *piVar8" identifier - (pointer_expression "*piVar8" * identifier)) )))) ;) (expression_statement "iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);" (assignment_expression "iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26)" identifier = (call_expression "FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26)" identifier (argument_list "(*(int *)(unaff_EBP + 0x129aa),iVar26)" ( (pointer_expression "*(int *)(unaff_EBP + 0x129aa)" * (cast_expression "(int *)(unaff_EBP + 0x129aa)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129aa)" ( (binary_expression "unaff_EBP + 0x129aa" identifier + number_literal) )))) , identifier )))) ;) (expression_statement "*(int *)(unaff_EBP + 0x129aa) = iVar22;" (assignment_expression "*(int *)(unaff_EBP + 0x129aa) = iVar22" (pointer_expression "*(int *)(unaff_EBP + 0x129aa)" * (cast_expression "(int *)(unaff_EBP + 0x129aa)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129aa)" ( (binary_expression "unaff_EBP + 0x129aa" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));" (assignment_expression "pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8))" identifier = (cast_expression "(char *)(iVar22 + 1 + (*puVar5 - *piVar8))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 1 + (*puVar5 - *piVar8))" ( (binary_expression "iVar22 + 1 + (*puVar5 - *piVar8)" (binary_expression "iVar22 + 1" identifier + number_literal) + (parenthesized_expression "(*puVar5 - *piVar8)" ( (binary_expression "*puVar5 - *piVar8" (pointer_expression "*puVar5" * identifier) - (pointer_expression "*piVar8" * identifier)) ))) )))) ;) (expression_statement "*puVar5 = (uint)pcVar18;" (assignment_expression "*puVar5 = (uint)pcVar18" (pointer_expression "*puVar5" * identifier) = (cast_expression "(uint)pcVar18" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*piVar2 = iVar22 + -5 + iVar26;" (assignment_expression "*piVar2 = iVar22 + -5 + iVar26" (pointer_expression "*piVar2" * identifier) = (binary_expression "iVar22 + -5 + iVar26" (binary_expression "iVar22 + -5" identifier + number_literal) + identifier)) ;) (expression_statement "*piVar8 = iVar22 + 1;" (assignment_expression "*piVar8 = iVar22 + 1" (pointer_expression "*piVar8" * identifier) = (binary_expression "iVar22 + 1" identifier + number_literal)) ;) })) (if_statement "if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }" if (parenthesized_expression "(iVar23 == 0)" ( (binary_expression "iVar23 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00015589:\n            local_74 = 0;\n          }" { (labeled_statement "LAB_00015589:\n            local_74 = 0;" statement_identifier : (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" identifier = number_literal) ;)) }) (else_clause "else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }" else (compound_statement "{\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }" { (expression_statement "*puVar5 = (uint)(pcVar18 + 1);" (assignment_expression "*puVar5 = (uint)(pcVar18 + 1)" (pointer_expression "*puVar5" * identifier) = (call_expression "(uint)(pcVar18 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar18 + 1)" ( (binary_expression "pcVar18 + 1" identifier + number_literal) )))) ;) (expression_statement "iVar26 = iVar23 + -2;" (assignment_expression "iVar26 = iVar23 + -2" identifier = (binary_expression "iVar23 + -2" identifier + number_literal)) ;) (expression_statement "*pcVar18 = ' ';" (assignment_expression "*pcVar18 = ' '" (pointer_expression "*pcVar18" * identifier) = (char_literal "' '" ' character ')) ;) (if_statement "if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }" if (parenthesized_expression "(iVar23 != 1)" ( (binary_expression "iVar23 != 1" identifier != number_literal) )) (compound_statement "{\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }" { (do_statement "do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);" do (compound_statement "{\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              }" { (expression_statement "puVar20 = (undefined1 *)*puVar5;" (assignment_expression "puVar20 = (undefined1 *)*puVar5" identifier = (cast_expression "(undefined1 *)*puVar5" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) (expression_statement "iVar26 = iVar26 + -1;" (assignment_expression "iVar26 = iVar26 + -1" identifier = (binary_expression "iVar26 + -1" identifier + number_literal)) ;) (expression_statement "*puVar5 = (uint)(puVar20 + 1);" (assignment_expression "*puVar5 = (uint)(puVar20 + 1)" (pointer_expression "*puVar5" * identifier) = (call_expression "(uint)(puVar20 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar20 + 1)" ( (binary_expression "puVar20 + 1" identifier + number_literal) )))) ;) (expression_statement "*puVar20 = 0x20;" (assignment_expression "*puVar20 = 0x20" (pointer_expression "*puVar20" * identifier) = number_literal) ;) }) while (parenthesized_expression "(iVar26 != -1)" ( (binary_expression "iVar26 != -1" identifier != number_literal) )) ;) })) }))) }))) (labeled_statement "LAB_000151f8:\n        pcVar18 = (char *)*puVar6;" statement_identifier : (expression_statement "pcVar18 = (char *)*puVar6;" (assignment_expression "pcVar18 = (char *)*puVar6" identifier = (cast_expression "(char *)*puVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) ;)) (if_statement "if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }" if (parenthesized_expression "(*pcVar18 == '\n')" ( (binary_expression "*pcVar18 == '\n'" (pointer_expression "*pcVar18" * identifier) == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }" { (expression_statement "*(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;" (assignment_expression "*(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1" (pointer_expression "*(int *)(unaff_EBP + 0x1298a)" * (cast_expression "(int *)(unaff_EBP + 0x1298a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1298a)" ( (binary_expression "unaff_EBP + 0x1298a" identifier + number_literal) )))) = (binary_expression "*(int *)(unaff_EBP + 0x1298a) + 1" (pointer_expression "*(int *)(unaff_EBP + 0x1298a)" * (cast_expression "(int *)(unaff_EBP + 0x1298a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1298a)" ( (binary_expression "unaff_EBP + 0x1298a" identifier + number_literal) )))) + number_literal)) ;) })) (expression_statement "pcVar18 = pcVar18 + 1;" (assignment_expression "pcVar18 = pcVar18 + 1" identifier = (binary_expression "pcVar18 + 1" identifier + number_literal)) ;) (expression_statement "*puVar6 = (uint)pcVar18;" (assignment_expression "*puVar6 = (uint)pcVar18" (pointer_expression "*puVar6" * identifier) = (cast_expression "(uint)pcVar18" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)) {\n          FUN_00018c70();\n        }" if (parenthesized_expression "(pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2))" ( (binary_expression "pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)" identifier == (pointer_expression "*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)" * (cast_expression "(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(__i686_get_pc_thunk_bx + unaff_EBP + 2)" ( (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP + 2" (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP" identifier + identifier) + number_literal) ))))) )) (compound_statement "{\n          FUN_00018c70();\n        }" { (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" identifier (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_0001521b:\n        if (*local_68 != '\0') goto LAB_000159db;" statement_identifier : (if_statement "if (*local_68 != '\0') goto LAB_000159db;" if (parenthesized_expression "(*local_68 != '\0')" ( (binary_expression "*local_68 != '\0'" (pointer_expression "*local_68" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000159db;" goto statement_identifier ;))) (goto_statement "goto LAB_00015228;" goto statement_identifier ;) }))) (if_statement "if (cVar28 == ' ') goto LAB_0001525c;" if (parenthesized_expression "(cVar28 == ' ')" ( (binary_expression "cVar28 == ' '" identifier == (char_literal "' '" ' character ')) )) (goto_statement "goto LAB_0001525c;" goto statement_identifier ;)) (if_statement "if ((cVar28 != '*') || (local_5c != 0x13)) goto LAB_000151b8;" if (parenthesized_expression "((cVar28 != '*') || (local_5c != 0x13))" ( (binary_expression "(cVar28 != '*') || (local_5c != 0x13)" (parenthesized_expression "(cVar28 != '*')" ( (binary_expression "cVar28 != '*'" identifier != (char_literal "'*'" ' character ')) )) || (parenthesized_expression "(local_5c != 0x13)" ( (binary_expression "local_5c != 0x13" identifier != number_literal) ))) )) (goto_statement "goto LAB_000151b8;" goto statement_identifier ;)) (if_statement "if (pcVar19[1] == '/') {\n        if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }\n          if ((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')) {\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }\n        }\nLAB_00015cc8:\n        if ((char *)(iVar26 + -3) <= pcVar18) {\n          piVar1 = (int *)(unaff_EBP + 0x129a6);\n          iVar15 = *piVar1;\n          iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);\n          *(int *)(unaff_EBP + 0x129aa) = iVar16;\n          pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));\n          *piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);\n          *piVar1 = iVar16 + 1;\n        }\n        *puVar5 = (uint)(pcVar18 + 1);\n        *pcVar18 = '*';\n        puVar20 = (undefined1 *)*puVar5;\n        *puVar5 = (uint)(puVar20 + 1);\n        *puVar20 = 0x2f;\n        *(undefined1 *)*puVar5 = 0;\n        uVar24 = *puVar6;\n        *puVar6 = uVar24 + 2;\n        uVar24 = FUN_00018720(uVar24 + 2);\n        *puVar6 = uVar24;\n        if (*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= uVar24) {\n          FUN_00018c70();\n        }\n        iVar15 = *local_6c;\n        *(int *)(iVar15 + 0x58) = local_70;\n        *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n        *(int *)(iVar15 + 0x24) = local_54;\n        return;\n      }" if (parenthesized_expression "(pcVar19[1] == '/')" ( (binary_expression "pcVar19[1] == '/'" (subscript_expression "pcVar19[1]" identifier [ number_literal ]) == (char_literal "'/'" ' character ')) )) (compound_statement "{\n        if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }\n          if ((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')) {\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }\n        }\nLAB_00015cc8:\n        if ((char *)(iVar26 + -3) <= pcVar18) {\n          piVar1 = (int *)(unaff_EBP + 0x129a6);\n          iVar15 = *piVar1;\n          iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);\n          *(int *)(unaff_EBP + 0x129aa) = iVar16;\n          pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));\n          *piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);\n          *piVar1 = iVar16 + 1;\n        }\n        *puVar5 = (uint)(pcVar18 + 1);\n        *pcVar18 = '*';\n        puVar20 = (undefined1 *)*puVar5;\n        *puVar5 = (uint)(puVar20 + 1);\n        *puVar20 = 0x2f;\n        *(undefined1 *)*puVar5 = 0;\n        uVar24 = *puVar6;\n        *puVar6 = uVar24 + 2;\n        uVar24 = FUN_00018720(uVar24 + 2);\n        *puVar6 = uVar24;\n        if (*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= uVar24) {\n          FUN_00018c70();\n        }\n        iVar15 = *local_6c;\n        *(int *)(iVar15 + 0x58) = local_70;\n        *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n        *(int *)(iVar15 + 0x24) = local_54;\n        return;\n      }" { (if_statement "if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }\n          if ((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')) {\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }\n        }" if (parenthesized_expression "(local_54 == 0)" ( (binary_expression "local_54 == 0" identifier == number_literal) )) (compound_statement "{\n          if (local_78 == (char *)0x0) {\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }\n          if ((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')) {\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }\n        }" { (if_statement "if (local_78 == (char *)0x0) {\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }" if (parenthesized_expression "(local_78 == (char *)0x0)" ( (binary_expression "local_78 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }" { (expression_statement "pcVar27 = *(char **)(unaff_EBP + 0x129a6);" (assignment_expression "pcVar27 = *(char **)(unaff_EBP + 0x129a6)" identifier = (pointer_expression "*(char **)(unaff_EBP + 0x129a6)" * (cast_expression "(char **)(unaff_EBP + 0x129a6)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + 0x129a6)" ( (binary_expression "unaff_EBP + 0x129a6" identifier + number_literal) ))))) ;) (if_statement "if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }" if (parenthesized_expression "((pcVar27 == pcVar18) || (*pcVar27 != '/'))" ( (binary_expression "(pcVar27 == pcVar18) || (*pcVar27 != '/')" (parenthesized_expression "(pcVar27 == pcVar18)" ( (binary_expression "pcVar27 == pcVar18" identifier == identifier) )) || (parenthesized_expression "(*pcVar27 != '/')" ( (binary_expression "*pcVar27 != '/'" (pointer_expression "*pcVar27" * identifier) != (char_literal "'/'" ' character ')) ))) )) (compound_statement "{\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }" { (expression_statement "*puVar5 = (uint)(pcVar27 + 1);" (assignment_expression "*puVar5 = (uint)(pcVar27 + 1)" (pointer_expression "*puVar5" * identifier) = (call_expression "(uint)(pcVar27 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar27 + 1)" ( (binary_expression "pcVar27 + 1" identifier + number_literal) )))) ;) (expression_statement "*pcVar27 = ' ';" (assignment_expression "*pcVar27 = ' '" (pointer_expression "*pcVar27" * identifier) = (char_literal "' '" ' character ')) ;) (expression_statement "pcVar18 = (char *)*puVar5;" (assignment_expression "pcVar18 = (char *)*puVar5" identifier = (cast_expression "(char *)*puVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) (expression_statement "iVar26 = *piVar2;" (assignment_expression "iVar26 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (goto_statement "goto LAB_00015cc8;" goto statement_identifier ;) })) }) (else_clause "else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }" else (if_statement "if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }" if (parenthesized_expression "((local_28 != 0) && (bVar13))" ( (binary_expression "(local_28 != 0) && (bVar13)" (parenthesized_expression "(local_28 != 0)" ( (binary_expression "local_28 != 0" identifier != number_literal) )) && (parenthesized_expression "(bVar13)" ( identifier ))) )) (compound_statement "{\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }" { (expression_statement "*pcVar18 = '\0';" (assignment_expression "*pcVar18 = '\0'" (pointer_expression "*pcVar18" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "FUN_0001a130(1,param_1,param_2,local_78);" (call_expression "FUN_0001a130(1,param_1,param_2,local_78)" identifier (argument_list "(1,param_1,param_2,local_78)" ( number_literal , identifier , identifier , identifier ))) ;) (expression_statement "puVar20 = (undefined1 *)*puVar5;" (assignment_expression "puVar20 = (undefined1 *)*puVar5" identifier = (cast_expression "(undefined1 *)*puVar5" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) (expression_statement "*puVar5 = (uint)(puVar20 + 1);" (assignment_expression "*puVar5 = (uint)(puVar20 + 1)" (pointer_expression "*puVar5" * identifier) = (call_expression "(uint)(puVar20 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar20 + 1)" ( (binary_expression "puVar20 + 1" identifier + number_literal) )))) ;) (expression_statement "*puVar20 = 0x20;" (assignment_expression "*puVar20 = 0x20" (pointer_expression "*puVar20" * identifier) = number_literal) ;) (expression_statement "pcVar18 = (char *)*puVar5;" (assignment_expression "pcVar18 = (char *)*puVar5" identifier = (cast_expression "(char *)*puVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) (expression_statement "iVar26 = *piVar2;" (assignment_expression "iVar26 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (goto_statement "goto LAB_00015cc8;" goto statement_identifier ;) })))) (if_statement "if ((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')) {\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }" if (parenthesized_expression "((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t'))" ( (binary_expression "(pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')" (parenthesized_expression "(pcVar18[-1] != ' ')" ( (binary_expression "pcVar18[-1] != ' '" (subscript_expression "pcVar18[-1]" identifier [ number_literal ]) != (char_literal "' '" ' character ')) )) && (parenthesized_expression "(pcVar18[-1] != '\t')" ( (binary_expression "pcVar18[-1] != '\t'" (subscript_expression "pcVar18[-1]" identifier [ number_literal ]) != (char_literal "'\t'" ' escape_sequence ')) ))) )) (compound_statement "{\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }" { (expression_statement "*puVar5 = (uint)(pcVar18 + 1);" (assignment_expression "*puVar5 = (uint)(pcVar18 + 1)" (pointer_expression "*puVar5" * identifier) = (call_expression "(uint)(pcVar18 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar18 + 1)" ( (binary_expression "pcVar18 + 1" identifier + number_literal) )))) ;) (expression_statement "*pcVar18 = ' ';" (assignment_expression "*pcVar18 = ' '" (pointer_expression "*pcVar18" * identifier) = (char_literal "' '" ' character ')) ;) (expression_statement "pcVar18 = (char *)*puVar5;" (assignment_expression "pcVar18 = (char *)*puVar5" identifier = (cast_expression "(char *)*puVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) (expression_statement "iVar26 = *piVar2;" (assignment_expression "iVar26 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) })) })) (labeled_statement "LAB_00015cc8:\n        if ((char *)(iVar26 + -3) <= pcVar18) {\n          piVar1 = (int *)(unaff_EBP + 0x129a6);\n          iVar15 = *piVar1;\n          iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);\n          *(int *)(unaff_EBP + 0x129aa) = iVar16;\n          pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));\n          *piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);\n          *piVar1 = iVar16 + 1;\n        }" statement_identifier : (if_statement "if ((char *)(iVar26 + -3) <= pcVar18) {\n          piVar1 = (int *)(unaff_EBP + 0x129a6);\n          iVar15 = *piVar1;\n          iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);\n          *(int *)(unaff_EBP + 0x129aa) = iVar16;\n          pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));\n          *piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);\n          *piVar1 = iVar16 + 1;\n        }" if (parenthesized_expression "((char *)(iVar26 + -3) <= pcVar18)" ( (binary_expression "(char *)(iVar26 + -3) <= pcVar18" (cast_expression "(char *)(iVar26 + -3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + -3)" ( (binary_expression "iVar26 + -3" identifier + number_literal) ))) <= identifier) )) (compound_statement "{\n          piVar1 = (int *)(unaff_EBP + 0x129a6);\n          iVar15 = *piVar1;\n          iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);\n          *(int *)(unaff_EBP + 0x129aa) = iVar16;\n          pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));\n          *piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);\n          *piVar1 = iVar16 + 1;\n        }" { (expression_statement "piVar1 = (int *)(unaff_EBP + 0x129a6);" (assignment_expression "piVar1 = (int *)(unaff_EBP + 0x129a6)" identifier = (cast_expression "(int *)(unaff_EBP + 0x129a6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129a6)" ( (binary_expression "unaff_EBP + 0x129a6" identifier + number_literal) )))) ;) (expression_statement "iVar15 = *piVar1;" (assignment_expression "iVar15 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) (expression_statement "iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);" (assignment_expression "iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1)" identifier = (call_expression "FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1)" identifier (argument_list "(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1)" ( (pointer_expression "*(int *)(unaff_EBP + 0x129aa)" * (cast_expression "(int *)(unaff_EBP + 0x129aa)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129aa)" ( (binary_expression "unaff_EBP + 0x129aa" identifier + number_literal) )))) , (binary_expression "(iVar26 - iVar15) + 0x193" (parenthesized_expression "(iVar26 - iVar15)" ( (binary_expression "iVar26 - iVar15" identifier - identifier) )) + number_literal) , identifier , identifier )))) ;) (expression_statement "*(int *)(unaff_EBP + 0x129aa) = iVar16;" (assignment_expression "*(int *)(unaff_EBP + 0x129aa) = iVar16" (pointer_expression "*(int *)(unaff_EBP + 0x129aa)" * (cast_expression "(int *)(unaff_EBP + 0x129aa)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129aa)" ( (binary_expression "unaff_EBP + 0x129aa" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));" (assignment_expression "pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1))" identifier = (cast_expression "(char *)(iVar16 + 1 + (*puVar5 - *piVar1))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 1 + (*puVar5 - *piVar1))" ( (binary_expression "iVar16 + 1 + (*puVar5 - *piVar1)" (binary_expression "iVar16 + 1" identifier + number_literal) + (parenthesized_expression "(*puVar5 - *piVar1)" ( (binary_expression "*puVar5 - *piVar1" (pointer_expression "*puVar5" * identifier) - (pointer_expression "*piVar1" * identifier)) ))) )))) ;) (expression_statement "*piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);" (assignment_expression "*piVar2 = iVar16 + 0x18e + (iVar26 - iVar15)" (pointer_expression "*piVar2" * identifier) = (binary_expression "iVar16 + 0x18e + (iVar26 - iVar15)" (binary_expression "iVar16 + 0x18e" identifier + number_literal) + (parenthesized_expression "(iVar26 - iVar15)" ( (binary_expression "iVar26 - iVar15" identifier - identifier) )))) ;) (expression_statement "*piVar1 = iVar16 + 1;" (assignment_expression "*piVar1 = iVar16 + 1" (pointer_expression "*piVar1" * identifier) = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) }))) (expression_statement "*puVar5 = (uint)(pcVar18 + 1);" (assignment_expression "*puVar5 = (uint)(pcVar18 + 1)" (pointer_expression "*puVar5" * identifier) = (call_expression "(uint)(pcVar18 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar18 + 1)" ( (binary_expression "pcVar18 + 1" identifier + number_literal) )))) ;) (expression_statement "*pcVar18 = '*';" (assignment_expression "*pcVar18 = '*'" (pointer_expression "*pcVar18" * identifier) = (char_literal "'*'" ' character ')) ;) (expression_statement "puVar20 = (undefined1 *)*puVar5;" (assignment_expression "puVar20 = (undefined1 *)*puVar5" identifier = (cast_expression "(undefined1 *)*puVar5" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) (expression_statement "*puVar5 = (uint)(puVar20 + 1);" (assignment_expression "*puVar5 = (uint)(puVar20 + 1)" (pointer_expression "*puVar5" * identifier) = (call_expression "(uint)(puVar20 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar20 + 1)" ( (binary_expression "puVar20 + 1" identifier + number_literal) )))) ;) (expression_statement "*puVar20 = 0x2f;" (assignment_expression "*puVar20 = 0x2f" (pointer_expression "*puVar20" * identifier) = number_literal) ;) (expression_statement "*(undefined1 *)*puVar5 = 0;" (assignment_expression "*(undefined1 *)*puVar5 = 0" (pointer_expression "*(undefined1 *)*puVar5" * (cast_expression "(undefined1 *)*puVar5" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) = number_literal) ;) (expression_statement "uVar24 = *puVar6;" (assignment_expression "uVar24 = *puVar6" identifier = (pointer_expression "*puVar6" * identifier)) ;) (expression_statement "*puVar6 = uVar24 + 2;" (assignment_expression "*puVar6 = uVar24 + 2" (pointer_expression "*puVar6" * identifier) = (binary_expression "uVar24 + 2" identifier + number_literal)) ;) (expression_statement "uVar24 = FUN_00018720(uVar24 + 2);" (assignment_expression "uVar24 = FUN_00018720(uVar24 + 2)" identifier = (call_expression "FUN_00018720(uVar24 + 2)" identifier (argument_list "(uVar24 + 2)" ( (binary_expression "uVar24 + 2" identifier + number_literal) )))) ;) (expression_statement "*puVar6 = uVar24;" (assignment_expression "*puVar6 = uVar24" (pointer_expression "*puVar6" * identifier) = identifier) ;) (if_statement "if (*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= uVar24) {\n          FUN_00018c70();\n        }" if (parenthesized_expression "(*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= uVar24)" ( (binary_expression "*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= uVar24" (pointer_expression "*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2)" * (cast_expression "(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(__i686_get_pc_thunk_bx + unaff_EBP + 2)" ( (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP + 2" (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP" identifier + identifier) + number_literal) )))) <= identifier) )) (compound_statement "{\n          FUN_00018c70();\n        }" { (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar15 = *local_6c;" (assignment_expression "iVar15 = *local_6c" identifier = (pointer_expression "*local_6c" * identifier)) ;) (expression_statement "*(int *)(iVar15 + 0x58) = local_70;" (assignment_expression "*(int *)(iVar15 + 0x58) = local_70" (pointer_expression "*(int *)(iVar15 + 0x58)" * (cast_expression "(int *)(iVar15 + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x58)" ( (binary_expression "iVar15 + 0x58" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;" (assignment_expression "*(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1" (pointer_expression "*(int *)(iVar15 + 0x20)" * (cast_expression "(int *)(iVar15 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x20)" ( (binary_expression "iVar15 + 0x20" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar15 + 0x20) + -1" (pointer_expression "*(int *)(iVar15 + 0x20)" * (cast_expression "(int *)(iVar15 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x20)" ( (binary_expression "iVar15 + 0x20" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(iVar15 + 0x24) = local_54;" (assignment_expression "*(int *)(iVar15 + 0x24) = local_54" (pointer_expression "*(int *)(iVar15 + 0x24)" * (cast_expression "(int *)(iVar15 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x24)" ( (binary_expression "iVar15 + 0x24" identifier + number_literal) )))) = identifier) ;) (return_statement "return;" return ;) })) (if_statement "if (*piVar1 + -1 == iVar15) {\n        piVar8 = (int *)(unaff_EBP + 0x129a6);\n        if (pcVar18 != (undefined1 *)*piVar8 + local_48) goto LAB_000151b8;\n        *(undefined1 *)*piVar8 = 0x20;\n        local_80 = (local_80 - local_48) + 2;\n        local_48 = 1;\n        local_4c = unaff_EBP + 0xc5d2;\n        *(undefined1 *)(*piVar8 + 1) = 0x2a;\n        local_78 = (char *)(*piVar8 + 2);\n        local_28 = 0;\n        *puVar5 = (uint)local_78;\n        local_54 = 1;\n        goto LAB_00015589;\n      }" if (parenthesized_expression "(*piVar1 + -1 == iVar15)" ( (binary_expression "*piVar1 + -1 == iVar15" (binary_expression "*piVar1 + -1" (pointer_expression "*piVar1" * identifier) + number_literal) == identifier) )) (compound_statement "{\n        piVar8 = (int *)(unaff_EBP + 0x129a6);\n        if (pcVar18 != (undefined1 *)*piVar8 + local_48) goto LAB_000151b8;\n        *(undefined1 *)*piVar8 = 0x20;\n        local_80 = (local_80 - local_48) + 2;\n        local_48 = 1;\n        local_4c = unaff_EBP + 0xc5d2;\n        *(undefined1 *)(*piVar8 + 1) = 0x2a;\n        local_78 = (char *)(*piVar8 + 2);\n        local_28 = 0;\n        *puVar5 = (uint)local_78;\n        local_54 = 1;\n        goto LAB_00015589;\n      }" { (expression_statement "piVar8 = (int *)(unaff_EBP + 0x129a6);" (assignment_expression "piVar8 = (int *)(unaff_EBP + 0x129a6)" identifier = (cast_expression "(int *)(unaff_EBP + 0x129a6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129a6)" ( (binary_expression "unaff_EBP + 0x129a6" identifier + number_literal) )))) ;) (if_statement "if (pcVar18 != (undefined1 *)*piVar8 + local_48) goto LAB_000151b8;" if (parenthesized_expression "(pcVar18 != (undefined1 *)*piVar8 + local_48)" ( (binary_expression "pcVar18 != (undefined1 *)*piVar8 + local_48" identifier != (binary_expression "(undefined1 *)*piVar8 + local_48" (cast_expression "(undefined1 *)*piVar8" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar8" * identifier)) + identifier)) )) (goto_statement "goto LAB_000151b8;" goto statement_identifier ;)) (expression_statement "*(undefined1 *)*piVar8 = 0x20;" (assignment_expression "*(undefined1 *)*piVar8 = 0x20" (pointer_expression "*(undefined1 *)*piVar8" * (cast_expression "(undefined1 *)*piVar8" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar8" * identifier))) = number_literal) ;) (expression_statement "local_80 = (local_80 - local_48) + 2;" (assignment_expression "local_80 = (local_80 - local_48) + 2" identifier = (binary_expression "(local_80 - local_48) + 2" (parenthesized_expression "(local_80 - local_48)" ( (binary_expression "local_80 - local_48" identifier - identifier) )) + number_literal)) ;) (expression_statement "local_48 = 1;" (assignment_expression "local_48 = 1" identifier = number_literal) ;) (expression_statement "local_4c = unaff_EBP + 0xc5d2;" (assignment_expression "local_4c = unaff_EBP + 0xc5d2" identifier = (binary_expression "unaff_EBP + 0xc5d2" identifier + number_literal)) ;) (expression_statement "*(undefined1 *)(*piVar8 + 1) = 0x2a;" (assignment_expression "*(undefined1 *)(*piVar8 + 1) = 0x2a" (pointer_expression "*(undefined1 *)(*piVar8 + 1)" * (cast_expression "(undefined1 *)(*piVar8 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar8 + 1)" ( (binary_expression "*piVar8 + 1" (pointer_expression "*piVar8" * identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_78 = (char *)(*piVar8 + 2);" (assignment_expression "local_78 = (char *)(*piVar8 + 2)" identifier = (cast_expression "(char *)(*piVar8 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar8 + 2)" ( (binary_expression "*piVar8 + 2" (pointer_expression "*piVar8" * identifier) + number_literal) )))) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "*puVar5 = (uint)local_78;" (assignment_expression "*puVar5 = (uint)local_78" (pointer_expression "*puVar5" * identifier) = (cast_expression "(uint)local_78" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_54 = 1;" (assignment_expression "local_54 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00015589;" goto statement_identifier ;) })) (labeled_statement "LAB_000151b8:\n      local_80 = local_80 + 1;" statement_identifier : (expression_statement "local_80 = local_80 + 1;" (assignment_expression "local_80 = local_80 + 1" identifier = (binary_expression "local_80 + 1" identifier + number_literal)) ;)) (expression_statement "*puVar5 = (uint)(pcVar18 + 1);" (assignment_expression "*puVar5 = (uint)(pcVar18 + 1)" (pointer_expression "*puVar5" * identifier) = (call_expression "(uint)(pcVar18 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar18 + 1)" ( (binary_expression "pcVar18 + 1" identifier + number_literal) )))) ;) (expression_statement "*pcVar18 = *pcVar19;" (assignment_expression "*pcVar18 = *pcVar19" (pointer_expression "*pcVar18" * identifier) = (pointer_expression "*pcVar19" * identifier)) ;) (expression_statement "bVar29 = local_74 != 0;" (assignment_expression "bVar29 = local_74 != 0" identifier = (binary_expression "local_74 != 0" identifier != number_literal)) ;) (expression_statement "local_78 = pcVar18;" (assignment_expression "local_78 = pcVar18" identifier = identifier) ;) (labeled_statement "LAB_000151d8:\n      if ((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar29)) goto LAB_000151f8;" statement_identifier : (if_statement "if ((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar29)) goto LAB_000151f8;" if (parenthesized_expression "((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar29))" ( (binary_expression "(local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar29)" (parenthesized_expression "(local_80 <= local_60 || local_64 == (char *)0x0)" ( (binary_expression "local_80 <= local_60 || local_64 == (char *)0x0" (binary_expression "local_80 <= local_60" identifier <= identifier) || (binary_expression "local_64 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) || (parenthesized_expression "(!bVar29)" ( (unary_expression "!bVar29" ! identifier) ))) )) (goto_statement "goto LAB_000151f8;" goto statement_identifier ;))) (if_statement "if (local_64 < (char *)(*puVar5 - 1)) {\n        *local_64 = '\0';\n        uVar24 = *puVar5;\n        *puVar5 = (uint)local_64;\n        local_40 = uVar24 - (int)(local_64 + 1);\n        iVar26 = local_80 - local_40;\n        if ((int)(local_80 - local_40) <= local_60) {\n          iVar26 = local_60;\n        }\n        bVar30 = local_78 == (char *)0x0;\n        bVar29 = false;\n        local_78 = local_64 + 1;\n        local_60 = iVar26;\n        bVar30 = (bool)(bVar30 & bVar14);\n        goto LAB_00015630;\n      }" if (parenthesized_expression "(local_64 < (char *)(*puVar5 - 1))" ( (binary_expression "local_64 < (char *)(*puVar5 - 1)" identifier < (cast_expression "(char *)(*puVar5 - 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*puVar5 - 1)" ( (binary_expression "*puVar5 - 1" (pointer_expression "*puVar5" * identifier) - number_literal) )))) )) (compound_statement "{\n        *local_64 = '\0';\n        uVar24 = *puVar5;\n        *puVar5 = (uint)local_64;\n        local_40 = uVar24 - (int)(local_64 + 1);\n        iVar26 = local_80 - local_40;\n        if ((int)(local_80 - local_40) <= local_60) {\n          iVar26 = local_60;\n        }\n        bVar30 = local_78 == (char *)0x0;\n        bVar29 = false;\n        local_78 = local_64 + 1;\n        local_60 = iVar26;\n        bVar30 = (bool)(bVar30 & bVar14);\n        goto LAB_00015630;\n      }" { (expression_statement "*local_64 = '\0';" (assignment_expression "*local_64 = '\0'" (pointer_expression "*local_64" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "uVar24 = *puVar5;" (assignment_expression "uVar24 = *puVar5" identifier = (pointer_expression "*puVar5" * identifier)) ;) (expression_statement "*puVar5 = (uint)local_64;" (assignment_expression "*puVar5 = (uint)local_64" (pointer_expression "*puVar5" * identifier) = (cast_expression "(uint)local_64" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_40 = uVar24 - (int)(local_64 + 1);" (assignment_expression "local_40 = uVar24 - (int)(local_64 + 1)" identifier = (binary_expression "uVar24 - (int)(local_64 + 1)" identifier - (cast_expression "(int)(local_64 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_64 + 1)" ( (binary_expression "local_64 + 1" identifier + number_literal) ))))) ;) (expression_statement "iVar26 = local_80 - local_40;" (assignment_expression "iVar26 = local_80 - local_40" identifier = (binary_expression "local_80 - local_40" identifier - identifier)) ;) (if_statement "if ((int)(local_80 - local_40) <= local_60) {\n          iVar26 = local_60;\n        }" if (parenthesized_expression "((int)(local_80 - local_40) <= local_60)" ( (binary_expression "(int)(local_80 - local_40) <= local_60" (cast_expression "(int)(local_80 - local_40)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_80 - local_40)" ( (binary_expression "local_80 - local_40" identifier - identifier) ))) <= identifier) )) (compound_statement "{\n          iVar26 = local_60;\n        }" { (expression_statement "iVar26 = local_60;" (assignment_expression "iVar26 = local_60" identifier = identifier) ;) })) (expression_statement "bVar30 = local_78 == (char *)0x0;" (assignment_expression "bVar30 = local_78 == (char *)0x0" identifier = (binary_expression "local_78 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "bVar29 = false;" (assignment_expression "bVar29 = false" identifier = false) ;) (expression_statement "local_78 = local_64 + 1;" (assignment_expression "local_78 = local_64 + 1" identifier = (binary_expression "local_64 + 1" identifier + number_literal)) ;) (expression_statement "local_60 = iVar26;" (assignment_expression "local_60 = iVar26" identifier = identifier) ;) (expression_statement "bVar30 = (bool)(bVar30 & bVar14);" (assignment_expression "bVar30 = (bool)(bVar30 & bVar14)" identifier = (cast_expression "(bool)(bVar30 & bVar14)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar30 & bVar14)" ( (binary_expression "bVar30 & bVar14" identifier & identifier) )))) ;) (goto_statement "goto LAB_00015630;" goto statement_identifier ;) })) (expression_statement "pcVar18 = (char *)*puVar6;" (assignment_expression "pcVar18 = (char *)*puVar6" identifier = (cast_expression "(char *)*puVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) ;) (if_statement "if (local_5c != 0x14) {\n        do {\n          pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2);\n          do {\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          } while (pcVar18 < pcVar27);\nLAB_00015b63:\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar6;\n        } while( true );\n      }" if (parenthesized_expression "(local_5c != 0x14)" ( (binary_expression "local_5c != 0x14" identifier != number_literal) )) (compound_statement "{\n        do {\n          pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2);\n          do {\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          } while (pcVar18 < pcVar27);\nLAB_00015b63:\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar6;\n        } while( true );\n      }" { (do_statement "do {\n          pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2);\n          do {\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          } while (pcVar18 < pcVar27);\nLAB_00015b63:\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar6;\n        } while( true );" do (compound_statement "{\n          pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2);\n          do {\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          } while (pcVar18 < pcVar27);\nLAB_00015b63:\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar6;\n        }" { (expression_statement "pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2);" (assignment_expression "pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)" identifier = (pointer_expression "*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)" * (cast_expression "(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(__i686_get_pc_thunk_bx + unaff_EBP + 2)" ( (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP + 2" (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP" identifier + identifier) + number_literal) ))))) ;) (do_statement "do {\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          } while (pcVar18 < pcVar27);" do (compound_statement "{\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          }" { (while_statement "while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }" { (expression_statement "cVar28 = *pcVar18;" (assignment_expression "cVar28 = *pcVar18" identifier = (pointer_expression "*pcVar18" * identifier)) ;) (if_statement "if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }" if (parenthesized_expression "((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' '))" ( (binary_expression "(1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')" (parenthesized_expression "(1 < (byte)(cVar28 - 9U))" ( (binary_expression "1 < (byte)(cVar28 - 9U)" number_literal < (call_expression "(byte)(cVar28 - 9U)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar28 - 9U)" ( (binary_expression "cVar28 - 9U" identifier - number_literal) )))) )) && (parenthesized_expression "(cVar28 != ' ')" ( (binary_expression "cVar28 != ' '" identifier != (char_literal "' '" ' character ')) ))) )) (compound_statement "{\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }" { (expression_statement "*puVar6 = (uint)(pcVar18 + -1);" (assignment_expression "*puVar6 = (uint)(pcVar18 + -1)" (pointer_expression "*puVar6" * identifier) = (call_expression "(uint)(pcVar18 + -1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar18 + -1)" ( (binary_expression "pcVar18 + -1" identifier + number_literal) )))) ;) (goto_statement "goto LAB_00015d49;" goto statement_identifier ;) })) (if_statement "if (cVar28 == '\n') break;" if (parenthesized_expression "(cVar28 == '\n')" ( (binary_expression "cVar28 == '\n'" identifier == (char_literal "'\n'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "pcVar18 = pcVar18 + 1;" (assignment_expression "pcVar18 = pcVar18 + 1" identifier = (binary_expression "pcVar18 + 1" identifier + number_literal)) ;) (expression_statement "*puVar6 = (uint)pcVar18;" (assignment_expression "*puVar6 = (uint)pcVar18" (pointer_expression "*puVar6" * identifier) = (cast_expression "(uint)pcVar18" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (pcVar27 <= pcVar18) goto LAB_00015b63;" if (parenthesized_expression "(pcVar27 <= pcVar18)" ( (binary_expression "pcVar27 <= pcVar18" identifier <= identifier) )) (goto_statement "goto LAB_00015b63;" goto statement_identifier ;)) })) (expression_statement "pcVar18 = pcVar18 + 1;" (assignment_expression "pcVar18 = pcVar18 + 1" identifier = (binary_expression "pcVar18 + 1" identifier + number_literal)) ;) (expression_statement "*puVar6 = (uint)pcVar18;" (assignment_expression "*puVar6 = (uint)pcVar18" (pointer_expression "*puVar6" * identifier) = (cast_expression "(uint)pcVar18" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;" (assignment_expression "*(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1" (pointer_expression "*(int *)(unaff_EBP + 0x1298a)" * (cast_expression "(int *)(unaff_EBP + 0x1298a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1298a)" ( (binary_expression "unaff_EBP + 0x1298a" identifier + number_literal) )))) = (binary_expression "*(int *)(unaff_EBP + 0x1298a) + 1" (pointer_expression "*(int *)(unaff_EBP + 0x1298a)" * (cast_expression "(int *)(unaff_EBP + 0x1298a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1298a)" ( (binary_expression "unaff_EBP + 0x1298a" identifier + number_literal) )))) + number_literal)) ;) }) while (parenthesized_expression "(pcVar18 < pcVar27)" ( (binary_expression "pcVar18 < pcVar27" identifier < identifier) )) ;) (labeled_statement "LAB_00015b63:\n          FUN_00018c70();" statement_identifier : (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" identifier (argument_list "()" ( ))) ;)) (expression_statement "pcVar18 = (char *)*puVar6;" (assignment_expression "pcVar18 = (char *)*puVar6" identifier = (cast_expression "(char *)*puVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "iVar26 = FUN_00018720(pcVar18);" (assignment_expression "iVar26 = FUN_00018720(pcVar18)" identifier = (call_expression "FUN_00018720(pcVar18)" identifier (argument_list "(pcVar18)" ( identifier )))) ;) (expression_statement "*puVar6 = iVar26 - 1;" (assignment_expression "*puVar6 = iVar26 - 1" (pointer_expression "*puVar6" * identifier) = (binary_expression "iVar26 - 1" identifier - number_literal)) ;) (if_statement "if (*(char *)(iVar26 + -1) == '\n') {\n        pcVar18 = (char *)*puVar5;\n        goto LAB_00015c4a;\n      }" if (parenthesized_expression "(*(char *)(iVar26 + -1) == '\n')" ( (binary_expression "*(char *)(iVar26 + -1) == '\n'" (pointer_expression "*(char *)(iVar26 + -1)" * (cast_expression "(char *)(iVar26 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + -1)" ( (binary_expression "iVar26 + -1" identifier + number_literal) )))) == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n        pcVar18 = (char *)*puVar5;\n        goto LAB_00015c4a;\n      }" { (expression_statement "pcVar18 = (char *)*puVar5;" (assignment_expression "pcVar18 = (char *)*puVar5" identifier = (cast_expression "(char *)*puVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) (goto_statement "goto LAB_00015c4a;" goto statement_identifier ;) })) (labeled_statement "LAB_00015d49:\n      *(undefined1 *)*puVar5 = 0;" statement_identifier : (expression_statement "*(undefined1 *)*puVar5 = 0;" (assignment_expression "*(undefined1 *)*puVar5 = 0" (pointer_expression "*(undefined1 *)*puVar5" * (cast_expression "(undefined1 *)*puVar5" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) = number_literal) ;)) (labeled_statement "LAB_000159db:\n      pcVar18 = local_78;" statement_identifier : (expression_statement "pcVar18 = local_78;" (assignment_expression "pcVar18 = local_78" identifier = identifier) ;)) (expression_statement "local_78 = (char *)0x0;" (assignment_expression "local_78 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "bVar29 = false;" (assignment_expression "bVar29 = false" identifier = false) ;) (expression_statement "bVar30 = (bool)(pcVar18 == (char *)0x0 & bVar14);" (assignment_expression "bVar30 = (bool)(pcVar18 == (char *)0x0 & bVar14)" identifier = (cast_expression "(bool)(pcVar18 == (char *)0x0 & bVar14)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(pcVar18 == (char *)0x0 & bVar14)" ( (binary_expression "pcVar18 == (char *)0x0 & bVar14" (binary_expression "pcVar18 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) & identifier) )))) ;) (labeled_statement "LAB_00015630:\n      if ((bVar30) && (*piVar1 != iVar15)) {\n        puVar20 = *(undefined1 **)(unaff_EBP + 0x129a6);\n        *puVar5 = (uint)puVar20;\n      }\n      else {\n        puVar20 = (undefined1 *)*puVar5;\n      }" statement_identifier : (if_statement "if ((bVar30) && (*piVar1 != iVar15)) {\n        puVar20 = *(undefined1 **)(unaff_EBP + 0x129a6);\n        *puVar5 = (uint)puVar20;\n      }\n      else {\n        puVar20 = (undefined1 *)*puVar5;\n      }" if (parenthesized_expression "((bVar30) && (*piVar1 != iVar15))" ( (binary_expression "(bVar30) && (*piVar1 != iVar15)" (parenthesized_expression "(bVar30)" ( identifier )) && (parenthesized_expression "(*piVar1 != iVar15)" ( (binary_expression "*piVar1 != iVar15" (pointer_expression "*piVar1" * identifier) != identifier) ))) )) (compound_statement "{\n        puVar20 = *(undefined1 **)(unaff_EBP + 0x129a6);\n        *puVar5 = (uint)puVar20;\n      }" { (expression_statement "puVar20 = *(undefined1 **)(unaff_EBP + 0x129a6);" (assignment_expression "puVar20 = *(undefined1 **)(unaff_EBP + 0x129a6)" identifier = (pointer_expression "*(undefined1 **)(unaff_EBP + 0x129a6)" * (cast_expression "(undefined1 **)(unaff_EBP + 0x129a6)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + 0x129a6)" ( (binary_expression "unaff_EBP + 0x129a6" identifier + number_literal) ))))) ;) (expression_statement "*puVar5 = (uint)puVar20;" (assignment_expression "*puVar5 = (uint)puVar20" (pointer_expression "*puVar5" * identifier) = (cast_expression "(uint)puVar20" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) }) (else_clause "else {\n        puVar20 = (undefined1 *)*puVar5;\n      }" else (compound_statement "{\n        puVar20 = (undefined1 *)*puVar5;\n      }" { (expression_statement "puVar20 = (undefined1 *)*puVar5;" (assignment_expression "puVar20 = (undefined1 *)*puVar5" identifier = (cast_expression "(undefined1 *)*puVar5" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) })))) (expression_statement "*puVar20 = 0;" (assignment_expression "*puVar20 = 0" (pointer_expression "*puVar20" * identifier) = number_literal) ;) (expression_statement "FUN_0001a130(1,param_1,param_2);" (call_expression "FUN_0001a130(1,param_1,param_2)" identifier (argument_list "(1,param_1,param_2)" ( number_literal , identifier , identifier ))) ;) (expression_statement "*(undefined4 *)(unaff_EBP + 0x1297e) = 0;" (assignment_expression "*(undefined4 *)(unaff_EBP + 0x1297e) = 0" (pointer_expression "*(undefined4 *)(unaff_EBP + 0x1297e)" * (cast_expression "(undefined4 *)(unaff_EBP + 0x1297e)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1297e)" ( (binary_expression "unaff_EBP + 0x1297e" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (!bVar29) {\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n          FUN_00018c70();\n        }\n      }" if (parenthesized_expression "(!bVar29)" ( (unary_expression "!bVar29" ! identifier) )) (compound_statement "{\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n          FUN_00018c70();\n        }\n      }" { (expression_statement "pcVar18 = (char *)*puVar6;" (assignment_expression "pcVar18 = (char *)*puVar6" identifier = (cast_expression "(char *)*puVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) ;) (if_statement "if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }" if (parenthesized_expression "(*pcVar18 == '\n')" ( (binary_expression "*pcVar18 == '\n'" (pointer_expression "*pcVar18" * identifier) == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }" { (expression_statement "*(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;" (assignment_expression "*(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1" (pointer_expression "*(int *)(unaff_EBP + 0x1298a)" * (cast_expression "(int *)(unaff_EBP + 0x1298a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1298a)" ( (binary_expression "unaff_EBP + 0x1298a" identifier + number_literal) )))) = (binary_expression "*(int *)(unaff_EBP + 0x1298a) + 1" (pointer_expression "*(int *)(unaff_EBP + 0x1298a)" * (cast_expression "(int *)(unaff_EBP + 0x1298a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1298a)" ( (binary_expression "unaff_EBP + 0x1298a" identifier + number_literal) )))) + number_literal)) ;) })) (expression_statement "pcVar18 = pcVar18 + 1;" (assignment_expression "pcVar18 = pcVar18 + 1" identifier = (binary_expression "pcVar18 + 1" identifier + number_literal)) ;) (expression_statement "*puVar6 = (uint)pcVar18;" (assignment_expression "*puVar6 = (uint)pcVar18" (pointer_expression "*puVar6" * identifier) = (cast_expression "(uint)pcVar18" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n          FUN_00018c70();\n        }" if (parenthesized_expression "(*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18)" ( (binary_expression "*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18" (pointer_expression "*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)" * (cast_expression "(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(__i686_get_pc_thunk_bx + unaff_EBP + 2)" ( (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP + 2" (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP" identifier + identifier) + number_literal) )))) <= identifier) )) (compound_statement "{\n          FUN_00018c70();\n        }" { (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" identifier (argument_list "()" ( ))) ;) })) })) (labeled_statement "LAB_0001543c:\n      local_68 = &DAT_00012b1e + unaff_EBP;" statement_identifier : (expression_statement "local_68 = &DAT_00012b1e + unaff_EBP;" (assignment_expression "local_68 = &DAT_00012b1e + unaff_EBP" identifier = (binary_expression "&DAT_00012b1e + unaff_EBP" (pointer_expression "&DAT_00012b1e" & identifier) + identifier)) ;)) (if_statement "if (*local_68 != '\0') break;" if (parenthesized_expression "(*local_68 != '\0')" ( (binary_expression "*local_68 != '\0'" (pointer_expression "*local_68" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "local_80 = local_70;" (assignment_expression "local_80 = local_70" identifier = identifier) ;) (if_statement "if (local_48 != 0) {\n        uVar24 = *puVar5;\n        iVar26 = *(int *)(unaff_EBP + 0x1299e);\n        if (iVar26 - local_48 <= uVar24) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_48 + 400 + (iVar26 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          uVar24 = iVar23 + 1 + (*puVar5 - *piVar2);\n          *puVar5 = uVar24;\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *piVar2 = iVar23 + 1;\n        }\n        if (local_48 != 0) {\n          uVar21 = 0;\n          do {\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          } while (uVar21 < local_48);\n        }\n        *puVar5 = *puVar5 + local_48;\n        local_80 = local_70 + local_48;\n      }" if (parenthesized_expression "(local_48 != 0)" ( (binary_expression "local_48 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar24 = *puVar5;\n        iVar26 = *(int *)(unaff_EBP + 0x1299e);\n        if (iVar26 - local_48 <= uVar24) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_48 + 400 + (iVar26 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          uVar24 = iVar23 + 1 + (*puVar5 - *piVar2);\n          *puVar5 = uVar24;\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *piVar2 = iVar23 + 1;\n        }\n        if (local_48 != 0) {\n          uVar21 = 0;\n          do {\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          } while (uVar21 < local_48);\n        }\n        *puVar5 = *puVar5 + local_48;\n        local_80 = local_70 + local_48;\n      }" { (expression_statement "uVar24 = *puVar5;" (assignment_expression "uVar24 = *puVar5" identifier = (pointer_expression "*puVar5" * identifier)) ;) (expression_statement "iVar26 = *(int *)(unaff_EBP + 0x1299e);" (assignment_expression "iVar26 = *(int *)(unaff_EBP + 0x1299e)" identifier = (pointer_expression "*(int *)(unaff_EBP + 0x1299e)" * (cast_expression "(int *)(unaff_EBP + 0x1299e)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1299e)" ( (binary_expression "unaff_EBP + 0x1299e" identifier + number_literal) ))))) ;) (if_statement "if (iVar26 - local_48 <= uVar24) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_48 + 400 + (iVar26 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          uVar24 = iVar23 + 1 + (*puVar5 - *piVar2);\n          *puVar5 = uVar24;\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *piVar2 = iVar23 + 1;\n        }" if (parenthesized_expression "(iVar26 - local_48 <= uVar24)" ( (binary_expression "iVar26 - local_48 <= uVar24" (binary_expression "iVar26 - local_48" identifier - identifier) <= identifier) )) (compound_statement "{\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_48 + 400 + (iVar26 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          uVar24 = iVar23 + 1 + (*puVar5 - *piVar2);\n          *puVar5 = uVar24;\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *piVar2 = iVar23 + 1;\n        }" { (expression_statement "piVar2 = (int *)(unaff_EBP + 0x129a6);" (assignment_expression "piVar2 = (int *)(unaff_EBP + 0x129a6)" identifier = (cast_expression "(int *)(unaff_EBP + 0x129a6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129a6)" ( (binary_expression "unaff_EBP + 0x129a6" identifier + number_literal) )))) ;) (expression_statement "iVar26 = local_48 + 400 + (iVar26 - *piVar2);" (assignment_expression "iVar26 = local_48 + 400 + (iVar26 - *piVar2)" identifier = (binary_expression "local_48 + 400 + (iVar26 - *piVar2)" (binary_expression "local_48 + 400" identifier + number_literal) + (parenthesized_expression "(iVar26 - *piVar2)" ( (binary_expression "iVar26 - *piVar2" identifier - (pointer_expression "*piVar2" * identifier)) )))) ;) (expression_statement "iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);" (assignment_expression "iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26)" identifier = (call_expression "FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26)" identifier (argument_list "(*(int *)(unaff_EBP + 0x129aa),iVar26)" ( (pointer_expression "*(int *)(unaff_EBP + 0x129aa)" * (cast_expression "(int *)(unaff_EBP + 0x129aa)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129aa)" ( (binary_expression "unaff_EBP + 0x129aa" identifier + number_literal) )))) , identifier )))) ;) (expression_statement "*(int *)(unaff_EBP + 0x129aa) = iVar23;" (assignment_expression "*(int *)(unaff_EBP + 0x129aa) = iVar23" (pointer_expression "*(int *)(unaff_EBP + 0x129aa)" * (cast_expression "(int *)(unaff_EBP + 0x129aa)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129aa)" ( (binary_expression "unaff_EBP + 0x129aa" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar24 = iVar23 + 1 + (*puVar5 - *piVar2);" (assignment_expression "uVar24 = iVar23 + 1 + (*puVar5 - *piVar2)" identifier = (binary_expression "iVar23 + 1 + (*puVar5 - *piVar2)" (binary_expression "iVar23 + 1" identifier + number_literal) + (parenthesized_expression "(*puVar5 - *piVar2)" ( (binary_expression "*puVar5 - *piVar2" (pointer_expression "*puVar5" * identifier) - (pointer_expression "*piVar2" * identifier)) )))) ;) (expression_statement "*puVar5 = uVar24;" (assignment_expression "*puVar5 = uVar24" (pointer_expression "*puVar5" * identifier) = identifier) ;) (expression_statement "*(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;" (assignment_expression "*(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26" (pointer_expression "*(int *)(unaff_EBP + 0x1299e)" * (cast_expression "(int *)(unaff_EBP + 0x1299e)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1299e)" ( (binary_expression "unaff_EBP + 0x1299e" identifier + number_literal) )))) = (binary_expression "iVar23 + -5 + iVar26" (binary_expression "iVar23 + -5" identifier + number_literal) + identifier)) ;) (expression_statement "*piVar2 = iVar23 + 1;" (assignment_expression "*piVar2 = iVar23 + 1" (pointer_expression "*piVar2" * identifier) = (binary_expression "iVar23 + 1" identifier + number_literal)) ;) })) (if_statement "if (local_48 != 0) {\n          uVar21 = 0;\n          do {\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          } while (uVar21 < local_48);\n        }" if (parenthesized_expression "(local_48 != 0)" ( (binary_expression "local_48 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar21 = 0;\n          do {\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          } while (uVar21 < local_48);\n        }" { (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (do_statement "do {\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          } while (uVar21 < local_48);" do (compound_statement "{\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          }" { (expression_statement "*(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);" (assignment_expression "*(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21)" (pointer_expression "*(undefined1 *)(uVar24 + uVar21)" * (cast_expression "(undefined1 *)(uVar24 + uVar21)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar24 + uVar21)" ( (binary_expression "uVar24 + uVar21" identifier + identifier) )))) = (pointer_expression "*(undefined1 *)(local_4c + uVar21)" * (cast_expression "(undefined1 *)(local_4c + uVar21)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_4c + uVar21)" ( (binary_expression "local_4c + uVar21" identifier + identifier) ))))) ;) (expression_statement "uVar21 = uVar21 + 1;" (assignment_expression "uVar21 = uVar21 + 1" identifier = (binary_expression "uVar21 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar21 < local_48)" ( (binary_expression "uVar21 < local_48" identifier < identifier) )) ;) })) (expression_statement "*puVar5 = *puVar5 + local_48;" (assignment_expression "*puVar5 = *puVar5 + local_48" (pointer_expression "*puVar5" * identifier) = (binary_expression "*puVar5 + local_48" (pointer_expression "*puVar5" * identifier) + identifier)) ;) (expression_statement "local_80 = local_70 + local_48;" (assignment_expression "local_80 = local_70 + local_48" identifier = (binary_expression "local_70 + local_48" identifier + identifier)) ;) })) (if_statement "if (local_78 == (char *)0x0) {\n        FUN_00018e10();\n      }\n      else {\n        if ((*local_78 == ' ') || (*local_78 == '\t')) {\n          if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }\n        }\n        else {\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }\nLAB_000158f3:\n        __dest = (void *)*puVar5;\n        iVar23 = *(int *)(unaff_EBP + 0x1299e);\n        if ((void *)(iVar26 + iVar23) <= __dest) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_40 + 400 + (iVar23 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          __dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *puVar5 = (uint)__dest;\n          *piVar2 = iVar23 + 1;\n        }\n        memmove(__dest,local_78,local_84);\n        local_78 = (char *)*puVar5;\n        *puVar5 = (uint)(local_78 + local_84);\n        local_40 = 0;\n      }" if (parenthesized_expression "(local_78 == (char *)0x0)" ( (binary_expression "local_78 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        FUN_00018e10();\n      }" { (expression_statement "FUN_00018e10();" (call_expression "FUN_00018e10()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n        if ((*local_78 == ' ') || (*local_78 == '\t')) {\n          if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }\n        }\n        else {\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }\nLAB_000158f3:\n        __dest = (void *)*puVar5;\n        iVar23 = *(int *)(unaff_EBP + 0x1299e);\n        if ((void *)(iVar26 + iVar23) <= __dest) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_40 + 400 + (iVar23 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          __dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *puVar5 = (uint)__dest;\n          *piVar2 = iVar23 + 1;\n        }\n        memmove(__dest,local_78,local_84);\n        local_78 = (char *)*puVar5;\n        *puVar5 = (uint)(local_78 + local_84);\n        local_40 = 0;\n      }" else (compound_statement "{\n        if ((*local_78 == ' ') || (*local_78 == '\t')) {\n          if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }\n        }\n        else {\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }\nLAB_000158f3:\n        __dest = (void *)*puVar5;\n        iVar23 = *(int *)(unaff_EBP + 0x1299e);\n        if ((void *)(iVar26 + iVar23) <= __dest) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_40 + 400 + (iVar23 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          __dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *puVar5 = (uint)__dest;\n          *piVar2 = iVar23 + 1;\n        }\n        memmove(__dest,local_78,local_84);\n        local_78 = (char *)*puVar5;\n        *puVar5 = (uint)(local_78 + local_84);\n        local_40 = 0;\n      }" { (if_statement "if ((*local_78 == ' ') || (*local_78 == '\t')) {\n          if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }\n        }\n        else {\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }" if (parenthesized_expression "((*local_78 == ' ') || (*local_78 == '\t'))" ( (binary_expression "(*local_78 == ' ') || (*local_78 == '\t')" (parenthesized_expression "(*local_78 == ' ')" ( (binary_expression "*local_78 == ' '" (pointer_expression "*local_78" * identifier) == (char_literal "' '" ' character ')) )) || (parenthesized_expression "(*local_78 == '\t')" ( (binary_expression "*local_78 == '\t'" (pointer_expression "*local_78" * identifier) == (char_literal "'\t'" ' escape_sequence ')) ))) )) (compound_statement "{\n          if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }\n        }" { (if_statement "if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }" if (parenthesized_expression "(local_40 == 0)" ( (binary_expression "local_40 == 0" identifier == number_literal) )) (compound_statement "{\n            iVar26 = 0;\n            local_84 = 0;\n          }" { (expression_statement "iVar26 = 0;" (assignment_expression "iVar26 = 0" identifier = number_literal) ;) (expression_statement "local_84 = 0;" (assignment_expression "local_84 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }" else (compound_statement "{\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }" { (do_statement "do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);" do (compound_statement "{\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            }" { (expression_statement "local_78 = local_78 + 1;" (assignment_expression "local_78 = local_78 + 1" identifier = (binary_expression "local_78 + 1" identifier + number_literal)) ;) (expression_statement "local_40 = local_40 - 1;" (assignment_expression "local_40 = local_40 - 1" identifier = (binary_expression "local_40 - 1" identifier - number_literal)) ;) (if_statement "if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }" if (parenthesized_expression "((*local_78 != ' ') && (*local_78 != '\t'))" ( (binary_expression "(*local_78 != ' ') && (*local_78 != '\t')" (parenthesized_expression "(*local_78 != ' ')" ( (binary_expression "*local_78 != ' '" (pointer_expression "*local_78" * identifier) != (char_literal "' '" ' character ')) )) && (parenthesized_expression "(*local_78 != '\t')" ( (binary_expression "*local_78 != '\t'" (pointer_expression "*local_78" * identifier) != (char_literal "'\t'" ' escape_sequence ')) ))) )) (compound_statement "{\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }" { (expression_statement "local_80 = local_80 + local_40;" (assignment_expression "local_80 = local_80 + local_40" identifier = (binary_expression "local_80 + local_40" identifier + identifier)) ;) (expression_statement "iVar26 = -local_40;" (assignment_expression "iVar26 = -local_40" identifier = (unary_expression "-local_40" - identifier)) ;) (expression_statement "local_84 = local_40;" (assignment_expression "local_84 = local_40" identifier = identifier) ;) (goto_statement "goto LAB_000158f3;" goto statement_identifier ;) })) }) while (parenthesized_expression "(local_40 != 0)" ( (binary_expression "local_40 != 0" identifier != number_literal) )) ;) (expression_statement "iVar26 = 0;" (assignment_expression "iVar26 = 0" identifier = number_literal) ;) (expression_statement "local_84 = 0;" (assignment_expression "local_84 = 0" identifier = number_literal) ;) }))) }) (else_clause "else {\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }" else (compound_statement "{\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }" { (expression_statement "local_80 = local_80 + local_40;" (assignment_expression "local_80 = local_80 + local_40" identifier = (binary_expression "local_80 + local_40" identifier + identifier)) ;) (expression_statement "local_84 = local_40;" (assignment_expression "local_84 = local_40" identifier = identifier) ;) (expression_statement "iVar26 = -local_40;" (assignment_expression "iVar26 = -local_40" identifier = (unary_expression "-local_40" - identifier)) ;) }))) (labeled_statement "LAB_000158f3:\n        __dest = (void *)*puVar5;" statement_identifier : (expression_statement "__dest = (void *)*puVar5;" (assignment_expression "__dest = (void *)*puVar5" identifier = (cast_expression "(void *)*puVar5" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;)) (expression_statement "iVar23 = *(int *)(unaff_EBP + 0x1299e);" (assignment_expression "iVar23 = *(int *)(unaff_EBP + 0x1299e)" identifier = (pointer_expression "*(int *)(unaff_EBP + 0x1299e)" * (cast_expression "(int *)(unaff_EBP + 0x1299e)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1299e)" ( (binary_expression "unaff_EBP + 0x1299e" identifier + number_literal) ))))) ;) (if_statement "if ((void *)(iVar26 + iVar23) <= __dest) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_40 + 400 + (iVar23 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          __dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *puVar5 = (uint)__dest;\n          *piVar2 = iVar23 + 1;\n        }" if (parenthesized_expression "((void *)(iVar26 + iVar23) <= __dest)" ( (binary_expression "(void *)(iVar26 + iVar23) <= __dest" (cast_expression "(void *)(iVar26 + iVar23)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + iVar23)" ( (binary_expression "iVar26 + iVar23" identifier + identifier) ))) <= identifier) )) (compound_statement "{\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_40 + 400 + (iVar23 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          __dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *puVar5 = (uint)__dest;\n          *piVar2 = iVar23 + 1;\n        }" { (expression_statement "piVar2 = (int *)(unaff_EBP + 0x129a6);" (assignment_expression "piVar2 = (int *)(unaff_EBP + 0x129a6)" identifier = (cast_expression "(int *)(unaff_EBP + 0x129a6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129a6)" ( (binary_expression "unaff_EBP + 0x129a6" identifier + number_literal) )))) ;) (expression_statement "iVar26 = local_40 + 400 + (iVar23 - *piVar2);" (assignment_expression "iVar26 = local_40 + 400 + (iVar23 - *piVar2)" identifier = (binary_expression "local_40 + 400 + (iVar23 - *piVar2)" (binary_expression "local_40 + 400" identifier + number_literal) + (parenthesized_expression "(iVar23 - *piVar2)" ( (binary_expression "iVar23 - *piVar2" identifier - (pointer_expression "*piVar2" * identifier)) )))) ;) (expression_statement "iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);" (assignment_expression "iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26)" identifier = (call_expression "FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26)" identifier (argument_list "(*(int *)(unaff_EBP + 0x129aa),iVar26)" ( (pointer_expression "*(int *)(unaff_EBP + 0x129aa)" * (cast_expression "(int *)(unaff_EBP + 0x129aa)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129aa)" ( (binary_expression "unaff_EBP + 0x129aa" identifier + number_literal) )))) , identifier )))) ;) (expression_statement "*(int *)(unaff_EBP + 0x129aa) = iVar23;" (assignment_expression "*(int *)(unaff_EBP + 0x129aa) = iVar23" (pointer_expression "*(int *)(unaff_EBP + 0x129aa)" * (cast_expression "(int *)(unaff_EBP + 0x129aa)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129aa)" ( (binary_expression "unaff_EBP + 0x129aa" identifier + number_literal) )))) = identifier) ;) (expression_statement "__dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));" (assignment_expression "__dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2))" identifier = (cast_expression "(void *)(iVar23 + 1 + (*puVar5 - *piVar2))" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 1 + (*puVar5 - *piVar2))" ( (binary_expression "iVar23 + 1 + (*puVar5 - *piVar2)" (binary_expression "iVar23 + 1" identifier + number_literal) + (parenthesized_expression "(*puVar5 - *piVar2)" ( (binary_expression "*puVar5 - *piVar2" (pointer_expression "*puVar5" * identifier) - (pointer_expression "*piVar2" * identifier)) ))) )))) ;) (expression_statement "*(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;" (assignment_expression "*(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26" (pointer_expression "*(int *)(unaff_EBP + 0x1299e)" * (cast_expression "(int *)(unaff_EBP + 0x1299e)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1299e)" ( (binary_expression "unaff_EBP + 0x1299e" identifier + number_literal) )))) = (binary_expression "iVar23 + -5 + iVar26" (binary_expression "iVar23 + -5" identifier + number_literal) + identifier)) ;) (expression_statement "*puVar5 = (uint)__dest;" (assignment_expression "*puVar5 = (uint)__dest" (pointer_expression "*puVar5" * identifier) = (cast_expression "(uint)__dest" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*piVar2 = iVar23 + 1;" (assignment_expression "*piVar2 = iVar23 + 1" (pointer_expression "*piVar2" * identifier) = (binary_expression "iVar23 + 1" identifier + number_literal)) ;) })) (expression_statement "memmove(__dest,local_78,local_84);" (call_expression "memmove(__dest,local_78,local_84)" identifier (argument_list "(__dest,local_78,local_84)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_78 = (char *)*puVar5;" (assignment_expression "local_78 = (char *)*puVar5" identifier = (cast_expression "(char *)*puVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) (expression_statement "*puVar5 = (uint)(local_78 + local_84);" (assignment_expression "*puVar5 = (uint)(local_78 + local_84)" (pointer_expression "*puVar5" * identifier) = (call_expression "(uint)(local_78 + local_84)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_78 + local_84)" ( (binary_expression "local_78 + local_84" identifier + identifier) )))) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) }))) })) (expression_statement "iVar15 = *local_6c;" (assignment_expression "iVar15 = *local_6c" identifier = (pointer_expression "*local_6c" * identifier)) ;) (expression_statement "*(int *)(iVar15 + 0x58) = local_70;" (assignment_expression "*(int *)(iVar15 + 0x58) = local_70" (pointer_expression "*(int *)(iVar15 + 0x58)" * (cast_expression "(int *)(iVar15 + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x58)" ( (binary_expression "iVar15 + 0x58" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;" (assignment_expression "*(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1" (pointer_expression "*(int *)(iVar15 + 0x20)" * (cast_expression "(int *)(iVar15 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x20)" ( (binary_expression "iVar15 + 0x20" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar15 + 0x20) + -1" (pointer_expression "*(int *)(iVar15 + 0x20)" * (cast_expression "(int *)(iVar15 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x20)" ( (binary_expression "iVar15 + 0x20" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(iVar15 + 0x24) = local_54;" (assignment_expression "*(int *)(iVar15 + 0x24) = local_54" (pointer_expression "*(int *)(iVar15 + 0x24)" * (cast_expression "(int *)(iVar15 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x24)" ( (binary_expression "iVar15 + 0x24" identifier + number_literal) )))) = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "piVar1 = (int *)(&DAT_00012b26 + unaff_EBP);" (assignment_expression "piVar1 = (int *)(&DAT_00012b26 + unaff_EBP)" identifier = (cast_expression "(int *)(&DAT_00012b26 + unaff_EBP)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00012b26 + unaff_EBP)" ( (binary_expression "&DAT_00012b26 + unaff_EBP" (pointer_expression "&DAT_00012b26" & identifier) + identifier) )))) ;) (expression_statement "pbVar10 = (byte *)*piVar1;" (assignment_expression "pbVar10 = (byte *)*piVar1" identifier = (cast_expression "(byte *)*piVar1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar1" * identifier))) ;) (expression_statement "bVar9 = *pbVar10;" (assignment_expression "bVar9 = *pbVar10" identifier = (pointer_expression "*pbVar10" * identifier)) ;) (if_statement "if (bVar9 == 0x2a || bVar9 == 0x5f) {\n    pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);\n  }\n  else {\n    if (((bVar9 & 0xef) != 0x2d) &&\n       ((*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0 ||\n        (*(int *)(unaff_EBP + 0x12c02) != 0)))) {\n      bVar14 = true;\n      uVar25 = 0x2a;\n      local_5c = 0x13;\n      local_84 = *(size_t *)(FUN_00012bc0 + unaff_EBP + 2);\n      local_28 = *(int *)(unaff_EBP + 0x12c1a);\n      local_48 = 0;\n      local_4c = 0;\n      bVar29 = local_28 != 0;\n      goto LAB_00014fd0;\n    }\n    pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);\n  }" if (parenthesized_expression "(bVar9 == 0x2a || bVar9 == 0x5f)" ( (binary_expression "bVar9 == 0x2a || bVar9 == 0x5f" (binary_expression "bVar9 == 0x2a" identifier == number_literal) || (binary_expression "bVar9 == 0x5f" identifier == number_literal)) )) (compound_statement "{\n    pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);\n  }" { (expression_statement "pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);" (assignment_expression "pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP)" identifier = (pointer_expression "*(byte **)(&DAT_00012b6e + unaff_EBP)" * (cast_expression "(byte **)(&DAT_00012b6e + unaff_EBP)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&DAT_00012b6e + unaff_EBP)" ( (binary_expression "&DAT_00012b6e + unaff_EBP" (pointer_expression "&DAT_00012b6e" & identifier) + identifier) ))))) ;) }) (else_clause "else {\n    if (((bVar9 & 0xef) != 0x2d) &&\n       ((*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0 ||\n        (*(int *)(unaff_EBP + 0x12c02) != 0)))) {\n      bVar14 = true;\n      uVar25 = 0x2a;\n      local_5c = 0x13;\n      local_84 = *(size_t *)(FUN_00012bc0 + unaff_EBP + 2);\n      local_28 = *(int *)(unaff_EBP + 0x12c1a);\n      local_48 = 0;\n      local_4c = 0;\n      bVar29 = local_28 != 0;\n      goto LAB_00014fd0;\n    }\n    pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);\n  }" else (compound_statement "{\n    if (((bVar9 & 0xef) != 0x2d) &&\n       ((*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0 ||\n        (*(int *)(unaff_EBP + 0x12c02) != 0)))) {\n      bVar14 = true;\n      uVar25 = 0x2a;\n      local_5c = 0x13;\n      local_84 = *(size_t *)(FUN_00012bc0 + unaff_EBP + 2);\n      local_28 = *(int *)(unaff_EBP + 0x12c1a);\n      local_48 = 0;\n      local_4c = 0;\n      bVar29 = local_28 != 0;\n      goto LAB_00014fd0;\n    }\n    pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);\n  }" { (if_statement "if (((bVar9 & 0xef) != 0x2d) &&\n       ((*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0 ||\n        (*(int *)(unaff_EBP + 0x12c02) != 0)))) {\n      bVar14 = true;\n      uVar25 = 0x2a;\n      local_5c = 0x13;\n      local_84 = *(size_t *)(FUN_00012bc0 + unaff_EBP + 2);\n      local_28 = *(int *)(unaff_EBP + 0x12c1a);\n      local_48 = 0;\n      local_4c = 0;\n      bVar29 = local_28 != 0;\n      goto LAB_00014fd0;\n    }" if (parenthesized_expression "(((bVar9 & 0xef) != 0x2d) &&\n       ((*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0 ||\n        (*(int *)(unaff_EBP + 0x12c02) != 0))))" ( (binary_expression "((bVar9 & 0xef) != 0x2d) &&\n       ((*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0 ||\n        (*(int *)(unaff_EBP + 0x12c02) != 0)))" (parenthesized_expression "((bVar9 & 0xef) != 0x2d)" ( (binary_expression "(bVar9 & 0xef) != 0x2d" (parenthesized_expression "(bVar9 & 0xef)" ( (binary_expression "bVar9 & 0xef" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "((*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0 ||\n        (*(int *)(unaff_EBP + 0x12c02) != 0)))" ( (parenthesized_expression "(*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0 ||\n        (*(int *)(unaff_EBP + 0x12c02) != 0))" ( (binary_expression "*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0 ||\n        (*(int *)(unaff_EBP + 0x12c02) != 0)" (binary_expression "*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0" (pointer_expression "*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54)" * (cast_expression "(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54)" ( (binary_expression "*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54" (pointer_expression "*(int *)(&DAT_00012b16 + unaff_EBP)" * (cast_expression "(int *)(&DAT_00012b16 + unaff_EBP)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00012b16 + unaff_EBP)" ( (binary_expression "&DAT_00012b16 + unaff_EBP" (pointer_expression "&DAT_00012b16" & identifier) + identifier) )))) + number_literal) )))) == number_literal) || (parenthesized_expression "(*(int *)(unaff_EBP + 0x12c02) != 0)" ( (binary_expression "*(int *)(unaff_EBP + 0x12c02) != 0" (pointer_expression "*(int *)(unaff_EBP + 0x12c02)" * (cast_expression "(int *)(unaff_EBP + 0x12c02)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12c02)" ( (binary_expression "unaff_EBP + 0x12c02" identifier + number_literal) )))) != number_literal) ))) )) ))) )) (compound_statement "{\n      bVar14 = true;\n      uVar25 = 0x2a;\n      local_5c = 0x13;\n      local_84 = *(size_t *)(FUN_00012bc0 + unaff_EBP + 2);\n      local_28 = *(int *)(unaff_EBP + 0x12c1a);\n      local_48 = 0;\n      local_4c = 0;\n      bVar29 = local_28 != 0;\n      goto LAB_00014fd0;\n    }" { (expression_statement "bVar14 = true;" (assignment_expression "bVar14 = true" identifier = true) ;) (expression_statement "uVar25 = 0x2a;" (assignment_expression "uVar25 = 0x2a" identifier = number_literal) ;) (expression_statement "local_5c = 0x13;" (assignment_expression "local_5c = 0x13" identifier = number_literal) ;) (expression_statement "local_84 = *(size_t *)(FUN_00012bc0 + unaff_EBP + 2);" (assignment_expression "local_84 = *(size_t *)(FUN_00012bc0 + unaff_EBP + 2)" identifier = (pointer_expression "*(size_t *)(FUN_00012bc0 + unaff_EBP + 2)" * (cast_expression "(size_t *)(FUN_00012bc0 + unaff_EBP + 2)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(FUN_00012bc0 + unaff_EBP + 2)" ( (binary_expression "FUN_00012bc0 + unaff_EBP + 2" (binary_expression "FUN_00012bc0 + unaff_EBP" identifier + identifier) + number_literal) ))))) ;) (expression_statement "local_28 = *(int *)(unaff_EBP + 0x12c1a);" (assignment_expression "local_28 = *(int *)(unaff_EBP + 0x12c1a)" identifier = (pointer_expression "*(int *)(unaff_EBP + 0x12c1a)" * (cast_expression "(int *)(unaff_EBP + 0x12c1a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12c1a)" ( (binary_expression "unaff_EBP + 0x12c1a" identifier + number_literal) ))))) ;) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (expression_statement "bVar29 = local_28 != 0;" (assignment_expression "bVar29 = local_28 != 0" identifier = (binary_expression "local_28 != 0" identifier != number_literal)) ;) (goto_statement "goto LAB_00014fd0;" goto statement_identifier ;) })) (expression_statement "pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);" (assignment_expression "pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP)" identifier = (pointer_expression "*(byte **)(&DAT_00012b6e + unaff_EBP)" * (cast_expression "(byte **)(&DAT_00012b6e + unaff_EBP)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&DAT_00012b6e + unaff_EBP)" ( (binary_expression "&DAT_00012b6e + unaff_EBP" (pointer_expression "&DAT_00012b6e" & identifier) + identifier) ))))) ;) }))) (if_statement "if ((pbVar10 < pbVar11) || (pbVar11 + *(int *)(unaff_EBP + 0x12b7a) < pbVar10)) {\n    iVar15 = FUN_00018750();\n    iVar15 = iVar15 + -2;\n  }\n  else {\n    iVar15 = *(int *)(unaff_EBP + 0x12b7e);\n  }" if (parenthesized_expression "((pbVar10 < pbVar11) || (pbVar11 + *(int *)(unaff_EBP + 0x12b7a) < pbVar10))" ( (binary_expression "(pbVar10 < pbVar11) || (pbVar11 + *(int *)(unaff_EBP + 0x12b7a) < pbVar10)" (parenthesized_expression "(pbVar10 < pbVar11)" ( (binary_expression "pbVar10 < pbVar11" identifier < identifier) )) || (parenthesized_expression "(pbVar11 + *(int *)(unaff_EBP + 0x12b7a) < pbVar10)" ( (binary_expression "pbVar11 + *(int *)(unaff_EBP + 0x12b7a) < pbVar10" (binary_expression "pbVar11 + *(int *)(unaff_EBP + 0x12b7a)" identifier + (pointer_expression "*(int *)(unaff_EBP + 0x12b7a)" * (cast_expression "(int *)(unaff_EBP + 0x12b7a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12b7a)" ( (binary_expression "unaff_EBP + 0x12b7a" identifier + number_literal) ))))) < identifier) ))) )) (compound_statement "{\n    iVar15 = FUN_00018750();\n    iVar15 = iVar15 + -2;\n  }" { (expression_statement "iVar15 = FUN_00018750();" (assignment_expression "iVar15 = FUN_00018750()" identifier = (call_expression "FUN_00018750()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar15 = iVar15 + -2;" (assignment_expression "iVar15 = iVar15 + -2" identifier = (binary_expression "iVar15 + -2" identifier + number_literal)) ;) }) (else_clause "else {\n    iVar15 = *(int *)(unaff_EBP + 0x12b7e);\n  }" else (compound_statement "{\n    iVar15 = *(int *)(unaff_EBP + 0x12b7e);\n  }" { (expression_statement "iVar15 = *(int *)(unaff_EBP + 0x12b7e);" (assignment_expression "iVar15 = *(int *)(unaff_EBP + 0x12b7e)" identifier = (pointer_expression "*(int *)(unaff_EBP + 0x12b7e)" * (cast_expression "(int *)(unaff_EBP + 0x12b7e)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12b7e)" ( (binary_expression "unaff_EBP + 0x12b7e" identifier + number_literal) ))))) ;) }))) (expression_statement "local_6c = (int *)(&DAT_00012b16 + unaff_EBP);" (assignment_expression "local_6c = (int *)(&DAT_00012b16 + unaff_EBP)" identifier = (cast_expression "(int *)(&DAT_00012b16 + unaff_EBP)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00012b16 + unaff_EBP)" ( (binary_expression "&DAT_00012b16 + unaff_EBP" (pointer_expression "&DAT_00012b16" & identifier) + identifier) )))) ;) (expression_statement "iVar26 = *local_6c;" (assignment_expression "iVar26 = *local_6c" identifier = (pointer_expression "*local_6c" * identifier)) ;) (expression_statement "*(int *)(iVar26 + 0x58) = iVar15;" (assignment_expression "*(int *)(iVar26 + 0x58) = iVar15" (pointer_expression "*(int *)(iVar26 + 0x58)" * (cast_expression "(int *)(iVar26 + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x58)" ( (binary_expression "iVar26 + 0x58" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar26 + 0x24) = 1;" (assignment_expression "*(undefined4 *)(iVar26 + 0x24) = 1" (pointer_expression "*(undefined4 *)(iVar26 + 0x24)" * (cast_expression "(undefined4 *)(iVar26 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x24)" ( (binary_expression "iVar26 + 0x24" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (*(int *)(unaff_EBP + 0x12c32) != 0) {\n    *(undefined4 *)(unaff_EBP + 0x1297e) = 1;\n  }" if (parenthesized_expression "(*(int *)(unaff_EBP + 0x12c32) != 0)" ( (binary_expression "*(int *)(unaff_EBP + 0x12c32) != 0" (pointer_expression "*(int *)(unaff_EBP + 0x12c32)" * (cast_expression "(int *)(unaff_EBP + 0x12c32)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12c32)" ( (binary_expression "unaff_EBP + 0x12c32" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    *(undefined4 *)(unaff_EBP + 0x1297e) = 1;\n  }" { (expression_statement "*(undefined4 *)(unaff_EBP + 0x1297e) = 1;" (assignment_expression "*(undefined4 *)(unaff_EBP + 0x1297e) = 1" (pointer_expression "*(undefined4 *)(unaff_EBP + 0x1297e)" * (cast_expression "(undefined4 *)(unaff_EBP + 0x1297e)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1297e)" ( (binary_expression "unaff_EBP + 0x1297e" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "piVar2 = (int *)(unaff_EBP + 0x129a2);" (assignment_expression "piVar2 = (int *)(unaff_EBP + 0x129a2)" identifier = (cast_expression "(int *)(unaff_EBP + 0x129a2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129a2)" ( (binary_expression "unaff_EBP + 0x129a2" identifier + number_literal) )))) ;) (expression_statement "local_68 = (char *)0x1;" (assignment_expression "local_68 = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar20 = (undefined1 *)*piVar2;" (assignment_expression "puVar20 = (undefined1 *)*piVar2" identifier = (cast_expression "(undefined1 *)*piVar2" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar2" * identifier))) ;) (expression_statement "pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;" (assignment_expression "pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2" identifier = (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP + 2" (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP" identifier + identifier) + number_literal)) ;) (expression_statement "*piVar2 = (int)(puVar20 + 1);" (assignment_expression "*piVar2 = (int)(puVar20 + 1)" (pointer_expression "*piVar2" * identifier) = (cast_expression "(int)(puVar20 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar20 + 1)" ( (binary_expression "puVar20 + 1" identifier + number_literal) )))) ;) (expression_statement "*puVar20 = 0x2f;" (assignment_expression "*puVar20 = 0x2f" (pointer_expression "*puVar20" * identifier) = number_literal) ;) (expression_statement "puVar20 = (undefined1 *)*piVar2;" (assignment_expression "puVar20 = (undefined1 *)*piVar2" identifier = (cast_expression "(undefined1 *)*piVar2" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar2" * identifier))) ;) (expression_statement "piVar4 = (int *)(unaff_EBP + 0x129a6);" (assignment_expression "piVar4 = (int *)(unaff_EBP + 0x129a6)" identifier = (cast_expression "(int *)(unaff_EBP + 0x129a6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129a6)" ( (binary_expression "unaff_EBP + 0x129a6" identifier + number_literal) )))) ;) (expression_statement "*piVar2 = (int)(puVar20 + 1);" (assignment_expression "*piVar2 = (int)(puVar20 + 1)" (pointer_expression "*piVar2" * identifier) = (cast_expression "(int)(puVar20 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar20 + 1)" ( (binary_expression "puVar20 + 1" identifier + number_literal) )))) ;) (expression_statement "*puVar20 = 0x2a;" (assignment_expression "*puVar20 = 0x2a" (pointer_expression "*puVar20" * identifier) = number_literal) ;) (expression_statement "pcVar18 = (char *)*piVar1;" (assignment_expression "pcVar18 = (char *)*piVar1" identifier = (cast_expression "(char *)*piVar1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar1" * identifier))) ;) (expression_statement "cVar28 = *pcVar18;" (assignment_expression "cVar28 = *pcVar18" identifier = (pointer_expression "*pcVar18" * identifier)) ;) (do_statement "do {\n    do {\n      if (cVar28 == '\n') {\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n      }\n      pcVar27 = (char *)*piVar2;\n      iVar26 = *(int *)(unaff_EBP + 0x1299e);\n      if ((char *)(iVar26 - 1U) <= pcVar27) {\n        iVar26 = iVar26 - *piVar4;\n        iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar16;\n        pcVar27 = (char *)(iVar16 + 1 + (*piVar2 - *piVar4));\n        *(int *)(unaff_EBP + 0x1299e) = iVar16 + 0x18c + iVar26;\n        *piVar4 = iVar16 + 1;\n        pcVar18 = (char *)*piVar1;\n      }\n      *piVar1 = (int)(pcVar18 + 1);\n      *piVar2 = (int)(pcVar27 + 1);\n      *pcVar27 = *pcVar18;\n      pcVar18 = (char *)*piVar1;\n      pcVar27 = *(char **)pcVar3;\n      cVar28 = *pcVar18;\n    } while ((cVar28 != '*') && (pcVar18 < pcVar27));\n    if (pcVar27 < pcVar18) {\n      *piVar1 = (int)pcVar27;\n      cVar28 = *pcVar27;\n      pcVar18 = pcVar27;\n    }\n    if (*(int *)(unaff_EBP + 0x12bfa) == 0) {\nLAB_00014e50:\n      if (cVar28 == '*') {\nLAB_00014e59:\n        if (pcVar18[1] == '/') {\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }\n        cVar28 = '*';\n      }\n    }\n    else if (cVar28 == '*') {\n      if (pcVar18[-1] == '/') {\n        *(undefined1 *)(*piVar2 + -1) = 0x20;\n        *(undefined1 *)*piVar2 = 0x2a;\n        pcVar18 = (char *)*piVar1;\n        pcVar27 = *(char **)pcVar3;\n        cVar28 = *pcVar18;\n        goto LAB_00014e50;\n      }\n      goto LAB_00014e59;\n    }\n    if (pcVar18 == pcVar27) {\n      if (pcVar18[-1] == '\n') {\n        iVar26 = *piVar2;\n        *piVar2 = iVar26 + -1;\n        *(undefined1 *)(iVar26 + -1) = 0;\n        FUN_0001a130(1,param_1,param_2);\n        local_68 = (char *)((int)local_68 + 1);\n        *(undefined4 *)(*local_6c + 0x58) = 1;\n      }\n      FUN_00018c70();\n      if ((&DAT_00012b1e)[unaff_EBP] != '\0') {\n        puVar20 = (undefined1 *)*piVar2;\n        *piVar2 = (int)(puVar20 + 1);\n        *puVar20 = 0;\n        iVar26 = *local_6c;\n        piVar1 = (int *)(iVar26 + 0x20);\n        *piVar1 = *piVar1 + -1;\n        *(int *)(iVar26 + 0x58) = iVar15;\n        return;\n      }\n      pcVar18 = (char *)*piVar1;\n      cVar28 = *pcVar18;\n    }\n  } while( true );" do (compound_statement "{\n    do {\n      if (cVar28 == '\n') {\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n      }\n      pcVar27 = (char *)*piVar2;\n      iVar26 = *(int *)(unaff_EBP + 0x1299e);\n      if ((char *)(iVar26 - 1U) <= pcVar27) {\n        iVar26 = iVar26 - *piVar4;\n        iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar16;\n        pcVar27 = (char *)(iVar16 + 1 + (*piVar2 - *piVar4));\n        *(int *)(unaff_EBP + 0x1299e) = iVar16 + 0x18c + iVar26;\n        *piVar4 = iVar16 + 1;\n        pcVar18 = (char *)*piVar1;\n      }\n      *piVar1 = (int)(pcVar18 + 1);\n      *piVar2 = (int)(pcVar27 + 1);\n      *pcVar27 = *pcVar18;\n      pcVar18 = (char *)*piVar1;\n      pcVar27 = *(char **)pcVar3;\n      cVar28 = *pcVar18;\n    } while ((cVar28 != '*') && (pcVar18 < pcVar27));\n    if (pcVar27 < pcVar18) {\n      *piVar1 = (int)pcVar27;\n      cVar28 = *pcVar27;\n      pcVar18 = pcVar27;\n    }\n    if (*(int *)(unaff_EBP + 0x12bfa) == 0) {\nLAB_00014e50:\n      if (cVar28 == '*') {\nLAB_00014e59:\n        if (pcVar18[1] == '/') {\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }\n        cVar28 = '*';\n      }\n    }\n    else if (cVar28 == '*') {\n      if (pcVar18[-1] == '/') {\n        *(undefined1 *)(*piVar2 + -1) = 0x20;\n        *(undefined1 *)*piVar2 = 0x2a;\n        pcVar18 = (char *)*piVar1;\n        pcVar27 = *(char **)pcVar3;\n        cVar28 = *pcVar18;\n        goto LAB_00014e50;\n      }\n      goto LAB_00014e59;\n    }\n    if (pcVar18 == pcVar27) {\n      if (pcVar18[-1] == '\n') {\n        iVar26 = *piVar2;\n        *piVar2 = iVar26 + -1;\n        *(undefined1 *)(iVar26 + -1) = 0;\n        FUN_0001a130(1,param_1,param_2);\n        local_68 = (char *)((int)local_68 + 1);\n        *(undefined4 *)(*local_6c + 0x58) = 1;\n      }\n      FUN_00018c70();\n      if ((&DAT_00012b1e)[unaff_EBP] != '\0') {\n        puVar20 = (undefined1 *)*piVar2;\n        *piVar2 = (int)(puVar20 + 1);\n        *puVar20 = 0;\n        iVar26 = *local_6c;\n        piVar1 = (int *)(iVar26 + 0x20);\n        *piVar1 = *piVar1 + -1;\n        *(int *)(iVar26 + 0x58) = iVar15;\n        return;\n      }\n      pcVar18 = (char *)*piVar1;\n      cVar28 = *pcVar18;\n    }\n  }" { (do_statement "do {\n      if (cVar28 == '\n') {\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n      }\n      pcVar27 = (char *)*piVar2;\n      iVar26 = *(int *)(unaff_EBP + 0x1299e);\n      if ((char *)(iVar26 - 1U) <= pcVar27) {\n        iVar26 = iVar26 - *piVar4;\n        iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar16;\n        pcVar27 = (char *)(iVar16 + 1 + (*piVar2 - *piVar4));\n        *(int *)(unaff_EBP + 0x1299e) = iVar16 + 0x18c + iVar26;\n        *piVar4 = iVar16 + 1;\n        pcVar18 = (char *)*piVar1;\n      }\n      *piVar1 = (int)(pcVar18 + 1);\n      *piVar2 = (int)(pcVar27 + 1);\n      *pcVar27 = *pcVar18;\n      pcVar18 = (char *)*piVar1;\n      pcVar27 = *(char **)pcVar3;\n      cVar28 = *pcVar18;\n    } while ((cVar28 != '*') && (pcVar18 < pcVar27));" do (compound_statement "{\n      if (cVar28 == '\n') {\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n      }\n      pcVar27 = (char *)*piVar2;\n      iVar26 = *(int *)(unaff_EBP + 0x1299e);\n      if ((char *)(iVar26 - 1U) <= pcVar27) {\n        iVar26 = iVar26 - *piVar4;\n        iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar16;\n        pcVar27 = (char *)(iVar16 + 1 + (*piVar2 - *piVar4));\n        *(int *)(unaff_EBP + 0x1299e) = iVar16 + 0x18c + iVar26;\n        *piVar4 = iVar16 + 1;\n        pcVar18 = (char *)*piVar1;\n      }\n      *piVar1 = (int)(pcVar18 + 1);\n      *piVar2 = (int)(pcVar27 + 1);\n      *pcVar27 = *pcVar18;\n      pcVar18 = (char *)*piVar1;\n      pcVar27 = *(char **)pcVar3;\n      cVar28 = *pcVar18;\n    }" { (if_statement "if (cVar28 == '\n') {\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n      }" if (parenthesized_expression "(cVar28 == '\n')" ( (binary_expression "cVar28 == '\n'" identifier == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n      }" { (expression_statement "*(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;" (assignment_expression "*(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1" (pointer_expression "*(int *)(unaff_EBP + 0x1298a)" * (cast_expression "(int *)(unaff_EBP + 0x1298a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1298a)" ( (binary_expression "unaff_EBP + 0x1298a" identifier + number_literal) )))) = (binary_expression "*(int *)(unaff_EBP + 0x1298a) + 1" (pointer_expression "*(int *)(unaff_EBP + 0x1298a)" * (cast_expression "(int *)(unaff_EBP + 0x1298a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1298a)" ( (binary_expression "unaff_EBP + 0x1298a" identifier + number_literal) )))) + number_literal)) ;) })) (expression_statement "pcVar27 = (char *)*piVar2;" (assignment_expression "pcVar27 = (char *)*piVar2" identifier = (cast_expression "(char *)*piVar2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar2" * identifier))) ;) (expression_statement "iVar26 = *(int *)(unaff_EBP + 0x1299e);" (assignment_expression "iVar26 = *(int *)(unaff_EBP + 0x1299e)" identifier = (pointer_expression "*(int *)(unaff_EBP + 0x1299e)" * (cast_expression "(int *)(unaff_EBP + 0x1299e)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1299e)" ( (binary_expression "unaff_EBP + 0x1299e" identifier + number_literal) ))))) ;) (if_statement "if ((char *)(iVar26 - 1U) <= pcVar27) {\n        iVar26 = iVar26 - *piVar4;\n        iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar16;\n        pcVar27 = (char *)(iVar16 + 1 + (*piVar2 - *piVar4));\n        *(int *)(unaff_EBP + 0x1299e) = iVar16 + 0x18c + iVar26;\n        *piVar4 = iVar16 + 1;\n        pcVar18 = (char *)*piVar1;\n      }" if (parenthesized_expression "((char *)(iVar26 - 1U) <= pcVar27)" ( (binary_expression "(char *)(iVar26 - 1U) <= pcVar27" (cast_expression "(char *)(iVar26 - 1U)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 - 1U)" ( (binary_expression "iVar26 - 1U" identifier - number_literal) ))) <= identifier) )) (compound_statement "{\n        iVar26 = iVar26 - *piVar4;\n        iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar16;\n        pcVar27 = (char *)(iVar16 + 1 + (*piVar2 - *piVar4));\n        *(int *)(unaff_EBP + 0x1299e) = iVar16 + 0x18c + iVar26;\n        *piVar4 = iVar16 + 1;\n        pcVar18 = (char *)*piVar1;\n      }" { (expression_statement "iVar26 = iVar26 - *piVar4;" (assignment_expression "iVar26 = iVar26 - *piVar4" identifier = (binary_expression "iVar26 - *piVar4" identifier - (pointer_expression "*piVar4" * identifier))) ;) (expression_statement "iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191);" (assignment_expression "iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191)" identifier = (call_expression "FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191)" identifier (argument_list "(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191)" ( (pointer_expression "*(int *)(unaff_EBP + 0x129aa)" * (cast_expression "(int *)(unaff_EBP + 0x129aa)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129aa)" ( (binary_expression "unaff_EBP + 0x129aa" identifier + number_literal) )))) , (binary_expression "iVar26 + 0x191" identifier + number_literal) )))) ;) (expression_statement "*(int *)(unaff_EBP + 0x129aa) = iVar16;" (assignment_expression "*(int *)(unaff_EBP + 0x129aa) = iVar16" (pointer_expression "*(int *)(unaff_EBP + 0x129aa)" * (cast_expression "(int *)(unaff_EBP + 0x129aa)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129aa)" ( (binary_expression "unaff_EBP + 0x129aa" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar27 = (char *)(iVar16 + 1 + (*piVar2 - *piVar4));" (assignment_expression "pcVar27 = (char *)(iVar16 + 1 + (*piVar2 - *piVar4))" identifier = (cast_expression "(char *)(iVar16 + 1 + (*piVar2 - *piVar4))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 1 + (*piVar2 - *piVar4))" ( (binary_expression "iVar16 + 1 + (*piVar2 - *piVar4)" (binary_expression "iVar16 + 1" identifier + number_literal) + (parenthesized_expression "(*piVar2 - *piVar4)" ( (binary_expression "*piVar2 - *piVar4" (pointer_expression "*piVar2" * identifier) - (pointer_expression "*piVar4" * identifier)) ))) )))) ;) (expression_statement "*(int *)(unaff_EBP + 0x1299e) = iVar16 + 0x18c + iVar26;" (assignment_expression "*(int *)(unaff_EBP + 0x1299e) = iVar16 + 0x18c + iVar26" (pointer_expression "*(int *)(unaff_EBP + 0x1299e)" * (cast_expression "(int *)(unaff_EBP + 0x1299e)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1299e)" ( (binary_expression "unaff_EBP + 0x1299e" identifier + number_literal) )))) = (binary_expression "iVar16 + 0x18c + iVar26" (binary_expression "iVar16 + 0x18c" identifier + number_literal) + identifier)) ;) (expression_statement "*piVar4 = iVar16 + 1;" (assignment_expression "*piVar4 = iVar16 + 1" (pointer_expression "*piVar4" * identifier) = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "pcVar18 = (char *)*piVar1;" (assignment_expression "pcVar18 = (char *)*piVar1" identifier = (cast_expression "(char *)*piVar1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar1" * identifier))) ;) })) (expression_statement "*piVar1 = (int)(pcVar18 + 1);" (assignment_expression "*piVar1 = (int)(pcVar18 + 1)" (pointer_expression "*piVar1" * identifier) = (cast_expression "(int)(pcVar18 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar18 + 1)" ( (binary_expression "pcVar18 + 1" identifier + number_literal) )))) ;) (expression_statement "*piVar2 = (int)(pcVar27 + 1);" (assignment_expression "*piVar2 = (int)(pcVar27 + 1)" (pointer_expression "*piVar2" * identifier) = (cast_expression "(int)(pcVar27 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar27 + 1)" ( (binary_expression "pcVar27 + 1" identifier + number_literal) )))) ;) (expression_statement "*pcVar27 = *pcVar18;" (assignment_expression "*pcVar27 = *pcVar18" (pointer_expression "*pcVar27" * identifier) = (pointer_expression "*pcVar18" * identifier)) ;) (expression_statement "pcVar18 = (char *)*piVar1;" (assignment_expression "pcVar18 = (char *)*piVar1" identifier = (cast_expression "(char *)*piVar1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar1" * identifier))) ;) (expression_statement "pcVar27 = *(char **)pcVar3;" (assignment_expression "pcVar27 = *(char **)pcVar3" identifier = (pointer_expression "*(char **)pcVar3" * (cast_expression "(char **)pcVar3" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "cVar28 = *pcVar18;" (assignment_expression "cVar28 = *pcVar18" identifier = (pointer_expression "*pcVar18" * identifier)) ;) }) while (parenthesized_expression "((cVar28 != '*') && (pcVar18 < pcVar27))" ( (binary_expression "(cVar28 != '*') && (pcVar18 < pcVar27)" (parenthesized_expression "(cVar28 != '*')" ( (binary_expression "cVar28 != '*'" identifier != (char_literal "'*'" ' character ')) )) && (parenthesized_expression "(pcVar18 < pcVar27)" ( (binary_expression "pcVar18 < pcVar27" identifier < identifier) ))) )) ;) (if_statement "if (pcVar27 < pcVar18) {\n      *piVar1 = (int)pcVar27;\n      cVar28 = *pcVar27;\n      pcVar18 = pcVar27;\n    }" if (parenthesized_expression "(pcVar27 < pcVar18)" ( (binary_expression "pcVar27 < pcVar18" identifier < identifier) )) (compound_statement "{\n      *piVar1 = (int)pcVar27;\n      cVar28 = *pcVar27;\n      pcVar18 = pcVar27;\n    }" { (expression_statement "*piVar1 = (int)pcVar27;" (assignment_expression "*piVar1 = (int)pcVar27" (pointer_expression "*piVar1" * identifier) = (cast_expression "(int)pcVar27" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "cVar28 = *pcVar27;" (assignment_expression "cVar28 = *pcVar27" identifier = (pointer_expression "*pcVar27" * identifier)) ;) (expression_statement "pcVar18 = pcVar27;" (assignment_expression "pcVar18 = pcVar27" identifier = identifier) ;) })) (if_statement "if (*(int *)(unaff_EBP + 0x12bfa) == 0) {\nLAB_00014e50:\n      if (cVar28 == '*') {\nLAB_00014e59:\n        if (pcVar18[1] == '/') {\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }\n        cVar28 = '*';\n      }\n    }\n    else if (cVar28 == '*') {\n      if (pcVar18[-1] == '/') {\n        *(undefined1 *)(*piVar2 + -1) = 0x20;\n        *(undefined1 *)*piVar2 = 0x2a;\n        pcVar18 = (char *)*piVar1;\n        pcVar27 = *(char **)pcVar3;\n        cVar28 = *pcVar18;\n        goto LAB_00014e50;\n      }\n      goto LAB_00014e59;\n    }" if (parenthesized_expression "(*(int *)(unaff_EBP + 0x12bfa) == 0)" ( (binary_expression "*(int *)(unaff_EBP + 0x12bfa) == 0" (pointer_expression "*(int *)(unaff_EBP + 0x12bfa)" * (cast_expression "(int *)(unaff_EBP + 0x12bfa)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12bfa)" ( (binary_expression "unaff_EBP + 0x12bfa" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_00014e50:\n      if (cVar28 == '*') {\nLAB_00014e59:\n        if (pcVar18[1] == '/') {\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }\n        cVar28 = '*';\n      }\n    }" { (labeled_statement "LAB_00014e50:\n      if (cVar28 == '*') {\nLAB_00014e59:\n        if (pcVar18[1] == '/') {\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }\n        cVar28 = '*';\n      }" statement_identifier : (if_statement "if (cVar28 == '*') {\nLAB_00014e59:\n        if (pcVar18[1] == '/') {\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }\n        cVar28 = '*';\n      }" if (parenthesized_expression "(cVar28 == '*')" ( (binary_expression "cVar28 == '*'" identifier == (char_literal "'*'" ' character ')) )) (compound_statement "{\nLAB_00014e59:\n        if (pcVar18[1] == '/') {\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }\n        cVar28 = '*';\n      }" { (labeled_statement "LAB_00014e59:\n        if (pcVar18[1] == '/') {\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }" statement_identifier : (if_statement "if (pcVar18[1] == '/') {\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }" if (parenthesized_expression "(pcVar18[1] == '/')" ( (binary_expression "pcVar18[1] == '/'" (subscript_expression "pcVar18[1]" identifier [ number_literal ]) == (char_literal "'/'" ' character ')) )) (compound_statement "{\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }" { (if_statement "if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }" if (parenthesized_expression "(pcVar18 == pcVar27)" ( (binary_expression "pcVar18 == pcVar27" identifier == identifier) )) (compound_statement "{\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }" { (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar18 = (char *)*piVar1;" (assignment_expression "pcVar18 = (char *)*piVar1" identifier = (cast_expression "(char *)*piVar1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar1" * identifier))) ;) (expression_statement "pcVar27 = *(char **)pcVar3;" (assignment_expression "pcVar27 = *(char **)pcVar3" identifier = (pointer_expression "*(char **)pcVar3" * (cast_expression "(char **)pcVar3" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) })) (expression_statement "*piVar1 = (int)(pcVar18 + 2);" (assignment_expression "*piVar1 = (int)(pcVar18 + 2)" (pointer_expression "*piVar1" * identifier) = (cast_expression "(int)(pcVar18 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar18 + 2)" ( (binary_expression "pcVar18 + 2" identifier + number_literal) )))) ;) (if_statement "if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }" if (parenthesized_expression "(pcVar18 + 2 == pcVar27)" ( (binary_expression "pcVar18 + 2 == pcVar27" (binary_expression "pcVar18 + 2" identifier + number_literal) == identifier) )) (compound_statement "{\n            FUN_00018c70();\n          }" { (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar20 = (undefined1 *)*piVar2;" (assignment_expression "puVar20 = (undefined1 *)*piVar2" identifier = (cast_expression "(undefined1 *)*piVar2" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar2" * identifier))) ;) (expression_statement "*piVar2 = (int)(puVar20 + 1);" (assignment_expression "*piVar2 = (int)(puVar20 + 1)" (pointer_expression "*piVar2" * identifier) = (cast_expression "(int)(puVar20 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar20 + 1)" ( (binary_expression "puVar20 + 1" identifier + number_literal) )))) ;) (expression_statement "*puVar20 = 0x2a;" (assignment_expression "*puVar20 = 0x2a" (pointer_expression "*puVar20" * identifier) = number_literal) ;) (expression_statement "puVar20 = (undefined1 *)*piVar2;" (assignment_expression "puVar20 = (undefined1 *)*piVar2" identifier = (cast_expression "(undefined1 *)*piVar2" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar2" * identifier))) ;) (expression_statement "*piVar2 = (int)(puVar20 + 1);" (assignment_expression "*piVar2 = (int)(puVar20 + 1)" (pointer_expression "*piVar2" * identifier) = (cast_expression "(int)(puVar20 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar20 + 1)" ( (binary_expression "puVar20 + 1" identifier + number_literal) )))) ;) (expression_statement "*puVar20 = 0x2f;" (assignment_expression "*puVar20 = 0x2f" (pointer_expression "*puVar20" * identifier) = number_literal) ;) (expression_statement "*(undefined1 *)*piVar2 = 0;" (assignment_expression "*(undefined1 *)*piVar2 = 0" (pointer_expression "*(undefined1 *)*piVar2" * (cast_expression "(undefined1 *)*piVar2" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar2" * identifier))) = number_literal) ;) (expression_statement "iVar26 = *local_6c;" (assignment_expression "iVar26 = *local_6c" identifier = (pointer_expression "*local_6c" * identifier)) ;) (expression_statement "piVar1 = (int *)(iVar26 + 0x20);" (assignment_expression "piVar1 = (int *)(iVar26 + 0x20)" identifier = (cast_expression "(int *)(iVar26 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x20)" ( (binary_expression "iVar26 + 0x20" identifier + number_literal) )))) ;) (expression_statement "*piVar1 = *piVar1 + -1;" (assignment_expression "*piVar1 = *piVar1 + -1" (pointer_expression "*piVar1" * identifier) = (binary_expression "*piVar1 + -1" (pointer_expression "*piVar1" * identifier) + number_literal)) ;) (expression_statement "iVar16 = 1;" (assignment_expression "iVar16 = 1" identifier = number_literal) ;) (if_statement "if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }" if (parenthesized_expression "(local_68 == (char *)0x1)" ( (binary_expression "local_68 == (char *)0x1" identifier == (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            iVar16 = iVar15;\n          }" { (expression_statement "iVar16 = iVar15;" (assignment_expression "iVar16 = iVar15" identifier = identifier) ;) })) (expression_statement "*(int *)(iVar26 + 0x58) = iVar16;" (assignment_expression "*(int *)(iVar26 + 0x58) = iVar16" (pointer_expression "*(int *)(iVar26 + 0x58)" * (cast_expression "(int *)(iVar26 + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x58)" ( (binary_expression "iVar26 + 0x58" identifier + number_literal) )))) = identifier) ;) (return_statement "return;" return ;) }))) (expression_statement "cVar28 = '*';" (assignment_expression "cVar28 = '*'" identifier = (char_literal "'*'" ' character ')) ;) }))) }) (else_clause "else if (cVar28 == '*') {\n      if (pcVar18[-1] == '/') {\n        *(undefined1 *)(*piVar2 + -1) = 0x20;\n        *(undefined1 *)*piVar2 = 0x2a;\n        pcVar18 = (char *)*piVar1;\n        pcVar27 = *(char **)pcVar3;\n        cVar28 = *pcVar18;\n        goto LAB_00014e50;\n      }\n      goto LAB_00014e59;\n    }" else (if_statement "if (cVar28 == '*') {\n      if (pcVar18[-1] == '/') {\n        *(undefined1 *)(*piVar2 + -1) = 0x20;\n        *(undefined1 *)*piVar2 = 0x2a;\n        pcVar18 = (char *)*piVar1;\n        pcVar27 = *(char **)pcVar3;\n        cVar28 = *pcVar18;\n        goto LAB_00014e50;\n      }\n      goto LAB_00014e59;\n    }" if (parenthesized_expression "(cVar28 == '*')" ( (binary_expression "cVar28 == '*'" identifier == (char_literal "'*'" ' character ')) )) (compound_statement "{\n      if (pcVar18[-1] == '/') {\n        *(undefined1 *)(*piVar2 + -1) = 0x20;\n        *(undefined1 *)*piVar2 = 0x2a;\n        pcVar18 = (char *)*piVar1;\n        pcVar27 = *(char **)pcVar3;\n        cVar28 = *pcVar18;\n        goto LAB_00014e50;\n      }\n      goto LAB_00014e59;\n    }" { (if_statement "if (pcVar18[-1] == '/') {\n        *(undefined1 *)(*piVar2 + -1) = 0x20;\n        *(undefined1 *)*piVar2 = 0x2a;\n        pcVar18 = (char *)*piVar1;\n        pcVar27 = *(char **)pcVar3;\n        cVar28 = *pcVar18;\n        goto LAB_00014e50;\n      }" if (parenthesized_expression "(pcVar18[-1] == '/')" ( (binary_expression "pcVar18[-1] == '/'" (subscript_expression "pcVar18[-1]" identifier [ number_literal ]) == (char_literal "'/'" ' character ')) )) (compound_statement "{\n        *(undefined1 *)(*piVar2 + -1) = 0x20;\n        *(undefined1 *)*piVar2 = 0x2a;\n        pcVar18 = (char *)*piVar1;\n        pcVar27 = *(char **)pcVar3;\n        cVar28 = *pcVar18;\n        goto LAB_00014e50;\n      }" { (expression_statement "*(undefined1 *)(*piVar2 + -1) = 0x20;" (assignment_expression "*(undefined1 *)(*piVar2 + -1) = 0x20" (pointer_expression "*(undefined1 *)(*piVar2 + -1)" * (cast_expression "(undefined1 *)(*piVar2 + -1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar2 + -1)" ( (binary_expression "*piVar2 + -1" (pointer_expression "*piVar2" * identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)*piVar2 = 0x2a;" (assignment_expression "*(undefined1 *)*piVar2 = 0x2a" (pointer_expression "*(undefined1 *)*piVar2" * (cast_expression "(undefined1 *)*piVar2" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar2" * identifier))) = number_literal) ;) (expression_statement "pcVar18 = (char *)*piVar1;" (assignment_expression "pcVar18 = (char *)*piVar1" identifier = (cast_expression "(char *)*piVar1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar1" * identifier))) ;) (expression_statement "pcVar27 = *(char **)pcVar3;" (assignment_expression "pcVar27 = *(char **)pcVar3" identifier = (pointer_expression "*(char **)pcVar3" * (cast_expression "(char **)pcVar3" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "cVar28 = *pcVar18;" (assignment_expression "cVar28 = *pcVar18" identifier = (pointer_expression "*pcVar18" * identifier)) ;) (goto_statement "goto LAB_00014e50;" goto statement_identifier ;) })) (goto_statement "goto LAB_00014e59;" goto statement_identifier ;) })))) (if_statement "if (pcVar18 == pcVar27) {\n      if (pcVar18[-1] == '\n') {\n        iVar26 = *piVar2;\n        *piVar2 = iVar26 + -1;\n        *(undefined1 *)(iVar26 + -1) = 0;\n        FUN_0001a130(1,param_1,param_2);\n        local_68 = (char *)((int)local_68 + 1);\n        *(undefined4 *)(*local_6c + 0x58) = 1;\n      }\n      FUN_00018c70();\n      if ((&DAT_00012b1e)[unaff_EBP] != '\0') {\n        puVar20 = (undefined1 *)*piVar2;\n        *piVar2 = (int)(puVar20 + 1);\n        *puVar20 = 0;\n        iVar26 = *local_6c;\n        piVar1 = (int *)(iVar26 + 0x20);\n        *piVar1 = *piVar1 + -1;\n        *(int *)(iVar26 + 0x58) = iVar15;\n        return;\n      }\n      pcVar18 = (char *)*piVar1;\n      cVar28 = *pcVar18;\n    }" if (parenthesized_expression "(pcVar18 == pcVar27)" ( (binary_expression "pcVar18 == pcVar27" identifier == identifier) )) (compound_statement "{\n      if (pcVar18[-1] == '\n') {\n        iVar26 = *piVar2;\n        *piVar2 = iVar26 + -1;\n        *(undefined1 *)(iVar26 + -1) = 0;\n        FUN_0001a130(1,param_1,param_2);\n        local_68 = (char *)((int)local_68 + 1);\n        *(undefined4 *)(*local_6c + 0x58) = 1;\n      }\n      FUN_00018c70();\n      if ((&DAT_00012b1e)[unaff_EBP] != '\0') {\n        puVar20 = (undefined1 *)*piVar2;\n        *piVar2 = (int)(puVar20 + 1);\n        *puVar20 = 0;\n        iVar26 = *local_6c;\n        piVar1 = (int *)(iVar26 + 0x20);\n        *piVar1 = *piVar1 + -1;\n        *(int *)(iVar26 + 0x58) = iVar15;\n        return;\n      }\n      pcVar18 = (char *)*piVar1;\n      cVar28 = *pcVar18;\n    }" { (if_statement "if (pcVar18[-1] == '\n') {\n        iVar26 = *piVar2;\n        *piVar2 = iVar26 + -1;\n        *(undefined1 *)(iVar26 + -1) = 0;\n        FUN_0001a130(1,param_1,param_2);\n        local_68 = (char *)((int)local_68 + 1);\n        *(undefined4 *)(*local_6c + 0x58) = 1;\n      }" if (parenthesized_expression "(pcVar18[-1] == '\n')" ( (binary_expression "pcVar18[-1] == '\n'" (subscript_expression "pcVar18[-1]" identifier [ number_literal ]) == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n        iVar26 = *piVar2;\n        *piVar2 = iVar26 + -1;\n        *(undefined1 *)(iVar26 + -1) = 0;\n        FUN_0001a130(1,param_1,param_2);\n        local_68 = (char *)((int)local_68 + 1);\n        *(undefined4 *)(*local_6c + 0x58) = 1;\n      }" { (expression_statement "iVar26 = *piVar2;" (assignment_expression "iVar26 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "*piVar2 = iVar26 + -1;" (assignment_expression "*piVar2 = iVar26 + -1" (pointer_expression "*piVar2" * identifier) = (binary_expression "iVar26 + -1" identifier + number_literal)) ;) (expression_statement "*(undefined1 *)(iVar26 + -1) = 0;" (assignment_expression "*(undefined1 *)(iVar26 + -1) = 0" (pointer_expression "*(undefined1 *)(iVar26 + -1)" * (cast_expression "(undefined1 *)(iVar26 + -1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + -1)" ( (binary_expression "iVar26 + -1" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001a130(1,param_1,param_2);" (call_expression "FUN_0001a130(1,param_1,param_2)" identifier (argument_list "(1,param_1,param_2)" ( number_literal , identifier , identifier ))) ;) (expression_statement "local_68 = (char *)((int)local_68 + 1);" (assignment_expression "local_68 = (char *)((int)local_68 + 1)" identifier = (cast_expression "(char *)((int)local_68 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_68 + 1)" ( (binary_expression "(int)local_68 + 1" (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)(*local_6c + 0x58) = 1;" (assignment_expression "*(undefined4 *)(*local_6c + 0x58) = 1" (pointer_expression "*(undefined4 *)(*local_6c + 0x58)" * (cast_expression "(undefined4 *)(*local_6c + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_6c + 0x58)" ( (binary_expression "*local_6c + 0x58" (pointer_expression "*local_6c" * identifier) + number_literal) )))) = number_literal) ;) })) (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" identifier (argument_list "()" ( ))) ;) (if_statement "if ((&DAT_00012b1e)[unaff_EBP] != '\0') {\n        puVar20 = (undefined1 *)*piVar2;\n        *piVar2 = (int)(puVar20 + 1);\n        *puVar20 = 0;\n        iVar26 = *local_6c;\n        piVar1 = (int *)(iVar26 + 0x20);\n        *piVar1 = *piVar1 + -1;\n        *(int *)(iVar26 + 0x58) = iVar15;\n        return;\n      }" if (parenthesized_expression "((&DAT_00012b1e)[unaff_EBP] != '\0')" ( (binary_expression "(&DAT_00012b1e)[unaff_EBP] != '\0'" (subscript_expression "(&DAT_00012b1e)[unaff_EBP]" (parenthesized_expression "(&DAT_00012b1e)" ( (pointer_expression "&DAT_00012b1e" & identifier) )) [ identifier ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        puVar20 = (undefined1 *)*piVar2;\n        *piVar2 = (int)(puVar20 + 1);\n        *puVar20 = 0;\n        iVar26 = *local_6c;\n        piVar1 = (int *)(iVar26 + 0x20);\n        *piVar1 = *piVar1 + -1;\n        *(int *)(iVar26 + 0x58) = iVar15;\n        return;\n      }" { (expression_statement "puVar20 = (undefined1 *)*piVar2;" (assignment_expression "puVar20 = (undefined1 *)*piVar2" identifier = (cast_expression "(undefined1 *)*piVar2" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar2" * identifier))) ;) (expression_statement "*piVar2 = (int)(puVar20 + 1);" (assignment_expression "*piVar2 = (int)(puVar20 + 1)" (pointer_expression "*piVar2" * identifier) = (cast_expression "(int)(puVar20 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar20 + 1)" ( (binary_expression "puVar20 + 1" identifier + number_literal) )))) ;) (expression_statement "*puVar20 = 0;" (assignment_expression "*puVar20 = 0" (pointer_expression "*puVar20" * identifier) = number_literal) ;) (expression_statement "iVar26 = *local_6c;" (assignment_expression "iVar26 = *local_6c" identifier = (pointer_expression "*local_6c" * identifier)) ;) (expression_statement "piVar1 = (int *)(iVar26 + 0x20);" (assignment_expression "piVar1 = (int *)(iVar26 + 0x20)" identifier = (cast_expression "(int *)(iVar26 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x20)" ( (binary_expression "iVar26 + 0x20" identifier + number_literal) )))) ;) (expression_statement "*piVar1 = *piVar1 + -1;" (assignment_expression "*piVar1 = *piVar1 + -1" (pointer_expression "*piVar1" * identifier) = (binary_expression "*piVar1 + -1" (pointer_expression "*piVar1" * identifier) + number_literal)) ;) (expression_statement "*(int *)(iVar26 + 0x58) = iVar15;" (assignment_expression "*(int *)(iVar26 + 0x58) = iVar15" (pointer_expression "*(int *)(iVar26 + 0x58)" * (cast_expression "(int *)(iVar26 + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x58)" ( (binary_expression "iVar26 + 0x58" identifier + number_literal) )))) = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "pcVar18 = (char *)*piVar1;" (assignment_expression "pcVar18 = (char *)*piVar1" identifier = (cast_expression "(char *)*piVar1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar1" * identifier))) ;) (expression_statement "cVar28 = *pcVar18;" (assignment_expression "cVar28 = *pcVar18" identifier = (pointer_expression "*pcVar18" * identifier)) ;) })) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bp replaced with injection: get_pc_thunk.bp */\n/* WARNING: Unknown calling convention */\n\nvoid print_comment(int *paren_targ,BOOLEAN *pbreak_line)\n\n{\n  int *piVar1;\n  byte bVar2;\n  char cVar3;\n  bool bVar4;\n  bool bVar5;\n  parser_state_ty *ppVar6;\n  char *pcVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  char *pcVar13;\n  char cVar14;\n  bool bVar15;\n  bool bVar16;\n  char *pcVar17;\n  size_t local_84;\n  int local_80;\n  char *local_78;\n  int local_74;\n  int local_70;\n  int local_68;\n  char *local_64;\n  int local_60;\n  int local_5c;\n  int local_54;\n  undefined *local_4c;\n  uint local_48;\n  size_t local_40;\n  int local_28;\n  \n  inc_pstack();\n  iVar8 = com_lines;\n  if (token[1] == '/') {\n    local_4c = &DAT_0002121e;\n    bVar5 = false;\n    bVar15 = false;\n    local_5c = 0x14;\n    local_48 = 3;\n    local_28 = 0;\n    local_84 = 0;\n    cVar14 = '/';\n  }\n  else {\n    bVar2 = *buf_ptr;\n    if (((bVar2 == 0x2a || bVar2 == 0x5f) || ((bVar2 & 0xef) == 0x2d)) ||\n       ((parser_state_tos->col_1 != 0 && (settings.format_col1_comments == 0)))) {\n      if ((buf_ptr < save_com.ptr) ||\n         (iVar8 = save_com.start_column, save_com.ptr + save_com.len < buf_ptr)) {\n        iVar8 = current_column();\n        iVar8 = iVar8 + -2;\n      }\n      ppVar6 = parser_state_tos;\n      parser_state_tos->com_col = iVar8;\n      ppVar6->box_com = 1;\n      if (settings.blanklines_before_blockcomments != 0) {\n        prefix_blankline_requested = 1;\n      }\n      local_68 = 1;\n      pcVar13 = e_com + 1;\n      *e_com = '/';\n      e_com = pcVar13;\n      pcVar13 = e_com + 1;\n      *e_com = '*';\n      e_com = pcVar13;\n      cVar14 = *buf_ptr;\n      do {\n        do {\n          pcVar17 = s_com;\n          pcVar13 = l_com;\n          if (cVar14 == '\n') {\n            line_no = line_no + 1;\n          }\n          if (l_com + -1 <= e_com) {\n            combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x191 - (int)s_com)));\n            l_com = combuf + (int)(pcVar13 + (0x18c - (int)pcVar17));\n            e_com = combuf + (int)(e_com + (1 - (int)s_com));\n            s_com = combuf + 1;\n          }\n          cVar14 = *buf_ptr;\n          pcVar13 = e_com + 1;\n          buf_ptr = buf_ptr + 1;\n          *e_com = cVar14;\n          e_com = pcVar13;\n          cVar14 = *buf_ptr;\n        } while ((cVar14 != '*') && (buf_ptr < buf_end));\n        if (buf_end < buf_ptr) {\n          buf_ptr = buf_end;\n          cVar14 = *buf_end;\n        }\n        if (settings.fix_nested_comments == 0) {\nLAB_00014e50:\n          if (cVar14 == '*') {\nLAB_00014e59:\n            if (buf_ptr[1] == '/') {\n              if (buf_ptr == buf_end) {\n                fill_buffer();\n              }\n              buf_ptr = buf_ptr + 2;\n              if (buf_ptr == buf_end) {\n                fill_buffer();\n              }\n              pcVar13 = e_com + 1;\n              *e_com = '*';\n              e_com = pcVar13;\n              pcVar13 = e_com + 1;\n              *e_com = '/';\n              e_com = pcVar13;\n              *e_com = '\0';\n              ppVar6 = parser_state_tos;\n              parser_state_tos->tos = parser_state_tos->tos + -1;\n              iVar9 = 1;\n              if (local_68 == 1) {\n                iVar9 = iVar8;\n              }\n              ppVar6->com_col = iVar9;\n              return;\n            }\n            cVar14 = '*';\n          }\n        }\n        else if (cVar14 == '*') {\n          if (buf_ptr[-1] == '/') {\n            e_com[-1] = ' ';\n            *e_com = '*';\n            cVar14 = *buf_ptr;\n            goto LAB_00014e50;\n          }\n          goto LAB_00014e59;\n        }\n        if (buf_ptr == buf_end) {\n          if (buf_ptr[-1] == '\n') {\n            pcVar13 = e_com + -1;\n            e_com = e_com + -1;\n            *pcVar13 = '\0';\n            dump_line(1,paren_targ,pbreak_line);\n            local_68 = local_68 + 1;\n            parser_state_tos->com_col = 1;\n          }\n          fill_buffer();\n          if (had_eof != '\0') {\n            pcVar13 = e_com + 1;\n            *e_com = '\0';\n            e_com = pcVar13;\n            ppVar6 = parser_state_tos;\n            parser_state_tos->tos = parser_state_tos->tos + -1;\n            ppVar6->com_col = iVar8;\n            return;\n          }\n          cVar14 = *buf_ptr;\n        }\n      } while( true );\n    }\n    bVar5 = true;\n    cVar14 = '*';\n    local_5c = 0x13;\n    local_84 = settings.star_comment_cont;\n    local_28 = settings.comment_delimiter_on_blankline;\n    local_48 = 0;\n    local_4c = (undefined *)0x0;\n    bVar15 = settings.comment_delimiter_on_blankline != 0;\n  }\n  local_60 = settings.comment_max_col;\n  iVar9 = current_column();\n  pcVar17 = s_lab;\n  pcVar13 = s_code;\n  if ((s_lab == e_lab) && (s_code == e_code)) {\n    if ((parser_state_tos->col_1 == 0) || (settings.format_col1_comments != 0)) {\n      local_74 = settings.format_comments;\n      if ((parser_state_tos->ind_level < 1) &&\n         ((parser_state_tos->in_stmt == 0 ||\n          ((parser_state_tos->in_decl != '\0' && (parser_state_tos->paren_level == 0)))))) {\n        bVar4 = true;\n        local_80 = iVar9;\n        local_70 = iVar9 + -2;\n      }\n      else {\n        local_70 = compute_code_target(*paren_targ);\n        local_70 = local_70 - settings.unindent_displace;\n        if (local_70 < 0) {\n          local_80 = 3;\n          bVar4 = true;\n          local_70 = 1;\n        }\n        else {\n          bVar4 = true;\n          local_80 = local_70 + 2;\n        }\n      }\n    }\n    else {\n      local_80 = 3;\n      bVar4 = true;\n      local_70 = 1;\n      local_74 = 0;\n    }\n  }\n  else {\n    if (parser_state_tos->decl_on_line == 0) {\n      if (else_or_endif == 0) {\n        local_70 = settings.com_ind;\n      }\n      else {\n        local_70 = settings.else_endif_col;\n      }\n    }\n    else {\n      local_70 = settings.decl_com_ind;\n    }\n    if (s_code == e_code) {\n      iVar10 = compute_label_target();\n    }\n    else {\n      iVar10 = compute_code_target(*paren_targ);\n      pcVar17 = pcVar13;\n    }\n    iVar10 = count_columns(iVar10,pcVar17,0);\n    if (local_70 <= iVar10) {\n      if (else_or_endif == 0 && settings.dont_tab_align_comments == 0) {\n        local_70 = (settings.tabsize - (iVar10 + -1) % settings.tabsize) + iVar10;\n      }\n      else {\n        local_70 = iVar10 + 1;\n        else_or_endif = 0;\n      }\n    }\n    bVar4 = false;\n    bVar15 = false;\n    local_74 = settings.format_comments;\n    local_80 = local_70 + 2;\n  }\n  ppVar6 = parser_state_tos;\n  if (local_4c == (undefined *)0x0) {\n    if (local_84 == 0) {\n      local_4c = &DAT_00021226;\n      bVar5 = true;\n      local_48 = 3;\n    }\n    else {\n      local_4c = &DAT_00021222;\n      bVar5 = false;\n      local_48 = 3;\n    }\n  }\n  parser_state_tos->box_com = 0;\n  ppVar6->com_col = local_70;\n  pcVar13 = e_com + 1;\n  *e_com = '/';\n  e_com = pcVar13;\n  pcVar13 = e_com + 1;\n  *e_com = cVar14;\n  e_com = pcVar13;\n  pcVar13 = buf_ptr;\n  if (bVar15) {\n    *e_com = '\0';\n    dump_line(1,paren_targ,pbreak_line);\n    pcVar13 = skip_horiz_space(pcVar13);\n    if (*pcVar13 == '\n') {\n      pcVar13 = pcVar13 + 1;\n    }\n    else if (local_74 == 0) {\n      pcVar13 = buf_ptr;\n    }\n    buf_ptr = pcVar13;\n    if (buf_end <= buf_ptr) {\n      fill_buffer();\n    }\n    local_78 = (char *)0x0;\n    local_40 = 0;\n    local_54 = 0;\n    goto LAB_0001543c;\n  }\n  if (local_74 == 0) {\n    local_40 = 0;\n    local_54 = 0;\n    local_78 = (char *)0x0;\n  }\n  else {\n    pcVar13 = e_com + 1;\n    *e_com = ' ';\n    e_com = pcVar13;\n    local_80 = local_70 + 3;\n    skip_buffered_space();\n    local_78 = (char *)0x0;\n    local_40 = 0;\n    local_54 = 0;\n  }\n  while (had_eof == '\0') {\n    local_64 = (char *)0x0;\nLAB_00015228:\n    pcVar7 = local_78;\n    pcVar17 = s_com;\n    pcVar13 = l_com;\n    if (l_com + -1 <= e_com) {\n      combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x191 - (int)s_com)));\n      e_com = combuf + (int)(e_com + (1 - (int)s_com));\n      l_com = combuf + (int)(pcVar13 + (0x18c - (int)pcVar17));\n      s_com = combuf + 1;\n      cVar14 = *buf_ptr;\n      cVar3 = cVar14 + -10;\n      bVar15 = cVar3 == '\0';\n      if (!bVar15) goto LAB_0001524d;\nLAB_0001531c:\n      if (local_5c == 0x14) goto LAB_00015c4a;\n      if (local_74 == 0) {\n        local_78 = (char *)0x0;\n        bVar15 = false;\n        bVar16 = (bool)(pcVar7 == (char *)0x0 & bVar5);\n        goto LAB_00015630;\n      }\n      buf_ptr = buf_ptr + 1;\n      line_no = line_no + 1;\n      if (buf_end <= buf_ptr) {\n        fill_buffer();\n      }\n      if ((local_78 < local_64) && (local_64 < e_com)) {\n        e_com = local_64;\n      }\n      skip_buffered_space();\n      if (*buf_ptr == '\n') {\n        local_78 = (char *)0x0;\n        bVar15 = true;\n        bVar16 = (bool)(pcVar7 == (char *)0x0 & bVar5);\n        goto LAB_00015630;\n      }\n      if (local_78 == (char *)0x0) {\n        bVar15 = true;\n        bVar16 = bVar5;\n        goto LAB_00015630;\n      }\n      if ((((local_54 == 0) && (iVar10 = current_column(), iVar10 == iVar9 + -1)) &&\n          (*buf_ptr == '*')) && (buf_ptr[1] != '/')) {\n        buf_ptr = buf_ptr + 1;\n        if (buf_end <= buf_ptr) {\n          fill_buffer();\n        }\n        if ((*buf_ptr == ' ') && (buf_ptr = buf_ptr + 1, buf_end <= buf_ptr)) {\n          fill_buffer();\n        }\n      }\n      pcVar13 = e_com;\n      if (e_com[-1] != ' ') {\n        local_80 = local_80 + 1;\n        pcVar17 = e_com + 1;\n        *e_com = ' ';\n        e_com = pcVar17;\n        local_64 = pcVar13;\n      }\n      goto LAB_0001521b;\n    }\n    cVar14 = *buf_ptr;\n    cVar3 = cVar14 + -10;\n    bVar15 = cVar14 == '\n';\n    if (bVar15) goto LAB_0001531c;\nLAB_0001524d:\n    pcVar13 = e_com;\n    if (!bVar15 && SBORROW1(cVar14,'\n') == cVar3 < '\0') {\n      if (cVar14 == ' ') goto LAB_0001525c;\n      if ((cVar14 != '*') || (local_5c != 0x13)) {\nLAB_000151b8:\n        local_80 = local_80 + 1;\n        pcVar17 = e_com + 1;\n        *e_com = *buf_ptr;\n        e_com = pcVar17;\n        bVar15 = local_74 != 0;\n        local_78 = pcVar13;\n        goto LAB_000151d8;\n      }\n      if (buf_ptr[1] == '/') {\n        if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            if ((s_com == e_com) || (*s_com != '/')) {\n              e_com = s_com + 1;\n              *s_com = ' ';\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar4)) {\n            *e_com = '\0';\n            dump_line(1,paren_targ,pbreak_line);\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n            goto LAB_00015cc8;\n          }\n          if ((e_com[-1] != ' ') && (e_com[-1] != '\t')) {\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n          }\n        }\nLAB_00015cc8:\n        pcVar17 = s_com;\n        pcVar13 = l_com;\n        if (l_com + -3 <= e_com) {\n          combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x193 - (int)s_com)));\n          e_com = combuf + (int)(e_com + (1 - (int)s_com));\n          l_com = combuf + (int)(pcVar13 + (0x18e - (int)pcVar17));\n          s_com = combuf + 1;\n        }\n        pcVar13 = e_com + 1;\n        *e_com = '*';\n        e_com = pcVar13;\n        pcVar13 = e_com + 1;\n        *e_com = '/';\n        e_com = pcVar13;\n        *e_com = '\0';\n        buf_ptr = buf_ptr + 2;\n        buf_ptr = skip_horiz_space(buf_ptr);\n        if (buf_end <= buf_ptr) {\n          fill_buffer();\n        }\n        ppVar6 = parser_state_tos;\n        parser_state_tos->com_col = local_70;\n        piVar1 = &ppVar6->tos;\n        *piVar1 = *piVar1 + -1;\n        ppVar6->box_com = local_54;\n        return;\n      }\n      if ((com_lines + -1 != iVar8) || (e_com != s_com + local_48)) goto LAB_000151b8;\n      *s_com = ' ';\n      local_80 = (local_80 - local_48) + 2;\n      local_48 = 1;\n      local_4c = &DAT_00021228;\n      s_com[1] = '*';\n      local_78 = s_com + 2;\n      local_28 = 0;\n      local_54 = 1;\n      e_com = local_78;\nLAB_00015589:\n      local_74 = 0;\nLAB_000151f8:\n      if (*buf_ptr == '\n') {\n        line_no = line_no + 1;\n      }\n      buf_ptr = buf_ptr + 1;\n      if (buf_ptr == buf_end) {\n        fill_buffer();\n      }\nLAB_0001521b:\n      if (had_eof != '\0') goto LAB_000159db;\n      goto LAB_00015228;\n    }\n    if (cVar14 != '\t') goto LAB_000151b8;\nLAB_0001525c:\n    if (((local_74 == 0) || (pcVar13 = e_com, local_78 <= local_64)) &&\n       (pcVar13 = local_64, local_74 == 0)) {\n      if (cVar14 == ' ') {\n        local_80 = local_80 + 1;\n        pcVar13 = e_com + 1;\n        *e_com = ' ';\n        e_com = pcVar13;\n      }\n      else {\n        iVar10 = settings.tabsize - (((iVar9 + -2 + local_80) - local_70) + -1) % settings.tabsize;\n        local_80 = local_80 + iVar10;\n        if (l_com + -iVar10 <= e_com) {\n          pcVar13 = l_com + ((iVar10 + 400) - (int)s_com);\n          combuf = (char *)xrealloc(combuf,(uint)pcVar13);\n          e_com = combuf + (int)(e_com + (1 - (int)s_com));\n          l_com = combuf + (int)(pcVar13 + -5);\n          s_com = combuf + 1;\n        }\n        if (iVar10 == 0) goto LAB_00015589;\n        iVar11 = iVar10 + -2;\n        pcVar13 = e_com + 1;\n        *e_com = ' ';\n        e_com = pcVar13;\n        if (iVar10 != 1) {\n          do {\n            iVar11 = iVar11 + -1;\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n          } while (iVar11 != -1);\n        }\n      }\n      goto LAB_000151f8;\n    }\n    local_64 = pcVar13;\n    if (((s_com == e_com) || (e_com[-1] != ' ')) ||\n       ((s_com == e_com + -1 || (bVar15 = true, e_com[-2] == '.')))) {\n      local_80 = local_80 + 1;\n      bVar15 = true;\n      pcVar13 = e_com + 1;\n      *e_com = ' ';\n      e_com = pcVar13;\n    }\nLAB_000151d8:\n    if ((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar15)) goto LAB_000151f8;\n    if (local_64 < e_com + -1) {\n      *local_64 = '\0';\n      pcVar13 = e_com;\n      e_com = local_64;\n      local_40 = (int)pcVar13 - (int)(local_64 + 1);\n      iVar10 = local_80 - local_40;\n      if ((int)(local_80 - local_40) <= local_60) {\n        iVar10 = local_60;\n      }\n      bVar16 = local_78 == (char *)0x0;\n      bVar15 = false;\n      local_78 = local_64 + 1;\n      local_60 = iVar10;\n      bVar16 = (bool)(bVar16 & bVar5);\n      goto LAB_00015630;\n    }\n    if (local_5c == 0x14) {\n      pcVar13 = skip_horiz_space(buf_ptr);\n      buf_ptr = pcVar13 + -1;\n      if (pcVar13[-1] == '\n') {\nLAB_00015c4a:\n        ppVar6 = parser_state_tos;\n        pcVar13 = e_com;\n        parser_state_tos->com_col = local_70;\n        piVar1 = &ppVar6->tos;\n        *piVar1 = *piVar1 + -1;\n        ppVar6->box_com = local_54;\n        *pcVar13 = '\0';\n        return;\n      }\n    }\n    else {\n      while ((pcVar13 = buf_ptr, cVar14 = *pcVar13, (byte)(cVar14 - 9U) < 2 || (cVar14 == ' '))) {\n        if (cVar14 == '\n') {\n          line_no = line_no + 1;\n        }\n        buf_ptr = pcVar13 + 1;\n        if (buf_end <= pcVar13 + 1) {\n          buf_ptr = pcVar13 + 1;\n          fill_buffer();\n        }\n      }\n      buf_ptr = pcVar13 + -1;\n    }\n    *e_com = '\0';\nLAB_000159db:\n    pcVar13 = local_78;\n    local_78 = (char *)0x0;\n    bVar15 = false;\n    bVar16 = (bool)(pcVar13 == (char *)0x0 & bVar5);\nLAB_00015630:\n    if ((bVar16) && (com_lines != iVar8)) {\n      e_com = s_com;\n    }\n    *e_com = '\0';\n    dump_line(1,paren_targ,pbreak_line);\n    prefix_blankline_requested = 0;\n    if (!bVar15) {\n      if (*buf_ptr == '\n') {\n        line_no = line_no + 1;\n      }\n      buf_ptr = buf_ptr + 1;\n      if (buf_end <= buf_ptr) {\n        fill_buffer();\n      }\n    }\nLAB_0001543c:\n    if (had_eof != '\0') break;\n    local_80 = local_70;\n    if (local_48 != 0) {\n      if (l_com + -local_48 <= e_com) {\n        pcVar13 = l_com + ((local_48 + 400) - (int)s_com);\n        combuf = (char *)xrealloc(combuf,(uint)pcVar13);\n        e_com = combuf + (int)(e_com + (1 - (int)s_com));\n        l_com = combuf + (int)(pcVar13 + -5);\n        s_com = combuf + 1;\n      }\n      pcVar13 = e_com;\n      if (local_48 != 0) {\n        uVar12 = 0;\n        do {\n          pcVar13[uVar12] = local_4c[uVar12];\n          uVar12 = uVar12 + 1;\n        } while (uVar12 < local_48);\n      }\n      e_com = e_com + local_48;\n      local_80 = local_70 + local_48;\n    }\n    if (local_78 == (char *)0x0) {\n      skip_buffered_space();\n    }\n    else {\n      if ((*local_78 == ' ') || (*local_78 == '\t')) {\n        if (local_40 == 0) {\n          iVar10 = 0;\n          local_84 = 0;\n        }\n        else {\n          do {\n            local_78 = local_78 + 1;\n            local_40 = local_40 - 1;\n            if ((*local_78 != ' ') && (*local_78 != '\t')) {\n              local_80 = local_80 + local_40;\n              iVar10 = -local_40;\n              local_84 = local_40;\n              goto LAB_000158f3;\n            }\n          } while (local_40 != 0);\n          iVar10 = 0;\n          local_84 = 0;\n        }\n      }\n      else {\n        local_80 = local_80 + local_40;\n        local_84 = local_40;\n        iVar10 = -local_40;\n      }\nLAB_000158f3:\n      if (l_com + iVar10 <= e_com) {\n        pcVar13 = l_com + ((local_40 + 400) - (int)s_com);\n        combuf = (char *)xrealloc(combuf,(uint)pcVar13);\n        l_com = combuf + (int)(pcVar13 + -5);\n        e_com = combuf + (int)(e_com + (1 - (int)s_com));\n        s_com = combuf + 1;\n      }\n      memmove(e_com,local_78,local_84);\n      local_78 = e_com;\n      e_com = e_com + local_84;\n      local_40 = 0;\n    }\n  }\n  ppVar6 = parser_state_tos;\n  parser_state_tos->com_col = local_70;\n  piVar1 = &ppVar6->tos;\n  *piVar1 = *piVar1 + -1;\n  ppVar6->box_com = local_54;\n  return;\n}\n\n" comment comment (function_definition "void print_comment(int *paren_targ,BOOLEAN *pbreak_line)\n\n{\n  int *piVar1;\n  byte bVar2;\n  char cVar3;\n  bool bVar4;\n  bool bVar5;\n  parser_state_ty *ppVar6;\n  char *pcVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  char *pcVar13;\n  char cVar14;\n  bool bVar15;\n  bool bVar16;\n  char *pcVar17;\n  size_t local_84;\n  int local_80;\n  char *local_78;\n  int local_74;\n  int local_70;\n  int local_68;\n  char *local_64;\n  int local_60;\n  int local_5c;\n  int local_54;\n  undefined *local_4c;\n  uint local_48;\n  size_t local_40;\n  int local_28;\n  \n  inc_pstack();\n  iVar8 = com_lines;\n  if (token[1] == '/') {\n    local_4c = &DAT_0002121e;\n    bVar5 = false;\n    bVar15 = false;\n    local_5c = 0x14;\n    local_48 = 3;\n    local_28 = 0;\n    local_84 = 0;\n    cVar14 = '/';\n  }\n  else {\n    bVar2 = *buf_ptr;\n    if (((bVar2 == 0x2a || bVar2 == 0x5f) || ((bVar2 & 0xef) == 0x2d)) ||\n       ((parser_state_tos->col_1 != 0 && (settings.format_col1_comments == 0)))) {\n      if ((buf_ptr < save_com.ptr) ||\n         (iVar8 = save_com.start_column, save_com.ptr + save_com.len < buf_ptr)) {\n        iVar8 = current_column();\n        iVar8 = iVar8 + -2;\n      }\n      ppVar6 = parser_state_tos;\n      parser_state_tos->com_col = iVar8;\n      ppVar6->box_com = 1;\n      if (settings.blanklines_before_blockcomments != 0) {\n        prefix_blankline_requested = 1;\n      }\n      local_68 = 1;\n      pcVar13 = e_com + 1;\n      *e_com = '/';\n      e_com = pcVar13;\n      pcVar13 = e_com + 1;\n      *e_com = '*';\n      e_com = pcVar13;\n      cVar14 = *buf_ptr;\n      do {\n        do {\n          pcVar17 = s_com;\n          pcVar13 = l_com;\n          if (cVar14 == '\n') {\n            line_no = line_no + 1;\n          }\n          if (l_com + -1 <= e_com) {\n            combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x191 - (int)s_com)));\n            l_com = combuf + (int)(pcVar13 + (0x18c - (int)pcVar17));\n            e_com = combuf + (int)(e_com + (1 - (int)s_com));\n            s_com = combuf + 1;\n          }\n          cVar14 = *buf_ptr;\n          pcVar13 = e_com + 1;\n          buf_ptr = buf_ptr + 1;\n          *e_com = cVar14;\n          e_com = pcVar13;\n          cVar14 = *buf_ptr;\n        } while ((cVar14 != '*') && (buf_ptr < buf_end));\n        if (buf_end < buf_ptr) {\n          buf_ptr = buf_end;\n          cVar14 = *buf_end;\n        }\n        if (settings.fix_nested_comments == 0) {\nLAB_00014e50:\n          if (cVar14 == '*') {\nLAB_00014e59:\n            if (buf_ptr[1] == '/') {\n              if (buf_ptr == buf_end) {\n                fill_buffer();\n              }\n              buf_ptr = buf_ptr + 2;\n              if (buf_ptr == buf_end) {\n                fill_buffer();\n              }\n              pcVar13 = e_com + 1;\n              *e_com = '*';\n              e_com = pcVar13;\n              pcVar13 = e_com + 1;\n              *e_com = '/';\n              e_com = pcVar13;\n              *e_com = '\0';\n              ppVar6 = parser_state_tos;\n              parser_state_tos->tos = parser_state_tos->tos + -1;\n              iVar9 = 1;\n              if (local_68 == 1) {\n                iVar9 = iVar8;\n              }\n              ppVar6->com_col = iVar9;\n              return;\n            }\n            cVar14 = '*';\n          }\n        }\n        else if (cVar14 == '*') {\n          if (buf_ptr[-1] == '/') {\n            e_com[-1] = ' ';\n            *e_com = '*';\n            cVar14 = *buf_ptr;\n            goto LAB_00014e50;\n          }\n          goto LAB_00014e59;\n        }\n        if (buf_ptr == buf_end) {\n          if (buf_ptr[-1] == '\n') {\n            pcVar13 = e_com + -1;\n            e_com = e_com + -1;\n            *pcVar13 = '\0';\n            dump_line(1,paren_targ,pbreak_line);\n            local_68 = local_68 + 1;\n            parser_state_tos->com_col = 1;\n          }\n          fill_buffer();\n          if (had_eof != '\0') {\n            pcVar13 = e_com + 1;\n            *e_com = '\0';\n            e_com = pcVar13;\n            ppVar6 = parser_state_tos;\n            parser_state_tos->tos = parser_state_tos->tos + -1;\n            ppVar6->com_col = iVar8;\n            return;\n          }\n          cVar14 = *buf_ptr;\n        }\n      } while( true );\n    }\n    bVar5 = true;\n    cVar14 = '*';\n    local_5c = 0x13;\n    local_84 = settings.star_comment_cont;\n    local_28 = settings.comment_delimiter_on_blankline;\n    local_48 = 0;\n    local_4c = (undefined *)0x0;\n    bVar15 = settings.comment_delimiter_on_blankline != 0;\n  }\n  local_60 = settings.comment_max_col;\n  iVar9 = current_column();\n  pcVar17 = s_lab;\n  pcVar13 = s_code;\n  if ((s_lab == e_lab) && (s_code == e_code)) {\n    if ((parser_state_tos->col_1 == 0) || (settings.format_col1_comments != 0)) {\n      local_74 = settings.format_comments;\n      if ((parser_state_tos->ind_level < 1) &&\n         ((parser_state_tos->in_stmt == 0 ||\n          ((parser_state_tos->in_decl != '\0' && (parser_state_tos->paren_level == 0)))))) {\n        bVar4 = true;\n        local_80 = iVar9;\n        local_70 = iVar9 + -2;\n      }\n      else {\n        local_70 = compute_code_target(*paren_targ);\n        local_70 = local_70 - settings.unindent_displace;\n        if (local_70 < 0) {\n          local_80 = 3;\n          bVar4 = true;\n          local_70 = 1;\n        }\n        else {\n          bVar4 = true;\n          local_80 = local_70 + 2;\n        }\n      }\n    }\n    else {\n      local_80 = 3;\n      bVar4 = true;\n      local_70 = 1;\n      local_74 = 0;\n    }\n  }\n  else {\n    if (parser_state_tos->decl_on_line == 0) {\n      if (else_or_endif == 0) {\n        local_70 = settings.com_ind;\n      }\n      else {\n        local_70 = settings.else_endif_col;\n      }\n    }\n    else {\n      local_70 = settings.decl_com_ind;\n    }\n    if (s_code == e_code) {\n      iVar10 = compute_label_target();\n    }\n    else {\n      iVar10 = compute_code_target(*paren_targ);\n      pcVar17 = pcVar13;\n    }\n    iVar10 = count_columns(iVar10,pcVar17,0);\n    if (local_70 <= iVar10) {\n      if (else_or_endif == 0 && settings.dont_tab_align_comments == 0) {\n        local_70 = (settings.tabsize - (iVar10 + -1) % settings.tabsize) + iVar10;\n      }\n      else {\n        local_70 = iVar10 + 1;\n        else_or_endif = 0;\n      }\n    }\n    bVar4 = false;\n    bVar15 = false;\n    local_74 = settings.format_comments;\n    local_80 = local_70 + 2;\n  }\n  ppVar6 = parser_state_tos;\n  if (local_4c == (undefined *)0x0) {\n    if (local_84 == 0) {\n      local_4c = &DAT_00021226;\n      bVar5 = true;\n      local_48 = 3;\n    }\n    else {\n      local_4c = &DAT_00021222;\n      bVar5 = false;\n      local_48 = 3;\n    }\n  }\n  parser_state_tos->box_com = 0;\n  ppVar6->com_col = local_70;\n  pcVar13 = e_com + 1;\n  *e_com = '/';\n  e_com = pcVar13;\n  pcVar13 = e_com + 1;\n  *e_com = cVar14;\n  e_com = pcVar13;\n  pcVar13 = buf_ptr;\n  if (bVar15) {\n    *e_com = '\0';\n    dump_line(1,paren_targ,pbreak_line);\n    pcVar13 = skip_horiz_space(pcVar13);\n    if (*pcVar13 == '\n') {\n      pcVar13 = pcVar13 + 1;\n    }\n    else if (local_74 == 0) {\n      pcVar13 = buf_ptr;\n    }\n    buf_ptr = pcVar13;\n    if (buf_end <= buf_ptr) {\n      fill_buffer();\n    }\n    local_78 = (char *)0x0;\n    local_40 = 0;\n    local_54 = 0;\n    goto LAB_0001543c;\n  }\n  if (local_74 == 0) {\n    local_40 = 0;\n    local_54 = 0;\n    local_78 = (char *)0x0;\n  }\n  else {\n    pcVar13 = e_com + 1;\n    *e_com = ' ';\n    e_com = pcVar13;\n    local_80 = local_70 + 3;\n    skip_buffered_space();\n    local_78 = (char *)0x0;\n    local_40 = 0;\n    local_54 = 0;\n  }\n  while (had_eof == '\0') {\n    local_64 = (char *)0x0;\nLAB_00015228:\n    pcVar7 = local_78;\n    pcVar17 = s_com;\n    pcVar13 = l_com;\n    if (l_com + -1 <= e_com) {\n      combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x191 - (int)s_com)));\n      e_com = combuf + (int)(e_com + (1 - (int)s_com));\n      l_com = combuf + (int)(pcVar13 + (0x18c - (int)pcVar17));\n      s_com = combuf + 1;\n      cVar14 = *buf_ptr;\n      cVar3 = cVar14 + -10;\n      bVar15 = cVar3 == '\0';\n      if (!bVar15) goto LAB_0001524d;\nLAB_0001531c:\n      if (local_5c == 0x14) goto LAB_00015c4a;\n      if (local_74 == 0) {\n        local_78 = (char *)0x0;\n        bVar15 = false;\n        bVar16 = (bool)(pcVar7 == (char *)0x0 & bVar5);\n        goto LAB_00015630;\n      }\n      buf_ptr = buf_ptr + 1;\n      line_no = line_no + 1;\n      if (buf_end <= buf_ptr) {\n        fill_buffer();\n      }\n      if ((local_78 < local_64) && (local_64 < e_com)) {\n        e_com = local_64;\n      }\n      skip_buffered_space();\n      if (*buf_ptr == '\n') {\n        local_78 = (char *)0x0;\n        bVar15 = true;\n        bVar16 = (bool)(pcVar7 == (char *)0x0 & bVar5);\n        goto LAB_00015630;\n      }\n      if (local_78 == (char *)0x0) {\n        bVar15 = true;\n        bVar16 = bVar5;\n        goto LAB_00015630;\n      }\n      if ((((local_54 == 0) && (iVar10 = current_column(), iVar10 == iVar9 + -1)) &&\n          (*buf_ptr == '*')) && (buf_ptr[1] != '/')) {\n        buf_ptr = buf_ptr + 1;\n        if (buf_end <= buf_ptr) {\n          fill_buffer();\n        }\n        if ((*buf_ptr == ' ') && (buf_ptr = buf_ptr + 1, buf_end <= buf_ptr)) {\n          fill_buffer();\n        }\n      }\n      pcVar13 = e_com;\n      if (e_com[-1] != ' ') {\n        local_80 = local_80 + 1;\n        pcVar17 = e_com + 1;\n        *e_com = ' ';\n        e_com = pcVar17;\n        local_64 = pcVar13;\n      }\n      goto LAB_0001521b;\n    }\n    cVar14 = *buf_ptr;\n    cVar3 = cVar14 + -10;\n    bVar15 = cVar14 == '\n';\n    if (bVar15) goto LAB_0001531c;\nLAB_0001524d:\n    pcVar13 = e_com;\n    if (!bVar15 && SBORROW1(cVar14,'\n') == cVar3 < '\0') {\n      if (cVar14 == ' ') goto LAB_0001525c;\n      if ((cVar14 != '*') || (local_5c != 0x13)) {\nLAB_000151b8:\n        local_80 = local_80 + 1;\n        pcVar17 = e_com + 1;\n        *e_com = *buf_ptr;\n        e_com = pcVar17;\n        bVar15 = local_74 != 0;\n        local_78 = pcVar13;\n        goto LAB_000151d8;\n      }\n      if (buf_ptr[1] == '/') {\n        if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            if ((s_com == e_com) || (*s_com != '/')) {\n              e_com = s_com + 1;\n              *s_com = ' ';\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar4)) {\n            *e_com = '\0';\n            dump_line(1,paren_targ,pbreak_line);\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n            goto LAB_00015cc8;\n          }\n          if ((e_com[-1] != ' ') && (e_com[-1] != '\t')) {\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n          }\n        }\nLAB_00015cc8:\n        pcVar17 = s_com;\n        pcVar13 = l_com;\n        if (l_com + -3 <= e_com) {\n          combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x193 - (int)s_com)));\n          e_com = combuf + (int)(e_com + (1 - (int)s_com));\n          l_com = combuf + (int)(pcVar13 + (0x18e - (int)pcVar17));\n          s_com = combuf + 1;\n        }\n        pcVar13 = e_com + 1;\n        *e_com = '*';\n        e_com = pcVar13;\n        pcVar13 = e_com + 1;\n        *e_com = '/';\n        e_com = pcVar13;\n        *e_com = '\0';\n        buf_ptr = buf_ptr + 2;\n        buf_ptr = skip_horiz_space(buf_ptr);\n        if (buf_end <= buf_ptr) {\n          fill_buffer();\n        }\n        ppVar6 = parser_state_tos;\n        parser_state_tos->com_col = local_70;\n        piVar1 = &ppVar6->tos;\n        *piVar1 = *piVar1 + -1;\n        ppVar6->box_com = local_54;\n        return;\n      }\n      if ((com_lines + -1 != iVar8) || (e_com != s_com + local_48)) goto LAB_000151b8;\n      *s_com = ' ';\n      local_80 = (local_80 - local_48) + 2;\n      local_48 = 1;\n      local_4c = &DAT_00021228;\n      s_com[1] = '*';\n      local_78 = s_com + 2;\n      local_28 = 0;\n      local_54 = 1;\n      e_com = local_78;\nLAB_00015589:\n      local_74 = 0;\nLAB_000151f8:\n      if (*buf_ptr == '\n') {\n        line_no = line_no + 1;\n      }\n      buf_ptr = buf_ptr + 1;\n      if (buf_ptr == buf_end) {\n        fill_buffer();\n      }\nLAB_0001521b:\n      if (had_eof != '\0') goto LAB_000159db;\n      goto LAB_00015228;\n    }\n    if (cVar14 != '\t') goto LAB_000151b8;\nLAB_0001525c:\n    if (((local_74 == 0) || (pcVar13 = e_com, local_78 <= local_64)) &&\n       (pcVar13 = local_64, local_74 == 0)) {\n      if (cVar14 == ' ') {\n        local_80 = local_80 + 1;\n        pcVar13 = e_com + 1;\n        *e_com = ' ';\n        e_com = pcVar13;\n      }\n      else {\n        iVar10 = settings.tabsize - (((iVar9 + -2 + local_80) - local_70) + -1) % settings.tabsize;\n        local_80 = local_80 + iVar10;\n        if (l_com + -iVar10 <= e_com) {\n          pcVar13 = l_com + ((iVar10 + 400) - (int)s_com);\n          combuf = (char *)xrealloc(combuf,(uint)pcVar13);\n          e_com = combuf + (int)(e_com + (1 - (int)s_com));\n          l_com = combuf + (int)(pcVar13 + -5);\n          s_com = combuf + 1;\n        }\n        if (iVar10 == 0) goto LAB_00015589;\n        iVar11 = iVar10 + -2;\n        pcVar13 = e_com + 1;\n        *e_com = ' ';\n        e_com = pcVar13;\n        if (iVar10 != 1) {\n          do {\n            iVar11 = iVar11 + -1;\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n          } while (iVar11 != -1);\n        }\n      }\n      goto LAB_000151f8;\n    }\n    local_64 = pcVar13;\n    if (((s_com == e_com) || (e_com[-1] != ' ')) ||\n       ((s_com == e_com + -1 || (bVar15 = true, e_com[-2] == '.')))) {\n      local_80 = local_80 + 1;\n      bVar15 = true;\n      pcVar13 = e_com + 1;\n      *e_com = ' ';\n      e_com = pcVar13;\n    }\nLAB_000151d8:\n    if ((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar15)) goto LAB_000151f8;\n    if (local_64 < e_com + -1) {\n      *local_64 = '\0';\n      pcVar13 = e_com;\n      e_com = local_64;\n      local_40 = (int)pcVar13 - (int)(local_64 + 1);\n      iVar10 = local_80 - local_40;\n      if ((int)(local_80 - local_40) <= local_60) {\n        iVar10 = local_60;\n      }\n      bVar16 = local_78 == (char *)0x0;\n      bVar15 = false;\n      local_78 = local_64 + 1;\n      local_60 = iVar10;\n      bVar16 = (bool)(bVar16 & bVar5);\n      goto LAB_00015630;\n    }\n    if (local_5c == 0x14) {\n      pcVar13 = skip_horiz_space(buf_ptr);\n      buf_ptr = pcVar13 + -1;\n      if (pcVar13[-1] == '\n') {\nLAB_00015c4a:\n        ppVar6 = parser_state_tos;\n        pcVar13 = e_com;\n        parser_state_tos->com_col = local_70;\n        piVar1 = &ppVar6->tos;\n        *piVar1 = *piVar1 + -1;\n        ppVar6->box_com = local_54;\n        *pcVar13 = '\0';\n        return;\n      }\n    }\n    else {\n      while ((pcVar13 = buf_ptr, cVar14 = *pcVar13, (byte)(cVar14 - 9U) < 2 || (cVar14 == ' '))) {\n        if (cVar14 == '\n') {\n          line_no = line_no + 1;\n        }\n        buf_ptr = pcVar13 + 1;\n        if (buf_end <= pcVar13 + 1) {\n          buf_ptr = pcVar13 + 1;\n          fill_buffer();\n        }\n      }\n      buf_ptr = pcVar13 + -1;\n    }\n    *e_com = '\0';\nLAB_000159db:\n    pcVar13 = local_78;\n    local_78 = (char *)0x0;\n    bVar15 = false;\n    bVar16 = (bool)(pcVar13 == (char *)0x0 & bVar5);\nLAB_00015630:\n    if ((bVar16) && (com_lines != iVar8)) {\n      e_com = s_com;\n    }\n    *e_com = '\0';\n    dump_line(1,paren_targ,pbreak_line);\n    prefix_blankline_requested = 0;\n    if (!bVar15) {\n      if (*buf_ptr == '\n') {\n        line_no = line_no + 1;\n      }\n      buf_ptr = buf_ptr + 1;\n      if (buf_end <= buf_ptr) {\n        fill_buffer();\n      }\n    }\nLAB_0001543c:\n    if (had_eof != '\0') break;\n    local_80 = local_70;\n    if (local_48 != 0) {\n      if (l_com + -local_48 <= e_com) {\n        pcVar13 = l_com + ((local_48 + 400) - (int)s_com);\n        combuf = (char *)xrealloc(combuf,(uint)pcVar13);\n        e_com = combuf + (int)(e_com + (1 - (int)s_com));\n        l_com = combuf + (int)(pcVar13 + -5);\n        s_com = combuf + 1;\n      }\n      pcVar13 = e_com;\n      if (local_48 != 0) {\n        uVar12 = 0;\n        do {\n          pcVar13[uVar12] = local_4c[uVar12];\n          uVar12 = uVar12 + 1;\n        } while (uVar12 < local_48);\n      }\n      e_com = e_com + local_48;\n      local_80 = local_70 + local_48;\n    }\n    if (local_78 == (char *)0x0) {\n      skip_buffered_space();\n    }\n    else {\n      if ((*local_78 == ' ') || (*local_78 == '\t')) {\n        if (local_40 == 0) {\n          iVar10 = 0;\n          local_84 = 0;\n        }\n        else {\n          do {\n            local_78 = local_78 + 1;\n            local_40 = local_40 - 1;\n            if ((*local_78 != ' ') && (*local_78 != '\t')) {\n              local_80 = local_80 + local_40;\n              iVar10 = -local_40;\n              local_84 = local_40;\n              goto LAB_000158f3;\n            }\n          } while (local_40 != 0);\n          iVar10 = 0;\n          local_84 = 0;\n        }\n      }\n      else {\n        local_80 = local_80 + local_40;\n        local_84 = local_40;\n        iVar10 = -local_40;\n      }\nLAB_000158f3:\n      if (l_com + iVar10 <= e_com) {\n        pcVar13 = l_com + ((local_40 + 400) - (int)s_com);\n        combuf = (char *)xrealloc(combuf,(uint)pcVar13);\n        l_com = combuf + (int)(pcVar13 + -5);\n        e_com = combuf + (int)(e_com + (1 - (int)s_com));\n        s_com = combuf + 1;\n      }\n      memmove(e_com,local_78,local_84);\n      local_78 = e_com;\n      e_com = e_com + local_84;\n      local_40 = 0;\n    }\n  }\n  ppVar6 = parser_state_tos;\n  parser_state_tos->com_col = local_70;\n  piVar1 = &ppVar6->tos;\n  *piVar1 = *piVar1 + -1;\n  ppVar6->box_com = local_54;\n  return;\n}" primitive_type (function_declarator "print_comment(int *paren_targ,BOOLEAN *pbreak_line)" identifier (parameter_list "(int *paren_targ,BOOLEAN *pbreak_line)" ( (parameter_declaration "int *paren_targ" primitive_type (pointer_declarator "*paren_targ" * identifier)) , (parameter_declaration "BOOLEAN *pbreak_line" type_identifier (pointer_declarator "*pbreak_line" * identifier)) ))) (compound_statement "{\n  int *piVar1;\n  byte bVar2;\n  char cVar3;\n  bool bVar4;\n  bool bVar5;\n  parser_state_ty *ppVar6;\n  char *pcVar7;\n  int iVar8;\n  int iVar9;\n  int iVar10;\n  int iVar11;\n  uint uVar12;\n  char *pcVar13;\n  char cVar14;\n  bool bVar15;\n  bool bVar16;\n  char *pcVar17;\n  size_t local_84;\n  int local_80;\n  char *local_78;\n  int local_74;\n  int local_70;\n  int local_68;\n  char *local_64;\n  int local_60;\n  int local_5c;\n  int local_54;\n  undefined *local_4c;\n  uint local_48;\n  size_t local_40;\n  int local_28;\n  \n  inc_pstack();\n  iVar8 = com_lines;\n  if (token[1] == '/') {\n    local_4c = &DAT_0002121e;\n    bVar5 = false;\n    bVar15 = false;\n    local_5c = 0x14;\n    local_48 = 3;\n    local_28 = 0;\n    local_84 = 0;\n    cVar14 = '/';\n  }\n  else {\n    bVar2 = *buf_ptr;\n    if (((bVar2 == 0x2a || bVar2 == 0x5f) || ((bVar2 & 0xef) == 0x2d)) ||\n       ((parser_state_tos->col_1 != 0 && (settings.format_col1_comments == 0)))) {\n      if ((buf_ptr < save_com.ptr) ||\n         (iVar8 = save_com.start_column, save_com.ptr + save_com.len < buf_ptr)) {\n        iVar8 = current_column();\n        iVar8 = iVar8 + -2;\n      }\n      ppVar6 = parser_state_tos;\n      parser_state_tos->com_col = iVar8;\n      ppVar6->box_com = 1;\n      if (settings.blanklines_before_blockcomments != 0) {\n        prefix_blankline_requested = 1;\n      }\n      local_68 = 1;\n      pcVar13 = e_com + 1;\n      *e_com = '/';\n      e_com = pcVar13;\n      pcVar13 = e_com + 1;\n      *e_com = '*';\n      e_com = pcVar13;\n      cVar14 = *buf_ptr;\n      do {\n        do {\n          pcVar17 = s_com;\n          pcVar13 = l_com;\n          if (cVar14 == '\n') {\n            line_no = line_no + 1;\n          }\n          if (l_com + -1 <= e_com) {\n            combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x191 - (int)s_com)));\n            l_com = combuf + (int)(pcVar13 + (0x18c - (int)pcVar17));\n            e_com = combuf + (int)(e_com + (1 - (int)s_com));\n            s_com = combuf + 1;\n          }\n          cVar14 = *buf_ptr;\n          pcVar13 = e_com + 1;\n          buf_ptr = buf_ptr + 1;\n          *e_com = cVar14;\n          e_com = pcVar13;\n          cVar14 = *buf_ptr;\n        } while ((cVar14 != '*') && (buf_ptr < buf_end));\n        if (buf_end < buf_ptr) {\n          buf_ptr = buf_end;\n          cVar14 = *buf_end;\n        }\n        if (settings.fix_nested_comments == 0) {\nLAB_00014e50:\n          if (cVar14 == '*') {\nLAB_00014e59:\n            if (buf_ptr[1] == '/') {\n              if (buf_ptr == buf_end) {\n                fill_buffer();\n              }\n              buf_ptr = buf_ptr + 2;\n              if (buf_ptr == buf_end) {\n                fill_buffer();\n              }\n              pcVar13 = e_com + 1;\n              *e_com = '*';\n              e_com = pcVar13;\n              pcVar13 = e_com + 1;\n              *e_com = '/';\n              e_com = pcVar13;\n              *e_com = '\0';\n              ppVar6 = parser_state_tos;\n              parser_state_tos->tos = parser_state_tos->tos + -1;\n              iVar9 = 1;\n              if (local_68 == 1) {\n                iVar9 = iVar8;\n              }\n              ppVar6->com_col = iVar9;\n              return;\n            }\n            cVar14 = '*';\n          }\n        }\n        else if (cVar14 == '*') {\n          if (buf_ptr[-1] == '/') {\n            e_com[-1] = ' ';\n            *e_com = '*';\n            cVar14 = *buf_ptr;\n            goto LAB_00014e50;\n          }\n          goto LAB_00014e59;\n        }\n        if (buf_ptr == buf_end) {\n          if (buf_ptr[-1] == '\n') {\n            pcVar13 = e_com + -1;\n            e_com = e_com + -1;\n            *pcVar13 = '\0';\n            dump_line(1,paren_targ,pbreak_line);\n            local_68 = local_68 + 1;\n            parser_state_tos->com_col = 1;\n          }\n          fill_buffer();\n          if (had_eof != '\0') {\n            pcVar13 = e_com + 1;\n            *e_com = '\0';\n            e_com = pcVar13;\n            ppVar6 = parser_state_tos;\n            parser_state_tos->tos = parser_state_tos->tos + -1;\n            ppVar6->com_col = iVar8;\n            return;\n          }\n          cVar14 = *buf_ptr;\n        }\n      } while( true );\n    }\n    bVar5 = true;\n    cVar14 = '*';\n    local_5c = 0x13;\n    local_84 = settings.star_comment_cont;\n    local_28 = settings.comment_delimiter_on_blankline;\n    local_48 = 0;\n    local_4c = (undefined *)0x0;\n    bVar15 = settings.comment_delimiter_on_blankline != 0;\n  }\n  local_60 = settings.comment_max_col;\n  iVar9 = current_column();\n  pcVar17 = s_lab;\n  pcVar13 = s_code;\n  if ((s_lab == e_lab) && (s_code == e_code)) {\n    if ((parser_state_tos->col_1 == 0) || (settings.format_col1_comments != 0)) {\n      local_74 = settings.format_comments;\n      if ((parser_state_tos->ind_level < 1) &&\n         ((parser_state_tos->in_stmt == 0 ||\n          ((parser_state_tos->in_decl != '\0' && (parser_state_tos->paren_level == 0)))))) {\n        bVar4 = true;\n        local_80 = iVar9;\n        local_70 = iVar9 + -2;\n      }\n      else {\n        local_70 = compute_code_target(*paren_targ);\n        local_70 = local_70 - settings.unindent_displace;\n        if (local_70 < 0) {\n          local_80 = 3;\n          bVar4 = true;\n          local_70 = 1;\n        }\n        else {\n          bVar4 = true;\n          local_80 = local_70 + 2;\n        }\n      }\n    }\n    else {\n      local_80 = 3;\n      bVar4 = true;\n      local_70 = 1;\n      local_74 = 0;\n    }\n  }\n  else {\n    if (parser_state_tos->decl_on_line == 0) {\n      if (else_or_endif == 0) {\n        local_70 = settings.com_ind;\n      }\n      else {\n        local_70 = settings.else_endif_col;\n      }\n    }\n    else {\n      local_70 = settings.decl_com_ind;\n    }\n    if (s_code == e_code) {\n      iVar10 = compute_label_target();\n    }\n    else {\n      iVar10 = compute_code_target(*paren_targ);\n      pcVar17 = pcVar13;\n    }\n    iVar10 = count_columns(iVar10,pcVar17,0);\n    if (local_70 <= iVar10) {\n      if (else_or_endif == 0 && settings.dont_tab_align_comments == 0) {\n        local_70 = (settings.tabsize - (iVar10 + -1) % settings.tabsize) + iVar10;\n      }\n      else {\n        local_70 = iVar10 + 1;\n        else_or_endif = 0;\n      }\n    }\n    bVar4 = false;\n    bVar15 = false;\n    local_74 = settings.format_comments;\n    local_80 = local_70 + 2;\n  }\n  ppVar6 = parser_state_tos;\n  if (local_4c == (undefined *)0x0) {\n    if (local_84 == 0) {\n      local_4c = &DAT_00021226;\n      bVar5 = true;\n      local_48 = 3;\n    }\n    else {\n      local_4c = &DAT_00021222;\n      bVar5 = false;\n      local_48 = 3;\n    }\n  }\n  parser_state_tos->box_com = 0;\n  ppVar6->com_col = local_70;\n  pcVar13 = e_com + 1;\n  *e_com = '/';\n  e_com = pcVar13;\n  pcVar13 = e_com + 1;\n  *e_com = cVar14;\n  e_com = pcVar13;\n  pcVar13 = buf_ptr;\n  if (bVar15) {\n    *e_com = '\0';\n    dump_line(1,paren_targ,pbreak_line);\n    pcVar13 = skip_horiz_space(pcVar13);\n    if (*pcVar13 == '\n') {\n      pcVar13 = pcVar13 + 1;\n    }\n    else if (local_74 == 0) {\n      pcVar13 = buf_ptr;\n    }\n    buf_ptr = pcVar13;\n    if (buf_end <= buf_ptr) {\n      fill_buffer();\n    }\n    local_78 = (char *)0x0;\n    local_40 = 0;\n    local_54 = 0;\n    goto LAB_0001543c;\n  }\n  if (local_74 == 0) {\n    local_40 = 0;\n    local_54 = 0;\n    local_78 = (char *)0x0;\n  }\n  else {\n    pcVar13 = e_com + 1;\n    *e_com = ' ';\n    e_com = pcVar13;\n    local_80 = local_70 + 3;\n    skip_buffered_space();\n    local_78 = (char *)0x0;\n    local_40 = 0;\n    local_54 = 0;\n  }\n  while (had_eof == '\0') {\n    local_64 = (char *)0x0;\nLAB_00015228:\n    pcVar7 = local_78;\n    pcVar17 = s_com;\n    pcVar13 = l_com;\n    if (l_com + -1 <= e_com) {\n      combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x191 - (int)s_com)));\n      e_com = combuf + (int)(e_com + (1 - (int)s_com));\n      l_com = combuf + (int)(pcVar13 + (0x18c - (int)pcVar17));\n      s_com = combuf + 1;\n      cVar14 = *buf_ptr;\n      cVar3 = cVar14 + -10;\n      bVar15 = cVar3 == '\0';\n      if (!bVar15) goto LAB_0001524d;\nLAB_0001531c:\n      if (local_5c == 0x14) goto LAB_00015c4a;\n      if (local_74 == 0) {\n        local_78 = (char *)0x0;\n        bVar15 = false;\n        bVar16 = (bool)(pcVar7 == (char *)0x0 & bVar5);\n        goto LAB_00015630;\n      }\n      buf_ptr = buf_ptr + 1;\n      line_no = line_no + 1;\n      if (buf_end <= buf_ptr) {\n        fill_buffer();\n      }\n      if ((local_78 < local_64) && (local_64 < e_com)) {\n        e_com = local_64;\n      }\n      skip_buffered_space();\n      if (*buf_ptr == '\n') {\n        local_78 = (char *)0x0;\n        bVar15 = true;\n        bVar16 = (bool)(pcVar7 == (char *)0x0 & bVar5);\n        goto LAB_00015630;\n      }\n      if (local_78 == (char *)0x0) {\n        bVar15 = true;\n        bVar16 = bVar5;\n        goto LAB_00015630;\n      }\n      if ((((local_54 == 0) && (iVar10 = current_column(), iVar10 == iVar9 + -1)) &&\n          (*buf_ptr == '*')) && (buf_ptr[1] != '/')) {\n        buf_ptr = buf_ptr + 1;\n        if (buf_end <= buf_ptr) {\n          fill_buffer();\n        }\n        if ((*buf_ptr == ' ') && (buf_ptr = buf_ptr + 1, buf_end <= buf_ptr)) {\n          fill_buffer();\n        }\n      }\n      pcVar13 = e_com;\n      if (e_com[-1] != ' ') {\n        local_80 = local_80 + 1;\n        pcVar17 = e_com + 1;\n        *e_com = ' ';\n        e_com = pcVar17;\n        local_64 = pcVar13;\n      }\n      goto LAB_0001521b;\n    }\n    cVar14 = *buf_ptr;\n    cVar3 = cVar14 + -10;\n    bVar15 = cVar14 == '\n';\n    if (bVar15) goto LAB_0001531c;\nLAB_0001524d:\n    pcVar13 = e_com;\n    if (!bVar15 && SBORROW1(cVar14,'\n') == cVar3 < '\0') {\n      if (cVar14 == ' ') goto LAB_0001525c;\n      if ((cVar14 != '*') || (local_5c != 0x13)) {\nLAB_000151b8:\n        local_80 = local_80 + 1;\n        pcVar17 = e_com + 1;\n        *e_com = *buf_ptr;\n        e_com = pcVar17;\n        bVar15 = local_74 != 0;\n        local_78 = pcVar13;\n        goto LAB_000151d8;\n      }\n      if (buf_ptr[1] == '/') {\n        if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            if ((s_com == e_com) || (*s_com != '/')) {\n              e_com = s_com + 1;\n              *s_com = ' ';\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar4)) {\n            *e_com = '\0';\n            dump_line(1,paren_targ,pbreak_line);\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n            goto LAB_00015cc8;\n          }\n          if ((e_com[-1] != ' ') && (e_com[-1] != '\t')) {\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n          }\n        }\nLAB_00015cc8:\n        pcVar17 = s_com;\n        pcVar13 = l_com;\n        if (l_com + -3 <= e_com) {\n          combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x193 - (int)s_com)));\n          e_com = combuf + (int)(e_com + (1 - (int)s_com));\n          l_com = combuf + (int)(pcVar13 + (0x18e - (int)pcVar17));\n          s_com = combuf + 1;\n        }\n        pcVar13 = e_com + 1;\n        *e_com = '*';\n        e_com = pcVar13;\n        pcVar13 = e_com + 1;\n        *e_com = '/';\n        e_com = pcVar13;\n        *e_com = '\0';\n        buf_ptr = buf_ptr + 2;\n        buf_ptr = skip_horiz_space(buf_ptr);\n        if (buf_end <= buf_ptr) {\n          fill_buffer();\n        }\n        ppVar6 = parser_state_tos;\n        parser_state_tos->com_col = local_70;\n        piVar1 = &ppVar6->tos;\n        *piVar1 = *piVar1 + -1;\n        ppVar6->box_com = local_54;\n        return;\n      }\n      if ((com_lines + -1 != iVar8) || (e_com != s_com + local_48)) goto LAB_000151b8;\n      *s_com = ' ';\n      local_80 = (local_80 - local_48) + 2;\n      local_48 = 1;\n      local_4c = &DAT_00021228;\n      s_com[1] = '*';\n      local_78 = s_com + 2;\n      local_28 = 0;\n      local_54 = 1;\n      e_com = local_78;\nLAB_00015589:\n      local_74 = 0;\nLAB_000151f8:\n      if (*buf_ptr == '\n') {\n        line_no = line_no + 1;\n      }\n      buf_ptr = buf_ptr + 1;\n      if (buf_ptr == buf_end) {\n        fill_buffer();\n      }\nLAB_0001521b:\n      if (had_eof != '\0') goto LAB_000159db;\n      goto LAB_00015228;\n    }\n    if (cVar14 != '\t') goto LAB_000151b8;\nLAB_0001525c:\n    if (((local_74 == 0) || (pcVar13 = e_com, local_78 <= local_64)) &&\n       (pcVar13 = local_64, local_74 == 0)) {\n      if (cVar14 == ' ') {\n        local_80 = local_80 + 1;\n        pcVar13 = e_com + 1;\n        *e_com = ' ';\n        e_com = pcVar13;\n      }\n      else {\n        iVar10 = settings.tabsize - (((iVar9 + -2 + local_80) - local_70) + -1) % settings.tabsize;\n        local_80 = local_80 + iVar10;\n        if (l_com + -iVar10 <= e_com) {\n          pcVar13 = l_com + ((iVar10 + 400) - (int)s_com);\n          combuf = (char *)xrealloc(combuf,(uint)pcVar13);\n          e_com = combuf + (int)(e_com + (1 - (int)s_com));\n          l_com = combuf + (int)(pcVar13 + -5);\n          s_com = combuf + 1;\n        }\n        if (iVar10 == 0) goto LAB_00015589;\n        iVar11 = iVar10 + -2;\n        pcVar13 = e_com + 1;\n        *e_com = ' ';\n        e_com = pcVar13;\n        if (iVar10 != 1) {\n          do {\n            iVar11 = iVar11 + -1;\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n          } while (iVar11 != -1);\n        }\n      }\n      goto LAB_000151f8;\n    }\n    local_64 = pcVar13;\n    if (((s_com == e_com) || (e_com[-1] != ' ')) ||\n       ((s_com == e_com + -1 || (bVar15 = true, e_com[-2] == '.')))) {\n      local_80 = local_80 + 1;\n      bVar15 = true;\n      pcVar13 = e_com + 1;\n      *e_com = ' ';\n      e_com = pcVar13;\n    }\nLAB_000151d8:\n    if ((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar15)) goto LAB_000151f8;\n    if (local_64 < e_com + -1) {\n      *local_64 = '\0';\n      pcVar13 = e_com;\n      e_com = local_64;\n      local_40 = (int)pcVar13 - (int)(local_64 + 1);\n      iVar10 = local_80 - local_40;\n      if ((int)(local_80 - local_40) <= local_60) {\n        iVar10 = local_60;\n      }\n      bVar16 = local_78 == (char *)0x0;\n      bVar15 = false;\n      local_78 = local_64 + 1;\n      local_60 = iVar10;\n      bVar16 = (bool)(bVar16 & bVar5);\n      goto LAB_00015630;\n    }\n    if (local_5c == 0x14) {\n      pcVar13 = skip_horiz_space(buf_ptr);\n      buf_ptr = pcVar13 + -1;\n      if (pcVar13[-1] == '\n') {\nLAB_00015c4a:\n        ppVar6 = parser_state_tos;\n        pcVar13 = e_com;\n        parser_state_tos->com_col = local_70;\n        piVar1 = &ppVar6->tos;\n        *piVar1 = *piVar1 + -1;\n        ppVar6->box_com = local_54;\n        *pcVar13 = '\0';\n        return;\n      }\n    }\n    else {\n      while ((pcVar13 = buf_ptr, cVar14 = *pcVar13, (byte)(cVar14 - 9U) < 2 || (cVar14 == ' '))) {\n        if (cVar14 == '\n') {\n          line_no = line_no + 1;\n        }\n        buf_ptr = pcVar13 + 1;\n        if (buf_end <= pcVar13 + 1) {\n          buf_ptr = pcVar13 + 1;\n          fill_buffer();\n        }\n      }\n      buf_ptr = pcVar13 + -1;\n    }\n    *e_com = '\0';\nLAB_000159db:\n    pcVar13 = local_78;\n    local_78 = (char *)0x0;\n    bVar15 = false;\n    bVar16 = (bool)(pcVar13 == (char *)0x0 & bVar5);\nLAB_00015630:\n    if ((bVar16) && (com_lines != iVar8)) {\n      e_com = s_com;\n    }\n    *e_com = '\0';\n    dump_line(1,paren_targ,pbreak_line);\n    prefix_blankline_requested = 0;\n    if (!bVar15) {\n      if (*buf_ptr == '\n') {\n        line_no = line_no + 1;\n      }\n      buf_ptr = buf_ptr + 1;\n      if (buf_end <= buf_ptr) {\n        fill_buffer();\n      }\n    }\nLAB_0001543c:\n    if (had_eof != '\0') break;\n    local_80 = local_70;\n    if (local_48 != 0) {\n      if (l_com + -local_48 <= e_com) {\n        pcVar13 = l_com + ((local_48 + 400) - (int)s_com);\n        combuf = (char *)xrealloc(combuf,(uint)pcVar13);\n        e_com = combuf + (int)(e_com + (1 - (int)s_com));\n        l_com = combuf + (int)(pcVar13 + -5);\n        s_com = combuf + 1;\n      }\n      pcVar13 = e_com;\n      if (local_48 != 0) {\n        uVar12 = 0;\n        do {\n          pcVar13[uVar12] = local_4c[uVar12];\n          uVar12 = uVar12 + 1;\n        } while (uVar12 < local_48);\n      }\n      e_com = e_com + local_48;\n      local_80 = local_70 + local_48;\n    }\n    if (local_78 == (char *)0x0) {\n      skip_buffered_space();\n    }\n    else {\n      if ((*local_78 == ' ') || (*local_78 == '\t')) {\n        if (local_40 == 0) {\n          iVar10 = 0;\n          local_84 = 0;\n        }\n        else {\n          do {\n            local_78 = local_78 + 1;\n            local_40 = local_40 - 1;\n            if ((*local_78 != ' ') && (*local_78 != '\t')) {\n              local_80 = local_80 + local_40;\n              iVar10 = -local_40;\n              local_84 = local_40;\n              goto LAB_000158f3;\n            }\n          } while (local_40 != 0);\n          iVar10 = 0;\n          local_84 = 0;\n        }\n      }\n      else {\n        local_80 = local_80 + local_40;\n        local_84 = local_40;\n        iVar10 = -local_40;\n      }\nLAB_000158f3:\n      if (l_com + iVar10 <= e_com) {\n        pcVar13 = l_com + ((local_40 + 400) - (int)s_com);\n        combuf = (char *)xrealloc(combuf,(uint)pcVar13);\n        l_com = combuf + (int)(pcVar13 + -5);\n        e_com = combuf + (int)(e_com + (1 - (int)s_com));\n        s_com = combuf + 1;\n      }\n      memmove(e_com,local_78,local_84);\n      local_78 = e_com;\n      e_com = e_com + local_84;\n      local_40 = 0;\n    }\n  }\n  ppVar6 = parser_state_tos;\n  parser_state_tos->com_col = local_70;\n  piVar1 = &ppVar6->tos;\n  *piVar1 = *piVar1 + -1;\n  ppVar6->box_com = local_54;\n  return;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "byte bVar2;" type_identifier identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "bool bVar4;" primitive_type identifier ;) (declaration "bool bVar5;" primitive_type identifier ;) (declaration "parser_state_ty *ppVar6;" type_identifier (pointer_declarator "*ppVar6" * identifier) ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int iVar11;" primitive_type identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "char *pcVar13;" primitive_type (pointer_declarator "*pcVar13" * identifier) ;) (declaration "char cVar14;" primitive_type identifier ;) (declaration "bool bVar15;" primitive_type identifier ;) (declaration "bool bVar16;" primitive_type identifier ;) (declaration "char *pcVar17;" primitive_type (pointer_declarator "*pcVar17" * identifier) ;) (declaration "size_t local_84;" primitive_type identifier ;) (declaration "int local_80;" primitive_type identifier ;) (declaration "char *local_78;" primitive_type (pointer_declarator "*local_78" * identifier) ;) (declaration "int local_74;" primitive_type identifier ;) (declaration "int local_70;" primitive_type identifier ;) (declaration "int local_68;" primitive_type identifier ;) (declaration "char *local_64;" primitive_type (pointer_declarator "*local_64" * identifier) ;) (declaration "int local_60;" primitive_type identifier ;) (declaration "int local_5c;" primitive_type identifier ;) (declaration "int local_54;" primitive_type identifier ;) (declaration "undefined *local_4c;" type_identifier (pointer_declarator "*local_4c" * identifier) ;) (declaration "uint local_48;" type_identifier identifier ;) (declaration "size_t local_40;" primitive_type identifier ;) (declaration "int local_28;" primitive_type identifier ;) (expression_statement "inc_pstack();" (call_expression "inc_pstack()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar8 = com_lines;" (assignment_expression "iVar8 = com_lines" identifier = identifier) ;) (if_statement "if (token[1] == '/') {\n    local_4c = &DAT_0002121e;\n    bVar5 = false;\n    bVar15 = false;\n    local_5c = 0x14;\n    local_48 = 3;\n    local_28 = 0;\n    local_84 = 0;\n    cVar14 = '/';\n  }\n  else {\n    bVar2 = *buf_ptr;\n    if (((bVar2 == 0x2a || bVar2 == 0x5f) || ((bVar2 & 0xef) == 0x2d)) ||\n       ((parser_state_tos->col_1 != 0 && (settings.format_col1_comments == 0)))) {\n      if ((buf_ptr < save_com.ptr) ||\n         (iVar8 = save_com.start_column, save_com.ptr + save_com.len < buf_ptr)) {\n        iVar8 = current_column();\n        iVar8 = iVar8 + -2;\n      }\n      ppVar6 = parser_state_tos;\n      parser_state_tos->com_col = iVar8;\n      ppVar6->box_com = 1;\n      if (settings.blanklines_before_blockcomments != 0) {\n        prefix_blankline_requested = 1;\n      }\n      local_68 = 1;\n      pcVar13 = e_com + 1;\n      *e_com = '/';\n      e_com = pcVar13;\n      pcVar13 = e_com + 1;\n      *e_com = '*';\n      e_com = pcVar13;\n      cVar14 = *buf_ptr;\n      do {\n        do {\n          pcVar17 = s_com;\n          pcVar13 = l_com;\n          if (cVar14 == '\n') {\n            line_no = line_no + 1;\n          }\n          if (l_com + -1 <= e_com) {\n            combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x191 - (int)s_com)));\n            l_com = combuf + (int)(pcVar13 + (0x18c - (int)pcVar17));\n            e_com = combuf + (int)(e_com + (1 - (int)s_com));\n            s_com = combuf + 1;\n          }\n          cVar14 = *buf_ptr;\n          pcVar13 = e_com + 1;\n          buf_ptr = buf_ptr + 1;\n          *e_com = cVar14;\n          e_com = pcVar13;\n          cVar14 = *buf_ptr;\n        } while ((cVar14 != '*') && (buf_ptr < buf_end));\n        if (buf_end < buf_ptr) {\n          buf_ptr = buf_end;\n          cVar14 = *buf_end;\n        }\n        if (settings.fix_nested_comments == 0) {\nLAB_00014e50:\n          if (cVar14 == '*') {\nLAB_00014e59:\n            if (buf_ptr[1] == '/') {\n              if (buf_ptr == buf_end) {\n                fill_buffer();\n              }\n              buf_ptr = buf_ptr + 2;\n              if (buf_ptr == buf_end) {\n                fill_buffer();\n              }\n              pcVar13 = e_com + 1;\n              *e_com = '*';\n              e_com = pcVar13;\n              pcVar13 = e_com + 1;\n              *e_com = '/';\n              e_com = pcVar13;\n              *e_com = '\0';\n              ppVar6 = parser_state_tos;\n              parser_state_tos->tos = parser_state_tos->tos + -1;\n              iVar9 = 1;\n              if (local_68 == 1) {\n                iVar9 = iVar8;\n              }\n              ppVar6->com_col = iVar9;\n              return;\n            }\n            cVar14 = '*';\n          }\n        }\n        else if (cVar14 == '*') {\n          if (buf_ptr[-1] == '/') {\n            e_com[-1] = ' ';\n            *e_com = '*';\n            cVar14 = *buf_ptr;\n            goto LAB_00014e50;\n          }\n          goto LAB_00014e59;\n        }\n        if (buf_ptr == buf_end) {\n          if (buf_ptr[-1] == '\n') {\n            pcVar13 = e_com + -1;\n            e_com = e_com + -1;\n            *pcVar13 = '\0';\n            dump_line(1,paren_targ,pbreak_line);\n            local_68 = local_68 + 1;\n            parser_state_tos->com_col = 1;\n          }\n          fill_buffer();\n          if (had_eof != '\0') {\n            pcVar13 = e_com + 1;\n            *e_com = '\0';\n            e_com = pcVar13;\n            ppVar6 = parser_state_tos;\n            parser_state_tos->tos = parser_state_tos->tos + -1;\n            ppVar6->com_col = iVar8;\n            return;\n          }\n          cVar14 = *buf_ptr;\n        }\n      } while( true );\n    }\n    bVar5 = true;\n    cVar14 = '*';\n    local_5c = 0x13;\n    local_84 = settings.star_comment_cont;\n    local_28 = settings.comment_delimiter_on_blankline;\n    local_48 = 0;\n    local_4c = (undefined *)0x0;\n    bVar15 = settings.comment_delimiter_on_blankline != 0;\n  }" if (parenthesized_expression "(token[1] == '/')" ( (binary_expression "token[1] == '/'" (subscript_expression "token[1]" identifier [ number_literal ]) == (char_literal "'/'" ' character ')) )) (compound_statement "{\n    local_4c = &DAT_0002121e;\n    bVar5 = false;\n    bVar15 = false;\n    local_5c = 0x14;\n    local_48 = 3;\n    local_28 = 0;\n    local_84 = 0;\n    cVar14 = '/';\n  }" { (expression_statement "local_4c = &DAT_0002121e;" (assignment_expression "local_4c = &DAT_0002121e" identifier = (pointer_expression "&DAT_0002121e" & identifier)) ;) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" identifier = false) ;) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" identifier = false) ;) (expression_statement "local_5c = 0x14;" (assignment_expression "local_5c = 0x14" identifier = number_literal) ;) (expression_statement "local_48 = 3;" (assignment_expression "local_48 = 3" identifier = number_literal) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_84 = 0;" (assignment_expression "local_84 = 0" identifier = number_literal) ;) (expression_statement "cVar14 = '/';" (assignment_expression "cVar14 = '/'" identifier = (char_literal "'/'" ' character ')) ;) }) (else_clause "else {\n    bVar2 = *buf_ptr;\n    if (((bVar2 == 0x2a || bVar2 == 0x5f) || ((bVar2 & 0xef) == 0x2d)) ||\n       ((parser_state_tos->col_1 != 0 && (settings.format_col1_comments == 0)))) {\n      if ((buf_ptr < save_com.ptr) ||\n         (iVar8 = save_com.start_column, save_com.ptr + save_com.len < buf_ptr)) {\n        iVar8 = current_column();\n        iVar8 = iVar8 + -2;\n      }\n      ppVar6 = parser_state_tos;\n      parser_state_tos->com_col = iVar8;\n      ppVar6->box_com = 1;\n      if (settings.blanklines_before_blockcomments != 0) {\n        prefix_blankline_requested = 1;\n      }\n      local_68 = 1;\n      pcVar13 = e_com + 1;\n      *e_com = '/';\n      e_com = pcVar13;\n      pcVar13 = e_com + 1;\n      *e_com = '*';\n      e_com = pcVar13;\n      cVar14 = *buf_ptr;\n      do {\n        do {\n          pcVar17 = s_com;\n          pcVar13 = l_com;\n          if (cVar14 == '\n') {\n            line_no = line_no + 1;\n          }\n          if (l_com + -1 <= e_com) {\n            combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x191 - (int)s_com)));\n            l_com = combuf + (int)(pcVar13 + (0x18c - (int)pcVar17));\n            e_com = combuf + (int)(e_com + (1 - (int)s_com));\n            s_com = combuf + 1;\n          }\n          cVar14 = *buf_ptr;\n          pcVar13 = e_com + 1;\n          buf_ptr = buf_ptr + 1;\n          *e_com = cVar14;\n          e_com = pcVar13;\n          cVar14 = *buf_ptr;\n        } while ((cVar14 != '*') && (buf_ptr < buf_end));\n        if (buf_end < buf_ptr) {\n          buf_ptr = buf_end;\n          cVar14 = *buf_end;\n        }\n        if (settings.fix_nested_comments == 0) {\nLAB_00014e50:\n          if (cVar14 == '*') {\nLAB_00014e59:\n            if (buf_ptr[1] == '/') {\n              if (buf_ptr == buf_end) {\n                fill_buffer();\n              }\n              buf_ptr = buf_ptr + 2;\n              if (buf_ptr == buf_end) {\n                fill_buffer();\n              }\n              pcVar13 = e_com + 1;\n              *e_com = '*';\n              e_com = pcVar13;\n              pcVar13 = e_com + 1;\n              *e_com = '/';\n              e_com = pcVar13;\n              *e_com = '\0';\n              ppVar6 = parser_state_tos;\n              parser_state_tos->tos = parser_state_tos->tos + -1;\n              iVar9 = 1;\n              if (local_68 == 1) {\n                iVar9 = iVar8;\n              }\n              ppVar6->com_col = iVar9;\n              return;\n            }\n            cVar14 = '*';\n          }\n        }\n        else if (cVar14 == '*') {\n          if (buf_ptr[-1] == '/') {\n            e_com[-1] = ' ';\n            *e_com = '*';\n            cVar14 = *buf_ptr;\n            goto LAB_00014e50;\n          }\n          goto LAB_00014e59;\n        }\n        if (buf_ptr == buf_end) {\n          if (buf_ptr[-1] == '\n') {\n            pcVar13 = e_com + -1;\n            e_com = e_com + -1;\n            *pcVar13 = '\0';\n            dump_line(1,paren_targ,pbreak_line);\n            local_68 = local_68 + 1;\n            parser_state_tos->com_col = 1;\n          }\n          fill_buffer();\n          if (had_eof != '\0') {\n            pcVar13 = e_com + 1;\n            *e_com = '\0';\n            e_com = pcVar13;\n            ppVar6 = parser_state_tos;\n            parser_state_tos->tos = parser_state_tos->tos + -1;\n            ppVar6->com_col = iVar8;\n            return;\n          }\n          cVar14 = *buf_ptr;\n        }\n      } while( true );\n    }\n    bVar5 = true;\n    cVar14 = '*';\n    local_5c = 0x13;\n    local_84 = settings.star_comment_cont;\n    local_28 = settings.comment_delimiter_on_blankline;\n    local_48 = 0;\n    local_4c = (undefined *)0x0;\n    bVar15 = settings.comment_delimiter_on_blankline != 0;\n  }" else (compound_statement "{\n    bVar2 = *buf_ptr;\n    if (((bVar2 == 0x2a || bVar2 == 0x5f) || ((bVar2 & 0xef) == 0x2d)) ||\n       ((parser_state_tos->col_1 != 0 && (settings.format_col1_comments == 0)))) {\n      if ((buf_ptr < save_com.ptr) ||\n         (iVar8 = save_com.start_column, save_com.ptr + save_com.len < buf_ptr)) {\n        iVar8 = current_column();\n        iVar8 = iVar8 + -2;\n      }\n      ppVar6 = parser_state_tos;\n      parser_state_tos->com_col = iVar8;\n      ppVar6->box_com = 1;\n      if (settings.blanklines_before_blockcomments != 0) {\n        prefix_blankline_requested = 1;\n      }\n      local_68 = 1;\n      pcVar13 = e_com + 1;\n      *e_com = '/';\n      e_com = pcVar13;\n      pcVar13 = e_com + 1;\n      *e_com = '*';\n      e_com = pcVar13;\n      cVar14 = *buf_ptr;\n      do {\n        do {\n          pcVar17 = s_com;\n          pcVar13 = l_com;\n          if (cVar14 == '\n') {\n            line_no = line_no + 1;\n          }\n          if (l_com + -1 <= e_com) {\n            combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x191 - (int)s_com)));\n            l_com = combuf + (int)(pcVar13 + (0x18c - (int)pcVar17));\n            e_com = combuf + (int)(e_com + (1 - (int)s_com));\n            s_com = combuf + 1;\n          }\n          cVar14 = *buf_ptr;\n          pcVar13 = e_com + 1;\n          buf_ptr = buf_ptr + 1;\n          *e_com = cVar14;\n          e_com = pcVar13;\n          cVar14 = *buf_ptr;\n        } while ((cVar14 != '*') && (buf_ptr < buf_end));\n        if (buf_end < buf_ptr) {\n          buf_ptr = buf_end;\n          cVar14 = *buf_end;\n        }\n        if (settings.fix_nested_comments == 0) {\nLAB_00014e50:\n          if (cVar14 == '*') {\nLAB_00014e59:\n            if (buf_ptr[1] == '/') {\n              if (buf_ptr == buf_end) {\n                fill_buffer();\n              }\n              buf_ptr = buf_ptr + 2;\n              if (buf_ptr == buf_end) {\n                fill_buffer();\n              }\n              pcVar13 = e_com + 1;\n              *e_com = '*';\n              e_com = pcVar13;\n              pcVar13 = e_com + 1;\n              *e_com = '/';\n              e_com = pcVar13;\n              *e_com = '\0';\n              ppVar6 = parser_state_tos;\n              parser_state_tos->tos = parser_state_tos->tos + -1;\n              iVar9 = 1;\n              if (local_68 == 1) {\n                iVar9 = iVar8;\n              }\n              ppVar6->com_col = iVar9;\n              return;\n            }\n            cVar14 = '*';\n          }\n        }\n        else if (cVar14 == '*') {\n          if (buf_ptr[-1] == '/') {\n            e_com[-1] = ' ';\n            *e_com = '*';\n            cVar14 = *buf_ptr;\n            goto LAB_00014e50;\n          }\n          goto LAB_00014e59;\n        }\n        if (buf_ptr == buf_end) {\n          if (buf_ptr[-1] == '\n') {\n            pcVar13 = e_com + -1;\n            e_com = e_com + -1;\n            *pcVar13 = '\0';\n            dump_line(1,paren_targ,pbreak_line);\n            local_68 = local_68 + 1;\n            parser_state_tos->com_col = 1;\n          }\n          fill_buffer();\n          if (had_eof != '\0') {\n            pcVar13 = e_com + 1;\n            *e_com = '\0';\n            e_com = pcVar13;\n            ppVar6 = parser_state_tos;\n            parser_state_tos->tos = parser_state_tos->tos + -1;\n            ppVar6->com_col = iVar8;\n            return;\n          }\n          cVar14 = *buf_ptr;\n        }\n      } while( true );\n    }\n    bVar5 = true;\n    cVar14 = '*';\n    local_5c = 0x13;\n    local_84 = settings.star_comment_cont;\n    local_28 = settings.comment_delimiter_on_blankline;\n    local_48 = 0;\n    local_4c = (undefined *)0x0;\n    bVar15 = settings.comment_delimiter_on_blankline != 0;\n  }" { (expression_statement "bVar2 = *buf_ptr;" (assignment_expression "bVar2 = *buf_ptr" identifier = (pointer_expression "*buf_ptr" * identifier)) ;) (if_statement "if (((bVar2 == 0x2a || bVar2 == 0x5f) || ((bVar2 & 0xef) == 0x2d)) ||\n       ((parser_state_tos->col_1 != 0 && (settings.format_col1_comments == 0)))) {\n      if ((buf_ptr < save_com.ptr) ||\n         (iVar8 = save_com.start_column, save_com.ptr + save_com.len < buf_ptr)) {\n        iVar8 = current_column();\n        iVar8 = iVar8 + -2;\n      }\n      ppVar6 = parser_state_tos;\n      parser_state_tos->com_col = iVar8;\n      ppVar6->box_com = 1;\n      if (settings.blanklines_before_blockcomments != 0) {\n        prefix_blankline_requested = 1;\n      }\n      local_68 = 1;\n      pcVar13 = e_com + 1;\n      *e_com = '/';\n      e_com = pcVar13;\n      pcVar13 = e_com + 1;\n      *e_com = '*';\n      e_com = pcVar13;\n      cVar14 = *buf_ptr;\n      do {\n        do {\n          pcVar17 = s_com;\n          pcVar13 = l_com;\n          if (cVar14 == '\n') {\n            line_no = line_no + 1;\n          }\n          if (l_com + -1 <= e_com) {\n            combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x191 - (int)s_com)));\n            l_com = combuf + (int)(pcVar13 + (0x18c - (int)pcVar17));\n            e_com = combuf + (int)(e_com + (1 - (int)s_com));\n            s_com = combuf + 1;\n          }\n          cVar14 = *buf_ptr;\n          pcVar13 = e_com + 1;\n          buf_ptr = buf_ptr + 1;\n          *e_com = cVar14;\n          e_com = pcVar13;\n          cVar14 = *buf_ptr;\n        } while ((cVar14 != '*') && (buf_ptr < buf_end));\n        if (buf_end < buf_ptr) {\n          buf_ptr = buf_end;\n          cVar14 = *buf_end;\n        }\n        if (settings.fix_nested_comments == 0) {\nLAB_00014e50:\n          if (cVar14 == '*') {\nLAB_00014e59:\n            if (buf_ptr[1] == '/') {\n              if (buf_ptr == buf_end) {\n                fill_buffer();\n              }\n              buf_ptr = buf_ptr + 2;\n              if (buf_ptr == buf_end) {\n                fill_buffer();\n              }\n              pcVar13 = e_com + 1;\n              *e_com = '*';\n              e_com = pcVar13;\n              pcVar13 = e_com + 1;\n              *e_com = '/';\n              e_com = pcVar13;\n              *e_com = '\0';\n              ppVar6 = parser_state_tos;\n              parser_state_tos->tos = parser_state_tos->tos + -1;\n              iVar9 = 1;\n              if (local_68 == 1) {\n                iVar9 = iVar8;\n              }\n              ppVar6->com_col = iVar9;\n              return;\n            }\n            cVar14 = '*';\n          }\n        }\n        else if (cVar14 == '*') {\n          if (buf_ptr[-1] == '/') {\n            e_com[-1] = ' ';\n            *e_com = '*';\n            cVar14 = *buf_ptr;\n            goto LAB_00014e50;\n          }\n          goto LAB_00014e59;\n        }\n        if (buf_ptr == buf_end) {\n          if (buf_ptr[-1] == '\n') {\n            pcVar13 = e_com + -1;\n            e_com = e_com + -1;\n            *pcVar13 = '\0';\n            dump_line(1,paren_targ,pbreak_line);\n            local_68 = local_68 + 1;\n            parser_state_tos->com_col = 1;\n          }\n          fill_buffer();\n          if (had_eof != '\0') {\n            pcVar13 = e_com + 1;\n            *e_com = '\0';\n            e_com = pcVar13;\n            ppVar6 = parser_state_tos;\n            parser_state_tos->tos = parser_state_tos->tos + -1;\n            ppVar6->com_col = iVar8;\n            return;\n          }\n          cVar14 = *buf_ptr;\n        }\n      } while( true );\n    }" if (parenthesized_expression "(((bVar2 == 0x2a || bVar2 == 0x5f) || ((bVar2 & 0xef) == 0x2d)) ||\n       ((parser_state_tos->col_1 != 0 && (settings.format_col1_comments == 0))))" ( (binary_expression "((bVar2 == 0x2a || bVar2 == 0x5f) || ((bVar2 & 0xef) == 0x2d)) ||\n       ((parser_state_tos->col_1 != 0 && (settings.format_col1_comments == 0)))" (parenthesized_expression "((bVar2 == 0x2a || bVar2 == 0x5f) || ((bVar2 & 0xef) == 0x2d))" ( (binary_expression "(bVar2 == 0x2a || bVar2 == 0x5f) || ((bVar2 & 0xef) == 0x2d)" (parenthesized_expression "(bVar2 == 0x2a || bVar2 == 0x5f)" ( (binary_expression "bVar2 == 0x2a || bVar2 == 0x5f" (binary_expression "bVar2 == 0x2a" identifier == number_literal) || (binary_expression "bVar2 == 0x5f" identifier == number_literal)) )) || (parenthesized_expression "((bVar2 & 0xef) == 0x2d)" ( (binary_expression "(bVar2 & 0xef) == 0x2d" (parenthesized_expression "(bVar2 & 0xef)" ( (binary_expression "bVar2 & 0xef" identifier & number_literal) )) == number_literal) ))) )) || (parenthesized_expression "((parser_state_tos->col_1 != 0 && (settings.format_col1_comments == 0)))" ( (parenthesized_expression "(parser_state_tos->col_1 != 0 && (settings.format_col1_comments == 0))" ( (binary_expression "parser_state_tos->col_1 != 0 && (settings.format_col1_comments == 0)" (binary_expression "parser_state_tos->col_1 != 0" (field_expression "parser_state_tos->col_1" identifier -> field_identifier) != number_literal) && (parenthesized_expression "(settings.format_col1_comments == 0)" ( (binary_expression "settings.format_col1_comments == 0" (field_expression "settings.format_col1_comments" identifier . field_identifier) == number_literal) ))) )) ))) )) (compound_statement "{\n      if ((buf_ptr < save_com.ptr) ||\n         (iVar8 = save_com.start_column, save_com.ptr + save_com.len < buf_ptr)) {\n        iVar8 = current_column();\n        iVar8 = iVar8 + -2;\n      }\n      ppVar6 = parser_state_tos;\n      parser_state_tos->com_col = iVar8;\n      ppVar6->box_com = 1;\n      if (settings.blanklines_before_blockcomments != 0) {\n        prefix_blankline_requested = 1;\n      }\n      local_68 = 1;\n      pcVar13 = e_com + 1;\n      *e_com = '/';\n      e_com = pcVar13;\n      pcVar13 = e_com + 1;\n      *e_com = '*';\n      e_com = pcVar13;\n      cVar14 = *buf_ptr;\n      do {\n        do {\n          pcVar17 = s_com;\n          pcVar13 = l_com;\n          if (cVar14 == '\n') {\n            line_no = line_no + 1;\n          }\n          if (l_com + -1 <= e_com) {\n            combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x191 - (int)s_com)));\n            l_com = combuf + (int)(pcVar13 + (0x18c - (int)pcVar17));\n            e_com = combuf + (int)(e_com + (1 - (int)s_com));\n            s_com = combuf + 1;\n          }\n          cVar14 = *buf_ptr;\n          pcVar13 = e_com + 1;\n          buf_ptr = buf_ptr + 1;\n          *e_com = cVar14;\n          e_com = pcVar13;\n          cVar14 = *buf_ptr;\n        } while ((cVar14 != '*') && (buf_ptr < buf_end));\n        if (buf_end < buf_ptr) {\n          buf_ptr = buf_end;\n          cVar14 = *buf_end;\n        }\n        if (settings.fix_nested_comments == 0) {\nLAB_00014e50:\n          if (cVar14 == '*') {\nLAB_00014e59:\n            if (buf_ptr[1] == '/') {\n              if (buf_ptr == buf_end) {\n                fill_buffer();\n              }\n              buf_ptr = buf_ptr + 2;\n              if (buf_ptr == buf_end) {\n                fill_buffer();\n              }\n              pcVar13 = e_com + 1;\n              *e_com = '*';\n              e_com = pcVar13;\n              pcVar13 = e_com + 1;\n              *e_com = '/';\n              e_com = pcVar13;\n              *e_com = '\0';\n              ppVar6 = parser_state_tos;\n              parser_state_tos->tos = parser_state_tos->tos + -1;\n              iVar9 = 1;\n              if (local_68 == 1) {\n                iVar9 = iVar8;\n              }\n              ppVar6->com_col = iVar9;\n              return;\n            }\n            cVar14 = '*';\n          }\n        }\n        else if (cVar14 == '*') {\n          if (buf_ptr[-1] == '/') {\n            e_com[-1] = ' ';\n            *e_com = '*';\n            cVar14 = *buf_ptr;\n            goto LAB_00014e50;\n          }\n          goto LAB_00014e59;\n        }\n        if (buf_ptr == buf_end) {\n          if (buf_ptr[-1] == '\n') {\n            pcVar13 = e_com + -1;\n            e_com = e_com + -1;\n            *pcVar13 = '\0';\n            dump_line(1,paren_targ,pbreak_line);\n            local_68 = local_68 + 1;\n            parser_state_tos->com_col = 1;\n          }\n          fill_buffer();\n          if (had_eof != '\0') {\n            pcVar13 = e_com + 1;\n            *e_com = '\0';\n            e_com = pcVar13;\n            ppVar6 = parser_state_tos;\n            parser_state_tos->tos = parser_state_tos->tos + -1;\n            ppVar6->com_col = iVar8;\n            return;\n          }\n          cVar14 = *buf_ptr;\n        }\n      } while( true );\n    }" { (if_statement "if ((buf_ptr < save_com.ptr) ||\n         (iVar8 = save_com.start_column, save_com.ptr + save_com.len < buf_ptr)) {\n        iVar8 = current_column();\n        iVar8 = iVar8 + -2;\n      }" if (parenthesized_expression "((buf_ptr < save_com.ptr) ||\n         (iVar8 = save_com.start_column, save_com.ptr + save_com.len < buf_ptr))" ( (binary_expression "(buf_ptr < save_com.ptr) ||\n         (iVar8 = save_com.start_column, save_com.ptr + save_com.len < buf_ptr)" (parenthesized_expression "(buf_ptr < save_com.ptr)" ( (binary_expression "buf_ptr < save_com.ptr" identifier < (field_expression "save_com.ptr" identifier . field_identifier)) )) || (parenthesized_expression "(iVar8 = save_com.start_column, save_com.ptr + save_com.len < buf_ptr)" ( (comma_expression "iVar8 = save_com.start_column, save_com.ptr + save_com.len < buf_ptr" (assignment_expression "iVar8 = save_com.start_column" identifier = (field_expression "save_com.start_column" identifier . field_identifier)) , (binary_expression "save_com.ptr + save_com.len < buf_ptr" (binary_expression "save_com.ptr + save_com.len" (field_expression "save_com.ptr" identifier . field_identifier) + (field_expression "save_com.len" identifier . field_identifier)) < identifier)) ))) )) (compound_statement "{\n        iVar8 = current_column();\n        iVar8 = iVar8 + -2;\n      }" { (expression_statement "iVar8 = current_column();" (assignment_expression "iVar8 = current_column()" identifier = (call_expression "current_column()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar8 = iVar8 + -2;" (assignment_expression "iVar8 = iVar8 + -2" identifier = (binary_expression "iVar8 + -2" identifier + number_literal)) ;) })) (expression_statement "ppVar6 = parser_state_tos;" (assignment_expression "ppVar6 = parser_state_tos" identifier = identifier) ;) (expression_statement "parser_state_tos->com_col = iVar8;" (assignment_expression "parser_state_tos->com_col = iVar8" (field_expression "parser_state_tos->com_col" identifier -> field_identifier) = identifier) ;) (expression_statement "ppVar6->box_com = 1;" (assignment_expression "ppVar6->box_com = 1" (field_expression "ppVar6->box_com" identifier -> field_identifier) = number_literal) ;) (if_statement "if (settings.blanklines_before_blockcomments != 0) {\n        prefix_blankline_requested = 1;\n      }" if (parenthesized_expression "(settings.blanklines_before_blockcomments != 0)" ( (binary_expression "settings.blanklines_before_blockcomments != 0" (field_expression "settings.blanklines_before_blockcomments" identifier . field_identifier) != number_literal) )) (compound_statement "{\n        prefix_blankline_requested = 1;\n      }" { (expression_statement "prefix_blankline_requested = 1;" (assignment_expression "prefix_blankline_requested = 1" identifier = number_literal) ;) })) (expression_statement "local_68 = 1;" (assignment_expression "local_68 = 1" identifier = number_literal) ;) (expression_statement "pcVar13 = e_com + 1;" (assignment_expression "pcVar13 = e_com + 1" identifier = (binary_expression "e_com + 1" identifier + number_literal)) ;) (expression_statement "*e_com = '/';" (assignment_expression "*e_com = '/'" (pointer_expression "*e_com" * identifier) = (char_literal "'/'" ' character ')) ;) (expression_statement "e_com = pcVar13;" (assignment_expression "e_com = pcVar13" identifier = identifier) ;) (expression_statement "pcVar13 = e_com + 1;" (assignment_expression "pcVar13 = e_com + 1" identifier = (binary_expression "e_com + 1" identifier + number_literal)) ;) (expression_statement "*e_com = '*';" (assignment_expression "*e_com = '*'" (pointer_expression "*e_com" * identifier) = (char_literal "'*'" ' character ')) ;) (expression_statement "e_com = pcVar13;" (assignment_expression "e_com = pcVar13" identifier = identifier) ;) (expression_statement "cVar14 = *buf_ptr;" (assignment_expression "cVar14 = *buf_ptr" identifier = (pointer_expression "*buf_ptr" * identifier)) ;) (do_statement "do {\n        do {\n          pcVar17 = s_com;\n          pcVar13 = l_com;\n          if (cVar14 == '\n') {\n            line_no = line_no + 1;\n          }\n          if (l_com + -1 <= e_com) {\n            combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x191 - (int)s_com)));\n            l_com = combuf + (int)(pcVar13 + (0x18c - (int)pcVar17));\n            e_com = combuf + (int)(e_com + (1 - (int)s_com));\n            s_com = combuf + 1;\n          }\n          cVar14 = *buf_ptr;\n          pcVar13 = e_com + 1;\n          buf_ptr = buf_ptr + 1;\n          *e_com = cVar14;\n          e_com = pcVar13;\n          cVar14 = *buf_ptr;\n        } while ((cVar14 != '*') && (buf_ptr < buf_end));\n        if (buf_end < buf_ptr) {\n          buf_ptr = buf_end;\n          cVar14 = *buf_end;\n        }\n        if (settings.fix_nested_comments == 0) {\nLAB_00014e50:\n          if (cVar14 == '*') {\nLAB_00014e59:\n            if (buf_ptr[1] == '/') {\n              if (buf_ptr == buf_end) {\n                fill_buffer();\n              }\n              buf_ptr = buf_ptr + 2;\n              if (buf_ptr == buf_end) {\n                fill_buffer();\n              }\n              pcVar13 = e_com + 1;\n              *e_com = '*';\n              e_com = pcVar13;\n              pcVar13 = e_com + 1;\n              *e_com = '/';\n              e_com = pcVar13;\n              *e_com = '\0';\n              ppVar6 = parser_state_tos;\n              parser_state_tos->tos = parser_state_tos->tos + -1;\n              iVar9 = 1;\n              if (local_68 == 1) {\n                iVar9 = iVar8;\n              }\n              ppVar6->com_col = iVar9;\n              return;\n            }\n            cVar14 = '*';\n          }\n        }\n        else if (cVar14 == '*') {\n          if (buf_ptr[-1] == '/') {\n            e_com[-1] = ' ';\n            *e_com = '*';\n            cVar14 = *buf_ptr;\n            goto LAB_00014e50;\n          }\n          goto LAB_00014e59;\n        }\n        if (buf_ptr == buf_end) {\n          if (buf_ptr[-1] == '\n') {\n            pcVar13 = e_com + -1;\n            e_com = e_com + -1;\n            *pcVar13 = '\0';\n            dump_line(1,paren_targ,pbreak_line);\n            local_68 = local_68 + 1;\n            parser_state_tos->com_col = 1;\n          }\n          fill_buffer();\n          if (had_eof != '\0') {\n            pcVar13 = e_com + 1;\n            *e_com = '\0';\n            e_com = pcVar13;\n            ppVar6 = parser_state_tos;\n            parser_state_tos->tos = parser_state_tos->tos + -1;\n            ppVar6->com_col = iVar8;\n            return;\n          }\n          cVar14 = *buf_ptr;\n        }\n      } while( true );" do (compound_statement "{\n        do {\n          pcVar17 = s_com;\n          pcVar13 = l_com;\n          if (cVar14 == '\n') {\n            line_no = line_no + 1;\n          }\n          if (l_com + -1 <= e_com) {\n            combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x191 - (int)s_com)));\n            l_com = combuf + (int)(pcVar13 + (0x18c - (int)pcVar17));\n            e_com = combuf + (int)(e_com + (1 - (int)s_com));\n            s_com = combuf + 1;\n          }\n          cVar14 = *buf_ptr;\n          pcVar13 = e_com + 1;\n          buf_ptr = buf_ptr + 1;\n          *e_com = cVar14;\n          e_com = pcVar13;\n          cVar14 = *buf_ptr;\n        } while ((cVar14 != '*') && (buf_ptr < buf_end));\n        if (buf_end < buf_ptr) {\n          buf_ptr = buf_end;\n          cVar14 = *buf_end;\n        }\n        if (settings.fix_nested_comments == 0) {\nLAB_00014e50:\n          if (cVar14 == '*') {\nLAB_00014e59:\n            if (buf_ptr[1] == '/') {\n              if (buf_ptr == buf_end) {\n                fill_buffer();\n              }\n              buf_ptr = buf_ptr + 2;\n              if (buf_ptr == buf_end) {\n                fill_buffer();\n              }\n              pcVar13 = e_com + 1;\n              *e_com = '*';\n              e_com = pcVar13;\n              pcVar13 = e_com + 1;\n              *e_com = '/';\n              e_com = pcVar13;\n              *e_com = '\0';\n              ppVar6 = parser_state_tos;\n              parser_state_tos->tos = parser_state_tos->tos + -1;\n              iVar9 = 1;\n              if (local_68 == 1) {\n                iVar9 = iVar8;\n              }\n              ppVar6->com_col = iVar9;\n              return;\n            }\n            cVar14 = '*';\n          }\n        }\n        else if (cVar14 == '*') {\n          if (buf_ptr[-1] == '/') {\n            e_com[-1] = ' ';\n            *e_com = '*';\n            cVar14 = *buf_ptr;\n            goto LAB_00014e50;\n          }\n          goto LAB_00014e59;\n        }\n        if (buf_ptr == buf_end) {\n          if (buf_ptr[-1] == '\n') {\n            pcVar13 = e_com + -1;\n            e_com = e_com + -1;\n            *pcVar13 = '\0';\n            dump_line(1,paren_targ,pbreak_line);\n            local_68 = local_68 + 1;\n            parser_state_tos->com_col = 1;\n          }\n          fill_buffer();\n          if (had_eof != '\0') {\n            pcVar13 = e_com + 1;\n            *e_com = '\0';\n            e_com = pcVar13;\n            ppVar6 = parser_state_tos;\n            parser_state_tos->tos = parser_state_tos->tos + -1;\n            ppVar6->com_col = iVar8;\n            return;\n          }\n          cVar14 = *buf_ptr;\n        }\n      }" { (do_statement "do {\n          pcVar17 = s_com;\n          pcVar13 = l_com;\n          if (cVar14 == '\n') {\n            line_no = line_no + 1;\n          }\n          if (l_com + -1 <= e_com) {\n            combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x191 - (int)s_com)));\n            l_com = combuf + (int)(pcVar13 + (0x18c - (int)pcVar17));\n            e_com = combuf + (int)(e_com + (1 - (int)s_com));\n            s_com = combuf + 1;\n          }\n          cVar14 = *buf_ptr;\n          pcVar13 = e_com + 1;\n          buf_ptr = buf_ptr + 1;\n          *e_com = cVar14;\n          e_com = pcVar13;\n          cVar14 = *buf_ptr;\n        } while ((cVar14 != '*') && (buf_ptr < buf_end));" do (compound_statement "{\n          pcVar17 = s_com;\n          pcVar13 = l_com;\n          if (cVar14 == '\n') {\n            line_no = line_no + 1;\n          }\n          if (l_com + -1 <= e_com) {\n            combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x191 - (int)s_com)));\n            l_com = combuf + (int)(pcVar13 + (0x18c - (int)pcVar17));\n            e_com = combuf + (int)(e_com + (1 - (int)s_com));\n            s_com = combuf + 1;\n          }\n          cVar14 = *buf_ptr;\n          pcVar13 = e_com + 1;\n          buf_ptr = buf_ptr + 1;\n          *e_com = cVar14;\n          e_com = pcVar13;\n          cVar14 = *buf_ptr;\n        }" { (expression_statement "pcVar17 = s_com;" (assignment_expression "pcVar17 = s_com" identifier = identifier) ;) (expression_statement "pcVar13 = l_com;" (assignment_expression "pcVar13 = l_com" identifier = identifier) ;) (if_statement "if (cVar14 == '\n') {\n            line_no = line_no + 1;\n          }" if (parenthesized_expression "(cVar14 == '\n')" ( (binary_expression "cVar14 == '\n'" identifier == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n            line_no = line_no + 1;\n          }" { (expression_statement "line_no = line_no + 1;" (assignment_expression "line_no = line_no + 1" identifier = (binary_expression "line_no + 1" identifier + number_literal)) ;) })) (if_statement "if (l_com + -1 <= e_com) {\n            combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x191 - (int)s_com)));\n            l_com = combuf + (int)(pcVar13 + (0x18c - (int)pcVar17));\n            e_com = combuf + (int)(e_com + (1 - (int)s_com));\n            s_com = combuf + 1;\n          }" if (parenthesized_expression "(l_com + -1 <= e_com)" ( (binary_expression "l_com + -1 <= e_com" (binary_expression "l_com + -1" identifier + number_literal) <= identifier) )) (compound_statement "{\n            combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x191 - (int)s_com)));\n            l_com = combuf + (int)(pcVar13 + (0x18c - (int)pcVar17));\n            e_com = combuf + (int)(e_com + (1 - (int)s_com));\n            s_com = combuf + 1;\n          }" { (expression_statement "combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x191 - (int)s_com)));" (assignment_expression "combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x191 - (int)s_com)))" identifier = (cast_expression "(char *)xrealloc(combuf,(uint)(l_com + (0x191 - (int)s_com)))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xrealloc(combuf,(uint)(l_com + (0x191 - (int)s_com)))" identifier (argument_list "(combuf,(uint)(l_com + (0x191 - (int)s_com)))" ( identifier , (call_expression "(uint)(l_com + (0x191 - (int)s_com))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(l_com + (0x191 - (int)s_com))" ( (binary_expression "l_com + (0x191 - (int)s_com)" identifier + (parenthesized_expression "(0x191 - (int)s_com)" ( (binary_expression "0x191 - (int)s_com" number_literal - (cast_expression "(int)s_com" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) ))))) ;) (expression_statement "l_com = combuf + (int)(pcVar13 + (0x18c - (int)pcVar17));" (assignment_expression "l_com = combuf + (int)(pcVar13 + (0x18c - (int)pcVar17))" identifier = (binary_expression "combuf + (int)(pcVar13 + (0x18c - (int)pcVar17))" identifier + (cast_expression "(int)(pcVar13 + (0x18c - (int)pcVar17))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar13 + (0x18c - (int)pcVar17))" ( (binary_expression "pcVar13 + (0x18c - (int)pcVar17)" identifier + (parenthesized_expression "(0x18c - (int)pcVar17)" ( (binary_expression "0x18c - (int)pcVar17" number_literal - (cast_expression "(int)pcVar17" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))))) ;) (expression_statement "e_com = combuf + (int)(e_com + (1 - (int)s_com));" (assignment_expression "e_com = combuf + (int)(e_com + (1 - (int)s_com))" identifier = (binary_expression "combuf + (int)(e_com + (1 - (int)s_com))" identifier + (cast_expression "(int)(e_com + (1 - (int)s_com))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(e_com + (1 - (int)s_com))" ( (binary_expression "e_com + (1 - (int)s_com)" identifier + (parenthesized_expression "(1 - (int)s_com)" ( (binary_expression "1 - (int)s_com" number_literal - (cast_expression "(int)s_com" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))))) ;) (expression_statement "s_com = combuf + 1;" (assignment_expression "s_com = combuf + 1" identifier = (binary_expression "combuf + 1" identifier + number_literal)) ;) })) (expression_statement "cVar14 = *buf_ptr;" (assignment_expression "cVar14 = *buf_ptr" identifier = (pointer_expression "*buf_ptr" * identifier)) ;) (expression_statement "pcVar13 = e_com + 1;" (assignment_expression "pcVar13 = e_com + 1" identifier = (binary_expression "e_com + 1" identifier + number_literal)) ;) (expression_statement "buf_ptr = buf_ptr + 1;" (assignment_expression "buf_ptr = buf_ptr + 1" identifier = (binary_expression "buf_ptr + 1" identifier + number_literal)) ;) (expression_statement "*e_com = cVar14;" (assignment_expression "*e_com = cVar14" (pointer_expression "*e_com" * identifier) = identifier) ;) (expression_statement "e_com = pcVar13;" (assignment_expression "e_com = pcVar13" identifier = identifier) ;) (expression_statement "cVar14 = *buf_ptr;" (assignment_expression "cVar14 = *buf_ptr" identifier = (pointer_expression "*buf_ptr" * identifier)) ;) }) while (parenthesized_expression "((cVar14 != '*') && (buf_ptr < buf_end))" ( (binary_expression "(cVar14 != '*') && (buf_ptr < buf_end)" (parenthesized_expression "(cVar14 != '*')" ( (binary_expression "cVar14 != '*'" identifier != (char_literal "'*'" ' character ')) )) && (parenthesized_expression "(buf_ptr < buf_end)" ( (binary_expression "buf_ptr < buf_end" identifier < identifier) ))) )) ;) (if_statement "if (buf_end < buf_ptr) {\n          buf_ptr = buf_end;\n          cVar14 = *buf_end;\n        }" if (parenthesized_expression "(buf_end < buf_ptr)" ( (binary_expression "buf_end < buf_ptr" identifier < identifier) )) (compound_statement "{\n          buf_ptr = buf_end;\n          cVar14 = *buf_end;\n        }" { (expression_statement "buf_ptr = buf_end;" (assignment_expression "buf_ptr = buf_end" identifier = identifier) ;) (expression_statement "cVar14 = *buf_end;" (assignment_expression "cVar14 = *buf_end" identifier = (pointer_expression "*buf_end" * identifier)) ;) })) (if_statement "if (settings.fix_nested_comments == 0) {\nLAB_00014e50:\n          if (cVar14 == '*') {\nLAB_00014e59:\n            if (buf_ptr[1] == '/') {\n              if (buf_ptr == buf_end) {\n                fill_buffer();\n              }\n              buf_ptr = buf_ptr + 2;\n              if (buf_ptr == buf_end) {\n                fill_buffer();\n              }\n              pcVar13 = e_com + 1;\n              *e_com = '*';\n              e_com = pcVar13;\n              pcVar13 = e_com + 1;\n              *e_com = '/';\n              e_com = pcVar13;\n              *e_com = '\0';\n              ppVar6 = parser_state_tos;\n              parser_state_tos->tos = parser_state_tos->tos + -1;\n              iVar9 = 1;\n              if (local_68 == 1) {\n                iVar9 = iVar8;\n              }\n              ppVar6->com_col = iVar9;\n              return;\n            }\n            cVar14 = '*';\n          }\n        }\n        else if (cVar14 == '*') {\n          if (buf_ptr[-1] == '/') {\n            e_com[-1] = ' ';\n            *e_com = '*';\n            cVar14 = *buf_ptr;\n            goto LAB_00014e50;\n          }\n          goto LAB_00014e59;\n        }" if (parenthesized_expression "(settings.fix_nested_comments == 0)" ( (binary_expression "settings.fix_nested_comments == 0" (field_expression "settings.fix_nested_comments" identifier . field_identifier) == number_literal) )) (compound_statement "{\nLAB_00014e50:\n          if (cVar14 == '*') {\nLAB_00014e59:\n            if (buf_ptr[1] == '/') {\n              if (buf_ptr == buf_end) {\n                fill_buffer();\n              }\n              buf_ptr = buf_ptr + 2;\n              if (buf_ptr == buf_end) {\n                fill_buffer();\n              }\n              pcVar13 = e_com + 1;\n              *e_com = '*';\n              e_com = pcVar13;\n              pcVar13 = e_com + 1;\n              *e_com = '/';\n              e_com = pcVar13;\n              *e_com = '\0';\n              ppVar6 = parser_state_tos;\n              parser_state_tos->tos = parser_state_tos->tos + -1;\n              iVar9 = 1;\n              if (local_68 == 1) {\n                iVar9 = iVar8;\n              }\n              ppVar6->com_col = iVar9;\n              return;\n            }\n            cVar14 = '*';\n          }\n        }" { (labeled_statement "LAB_00014e50:\n          if (cVar14 == '*') {\nLAB_00014e59:\n            if (buf_ptr[1] == '/') {\n              if (buf_ptr == buf_end) {\n                fill_buffer();\n              }\n              buf_ptr = buf_ptr + 2;\n              if (buf_ptr == buf_end) {\n                fill_buffer();\n              }\n              pcVar13 = e_com + 1;\n              *e_com = '*';\n              e_com = pcVar13;\n              pcVar13 = e_com + 1;\n              *e_com = '/';\n              e_com = pcVar13;\n              *e_com = '\0';\n              ppVar6 = parser_state_tos;\n              parser_state_tos->tos = parser_state_tos->tos + -1;\n              iVar9 = 1;\n              if (local_68 == 1) {\n                iVar9 = iVar8;\n              }\n              ppVar6->com_col = iVar9;\n              return;\n            }\n            cVar14 = '*';\n          }" statement_identifier : (if_statement "if (cVar14 == '*') {\nLAB_00014e59:\n            if (buf_ptr[1] == '/') {\n              if (buf_ptr == buf_end) {\n                fill_buffer();\n              }\n              buf_ptr = buf_ptr + 2;\n              if (buf_ptr == buf_end) {\n                fill_buffer();\n              }\n              pcVar13 = e_com + 1;\n              *e_com = '*';\n              e_com = pcVar13;\n              pcVar13 = e_com + 1;\n              *e_com = '/';\n              e_com = pcVar13;\n              *e_com = '\0';\n              ppVar6 = parser_state_tos;\n              parser_state_tos->tos = parser_state_tos->tos + -1;\n              iVar9 = 1;\n              if (local_68 == 1) {\n                iVar9 = iVar8;\n              }\n              ppVar6->com_col = iVar9;\n              return;\n            }\n            cVar14 = '*';\n          }" if (parenthesized_expression "(cVar14 == '*')" ( (binary_expression "cVar14 == '*'" identifier == (char_literal "'*'" ' character ')) )) (compound_statement "{\nLAB_00014e59:\n            if (buf_ptr[1] == '/') {\n              if (buf_ptr == buf_end) {\n                fill_buffer();\n              }\n              buf_ptr = buf_ptr + 2;\n              if (buf_ptr == buf_end) {\n                fill_buffer();\n              }\n              pcVar13 = e_com + 1;\n              *e_com = '*';\n              e_com = pcVar13;\n              pcVar13 = e_com + 1;\n              *e_com = '/';\n              e_com = pcVar13;\n              *e_com = '\0';\n              ppVar6 = parser_state_tos;\n              parser_state_tos->tos = parser_state_tos->tos + -1;\n              iVar9 = 1;\n              if (local_68 == 1) {\n                iVar9 = iVar8;\n              }\n              ppVar6->com_col = iVar9;\n              return;\n            }\n            cVar14 = '*';\n          }" { (labeled_statement "LAB_00014e59:\n            if (buf_ptr[1] == '/') {\n              if (buf_ptr == buf_end) {\n                fill_buffer();\n              }\n              buf_ptr = buf_ptr + 2;\n              if (buf_ptr == buf_end) {\n                fill_buffer();\n              }\n              pcVar13 = e_com + 1;\n              *e_com = '*';\n              e_com = pcVar13;\n              pcVar13 = e_com + 1;\n              *e_com = '/';\n              e_com = pcVar13;\n              *e_com = '\0';\n              ppVar6 = parser_state_tos;\n              parser_state_tos->tos = parser_state_tos->tos + -1;\n              iVar9 = 1;\n              if (local_68 == 1) {\n                iVar9 = iVar8;\n              }\n              ppVar6->com_col = iVar9;\n              return;\n            }" statement_identifier : (if_statement "if (buf_ptr[1] == '/') {\n              if (buf_ptr == buf_end) {\n                fill_buffer();\n              }\n              buf_ptr = buf_ptr + 2;\n              if (buf_ptr == buf_end) {\n                fill_buffer();\n              }\n              pcVar13 = e_com + 1;\n              *e_com = '*';\n              e_com = pcVar13;\n              pcVar13 = e_com + 1;\n              *e_com = '/';\n              e_com = pcVar13;\n              *e_com = '\0';\n              ppVar6 = parser_state_tos;\n              parser_state_tos->tos = parser_state_tos->tos + -1;\n              iVar9 = 1;\n              if (local_68 == 1) {\n                iVar9 = iVar8;\n              }\n              ppVar6->com_col = iVar9;\n              return;\n            }" if (parenthesized_expression "(buf_ptr[1] == '/')" ( (binary_expression "buf_ptr[1] == '/'" (subscript_expression "buf_ptr[1]" identifier [ number_literal ]) == (char_literal "'/'" ' character ')) )) (compound_statement "{\n              if (buf_ptr == buf_end) {\n                fill_buffer();\n              }\n              buf_ptr = buf_ptr + 2;\n              if (buf_ptr == buf_end) {\n                fill_buffer();\n              }\n              pcVar13 = e_com + 1;\n              *e_com = '*';\n              e_com = pcVar13;\n              pcVar13 = e_com + 1;\n              *e_com = '/';\n              e_com = pcVar13;\n              *e_com = '\0';\n              ppVar6 = parser_state_tos;\n              parser_state_tos->tos = parser_state_tos->tos + -1;\n              iVar9 = 1;\n              if (local_68 == 1) {\n                iVar9 = iVar8;\n              }\n              ppVar6->com_col = iVar9;\n              return;\n            }" { (if_statement "if (buf_ptr == buf_end) {\n                fill_buffer();\n              }" if (parenthesized_expression "(buf_ptr == buf_end)" ( (binary_expression "buf_ptr == buf_end" identifier == identifier) )) (compound_statement "{\n                fill_buffer();\n              }" { (expression_statement "fill_buffer();" (call_expression "fill_buffer()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "buf_ptr = buf_ptr + 2;" (assignment_expression "buf_ptr = buf_ptr + 2" identifier = (binary_expression "buf_ptr + 2" identifier + number_literal)) ;) (if_statement "if (buf_ptr == buf_end) {\n                fill_buffer();\n              }" if (parenthesized_expression "(buf_ptr == buf_end)" ( (binary_expression "buf_ptr == buf_end" identifier == identifier) )) (compound_statement "{\n                fill_buffer();\n              }" { (expression_statement "fill_buffer();" (call_expression "fill_buffer()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "pcVar13 = e_com + 1;" (assignment_expression "pcVar13 = e_com + 1" identifier = (binary_expression "e_com + 1" identifier + number_literal)) ;) (expression_statement "*e_com = '*';" (assignment_expression "*e_com = '*'" (pointer_expression "*e_com" * identifier) = (char_literal "'*'" ' character ')) ;) (expression_statement "e_com = pcVar13;" (assignment_expression "e_com = pcVar13" identifier = identifier) ;) (expression_statement "pcVar13 = e_com + 1;" (assignment_expression "pcVar13 = e_com + 1" identifier = (binary_expression "e_com + 1" identifier + number_literal)) ;) (expression_statement "*e_com = '/';" (assignment_expression "*e_com = '/'" (pointer_expression "*e_com" * identifier) = (char_literal "'/'" ' character ')) ;) (expression_statement "e_com = pcVar13;" (assignment_expression "e_com = pcVar13" identifier = identifier) ;) (expression_statement "*e_com = '\0';" (assignment_expression "*e_com = '\0'" (pointer_expression "*e_com" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "ppVar6 = parser_state_tos;" (assignment_expression "ppVar6 = parser_state_tos" identifier = identifier) ;) (expression_statement "parser_state_tos->tos = parser_state_tos->tos + -1;" (assignment_expression "parser_state_tos->tos = parser_state_tos->tos + -1" (field_expression "parser_state_tos->tos" identifier -> field_identifier) = (binary_expression "parser_state_tos->tos + -1" (field_expression "parser_state_tos->tos" identifier -> field_identifier) + number_literal)) ;) (expression_statement "iVar9 = 1;" (assignment_expression "iVar9 = 1" identifier = number_literal) ;) (if_statement "if (local_68 == 1) {\n                iVar9 = iVar8;\n              }" if (parenthesized_expression "(local_68 == 1)" ( (binary_expression "local_68 == 1" identifier == number_literal) )) (compound_statement "{\n                iVar9 = iVar8;\n              }" { (expression_statement "iVar9 = iVar8;" (assignment_expression "iVar9 = iVar8" identifier = identifier) ;) })) (expression_statement "ppVar6->com_col = iVar9;" (assignment_expression "ppVar6->com_col = iVar9" (field_expression "ppVar6->com_col" identifier -> field_identifier) = identifier) ;) (return_statement "return;" return ;) }))) (expression_statement "cVar14 = '*';" (assignment_expression "cVar14 = '*'" identifier = (char_literal "'*'" ' character ')) ;) }))) }) (else_clause "else if (cVar14 == '*') {\n          if (buf_ptr[-1] == '/') {\n            e_com[-1] = ' ';\n            *e_com = '*';\n            cVar14 = *buf_ptr;\n            goto LAB_00014e50;\n          }\n          goto LAB_00014e59;\n        }" else (if_statement "if (cVar14 == '*') {\n          if (buf_ptr[-1] == '/') {\n            e_com[-1] = ' ';\n            *e_com = '*';\n            cVar14 = *buf_ptr;\n            goto LAB_00014e50;\n          }\n          goto LAB_00014e59;\n        }" if (parenthesized_expression "(cVar14 == '*')" ( (binary_expression "cVar14 == '*'" identifier == (char_literal "'*'" ' character ')) )) (compound_statement "{\n          if (buf_ptr[-1] == '/') {\n            e_com[-1] = ' ';\n            *e_com = '*';\n            cVar14 = *buf_ptr;\n            goto LAB_00014e50;\n          }\n          goto LAB_00014e59;\n        }" { (if_statement "if (buf_ptr[-1] == '/') {\n            e_com[-1] = ' ';\n            *e_com = '*';\n            cVar14 = *buf_ptr;\n            goto LAB_00014e50;\n          }" if (parenthesized_expression "(buf_ptr[-1] == '/')" ( (binary_expression "buf_ptr[-1] == '/'" (subscript_expression "buf_ptr[-1]" identifier [ number_literal ]) == (char_literal "'/'" ' character ')) )) (compound_statement "{\n            e_com[-1] = ' ';\n            *e_com = '*';\n            cVar14 = *buf_ptr;\n            goto LAB_00014e50;\n          }" { (expression_statement "e_com[-1] = ' ';" (assignment_expression "e_com[-1] = ' '" (subscript_expression "e_com[-1]" identifier [ number_literal ]) = (char_literal "' '" ' character ')) ;) (expression_statement "*e_com = '*';" (assignment_expression "*e_com = '*'" (pointer_expression "*e_com" * identifier) = (char_literal "'*'" ' character ')) ;) (expression_statement "cVar14 = *buf_ptr;" (assignment_expression "cVar14 = *buf_ptr" identifier = (pointer_expression "*buf_ptr" * identifier)) ;) (goto_statement "goto LAB_00014e50;" goto statement_identifier ;) })) (goto_statement "goto LAB_00014e59;" goto statement_identifier ;) })))) (if_statement "if (buf_ptr == buf_end) {\n          if (buf_ptr[-1] == '\n') {\n            pcVar13 = e_com + -1;\n            e_com = e_com + -1;\n            *pcVar13 = '\0';\n            dump_line(1,paren_targ,pbreak_line);\n            local_68 = local_68 + 1;\n            parser_state_tos->com_col = 1;\n          }\n          fill_buffer();\n          if (had_eof != '\0') {\n            pcVar13 = e_com + 1;\n            *e_com = '\0';\n            e_com = pcVar13;\n            ppVar6 = parser_state_tos;\n            parser_state_tos->tos = parser_state_tos->tos + -1;\n            ppVar6->com_col = iVar8;\n            return;\n          }\n          cVar14 = *buf_ptr;\n        }" if (parenthesized_expression "(buf_ptr == buf_end)" ( (binary_expression "buf_ptr == buf_end" identifier == identifier) )) (compound_statement "{\n          if (buf_ptr[-1] == '\n') {\n            pcVar13 = e_com + -1;\n            e_com = e_com + -1;\n            *pcVar13 = '\0';\n            dump_line(1,paren_targ,pbreak_line);\n            local_68 = local_68 + 1;\n            parser_state_tos->com_col = 1;\n          }\n          fill_buffer();\n          if (had_eof != '\0') {\n            pcVar13 = e_com + 1;\n            *e_com = '\0';\n            e_com = pcVar13;\n            ppVar6 = parser_state_tos;\n            parser_state_tos->tos = parser_state_tos->tos + -1;\n            ppVar6->com_col = iVar8;\n            return;\n          }\n          cVar14 = *buf_ptr;\n        }" { (if_statement "if (buf_ptr[-1] == '\n') {\n            pcVar13 = e_com + -1;\n            e_com = e_com + -1;\n            *pcVar13 = '\0';\n            dump_line(1,paren_targ,pbreak_line);\n            local_68 = local_68 + 1;\n            parser_state_tos->com_col = 1;\n          }" if (parenthesized_expression "(buf_ptr[-1] == '\n')" ( (binary_expression "buf_ptr[-1] == '\n'" (subscript_expression "buf_ptr[-1]" identifier [ number_literal ]) == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n            pcVar13 = e_com + -1;\n            e_com = e_com + -1;\n            *pcVar13 = '\0';\n            dump_line(1,paren_targ,pbreak_line);\n            local_68 = local_68 + 1;\n            parser_state_tos->com_col = 1;\n          }" { (expression_statement "pcVar13 = e_com + -1;" (assignment_expression "pcVar13 = e_com + -1" identifier = (binary_expression "e_com + -1" identifier + number_literal)) ;) (expression_statement "e_com = e_com + -1;" (assignment_expression "e_com = e_com + -1" identifier = (binary_expression "e_com + -1" identifier + number_literal)) ;) (expression_statement "*pcVar13 = '\0';" (assignment_expression "*pcVar13 = '\0'" (pointer_expression "*pcVar13" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "dump_line(1,paren_targ,pbreak_line);" (call_expression "dump_line(1,paren_targ,pbreak_line)" identifier (argument_list "(1,paren_targ,pbreak_line)" ( number_literal , identifier , identifier ))) ;) (expression_statement "local_68 = local_68 + 1;" (assignment_expression "local_68 = local_68 + 1" identifier = (binary_expression "local_68 + 1" identifier + number_literal)) ;) (expression_statement "parser_state_tos->com_col = 1;" (assignment_expression "parser_state_tos->com_col = 1" (field_expression "parser_state_tos->com_col" identifier -> field_identifier) = number_literal) ;) })) (expression_statement "fill_buffer();" (call_expression "fill_buffer()" identifier (argument_list "()" ( ))) ;) (if_statement "if (had_eof != '\0') {\n            pcVar13 = e_com + 1;\n            *e_com = '\0';\n            e_com = pcVar13;\n            ppVar6 = parser_state_tos;\n            parser_state_tos->tos = parser_state_tos->tos + -1;\n            ppVar6->com_col = iVar8;\n            return;\n          }" if (parenthesized_expression "(had_eof != '\0')" ( (binary_expression "had_eof != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            pcVar13 = e_com + 1;\n            *e_com = '\0';\n            e_com = pcVar13;\n            ppVar6 = parser_state_tos;\n            parser_state_tos->tos = parser_state_tos->tos + -1;\n            ppVar6->com_col = iVar8;\n            return;\n          }" { (expression_statement "pcVar13 = e_com + 1;" (assignment_expression "pcVar13 = e_com + 1" identifier = (binary_expression "e_com + 1" identifier + number_literal)) ;) (expression_statement "*e_com = '\0';" (assignment_expression "*e_com = '\0'" (pointer_expression "*e_com" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "e_com = pcVar13;" (assignment_expression "e_com = pcVar13" identifier = identifier) ;) (expression_statement "ppVar6 = parser_state_tos;" (assignment_expression "ppVar6 = parser_state_tos" identifier = identifier) ;) (expression_statement "parser_state_tos->tos = parser_state_tos->tos + -1;" (assignment_expression "parser_state_tos->tos = parser_state_tos->tos + -1" (field_expression "parser_state_tos->tos" identifier -> field_identifier) = (binary_expression "parser_state_tos->tos + -1" (field_expression "parser_state_tos->tos" identifier -> field_identifier) + number_literal)) ;) (expression_statement "ppVar6->com_col = iVar8;" (assignment_expression "ppVar6->com_col = iVar8" (field_expression "ppVar6->com_col" identifier -> field_identifier) = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "cVar14 = *buf_ptr;" (assignment_expression "cVar14 = *buf_ptr" identifier = (pointer_expression "*buf_ptr" * identifier)) ;) })) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" identifier = true) ;) (expression_statement "cVar14 = '*';" (assignment_expression "cVar14 = '*'" identifier = (char_literal "'*'" ' character ')) ;) (expression_statement "local_5c = 0x13;" (assignment_expression "local_5c = 0x13" identifier = number_literal) ;) (expression_statement "local_84 = settings.star_comment_cont;" (assignment_expression "local_84 = settings.star_comment_cont" identifier = (field_expression "settings.star_comment_cont" identifier . field_identifier)) ;) (expression_statement "local_28 = settings.comment_delimiter_on_blankline;" (assignment_expression "local_28 = settings.comment_delimiter_on_blankline" identifier = (field_expression "settings.comment_delimiter_on_blankline" identifier . field_identifier)) ;) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (expression_statement "local_4c = (undefined *)0x0;" (assignment_expression "local_4c = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "bVar15 = settings.comment_delimiter_on_blankline != 0;" (assignment_expression "bVar15 = settings.comment_delimiter_on_blankline != 0" identifier = (binary_expression "settings.comment_delimiter_on_blankline != 0" (field_expression "settings.comment_delimiter_on_blankline" identifier . field_identifier) != number_literal)) ;) }))) (expression_statement "local_60 = settings.comment_max_col;" (assignment_expression "local_60 = settings.comment_max_col" identifier = (field_expression "settings.comment_max_col" identifier . field_identifier)) ;) (expression_statement "iVar9 = current_column();" (assignment_expression "iVar9 = current_column()" identifier = (call_expression "current_column()" identifier (argument_list "()" ( )))) ;) (expression_statement "pcVar17 = s_lab;" (assignment_expression "pcVar17 = s_lab" identifier = identifier) ;) (expression_statement "pcVar13 = s_code;" (assignment_expression "pcVar13 = s_code" identifier = identifier) ;) (if_statement "if ((s_lab == e_lab) && (s_code == e_code)) {\n    if ((parser_state_tos->col_1 == 0) || (settings.format_col1_comments != 0)) {\n      local_74 = settings.format_comments;\n      if ((parser_state_tos->ind_level < 1) &&\n         ((parser_state_tos->in_stmt == 0 ||\n          ((parser_state_tos->in_decl != '\0' && (parser_state_tos->paren_level == 0)))))) {\n        bVar4 = true;\n        local_80 = iVar9;\n        local_70 = iVar9 + -2;\n      }\n      else {\n        local_70 = compute_code_target(*paren_targ);\n        local_70 = local_70 - settings.unindent_displace;\n        if (local_70 < 0) {\n          local_80 = 3;\n          bVar4 = true;\n          local_70 = 1;\n        }\n        else {\n          bVar4 = true;\n          local_80 = local_70 + 2;\n        }\n      }\n    }\n    else {\n      local_80 = 3;\n      bVar4 = true;\n      local_70 = 1;\n      local_74 = 0;\n    }\n  }\n  else {\n    if (parser_state_tos->decl_on_line == 0) {\n      if (else_or_endif == 0) {\n        local_70 = settings.com_ind;\n      }\n      else {\n        local_70 = settings.else_endif_col;\n      }\n    }\n    else {\n      local_70 = settings.decl_com_ind;\n    }\n    if (s_code == e_code) {\n      iVar10 = compute_label_target();\n    }\n    else {\n      iVar10 = compute_code_target(*paren_targ);\n      pcVar17 = pcVar13;\n    }\n    iVar10 = count_columns(iVar10,pcVar17,0);\n    if (local_70 <= iVar10) {\n      if (else_or_endif == 0 && settings.dont_tab_align_comments == 0) {\n        local_70 = (settings.tabsize - (iVar10 + -1) % settings.tabsize) + iVar10;\n      }\n      else {\n        local_70 = iVar10 + 1;\n        else_or_endif = 0;\n      }\n    }\n    bVar4 = false;\n    bVar15 = false;\n    local_74 = settings.format_comments;\n    local_80 = local_70 + 2;\n  }" if (parenthesized_expression "((s_lab == e_lab) && (s_code == e_code))" ( (binary_expression "(s_lab == e_lab) && (s_code == e_code)" (parenthesized_expression "(s_lab == e_lab)" ( (binary_expression "s_lab == e_lab" identifier == identifier) )) && (parenthesized_expression "(s_code == e_code)" ( (binary_expression "s_code == e_code" identifier == identifier) ))) )) (compound_statement "{\n    if ((parser_state_tos->col_1 == 0) || (settings.format_col1_comments != 0)) {\n      local_74 = settings.format_comments;\n      if ((parser_state_tos->ind_level < 1) &&\n         ((parser_state_tos->in_stmt == 0 ||\n          ((parser_state_tos->in_decl != '\0' && (parser_state_tos->paren_level == 0)))))) {\n        bVar4 = true;\n        local_80 = iVar9;\n        local_70 = iVar9 + -2;\n      }\n      else {\n        local_70 = compute_code_target(*paren_targ);\n        local_70 = local_70 - settings.unindent_displace;\n        if (local_70 < 0) {\n          local_80 = 3;\n          bVar4 = true;\n          local_70 = 1;\n        }\n        else {\n          bVar4 = true;\n          local_80 = local_70 + 2;\n        }\n      }\n    }\n    else {\n      local_80 = 3;\n      bVar4 = true;\n      local_70 = 1;\n      local_74 = 0;\n    }\n  }" { (if_statement "if ((parser_state_tos->col_1 == 0) || (settings.format_col1_comments != 0)) {\n      local_74 = settings.format_comments;\n      if ((parser_state_tos->ind_level < 1) &&\n         ((parser_state_tos->in_stmt == 0 ||\n          ((parser_state_tos->in_decl != '\0' && (parser_state_tos->paren_level == 0)))))) {\n        bVar4 = true;\n        local_80 = iVar9;\n        local_70 = iVar9 + -2;\n      }\n      else {\n        local_70 = compute_code_target(*paren_targ);\n        local_70 = local_70 - settings.unindent_displace;\n        if (local_70 < 0) {\n          local_80 = 3;\n          bVar4 = true;\n          local_70 = 1;\n        }\n        else {\n          bVar4 = true;\n          local_80 = local_70 + 2;\n        }\n      }\n    }\n    else {\n      local_80 = 3;\n      bVar4 = true;\n      local_70 = 1;\n      local_74 = 0;\n    }" if (parenthesized_expression "((parser_state_tos->col_1 == 0) || (settings.format_col1_comments != 0))" ( (binary_expression "(parser_state_tos->col_1 == 0) || (settings.format_col1_comments != 0)" (parenthesized_expression "(parser_state_tos->col_1 == 0)" ( (binary_expression "parser_state_tos->col_1 == 0" (field_expression "parser_state_tos->col_1" identifier -> field_identifier) == number_literal) )) || (parenthesized_expression "(settings.format_col1_comments != 0)" ( (binary_expression "settings.format_col1_comments != 0" (field_expression "settings.format_col1_comments" identifier . field_identifier) != number_literal) ))) )) (compound_statement "{\n      local_74 = settings.format_comments;\n      if ((parser_state_tos->ind_level < 1) &&\n         ((parser_state_tos->in_stmt == 0 ||\n          ((parser_state_tos->in_decl != '\0' && (parser_state_tos->paren_level == 0)))))) {\n        bVar4 = true;\n        local_80 = iVar9;\n        local_70 = iVar9 + -2;\n      }\n      else {\n        local_70 = compute_code_target(*paren_targ);\n        local_70 = local_70 - settings.unindent_displace;\n        if (local_70 < 0) {\n          local_80 = 3;\n          bVar4 = true;\n          local_70 = 1;\n        }\n        else {\n          bVar4 = true;\n          local_80 = local_70 + 2;\n        }\n      }\n    }" { (expression_statement "local_74 = settings.format_comments;" (assignment_expression "local_74 = settings.format_comments" identifier = (field_expression "settings.format_comments" identifier . field_identifier)) ;) (if_statement "if ((parser_state_tos->ind_level < 1) &&\n         ((parser_state_tos->in_stmt == 0 ||\n          ((parser_state_tos->in_decl != '\0' && (parser_state_tos->paren_level == 0)))))) {\n        bVar4 = true;\n        local_80 = iVar9;\n        local_70 = iVar9 + -2;\n      }\n      else {\n        local_70 = compute_code_target(*paren_targ);\n        local_70 = local_70 - settings.unindent_displace;\n        if (local_70 < 0) {\n          local_80 = 3;\n          bVar4 = true;\n          local_70 = 1;\n        }\n        else {\n          bVar4 = true;\n          local_80 = local_70 + 2;\n        }\n      }" if (parenthesized_expression "((parser_state_tos->ind_level < 1) &&\n         ((parser_state_tos->in_stmt == 0 ||\n          ((parser_state_tos->in_decl != '\0' && (parser_state_tos->paren_level == 0))))))" ( (binary_expression "(parser_state_tos->ind_level < 1) &&\n         ((parser_state_tos->in_stmt == 0 ||\n          ((parser_state_tos->in_decl != '\0' && (parser_state_tos->paren_level == 0)))))" (parenthesized_expression "(parser_state_tos->ind_level < 1)" ( (binary_expression "parser_state_tos->ind_level < 1" (field_expression "parser_state_tos->ind_level" identifier -> field_identifier) < number_literal) )) && (parenthesized_expression "((parser_state_tos->in_stmt == 0 ||\n          ((parser_state_tos->in_decl != '\0' && (parser_state_tos->paren_level == 0)))))" ( (parenthesized_expression "(parser_state_tos->in_stmt == 0 ||\n          ((parser_state_tos->in_decl != '\0' && (parser_state_tos->paren_level == 0))))" ( (binary_expression "parser_state_tos->in_stmt == 0 ||\n          ((parser_state_tos->in_decl != '\0' && (parser_state_tos->paren_level == 0)))" (binary_expression "parser_state_tos->in_stmt == 0" (field_expression "parser_state_tos->in_stmt" identifier -> field_identifier) == number_literal) || (parenthesized_expression "((parser_state_tos->in_decl != '\0' && (parser_state_tos->paren_level == 0)))" ( (parenthesized_expression "(parser_state_tos->in_decl != '\0' && (parser_state_tos->paren_level == 0))" ( (binary_expression "parser_state_tos->in_decl != '\0' && (parser_state_tos->paren_level == 0)" (binary_expression "parser_state_tos->in_decl != '\0'" (field_expression "parser_state_tos->in_decl" identifier -> field_identifier) != (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(parser_state_tos->paren_level == 0)" ( (binary_expression "parser_state_tos->paren_level == 0" (field_expression "parser_state_tos->paren_level" identifier -> field_identifier) == number_literal) ))) )) ))) )) ))) )) (compound_statement "{\n        bVar4 = true;\n        local_80 = iVar9;\n        local_70 = iVar9 + -2;\n      }" { (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) (expression_statement "local_80 = iVar9;" (assignment_expression "local_80 = iVar9" identifier = identifier) ;) (expression_statement "local_70 = iVar9 + -2;" (assignment_expression "local_70 = iVar9 + -2" identifier = (binary_expression "iVar9 + -2" identifier + number_literal)) ;) }) (else_clause "else {\n        local_70 = compute_code_target(*paren_targ);\n        local_70 = local_70 - settings.unindent_displace;\n        if (local_70 < 0) {\n          local_80 = 3;\n          bVar4 = true;\n          local_70 = 1;\n        }\n        else {\n          bVar4 = true;\n          local_80 = local_70 + 2;\n        }\n      }" else (compound_statement "{\n        local_70 = compute_code_target(*paren_targ);\n        local_70 = local_70 - settings.unindent_displace;\n        if (local_70 < 0) {\n          local_80 = 3;\n          bVar4 = true;\n          local_70 = 1;\n        }\n        else {\n          bVar4 = true;\n          local_80 = local_70 + 2;\n        }\n      }" { (expression_statement "local_70 = compute_code_target(*paren_targ);" (assignment_expression "local_70 = compute_code_target(*paren_targ)" identifier = (call_expression "compute_code_target(*paren_targ)" identifier (argument_list "(*paren_targ)" ( (pointer_expression "*paren_targ" * identifier) )))) ;) (expression_statement "local_70 = local_70 - settings.unindent_displace;" (assignment_expression "local_70 = local_70 - settings.unindent_displace" identifier = (binary_expression "local_70 - settings.unindent_displace" identifier - (field_expression "settings.unindent_displace" identifier . field_identifier))) ;) (if_statement "if (local_70 < 0) {\n          local_80 = 3;\n          bVar4 = true;\n          local_70 = 1;\n        }\n        else {\n          bVar4 = true;\n          local_80 = local_70 + 2;\n        }" if (parenthesized_expression "(local_70 < 0)" ( (binary_expression "local_70 < 0" identifier < number_literal) )) (compound_statement "{\n          local_80 = 3;\n          bVar4 = true;\n          local_70 = 1;\n        }" { (expression_statement "local_80 = 3;" (assignment_expression "local_80 = 3" identifier = number_literal) ;) (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) (expression_statement "local_70 = 1;" (assignment_expression "local_70 = 1" identifier = number_literal) ;) }) (else_clause "else {\n          bVar4 = true;\n          local_80 = local_70 + 2;\n        }" else (compound_statement "{\n          bVar4 = true;\n          local_80 = local_70 + 2;\n        }" { (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) (expression_statement "local_80 = local_70 + 2;" (assignment_expression "local_80 = local_70 + 2" identifier = (binary_expression "local_70 + 2" identifier + number_literal)) ;) }))) }))) }) (else_clause "else {\n      local_80 = 3;\n      bVar4 = true;\n      local_70 = 1;\n      local_74 = 0;\n    }" else (compound_statement "{\n      local_80 = 3;\n      bVar4 = true;\n      local_70 = 1;\n      local_74 = 0;\n    }" { (expression_statement "local_80 = 3;" (assignment_expression "local_80 = 3" identifier = number_literal) ;) (expression_statement "bVar4 = true;" (assignment_expression "bVar4 = true" identifier = true) ;) (expression_statement "local_70 = 1;" (assignment_expression "local_70 = 1" identifier = number_literal) ;) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" identifier = number_literal) ;) }))) }) (else_clause "else {\n    if (parser_state_tos->decl_on_line == 0) {\n      if (else_or_endif == 0) {\n        local_70 = settings.com_ind;\n      }\n      else {\n        local_70 = settings.else_endif_col;\n      }\n    }\n    else {\n      local_70 = settings.decl_com_ind;\n    }\n    if (s_code == e_code) {\n      iVar10 = compute_label_target();\n    }\n    else {\n      iVar10 = compute_code_target(*paren_targ);\n      pcVar17 = pcVar13;\n    }\n    iVar10 = count_columns(iVar10,pcVar17,0);\n    if (local_70 <= iVar10) {\n      if (else_or_endif == 0 && settings.dont_tab_align_comments == 0) {\n        local_70 = (settings.tabsize - (iVar10 + -1) % settings.tabsize) + iVar10;\n      }\n      else {\n        local_70 = iVar10 + 1;\n        else_or_endif = 0;\n      }\n    }\n    bVar4 = false;\n    bVar15 = false;\n    local_74 = settings.format_comments;\n    local_80 = local_70 + 2;\n  }" else (compound_statement "{\n    if (parser_state_tos->decl_on_line == 0) {\n      if (else_or_endif == 0) {\n        local_70 = settings.com_ind;\n      }\n      else {\n        local_70 = settings.else_endif_col;\n      }\n    }\n    else {\n      local_70 = settings.decl_com_ind;\n    }\n    if (s_code == e_code) {\n      iVar10 = compute_label_target();\n    }\n    else {\n      iVar10 = compute_code_target(*paren_targ);\n      pcVar17 = pcVar13;\n    }\n    iVar10 = count_columns(iVar10,pcVar17,0);\n    if (local_70 <= iVar10) {\n      if (else_or_endif == 0 && settings.dont_tab_align_comments == 0) {\n        local_70 = (settings.tabsize - (iVar10 + -1) % settings.tabsize) + iVar10;\n      }\n      else {\n        local_70 = iVar10 + 1;\n        else_or_endif = 0;\n      }\n    }\n    bVar4 = false;\n    bVar15 = false;\n    local_74 = settings.format_comments;\n    local_80 = local_70 + 2;\n  }" { (if_statement "if (parser_state_tos->decl_on_line == 0) {\n      if (else_or_endif == 0) {\n        local_70 = settings.com_ind;\n      }\n      else {\n        local_70 = settings.else_endif_col;\n      }\n    }\n    else {\n      local_70 = settings.decl_com_ind;\n    }" if (parenthesized_expression "(parser_state_tos->decl_on_line == 0)" ( (binary_expression "parser_state_tos->decl_on_line == 0" (field_expression "parser_state_tos->decl_on_line" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n      if (else_or_endif == 0) {\n        local_70 = settings.com_ind;\n      }\n      else {\n        local_70 = settings.else_endif_col;\n      }\n    }" { (if_statement "if (else_or_endif == 0) {\n        local_70 = settings.com_ind;\n      }\n      else {\n        local_70 = settings.else_endif_col;\n      }" if (parenthesized_expression "(else_or_endif == 0)" ( (binary_expression "else_or_endif == 0" identifier == number_literal) )) (compound_statement "{\n        local_70 = settings.com_ind;\n      }" { (expression_statement "local_70 = settings.com_ind;" (assignment_expression "local_70 = settings.com_ind" identifier = (field_expression "settings.com_ind" identifier . field_identifier)) ;) }) (else_clause "else {\n        local_70 = settings.else_endif_col;\n      }" else (compound_statement "{\n        local_70 = settings.else_endif_col;\n      }" { (expression_statement "local_70 = settings.else_endif_col;" (assignment_expression "local_70 = settings.else_endif_col" identifier = (field_expression "settings.else_endif_col" identifier . field_identifier)) ;) }))) }) (else_clause "else {\n      local_70 = settings.decl_com_ind;\n    }" else (compound_statement "{\n      local_70 = settings.decl_com_ind;\n    }" { (expression_statement "local_70 = settings.decl_com_ind;" (assignment_expression "local_70 = settings.decl_com_ind" identifier = (field_expression "settings.decl_com_ind" identifier . field_identifier)) ;) }))) (if_statement "if (s_code == e_code) {\n      iVar10 = compute_label_target();\n    }\n    else {\n      iVar10 = compute_code_target(*paren_targ);\n      pcVar17 = pcVar13;\n    }" if (parenthesized_expression "(s_code == e_code)" ( (binary_expression "s_code == e_code" identifier == identifier) )) (compound_statement "{\n      iVar10 = compute_label_target();\n    }" { (expression_statement "iVar10 = compute_label_target();" (assignment_expression "iVar10 = compute_label_target()" identifier = (call_expression "compute_label_target()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else {\n      iVar10 = compute_code_target(*paren_targ);\n      pcVar17 = pcVar13;\n    }" else (compound_statement "{\n      iVar10 = compute_code_target(*paren_targ);\n      pcVar17 = pcVar13;\n    }" { (expression_statement "iVar10 = compute_code_target(*paren_targ);" (assignment_expression "iVar10 = compute_code_target(*paren_targ)" identifier = (call_expression "compute_code_target(*paren_targ)" identifier (argument_list "(*paren_targ)" ( (pointer_expression "*paren_targ" * identifier) )))) ;) (expression_statement "pcVar17 = pcVar13;" (assignment_expression "pcVar17 = pcVar13" identifier = identifier) ;) }))) (expression_statement "iVar10 = count_columns(iVar10,pcVar17,0);" (assignment_expression "iVar10 = count_columns(iVar10,pcVar17,0)" identifier = (call_expression "count_columns(iVar10,pcVar17,0)" identifier (argument_list "(iVar10,pcVar17,0)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (local_70 <= iVar10) {\n      if (else_or_endif == 0 && settings.dont_tab_align_comments == 0) {\n        local_70 = (settings.tabsize - (iVar10 + -1) % settings.tabsize) + iVar10;\n      }\n      else {\n        local_70 = iVar10 + 1;\n        else_or_endif = 0;\n      }\n    }" if (parenthesized_expression "(local_70 <= iVar10)" ( (binary_expression "local_70 <= iVar10" identifier <= identifier) )) (compound_statement "{\n      if (else_or_endif == 0 && settings.dont_tab_align_comments == 0) {\n        local_70 = (settings.tabsize - (iVar10 + -1) % settings.tabsize) + iVar10;\n      }\n      else {\n        local_70 = iVar10 + 1;\n        else_or_endif = 0;\n      }\n    }" { (if_statement "if (else_or_endif == 0 && settings.dont_tab_align_comments == 0) {\n        local_70 = (settings.tabsize - (iVar10 + -1) % settings.tabsize) + iVar10;\n      }\n      else {\n        local_70 = iVar10 + 1;\n        else_or_endif = 0;\n      }" if (parenthesized_expression "(else_or_endif == 0 && settings.dont_tab_align_comments == 0)" ( (binary_expression "else_or_endif == 0 && settings.dont_tab_align_comments == 0" (binary_expression "else_or_endif == 0" identifier == number_literal) && (binary_expression "settings.dont_tab_align_comments == 0" (field_expression "settings.dont_tab_align_comments" identifier . field_identifier) == number_literal)) )) (compound_statement "{\n        local_70 = (settings.tabsize - (iVar10 + -1) % settings.tabsize) + iVar10;\n      }" { (expression_statement "local_70 = (settings.tabsize - (iVar10 + -1) % settings.tabsize) + iVar10;" (assignment_expression "local_70 = (settings.tabsize - (iVar10 + -1) % settings.tabsize) + iVar10" identifier = (binary_expression "(settings.tabsize - (iVar10 + -1) % settings.tabsize) + iVar10" (parenthesized_expression "(settings.tabsize - (iVar10 + -1) % settings.tabsize)" ( (binary_expression "settings.tabsize - (iVar10 + -1) % settings.tabsize" (field_expression "settings.tabsize" identifier . field_identifier) - (binary_expression "(iVar10 + -1) % settings.tabsize" (parenthesized_expression "(iVar10 + -1)" ( (binary_expression "iVar10 + -1" identifier + number_literal) )) % (field_expression "settings.tabsize" identifier . field_identifier))) )) + identifier)) ;) }) (else_clause "else {\n        local_70 = iVar10 + 1;\n        else_or_endif = 0;\n      }" else (compound_statement "{\n        local_70 = iVar10 + 1;\n        else_or_endif = 0;\n      }" { (expression_statement "local_70 = iVar10 + 1;" (assignment_expression "local_70 = iVar10 + 1" identifier = (binary_expression "iVar10 + 1" identifier + number_literal)) ;) (expression_statement "else_or_endif = 0;" (assignment_expression "else_or_endif = 0" identifier = number_literal) ;) }))) })) (expression_statement "bVar4 = false;" (assignment_expression "bVar4 = false" identifier = false) ;) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" identifier = false) ;) (expression_statement "local_74 = settings.format_comments;" (assignment_expression "local_74 = settings.format_comments" identifier = (field_expression "settings.format_comments" identifier . field_identifier)) ;) (expression_statement "local_80 = local_70 + 2;" (assignment_expression "local_80 = local_70 + 2" identifier = (binary_expression "local_70 + 2" identifier + number_literal)) ;) }))) (expression_statement "ppVar6 = parser_state_tos;" (assignment_expression "ppVar6 = parser_state_tos" identifier = identifier) ;) (if_statement "if (local_4c == (undefined *)0x0) {\n    if (local_84 == 0) {\n      local_4c = &DAT_00021226;\n      bVar5 = true;\n      local_48 = 3;\n    }\n    else {\n      local_4c = &DAT_00021222;\n      bVar5 = false;\n      local_48 = 3;\n    }\n  }" if (parenthesized_expression "(local_4c == (undefined *)0x0)" ( (binary_expression "local_4c == (undefined *)0x0" identifier == (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (local_84 == 0) {\n      local_4c = &DAT_00021226;\n      bVar5 = true;\n      local_48 = 3;\n    }\n    else {\n      local_4c = &DAT_00021222;\n      bVar5 = false;\n      local_48 = 3;\n    }\n  }" { (if_statement "if (local_84 == 0) {\n      local_4c = &DAT_00021226;\n      bVar5 = true;\n      local_48 = 3;\n    }\n    else {\n      local_4c = &DAT_00021222;\n      bVar5 = false;\n      local_48 = 3;\n    }" if (parenthesized_expression "(local_84 == 0)" ( (binary_expression "local_84 == 0" identifier == number_literal) )) (compound_statement "{\n      local_4c = &DAT_00021226;\n      bVar5 = true;\n      local_48 = 3;\n    }" { (expression_statement "local_4c = &DAT_00021226;" (assignment_expression "local_4c = &DAT_00021226" identifier = (pointer_expression "&DAT_00021226" & identifier)) ;) (expression_statement "bVar5 = true;" (assignment_expression "bVar5 = true" identifier = true) ;) (expression_statement "local_48 = 3;" (assignment_expression "local_48 = 3" identifier = number_literal) ;) }) (else_clause "else {\n      local_4c = &DAT_00021222;\n      bVar5 = false;\n      local_48 = 3;\n    }" else (compound_statement "{\n      local_4c = &DAT_00021222;\n      bVar5 = false;\n      local_48 = 3;\n    }" { (expression_statement "local_4c = &DAT_00021222;" (assignment_expression "local_4c = &DAT_00021222" identifier = (pointer_expression "&DAT_00021222" & identifier)) ;) (expression_statement "bVar5 = false;" (assignment_expression "bVar5 = false" identifier = false) ;) (expression_statement "local_48 = 3;" (assignment_expression "local_48 = 3" identifier = number_literal) ;) }))) })) (expression_statement "parser_state_tos->box_com = 0;" (assignment_expression "parser_state_tos->box_com = 0" (field_expression "parser_state_tos->box_com" identifier -> field_identifier) = number_literal) ;) (expression_statement "ppVar6->com_col = local_70;" (assignment_expression "ppVar6->com_col = local_70" (field_expression "ppVar6->com_col" identifier -> field_identifier) = identifier) ;) (expression_statement "pcVar13 = e_com + 1;" (assignment_expression "pcVar13 = e_com + 1" identifier = (binary_expression "e_com + 1" identifier + number_literal)) ;) (expression_statement "*e_com = '/';" (assignment_expression "*e_com = '/'" (pointer_expression "*e_com" * identifier) = (char_literal "'/'" ' character ')) ;) (expression_statement "e_com = pcVar13;" (assignment_expression "e_com = pcVar13" identifier = identifier) ;) (expression_statement "pcVar13 = e_com + 1;" (assignment_expression "pcVar13 = e_com + 1" identifier = (binary_expression "e_com + 1" identifier + number_literal)) ;) (expression_statement "*e_com = cVar14;" (assignment_expression "*e_com = cVar14" (pointer_expression "*e_com" * identifier) = identifier) ;) (expression_statement "e_com = pcVar13;" (assignment_expression "e_com = pcVar13" identifier = identifier) ;) (expression_statement "pcVar13 = buf_ptr;" (assignment_expression "pcVar13 = buf_ptr" identifier = identifier) ;) (if_statement "if (bVar15) {\n    *e_com = '\0';\n    dump_line(1,paren_targ,pbreak_line);\n    pcVar13 = skip_horiz_space(pcVar13);\n    if (*pcVar13 == '\n') {\n      pcVar13 = pcVar13 + 1;\n    }\n    else if (local_74 == 0) {\n      pcVar13 = buf_ptr;\n    }\n    buf_ptr = pcVar13;\n    if (buf_end <= buf_ptr) {\n      fill_buffer();\n    }\n    local_78 = (char *)0x0;\n    local_40 = 0;\n    local_54 = 0;\n    goto LAB_0001543c;\n  }" if (parenthesized_expression "(bVar15)" ( identifier )) (compound_statement "{\n    *e_com = '\0';\n    dump_line(1,paren_targ,pbreak_line);\n    pcVar13 = skip_horiz_space(pcVar13);\n    if (*pcVar13 == '\n') {\n      pcVar13 = pcVar13 + 1;\n    }\n    else if (local_74 == 0) {\n      pcVar13 = buf_ptr;\n    }\n    buf_ptr = pcVar13;\n    if (buf_end <= buf_ptr) {\n      fill_buffer();\n    }\n    local_78 = (char *)0x0;\n    local_40 = 0;\n    local_54 = 0;\n    goto LAB_0001543c;\n  }" { (expression_statement "*e_com = '\0';" (assignment_expression "*e_com = '\0'" (pointer_expression "*e_com" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "dump_line(1,paren_targ,pbreak_line);" (call_expression "dump_line(1,paren_targ,pbreak_line)" identifier (argument_list "(1,paren_targ,pbreak_line)" ( number_literal , identifier , identifier ))) ;) (expression_statement "pcVar13 = skip_horiz_space(pcVar13);" (assignment_expression "pcVar13 = skip_horiz_space(pcVar13)" identifier = (call_expression "skip_horiz_space(pcVar13)" identifier (argument_list "(pcVar13)" ( identifier )))) ;) (if_statement "if (*pcVar13 == '\n') {\n      pcVar13 = pcVar13 + 1;\n    }\n    else if (local_74 == 0) {\n      pcVar13 = buf_ptr;\n    }" if (parenthesized_expression "(*pcVar13 == '\n')" ( (binary_expression "*pcVar13 == '\n'" (pointer_expression "*pcVar13" * identifier) == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n      pcVar13 = pcVar13 + 1;\n    }" { (expression_statement "pcVar13 = pcVar13 + 1;" (assignment_expression "pcVar13 = pcVar13 + 1" identifier = (binary_expression "pcVar13 + 1" identifier + number_literal)) ;) }) (else_clause "else if (local_74 == 0) {\n      pcVar13 = buf_ptr;\n    }" else (if_statement "if (local_74 == 0) {\n      pcVar13 = buf_ptr;\n    }" if (parenthesized_expression "(local_74 == 0)" ( (binary_expression "local_74 == 0" identifier == number_literal) )) (compound_statement "{\n      pcVar13 = buf_ptr;\n    }" { (expression_statement "pcVar13 = buf_ptr;" (assignment_expression "pcVar13 = buf_ptr" identifier = identifier) ;) })))) (expression_statement "buf_ptr = pcVar13;" (assignment_expression "buf_ptr = pcVar13" identifier = identifier) ;) (if_statement "if (buf_end <= buf_ptr) {\n      fill_buffer();\n    }" if (parenthesized_expression "(buf_end <= buf_ptr)" ( (binary_expression "buf_end <= buf_ptr" identifier <= identifier) )) (compound_statement "{\n      fill_buffer();\n    }" { (expression_statement "fill_buffer();" (call_expression "fill_buffer()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_78 = (char *)0x0;" (assignment_expression "local_78 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0001543c;" goto statement_identifier ;) })) (if_statement "if (local_74 == 0) {\n    local_40 = 0;\n    local_54 = 0;\n    local_78 = (char *)0x0;\n  }\n  else {\n    pcVar13 = e_com + 1;\n    *e_com = ' ';\n    e_com = pcVar13;\n    local_80 = local_70 + 3;\n    skip_buffered_space();\n    local_78 = (char *)0x0;\n    local_40 = 0;\n    local_54 = 0;\n  }" if (parenthesized_expression "(local_74 == 0)" ( (binary_expression "local_74 == 0" identifier == number_literal) )) (compound_statement "{\n    local_40 = 0;\n    local_54 = 0;\n    local_78 = (char *)0x0;\n  }" { (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (expression_statement "local_78 = (char *)0x0;" (assignment_expression "local_78 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n    pcVar13 = e_com + 1;\n    *e_com = ' ';\n    e_com = pcVar13;\n    local_80 = local_70 + 3;\n    skip_buffered_space();\n    local_78 = (char *)0x0;\n    local_40 = 0;\n    local_54 = 0;\n  }" else (compound_statement "{\n    pcVar13 = e_com + 1;\n    *e_com = ' ';\n    e_com = pcVar13;\n    local_80 = local_70 + 3;\n    skip_buffered_space();\n    local_78 = (char *)0x0;\n    local_40 = 0;\n    local_54 = 0;\n  }" { (expression_statement "pcVar13 = e_com + 1;" (assignment_expression "pcVar13 = e_com + 1" identifier = (binary_expression "e_com + 1" identifier + number_literal)) ;) (expression_statement "*e_com = ' ';" (assignment_expression "*e_com = ' '" (pointer_expression "*e_com" * identifier) = (char_literal "' '" ' character ')) ;) (expression_statement "e_com = pcVar13;" (assignment_expression "e_com = pcVar13" identifier = identifier) ;) (expression_statement "local_80 = local_70 + 3;" (assignment_expression "local_80 = local_70 + 3" identifier = (binary_expression "local_70 + 3" identifier + number_literal)) ;) (expression_statement "skip_buffered_space();" (call_expression "skip_buffered_space()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_78 = (char *)0x0;" (assignment_expression "local_78 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) }))) (while_statement "while (had_eof == '\0') {\n    local_64 = (char *)0x0;\nLAB_00015228:\n    pcVar7 = local_78;\n    pcVar17 = s_com;\n    pcVar13 = l_com;\n    if (l_com + -1 <= e_com) {\n      combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x191 - (int)s_com)));\n      e_com = combuf + (int)(e_com + (1 - (int)s_com));\n      l_com = combuf + (int)(pcVar13 + (0x18c - (int)pcVar17));\n      s_com = combuf + 1;\n      cVar14 = *buf_ptr;\n      cVar3 = cVar14 + -10;\n      bVar15 = cVar3 == '\0';\n      if (!bVar15) goto LAB_0001524d;\nLAB_0001531c:\n      if (local_5c == 0x14) goto LAB_00015c4a;\n      if (local_74 == 0) {\n        local_78 = (char *)0x0;\n        bVar15 = false;\n        bVar16 = (bool)(pcVar7 == (char *)0x0 & bVar5);\n        goto LAB_00015630;\n      }\n      buf_ptr = buf_ptr + 1;\n      line_no = line_no + 1;\n      if (buf_end <= buf_ptr) {\n        fill_buffer();\n      }\n      if ((local_78 < local_64) && (local_64 < e_com)) {\n        e_com = local_64;\n      }\n      skip_buffered_space();\n      if (*buf_ptr == '\n') {\n        local_78 = (char *)0x0;\n        bVar15 = true;\n        bVar16 = (bool)(pcVar7 == (char *)0x0 & bVar5);\n        goto LAB_00015630;\n      }\n      if (local_78 == (char *)0x0) {\n        bVar15 = true;\n        bVar16 = bVar5;\n        goto LAB_00015630;\n      }\n      if ((((local_54 == 0) && (iVar10 = current_column(), iVar10 == iVar9 + -1)) &&\n          (*buf_ptr == '*')) && (buf_ptr[1] != '/')) {\n        buf_ptr = buf_ptr + 1;\n        if (buf_end <= buf_ptr) {\n          fill_buffer();\n        }\n        if ((*buf_ptr == ' ') && (buf_ptr = buf_ptr + 1, buf_end <= buf_ptr)) {\n          fill_buffer();\n        }\n      }\n      pcVar13 = e_com;\n      if (e_com[-1] != ' ') {\n        local_80 = local_80 + 1;\n        pcVar17 = e_com + 1;\n        *e_com = ' ';\n        e_com = pcVar17;\n        local_64 = pcVar13;\n      }\n      goto LAB_0001521b;\n    }\n    cVar14 = *buf_ptr;\n    cVar3 = cVar14 + -10;\n    bVar15 = cVar14 == '\n';\n    if (bVar15) goto LAB_0001531c;\nLAB_0001524d:\n    pcVar13 = e_com;\n    if (!bVar15 && SBORROW1(cVar14,'\n') == cVar3 < '\0') {\n      if (cVar14 == ' ') goto LAB_0001525c;\n      if ((cVar14 != '*') || (local_5c != 0x13)) {\nLAB_000151b8:\n        local_80 = local_80 + 1;\n        pcVar17 = e_com + 1;\n        *e_com = *buf_ptr;\n        e_com = pcVar17;\n        bVar15 = local_74 != 0;\n        local_78 = pcVar13;\n        goto LAB_000151d8;\n      }\n      if (buf_ptr[1] == '/') {\n        if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            if ((s_com == e_com) || (*s_com != '/')) {\n              e_com = s_com + 1;\n              *s_com = ' ';\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar4)) {\n            *e_com = '\0';\n            dump_line(1,paren_targ,pbreak_line);\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n            goto LAB_00015cc8;\n          }\n          if ((e_com[-1] != ' ') && (e_com[-1] != '\t')) {\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n          }\n        }\nLAB_00015cc8:\n        pcVar17 = s_com;\n        pcVar13 = l_com;\n        if (l_com + -3 <= e_com) {\n          combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x193 - (int)s_com)));\n          e_com = combuf + (int)(e_com + (1 - (int)s_com));\n          l_com = combuf + (int)(pcVar13 + (0x18e - (int)pcVar17));\n          s_com = combuf + 1;\n        }\n        pcVar13 = e_com + 1;\n        *e_com = '*';\n        e_com = pcVar13;\n        pcVar13 = e_com + 1;\n        *e_com = '/';\n        e_com = pcVar13;\n        *e_com = '\0';\n        buf_ptr = buf_ptr + 2;\n        buf_ptr = skip_horiz_space(buf_ptr);\n        if (buf_end <= buf_ptr) {\n          fill_buffer();\n        }\n        ppVar6 = parser_state_tos;\n        parser_state_tos->com_col = local_70;\n        piVar1 = &ppVar6->tos;\n        *piVar1 = *piVar1 + -1;\n        ppVar6->box_com = local_54;\n        return;\n      }\n      if ((com_lines + -1 != iVar8) || (e_com != s_com + local_48)) goto LAB_000151b8;\n      *s_com = ' ';\n      local_80 = (local_80 - local_48) + 2;\n      local_48 = 1;\n      local_4c = &DAT_00021228;\n      s_com[1] = '*';\n      local_78 = s_com + 2;\n      local_28 = 0;\n      local_54 = 1;\n      e_com = local_78;\nLAB_00015589:\n      local_74 = 0;\nLAB_000151f8:\n      if (*buf_ptr == '\n') {\n        line_no = line_no + 1;\n      }\n      buf_ptr = buf_ptr + 1;\n      if (buf_ptr == buf_end) {\n        fill_buffer();\n      }\nLAB_0001521b:\n      if (had_eof != '\0') goto LAB_000159db;\n      goto LAB_00015228;\n    }\n    if (cVar14 != '\t') goto LAB_000151b8;\nLAB_0001525c:\n    if (((local_74 == 0) || (pcVar13 = e_com, local_78 <= local_64)) &&\n       (pcVar13 = local_64, local_74 == 0)) {\n      if (cVar14 == ' ') {\n        local_80 = local_80 + 1;\n        pcVar13 = e_com + 1;\n        *e_com = ' ';\n        e_com = pcVar13;\n      }\n      else {\n        iVar10 = settings.tabsize - (((iVar9 + -2 + local_80) - local_70) + -1) % settings.tabsize;\n        local_80 = local_80 + iVar10;\n        if (l_com + -iVar10 <= e_com) {\n          pcVar13 = l_com + ((iVar10 + 400) - (int)s_com);\n          combuf = (char *)xrealloc(combuf,(uint)pcVar13);\n          e_com = combuf + (int)(e_com + (1 - (int)s_com));\n          l_com = combuf + (int)(pcVar13 + -5);\n          s_com = combuf + 1;\n        }\n        if (iVar10 == 0) goto LAB_00015589;\n        iVar11 = iVar10 + -2;\n        pcVar13 = e_com + 1;\n        *e_com = ' ';\n        e_com = pcVar13;\n        if (iVar10 != 1) {\n          do {\n            iVar11 = iVar11 + -1;\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n          } while (iVar11 != -1);\n        }\n      }\n      goto LAB_000151f8;\n    }\n    local_64 = pcVar13;\n    if (((s_com == e_com) || (e_com[-1] != ' ')) ||\n       ((s_com == e_com + -1 || (bVar15 = true, e_com[-2] == '.')))) {\n      local_80 = local_80 + 1;\n      bVar15 = true;\n      pcVar13 = e_com + 1;\n      *e_com = ' ';\n      e_com = pcVar13;\n    }\nLAB_000151d8:\n    if ((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar15)) goto LAB_000151f8;\n    if (local_64 < e_com + -1) {\n      *local_64 = '\0';\n      pcVar13 = e_com;\n      e_com = local_64;\n      local_40 = (int)pcVar13 - (int)(local_64 + 1);\n      iVar10 = local_80 - local_40;\n      if ((int)(local_80 - local_40) <= local_60) {\n        iVar10 = local_60;\n      }\n      bVar16 = local_78 == (char *)0x0;\n      bVar15 = false;\n      local_78 = local_64 + 1;\n      local_60 = iVar10;\n      bVar16 = (bool)(bVar16 & bVar5);\n      goto LAB_00015630;\n    }\n    if (local_5c == 0x14) {\n      pcVar13 = skip_horiz_space(buf_ptr);\n      buf_ptr = pcVar13 + -1;\n      if (pcVar13[-1] == '\n') {\nLAB_00015c4a:\n        ppVar6 = parser_state_tos;\n        pcVar13 = e_com;\n        parser_state_tos->com_col = local_70;\n        piVar1 = &ppVar6->tos;\n        *piVar1 = *piVar1 + -1;\n        ppVar6->box_com = local_54;\n        *pcVar13 = '\0';\n        return;\n      }\n    }\n    else {\n      while ((pcVar13 = buf_ptr, cVar14 = *pcVar13, (byte)(cVar14 - 9U) < 2 || (cVar14 == ' '))) {\n        if (cVar14 == '\n') {\n          line_no = line_no + 1;\n        }\n        buf_ptr = pcVar13 + 1;\n        if (buf_end <= pcVar13 + 1) {\n          buf_ptr = pcVar13 + 1;\n          fill_buffer();\n        }\n      }\n      buf_ptr = pcVar13 + -1;\n    }\n    *e_com = '\0';\nLAB_000159db:\n    pcVar13 = local_78;\n    local_78 = (char *)0x0;\n    bVar15 = false;\n    bVar16 = (bool)(pcVar13 == (char *)0x0 & bVar5);\nLAB_00015630:\n    if ((bVar16) && (com_lines != iVar8)) {\n      e_com = s_com;\n    }\n    *e_com = '\0';\n    dump_line(1,paren_targ,pbreak_line);\n    prefix_blankline_requested = 0;\n    if (!bVar15) {\n      if (*buf_ptr == '\n') {\n        line_no = line_no + 1;\n      }\n      buf_ptr = buf_ptr + 1;\n      if (buf_end <= buf_ptr) {\n        fill_buffer();\n      }\n    }\nLAB_0001543c:\n    if (had_eof != '\0') break;\n    local_80 = local_70;\n    if (local_48 != 0) {\n      if (l_com + -local_48 <= e_com) {\n        pcVar13 = l_com + ((local_48 + 400) - (int)s_com);\n        combuf = (char *)xrealloc(combuf,(uint)pcVar13);\n        e_com = combuf + (int)(e_com + (1 - (int)s_com));\n        l_com = combuf + (int)(pcVar13 + -5);\n        s_com = combuf + 1;\n      }\n      pcVar13 = e_com;\n      if (local_48 != 0) {\n        uVar12 = 0;\n        do {\n          pcVar13[uVar12] = local_4c[uVar12];\n          uVar12 = uVar12 + 1;\n        } while (uVar12 < local_48);\n      }\n      e_com = e_com + local_48;\n      local_80 = local_70 + local_48;\n    }\n    if (local_78 == (char *)0x0) {\n      skip_buffered_space();\n    }\n    else {\n      if ((*local_78 == ' ') || (*local_78 == '\t')) {\n        if (local_40 == 0) {\n          iVar10 = 0;\n          local_84 = 0;\n        }\n        else {\n          do {\n            local_78 = local_78 + 1;\n            local_40 = local_40 - 1;\n            if ((*local_78 != ' ') && (*local_78 != '\t')) {\n              local_80 = local_80 + local_40;\n              iVar10 = -local_40;\n              local_84 = local_40;\n              goto LAB_000158f3;\n            }\n          } while (local_40 != 0);\n          iVar10 = 0;\n          local_84 = 0;\n        }\n      }\n      else {\n        local_80 = local_80 + local_40;\n        local_84 = local_40;\n        iVar10 = -local_40;\n      }\nLAB_000158f3:\n      if (l_com + iVar10 <= e_com) {\n        pcVar13 = l_com + ((local_40 + 400) - (int)s_com);\n        combuf = (char *)xrealloc(combuf,(uint)pcVar13);\n        l_com = combuf + (int)(pcVar13 + -5);\n        e_com = combuf + (int)(e_com + (1 - (int)s_com));\n        s_com = combuf + 1;\n      }\n      memmove(e_com,local_78,local_84);\n      local_78 = e_com;\n      e_com = e_com + local_84;\n      local_40 = 0;\n    }\n  }" while (parenthesized_expression "(had_eof == '\0')" ( (binary_expression "had_eof == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    local_64 = (char *)0x0;\nLAB_00015228:\n    pcVar7 = local_78;\n    pcVar17 = s_com;\n    pcVar13 = l_com;\n    if (l_com + -1 <= e_com) {\n      combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x191 - (int)s_com)));\n      e_com = combuf + (int)(e_com + (1 - (int)s_com));\n      l_com = combuf + (int)(pcVar13 + (0x18c - (int)pcVar17));\n      s_com = combuf + 1;\n      cVar14 = *buf_ptr;\n      cVar3 = cVar14 + -10;\n      bVar15 = cVar3 == '\0';\n      if (!bVar15) goto LAB_0001524d;\nLAB_0001531c:\n      if (local_5c == 0x14) goto LAB_00015c4a;\n      if (local_74 == 0) {\n        local_78 = (char *)0x0;\n        bVar15 = false;\n        bVar16 = (bool)(pcVar7 == (char *)0x0 & bVar5);\n        goto LAB_00015630;\n      }\n      buf_ptr = buf_ptr + 1;\n      line_no = line_no + 1;\n      if (buf_end <= buf_ptr) {\n        fill_buffer();\n      }\n      if ((local_78 < local_64) && (local_64 < e_com)) {\n        e_com = local_64;\n      }\n      skip_buffered_space();\n      if (*buf_ptr == '\n') {\n        local_78 = (char *)0x0;\n        bVar15 = true;\n        bVar16 = (bool)(pcVar7 == (char *)0x0 & bVar5);\n        goto LAB_00015630;\n      }\n      if (local_78 == (char *)0x0) {\n        bVar15 = true;\n        bVar16 = bVar5;\n        goto LAB_00015630;\n      }\n      if ((((local_54 == 0) && (iVar10 = current_column(), iVar10 == iVar9 + -1)) &&\n          (*buf_ptr == '*')) && (buf_ptr[1] != '/')) {\n        buf_ptr = buf_ptr + 1;\n        if (buf_end <= buf_ptr) {\n          fill_buffer();\n        }\n        if ((*buf_ptr == ' ') && (buf_ptr = buf_ptr + 1, buf_end <= buf_ptr)) {\n          fill_buffer();\n        }\n      }\n      pcVar13 = e_com;\n      if (e_com[-1] != ' ') {\n        local_80 = local_80 + 1;\n        pcVar17 = e_com + 1;\n        *e_com = ' ';\n        e_com = pcVar17;\n        local_64 = pcVar13;\n      }\n      goto LAB_0001521b;\n    }\n    cVar14 = *buf_ptr;\n    cVar3 = cVar14 + -10;\n    bVar15 = cVar14 == '\n';\n    if (bVar15) goto LAB_0001531c;\nLAB_0001524d:\n    pcVar13 = e_com;\n    if (!bVar15 && SBORROW1(cVar14,'\n') == cVar3 < '\0') {\n      if (cVar14 == ' ') goto LAB_0001525c;\n      if ((cVar14 != '*') || (local_5c != 0x13)) {\nLAB_000151b8:\n        local_80 = local_80 + 1;\n        pcVar17 = e_com + 1;\n        *e_com = *buf_ptr;\n        e_com = pcVar17;\n        bVar15 = local_74 != 0;\n        local_78 = pcVar13;\n        goto LAB_000151d8;\n      }\n      if (buf_ptr[1] == '/') {\n        if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            if ((s_com == e_com) || (*s_com != '/')) {\n              e_com = s_com + 1;\n              *s_com = ' ';\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar4)) {\n            *e_com = '\0';\n            dump_line(1,paren_targ,pbreak_line);\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n            goto LAB_00015cc8;\n          }\n          if ((e_com[-1] != ' ') && (e_com[-1] != '\t')) {\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n          }\n        }\nLAB_00015cc8:\n        pcVar17 = s_com;\n        pcVar13 = l_com;\n        if (l_com + -3 <= e_com) {\n          combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x193 - (int)s_com)));\n          e_com = combuf + (int)(e_com + (1 - (int)s_com));\n          l_com = combuf + (int)(pcVar13 + (0x18e - (int)pcVar17));\n          s_com = combuf + 1;\n        }\n        pcVar13 = e_com + 1;\n        *e_com = '*';\n        e_com = pcVar13;\n        pcVar13 = e_com + 1;\n        *e_com = '/';\n        e_com = pcVar13;\n        *e_com = '\0';\n        buf_ptr = buf_ptr + 2;\n        buf_ptr = skip_horiz_space(buf_ptr);\n        if (buf_end <= buf_ptr) {\n          fill_buffer();\n        }\n        ppVar6 = parser_state_tos;\n        parser_state_tos->com_col = local_70;\n        piVar1 = &ppVar6->tos;\n        *piVar1 = *piVar1 + -1;\n        ppVar6->box_com = local_54;\n        return;\n      }\n      if ((com_lines + -1 != iVar8) || (e_com != s_com + local_48)) goto LAB_000151b8;\n      *s_com = ' ';\n      local_80 = (local_80 - local_48) + 2;\n      local_48 = 1;\n      local_4c = &DAT_00021228;\n      s_com[1] = '*';\n      local_78 = s_com + 2;\n      local_28 = 0;\n      local_54 = 1;\n      e_com = local_78;\nLAB_00015589:\n      local_74 = 0;\nLAB_000151f8:\n      if (*buf_ptr == '\n') {\n        line_no = line_no + 1;\n      }\n      buf_ptr = buf_ptr + 1;\n      if (buf_ptr == buf_end) {\n        fill_buffer();\n      }\nLAB_0001521b:\n      if (had_eof != '\0') goto LAB_000159db;\n      goto LAB_00015228;\n    }\n    if (cVar14 != '\t') goto LAB_000151b8;\nLAB_0001525c:\n    if (((local_74 == 0) || (pcVar13 = e_com, local_78 <= local_64)) &&\n       (pcVar13 = local_64, local_74 == 0)) {\n      if (cVar14 == ' ') {\n        local_80 = local_80 + 1;\n        pcVar13 = e_com + 1;\n        *e_com = ' ';\n        e_com = pcVar13;\n      }\n      else {\n        iVar10 = settings.tabsize - (((iVar9 + -2 + local_80) - local_70) + -1) % settings.tabsize;\n        local_80 = local_80 + iVar10;\n        if (l_com + -iVar10 <= e_com) {\n          pcVar13 = l_com + ((iVar10 + 400) - (int)s_com);\n          combuf = (char *)xrealloc(combuf,(uint)pcVar13);\n          e_com = combuf + (int)(e_com + (1 - (int)s_com));\n          l_com = combuf + (int)(pcVar13 + -5);\n          s_com = combuf + 1;\n        }\n        if (iVar10 == 0) goto LAB_00015589;\n        iVar11 = iVar10 + -2;\n        pcVar13 = e_com + 1;\n        *e_com = ' ';\n        e_com = pcVar13;\n        if (iVar10 != 1) {\n          do {\n            iVar11 = iVar11 + -1;\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n          } while (iVar11 != -1);\n        }\n      }\n      goto LAB_000151f8;\n    }\n    local_64 = pcVar13;\n    if (((s_com == e_com) || (e_com[-1] != ' ')) ||\n       ((s_com == e_com + -1 || (bVar15 = true, e_com[-2] == '.')))) {\n      local_80 = local_80 + 1;\n      bVar15 = true;\n      pcVar13 = e_com + 1;\n      *e_com = ' ';\n      e_com = pcVar13;\n    }\nLAB_000151d8:\n    if ((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar15)) goto LAB_000151f8;\n    if (local_64 < e_com + -1) {\n      *local_64 = '\0';\n      pcVar13 = e_com;\n      e_com = local_64;\n      local_40 = (int)pcVar13 - (int)(local_64 + 1);\n      iVar10 = local_80 - local_40;\n      if ((int)(local_80 - local_40) <= local_60) {\n        iVar10 = local_60;\n      }\n      bVar16 = local_78 == (char *)0x0;\n      bVar15 = false;\n      local_78 = local_64 + 1;\n      local_60 = iVar10;\n      bVar16 = (bool)(bVar16 & bVar5);\n      goto LAB_00015630;\n    }\n    if (local_5c == 0x14) {\n      pcVar13 = skip_horiz_space(buf_ptr);\n      buf_ptr = pcVar13 + -1;\n      if (pcVar13[-1] == '\n') {\nLAB_00015c4a:\n        ppVar6 = parser_state_tos;\n        pcVar13 = e_com;\n        parser_state_tos->com_col = local_70;\n        piVar1 = &ppVar6->tos;\n        *piVar1 = *piVar1 + -1;\n        ppVar6->box_com = local_54;\n        *pcVar13 = '\0';\n        return;\n      }\n    }\n    else {\n      while ((pcVar13 = buf_ptr, cVar14 = *pcVar13, (byte)(cVar14 - 9U) < 2 || (cVar14 == ' '))) {\n        if (cVar14 == '\n') {\n          line_no = line_no + 1;\n        }\n        buf_ptr = pcVar13 + 1;\n        if (buf_end <= pcVar13 + 1) {\n          buf_ptr = pcVar13 + 1;\n          fill_buffer();\n        }\n      }\n      buf_ptr = pcVar13 + -1;\n    }\n    *e_com = '\0';\nLAB_000159db:\n    pcVar13 = local_78;\n    local_78 = (char *)0x0;\n    bVar15 = false;\n    bVar16 = (bool)(pcVar13 == (char *)0x0 & bVar5);\nLAB_00015630:\n    if ((bVar16) && (com_lines != iVar8)) {\n      e_com = s_com;\n    }\n    *e_com = '\0';\n    dump_line(1,paren_targ,pbreak_line);\n    prefix_blankline_requested = 0;\n    if (!bVar15) {\n      if (*buf_ptr == '\n') {\n        line_no = line_no + 1;\n      }\n      buf_ptr = buf_ptr + 1;\n      if (buf_end <= buf_ptr) {\n        fill_buffer();\n      }\n    }\nLAB_0001543c:\n    if (had_eof != '\0') break;\n    local_80 = local_70;\n    if (local_48 != 0) {\n      if (l_com + -local_48 <= e_com) {\n        pcVar13 = l_com + ((local_48 + 400) - (int)s_com);\n        combuf = (char *)xrealloc(combuf,(uint)pcVar13);\n        e_com = combuf + (int)(e_com + (1 - (int)s_com));\n        l_com = combuf + (int)(pcVar13 + -5);\n        s_com = combuf + 1;\n      }\n      pcVar13 = e_com;\n      if (local_48 != 0) {\n        uVar12 = 0;\n        do {\n          pcVar13[uVar12] = local_4c[uVar12];\n          uVar12 = uVar12 + 1;\n        } while (uVar12 < local_48);\n      }\n      e_com = e_com + local_48;\n      local_80 = local_70 + local_48;\n    }\n    if (local_78 == (char *)0x0) {\n      skip_buffered_space();\n    }\n    else {\n      if ((*local_78 == ' ') || (*local_78 == '\t')) {\n        if (local_40 == 0) {\n          iVar10 = 0;\n          local_84 = 0;\n        }\n        else {\n          do {\n            local_78 = local_78 + 1;\n            local_40 = local_40 - 1;\n            if ((*local_78 != ' ') && (*local_78 != '\t')) {\n              local_80 = local_80 + local_40;\n              iVar10 = -local_40;\n              local_84 = local_40;\n              goto LAB_000158f3;\n            }\n          } while (local_40 != 0);\n          iVar10 = 0;\n          local_84 = 0;\n        }\n      }\n      else {\n        local_80 = local_80 + local_40;\n        local_84 = local_40;\n        iVar10 = -local_40;\n      }\nLAB_000158f3:\n      if (l_com + iVar10 <= e_com) {\n        pcVar13 = l_com + ((local_40 + 400) - (int)s_com);\n        combuf = (char *)xrealloc(combuf,(uint)pcVar13);\n        l_com = combuf + (int)(pcVar13 + -5);\n        e_com = combuf + (int)(e_com + (1 - (int)s_com));\n        s_com = combuf + 1;\n      }\n      memmove(e_com,local_78,local_84);\n      local_78 = e_com;\n      e_com = e_com + local_84;\n      local_40 = 0;\n    }\n  }" { (expression_statement "local_64 = (char *)0x0;" (assignment_expression "local_64 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (labeled_statement "LAB_00015228:\n    pcVar7 = local_78;" statement_identifier : (expression_statement "pcVar7 = local_78;" (assignment_expression "pcVar7 = local_78" identifier = identifier) ;)) (expression_statement "pcVar17 = s_com;" (assignment_expression "pcVar17 = s_com" identifier = identifier) ;) (expression_statement "pcVar13 = l_com;" (assignment_expression "pcVar13 = l_com" identifier = identifier) ;) (if_statement "if (l_com + -1 <= e_com) {\n      combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x191 - (int)s_com)));\n      e_com = combuf + (int)(e_com + (1 - (int)s_com));\n      l_com = combuf + (int)(pcVar13 + (0x18c - (int)pcVar17));\n      s_com = combuf + 1;\n      cVar14 = *buf_ptr;\n      cVar3 = cVar14 + -10;\n      bVar15 = cVar3 == '\0';\n      if (!bVar15) goto LAB_0001524d;\nLAB_0001531c:\n      if (local_5c == 0x14) goto LAB_00015c4a;\n      if (local_74 == 0) {\n        local_78 = (char *)0x0;\n        bVar15 = false;\n        bVar16 = (bool)(pcVar7 == (char *)0x0 & bVar5);\n        goto LAB_00015630;\n      }\n      buf_ptr = buf_ptr + 1;\n      line_no = line_no + 1;\n      if (buf_end <= buf_ptr) {\n        fill_buffer();\n      }\n      if ((local_78 < local_64) && (local_64 < e_com)) {\n        e_com = local_64;\n      }\n      skip_buffered_space();\n      if (*buf_ptr == '\n') {\n        local_78 = (char *)0x0;\n        bVar15 = true;\n        bVar16 = (bool)(pcVar7 == (char *)0x0 & bVar5);\n        goto LAB_00015630;\n      }\n      if (local_78 == (char *)0x0) {\n        bVar15 = true;\n        bVar16 = bVar5;\n        goto LAB_00015630;\n      }\n      if ((((local_54 == 0) && (iVar10 = current_column(), iVar10 == iVar9 + -1)) &&\n          (*buf_ptr == '*')) && (buf_ptr[1] != '/')) {\n        buf_ptr = buf_ptr + 1;\n        if (buf_end <= buf_ptr) {\n          fill_buffer();\n        }\n        if ((*buf_ptr == ' ') && (buf_ptr = buf_ptr + 1, buf_end <= buf_ptr)) {\n          fill_buffer();\n        }\n      }\n      pcVar13 = e_com;\n      if (e_com[-1] != ' ') {\n        local_80 = local_80 + 1;\n        pcVar17 = e_com + 1;\n        *e_com = ' ';\n        e_com = pcVar17;\n        local_64 = pcVar13;\n      }\n      goto LAB_0001521b;\n    }" if (parenthesized_expression "(l_com + -1 <= e_com)" ( (binary_expression "l_com + -1 <= e_com" (binary_expression "l_com + -1" identifier + number_literal) <= identifier) )) (compound_statement "{\n      combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x191 - (int)s_com)));\n      e_com = combuf + (int)(e_com + (1 - (int)s_com));\n      l_com = combuf + (int)(pcVar13 + (0x18c - (int)pcVar17));\n      s_com = combuf + 1;\n      cVar14 = *buf_ptr;\n      cVar3 = cVar14 + -10;\n      bVar15 = cVar3 == '\0';\n      if (!bVar15) goto LAB_0001524d;\nLAB_0001531c:\n      if (local_5c == 0x14) goto LAB_00015c4a;\n      if (local_74 == 0) {\n        local_78 = (char *)0x0;\n        bVar15 = false;\n        bVar16 = (bool)(pcVar7 == (char *)0x0 & bVar5);\n        goto LAB_00015630;\n      }\n      buf_ptr = buf_ptr + 1;\n      line_no = line_no + 1;\n      if (buf_end <= buf_ptr) {\n        fill_buffer();\n      }\n      if ((local_78 < local_64) && (local_64 < e_com)) {\n        e_com = local_64;\n      }\n      skip_buffered_space();\n      if (*buf_ptr == '\n') {\n        local_78 = (char *)0x0;\n        bVar15 = true;\n        bVar16 = (bool)(pcVar7 == (char *)0x0 & bVar5);\n        goto LAB_00015630;\n      }\n      if (local_78 == (char *)0x0) {\n        bVar15 = true;\n        bVar16 = bVar5;\n        goto LAB_00015630;\n      }\n      if ((((local_54 == 0) && (iVar10 = current_column(), iVar10 == iVar9 + -1)) &&\n          (*buf_ptr == '*')) && (buf_ptr[1] != '/')) {\n        buf_ptr = buf_ptr + 1;\n        if (buf_end <= buf_ptr) {\n          fill_buffer();\n        }\n        if ((*buf_ptr == ' ') && (buf_ptr = buf_ptr + 1, buf_end <= buf_ptr)) {\n          fill_buffer();\n        }\n      }\n      pcVar13 = e_com;\n      if (e_com[-1] != ' ') {\n        local_80 = local_80 + 1;\n        pcVar17 = e_com + 1;\n        *e_com = ' ';\n        e_com = pcVar17;\n        local_64 = pcVar13;\n      }\n      goto LAB_0001521b;\n    }" { (expression_statement "combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x191 - (int)s_com)));" (assignment_expression "combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x191 - (int)s_com)))" identifier = (cast_expression "(char *)xrealloc(combuf,(uint)(l_com + (0x191 - (int)s_com)))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xrealloc(combuf,(uint)(l_com + (0x191 - (int)s_com)))" identifier (argument_list "(combuf,(uint)(l_com + (0x191 - (int)s_com)))" ( identifier , (call_expression "(uint)(l_com + (0x191 - (int)s_com))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(l_com + (0x191 - (int)s_com))" ( (binary_expression "l_com + (0x191 - (int)s_com)" identifier + (parenthesized_expression "(0x191 - (int)s_com)" ( (binary_expression "0x191 - (int)s_com" number_literal - (cast_expression "(int)s_com" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) ))))) ;) (expression_statement "e_com = combuf + (int)(e_com + (1 - (int)s_com));" (assignment_expression "e_com = combuf + (int)(e_com + (1 - (int)s_com))" identifier = (binary_expression "combuf + (int)(e_com + (1 - (int)s_com))" identifier + (cast_expression "(int)(e_com + (1 - (int)s_com))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(e_com + (1 - (int)s_com))" ( (binary_expression "e_com + (1 - (int)s_com)" identifier + (parenthesized_expression "(1 - (int)s_com)" ( (binary_expression "1 - (int)s_com" number_literal - (cast_expression "(int)s_com" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))))) ;) (expression_statement "l_com = combuf + (int)(pcVar13 + (0x18c - (int)pcVar17));" (assignment_expression "l_com = combuf + (int)(pcVar13 + (0x18c - (int)pcVar17))" identifier = (binary_expression "combuf + (int)(pcVar13 + (0x18c - (int)pcVar17))" identifier + (cast_expression "(int)(pcVar13 + (0x18c - (int)pcVar17))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar13 + (0x18c - (int)pcVar17))" ( (binary_expression "pcVar13 + (0x18c - (int)pcVar17)" identifier + (parenthesized_expression "(0x18c - (int)pcVar17)" ( (binary_expression "0x18c - (int)pcVar17" number_literal - (cast_expression "(int)pcVar17" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))))) ;) (expression_statement "s_com = combuf + 1;" (assignment_expression "s_com = combuf + 1" identifier = (binary_expression "combuf + 1" identifier + number_literal)) ;) (expression_statement "cVar14 = *buf_ptr;" (assignment_expression "cVar14 = *buf_ptr" identifier = (pointer_expression "*buf_ptr" * identifier)) ;) (expression_statement "cVar3 = cVar14 + -10;" (assignment_expression "cVar3 = cVar14 + -10" identifier = (binary_expression "cVar14 + -10" identifier + number_literal)) ;) (expression_statement "bVar15 = cVar3 == '\0';" (assignment_expression "bVar15 = cVar3 == '\0'" identifier = (binary_expression "cVar3 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ;) (if_statement "if (!bVar15) goto LAB_0001524d;" if (parenthesized_expression "(!bVar15)" ( (unary_expression "!bVar15" ! identifier) )) (goto_statement "goto LAB_0001524d;" goto statement_identifier ;)) (labeled_statement "LAB_0001531c:\n      if (local_5c == 0x14) goto LAB_00015c4a;" statement_identifier : (if_statement "if (local_5c == 0x14) goto LAB_00015c4a;" if (parenthesized_expression "(local_5c == 0x14)" ( (binary_expression "local_5c == 0x14" identifier == number_literal) )) (goto_statement "goto LAB_00015c4a;" goto statement_identifier ;))) (if_statement "if (local_74 == 0) {\n        local_78 = (char *)0x0;\n        bVar15 = false;\n        bVar16 = (bool)(pcVar7 == (char *)0x0 & bVar5);\n        goto LAB_00015630;\n      }" if (parenthesized_expression "(local_74 == 0)" ( (binary_expression "local_74 == 0" identifier == number_literal) )) (compound_statement "{\n        local_78 = (char *)0x0;\n        bVar15 = false;\n        bVar16 = (bool)(pcVar7 == (char *)0x0 & bVar5);\n        goto LAB_00015630;\n      }" { (expression_statement "local_78 = (char *)0x0;" (assignment_expression "local_78 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" identifier = false) ;) (expression_statement "bVar16 = (bool)(pcVar7 == (char *)0x0 & bVar5);" (assignment_expression "bVar16 = (bool)(pcVar7 == (char *)0x0 & bVar5)" identifier = (cast_expression "(bool)(pcVar7 == (char *)0x0 & bVar5)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(pcVar7 == (char *)0x0 & bVar5)" ( (binary_expression "pcVar7 == (char *)0x0 & bVar5" (binary_expression "pcVar7 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) & identifier) )))) ;) (goto_statement "goto LAB_00015630;" goto statement_identifier ;) })) (expression_statement "buf_ptr = buf_ptr + 1;" (assignment_expression "buf_ptr = buf_ptr + 1" identifier = (binary_expression "buf_ptr + 1" identifier + number_literal)) ;) (expression_statement "line_no = line_no + 1;" (assignment_expression "line_no = line_no + 1" identifier = (binary_expression "line_no + 1" identifier + number_literal)) ;) (if_statement "if (buf_end <= buf_ptr) {\n        fill_buffer();\n      }" if (parenthesized_expression "(buf_end <= buf_ptr)" ( (binary_expression "buf_end <= buf_ptr" identifier <= identifier) )) (compound_statement "{\n        fill_buffer();\n      }" { (expression_statement "fill_buffer();" (call_expression "fill_buffer()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if ((local_78 < local_64) && (local_64 < e_com)) {\n        e_com = local_64;\n      }" if (parenthesized_expression "((local_78 < local_64) && (local_64 < e_com))" ( (binary_expression "(local_78 < local_64) && (local_64 < e_com)" (parenthesized_expression "(local_78 < local_64)" ( (binary_expression "local_78 < local_64" identifier < identifier) )) && (parenthesized_expression "(local_64 < e_com)" ( (binary_expression "local_64 < e_com" identifier < identifier) ))) )) (compound_statement "{\n        e_com = local_64;\n      }" { (expression_statement "e_com = local_64;" (assignment_expression "e_com = local_64" identifier = identifier) ;) })) (expression_statement "skip_buffered_space();" (call_expression "skip_buffered_space()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*buf_ptr == '\n') {\n        local_78 = (char *)0x0;\n        bVar15 = true;\n        bVar16 = (bool)(pcVar7 == (char *)0x0 & bVar5);\n        goto LAB_00015630;\n      }" if (parenthesized_expression "(*buf_ptr == '\n')" ( (binary_expression "*buf_ptr == '\n'" (pointer_expression "*buf_ptr" * identifier) == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n        local_78 = (char *)0x0;\n        bVar15 = true;\n        bVar16 = (bool)(pcVar7 == (char *)0x0 & bVar5);\n        goto LAB_00015630;\n      }" { (expression_statement "local_78 = (char *)0x0;" (assignment_expression "local_78 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "bVar15 = true;" (assignment_expression "bVar15 = true" identifier = true) ;) (expression_statement "bVar16 = (bool)(pcVar7 == (char *)0x0 & bVar5);" (assignment_expression "bVar16 = (bool)(pcVar7 == (char *)0x0 & bVar5)" identifier = (cast_expression "(bool)(pcVar7 == (char *)0x0 & bVar5)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(pcVar7 == (char *)0x0 & bVar5)" ( (binary_expression "pcVar7 == (char *)0x0 & bVar5" (binary_expression "pcVar7 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) & identifier) )))) ;) (goto_statement "goto LAB_00015630;" goto statement_identifier ;) })) (if_statement "if (local_78 == (char *)0x0) {\n        bVar15 = true;\n        bVar16 = bVar5;\n        goto LAB_00015630;\n      }" if (parenthesized_expression "(local_78 == (char *)0x0)" ( (binary_expression "local_78 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        bVar15 = true;\n        bVar16 = bVar5;\n        goto LAB_00015630;\n      }" { (expression_statement "bVar15 = true;" (assignment_expression "bVar15 = true" identifier = true) ;) (expression_statement "bVar16 = bVar5;" (assignment_expression "bVar16 = bVar5" identifier = identifier) ;) (goto_statement "goto LAB_00015630;" goto statement_identifier ;) })) (if_statement "if ((((local_54 == 0) && (iVar10 = current_column(), iVar10 == iVar9 + -1)) &&\n          (*buf_ptr == '*')) && (buf_ptr[1] != '/')) {\n        buf_ptr = buf_ptr + 1;\n        if (buf_end <= buf_ptr) {\n          fill_buffer();\n        }\n        if ((*buf_ptr == ' ') && (buf_ptr = buf_ptr + 1, buf_end <= buf_ptr)) {\n          fill_buffer();\n        }\n      }" if (parenthesized_expression "((((local_54 == 0) && (iVar10 = current_column(), iVar10 == iVar9 + -1)) &&\n          (*buf_ptr == '*')) && (buf_ptr[1] != '/'))" ( (binary_expression "(((local_54 == 0) && (iVar10 = current_column(), iVar10 == iVar9 + -1)) &&\n          (*buf_ptr == '*')) && (buf_ptr[1] != '/')" (parenthesized_expression "(((local_54 == 0) && (iVar10 = current_column(), iVar10 == iVar9 + -1)) &&\n          (*buf_ptr == '*'))" ( (binary_expression "((local_54 == 0) && (iVar10 = current_column(), iVar10 == iVar9 + -1)) &&\n          (*buf_ptr == '*')" (parenthesized_expression "((local_54 == 0) && (iVar10 = current_column(), iVar10 == iVar9 + -1))" ( (binary_expression "(local_54 == 0) && (iVar10 = current_column(), iVar10 == iVar9 + -1)" (parenthesized_expression "(local_54 == 0)" ( (binary_expression "local_54 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar10 = current_column(), iVar10 == iVar9 + -1)" ( (comma_expression "iVar10 = current_column(), iVar10 == iVar9 + -1" (assignment_expression "iVar10 = current_column()" identifier = (call_expression "current_column()" identifier (argument_list "()" ( )))) , (binary_expression "iVar10 == iVar9 + -1" identifier == (binary_expression "iVar9 + -1" identifier + number_literal))) ))) )) && (parenthesized_expression "(*buf_ptr == '*')" ( (binary_expression "*buf_ptr == '*'" (pointer_expression "*buf_ptr" * identifier) == (char_literal "'*'" ' character ')) ))) )) && (parenthesized_expression "(buf_ptr[1] != '/')" ( (binary_expression "buf_ptr[1] != '/'" (subscript_expression "buf_ptr[1]" identifier [ number_literal ]) != (char_literal "'/'" ' character ')) ))) )) (compound_statement "{\n        buf_ptr = buf_ptr + 1;\n        if (buf_end <= buf_ptr) {\n          fill_buffer();\n        }\n        if ((*buf_ptr == ' ') && (buf_ptr = buf_ptr + 1, buf_end <= buf_ptr)) {\n          fill_buffer();\n        }\n      }" { (expression_statement "buf_ptr = buf_ptr + 1;" (assignment_expression "buf_ptr = buf_ptr + 1" identifier = (binary_expression "buf_ptr + 1" identifier + number_literal)) ;) (if_statement "if (buf_end <= buf_ptr) {\n          fill_buffer();\n        }" if (parenthesized_expression "(buf_end <= buf_ptr)" ( (binary_expression "buf_end <= buf_ptr" identifier <= identifier) )) (compound_statement "{\n          fill_buffer();\n        }" { (expression_statement "fill_buffer();" (call_expression "fill_buffer()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if ((*buf_ptr == ' ') && (buf_ptr = buf_ptr + 1, buf_end <= buf_ptr)) {\n          fill_buffer();\n        }" if (parenthesized_expression "((*buf_ptr == ' ') && (buf_ptr = buf_ptr + 1, buf_end <= buf_ptr))" ( (binary_expression "(*buf_ptr == ' ') && (buf_ptr = buf_ptr + 1, buf_end <= buf_ptr)" (parenthesized_expression "(*buf_ptr == ' ')" ( (binary_expression "*buf_ptr == ' '" (pointer_expression "*buf_ptr" * identifier) == (char_literal "' '" ' character ')) )) && (parenthesized_expression "(buf_ptr = buf_ptr + 1, buf_end <= buf_ptr)" ( (comma_expression "buf_ptr = buf_ptr + 1, buf_end <= buf_ptr" (assignment_expression "buf_ptr = buf_ptr + 1" identifier = (binary_expression "buf_ptr + 1" identifier + number_literal)) , (binary_expression "buf_end <= buf_ptr" identifier <= identifier)) ))) )) (compound_statement "{\n          fill_buffer();\n        }" { (expression_statement "fill_buffer();" (call_expression "fill_buffer()" identifier (argument_list "()" ( ))) ;) })) })) (expression_statement "pcVar13 = e_com;" (assignment_expression "pcVar13 = e_com" identifier = identifier) ;) (if_statement "if (e_com[-1] != ' ') {\n        local_80 = local_80 + 1;\n        pcVar17 = e_com + 1;\n        *e_com = ' ';\n        e_com = pcVar17;\n        local_64 = pcVar13;\n      }" if (parenthesized_expression "(e_com[-1] != ' ')" ( (binary_expression "e_com[-1] != ' '" (subscript_expression "e_com[-1]" identifier [ number_literal ]) != (char_literal "' '" ' character ')) )) (compound_statement "{\n        local_80 = local_80 + 1;\n        pcVar17 = e_com + 1;\n        *e_com = ' ';\n        e_com = pcVar17;\n        local_64 = pcVar13;\n      }" { (expression_statement "local_80 = local_80 + 1;" (assignment_expression "local_80 = local_80 + 1" identifier = (binary_expression "local_80 + 1" identifier + number_literal)) ;) (expression_statement "pcVar17 = e_com + 1;" (assignment_expression "pcVar17 = e_com + 1" identifier = (binary_expression "e_com + 1" identifier + number_literal)) ;) (expression_statement "*e_com = ' ';" (assignment_expression "*e_com = ' '" (pointer_expression "*e_com" * identifier) = (char_literal "' '" ' character ')) ;) (expression_statement "e_com = pcVar17;" (assignment_expression "e_com = pcVar17" identifier = identifier) ;) (expression_statement "local_64 = pcVar13;" (assignment_expression "local_64 = pcVar13" identifier = identifier) ;) })) (goto_statement "goto LAB_0001521b;" goto statement_identifier ;) })) (expression_statement "cVar14 = *buf_ptr;" (assignment_expression "cVar14 = *buf_ptr" identifier = (pointer_expression "*buf_ptr" * identifier)) ;) (expression_statement "cVar3 = cVar14 + -10;" (assignment_expression "cVar3 = cVar14 + -10" identifier = (binary_expression "cVar14 + -10" identifier + number_literal)) ;) (expression_statement "bVar15 = cVar14 == '\n';" (assignment_expression "bVar15 = cVar14 == '\n'" identifier = (binary_expression "cVar14 == '\n'" identifier == (char_literal "'\n'" ' escape_sequence '))) ;) (if_statement "if (bVar15) goto LAB_0001531c;" if (parenthesized_expression "(bVar15)" ( identifier )) (goto_statement "goto LAB_0001531c;" goto statement_identifier ;)) (labeled_statement "LAB_0001524d:\n    pcVar13 = e_com;" statement_identifier : (expression_statement "pcVar13 = e_com;" (assignment_expression "pcVar13 = e_com" identifier = identifier) ;)) (if_statement "if (!bVar15 && SBORROW1(cVar14,'\n') == cVar3 < '\0') {\n      if (cVar14 == ' ') goto LAB_0001525c;\n      if ((cVar14 != '*') || (local_5c != 0x13)) {\nLAB_000151b8:\n        local_80 = local_80 + 1;\n        pcVar17 = e_com + 1;\n        *e_com = *buf_ptr;\n        e_com = pcVar17;\n        bVar15 = local_74 != 0;\n        local_78 = pcVar13;\n        goto LAB_000151d8;\n      }\n      if (buf_ptr[1] == '/') {\n        if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            if ((s_com == e_com) || (*s_com != '/')) {\n              e_com = s_com + 1;\n              *s_com = ' ';\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar4)) {\n            *e_com = '\0';\n            dump_line(1,paren_targ,pbreak_line);\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n            goto LAB_00015cc8;\n          }\n          if ((e_com[-1] != ' ') && (e_com[-1] != '\t')) {\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n          }\n        }\nLAB_00015cc8:\n        pcVar17 = s_com;\n        pcVar13 = l_com;\n        if (l_com + -3 <= e_com) {\n          combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x193 - (int)s_com)));\n          e_com = combuf + (int)(e_com + (1 - (int)s_com));\n          l_com = combuf + (int)(pcVar13 + (0x18e - (int)pcVar17));\n          s_com = combuf + 1;\n        }\n        pcVar13 = e_com + 1;\n        *e_com = '*';\n        e_com = pcVar13;\n        pcVar13 = e_com + 1;\n        *e_com = '/';\n        e_com = pcVar13;\n        *e_com = '\0';\n        buf_ptr = buf_ptr + 2;\n        buf_ptr = skip_horiz_space(buf_ptr);\n        if (buf_end <= buf_ptr) {\n          fill_buffer();\n        }\n        ppVar6 = parser_state_tos;\n        parser_state_tos->com_col = local_70;\n        piVar1 = &ppVar6->tos;\n        *piVar1 = *piVar1 + -1;\n        ppVar6->box_com = local_54;\n        return;\n      }\n      if ((com_lines + -1 != iVar8) || (e_com != s_com + local_48)) goto LAB_000151b8;\n      *s_com = ' ';\n      local_80 = (local_80 - local_48) + 2;\n      local_48 = 1;\n      local_4c = &DAT_00021228;\n      s_com[1] = '*';\n      local_78 = s_com + 2;\n      local_28 = 0;\n      local_54 = 1;\n      e_com = local_78;\nLAB_00015589:\n      local_74 = 0;\nLAB_000151f8:\n      if (*buf_ptr == '\n') {\n        line_no = line_no + 1;\n      }\n      buf_ptr = buf_ptr + 1;\n      if (buf_ptr == buf_end) {\n        fill_buffer();\n      }\nLAB_0001521b:\n      if (had_eof != '\0') goto LAB_000159db;\n      goto LAB_00015228;\n    }" if (parenthesized_expression "(!bVar15 && SBORROW1(cVar14,'\n') == cVar3 < '\0')" ( (binary_expression "!bVar15 && SBORROW1(cVar14,'\n') == cVar3 < '\0'" (unary_expression "!bVar15" ! identifier) && (binary_expression "SBORROW1(cVar14,'\n') == cVar3 < '\0'" (call_expression "SBORROW1(cVar14,'\n')" identifier (argument_list "(cVar14,'\n')" ( identifier , (char_literal "'\n'" ' escape_sequence ') ))) == (binary_expression "cVar3 < '\0'" identifier < (char_literal "'\0'" ' escape_sequence ')))) )) (compound_statement "{\n      if (cVar14 == ' ') goto LAB_0001525c;\n      if ((cVar14 != '*') || (local_5c != 0x13)) {\nLAB_000151b8:\n        local_80 = local_80 + 1;\n        pcVar17 = e_com + 1;\n        *e_com = *buf_ptr;\n        e_com = pcVar17;\n        bVar15 = local_74 != 0;\n        local_78 = pcVar13;\n        goto LAB_000151d8;\n      }\n      if (buf_ptr[1] == '/') {\n        if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            if ((s_com == e_com) || (*s_com != '/')) {\n              e_com = s_com + 1;\n              *s_com = ' ';\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar4)) {\n            *e_com = '\0';\n            dump_line(1,paren_targ,pbreak_line);\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n            goto LAB_00015cc8;\n          }\n          if ((e_com[-1] != ' ') && (e_com[-1] != '\t')) {\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n          }\n        }\nLAB_00015cc8:\n        pcVar17 = s_com;\n        pcVar13 = l_com;\n        if (l_com + -3 <= e_com) {\n          combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x193 - (int)s_com)));\n          e_com = combuf + (int)(e_com + (1 - (int)s_com));\n          l_com = combuf + (int)(pcVar13 + (0x18e - (int)pcVar17));\n          s_com = combuf + 1;\n        }\n        pcVar13 = e_com + 1;\n        *e_com = '*';\n        e_com = pcVar13;\n        pcVar13 = e_com + 1;\n        *e_com = '/';\n        e_com = pcVar13;\n        *e_com = '\0';\n        buf_ptr = buf_ptr + 2;\n        buf_ptr = skip_horiz_space(buf_ptr);\n        if (buf_end <= buf_ptr) {\n          fill_buffer();\n        }\n        ppVar6 = parser_state_tos;\n        parser_state_tos->com_col = local_70;\n        piVar1 = &ppVar6->tos;\n        *piVar1 = *piVar1 + -1;\n        ppVar6->box_com = local_54;\n        return;\n      }\n      if ((com_lines + -1 != iVar8) || (e_com != s_com + local_48)) goto LAB_000151b8;\n      *s_com = ' ';\n      local_80 = (local_80 - local_48) + 2;\n      local_48 = 1;\n      local_4c = &DAT_00021228;\n      s_com[1] = '*';\n      local_78 = s_com + 2;\n      local_28 = 0;\n      local_54 = 1;\n      e_com = local_78;\nLAB_00015589:\n      local_74 = 0;\nLAB_000151f8:\n      if (*buf_ptr == '\n') {\n        line_no = line_no + 1;\n      }\n      buf_ptr = buf_ptr + 1;\n      if (buf_ptr == buf_end) {\n        fill_buffer();\n      }\nLAB_0001521b:\n      if (had_eof != '\0') goto LAB_000159db;\n      goto LAB_00015228;\n    }" { (if_statement "if (cVar14 == ' ') goto LAB_0001525c;" if (parenthesized_expression "(cVar14 == ' ')" ( (binary_expression "cVar14 == ' '" identifier == (char_literal "' '" ' character ')) )) (goto_statement "goto LAB_0001525c;" goto statement_identifier ;)) (if_statement "if ((cVar14 != '*') || (local_5c != 0x13)) {\nLAB_000151b8:\n        local_80 = local_80 + 1;\n        pcVar17 = e_com + 1;\n        *e_com = *buf_ptr;\n        e_com = pcVar17;\n        bVar15 = local_74 != 0;\n        local_78 = pcVar13;\n        goto LAB_000151d8;\n      }" if (parenthesized_expression "((cVar14 != '*') || (local_5c != 0x13))" ( (binary_expression "(cVar14 != '*') || (local_5c != 0x13)" (parenthesized_expression "(cVar14 != '*')" ( (binary_expression "cVar14 != '*'" identifier != (char_literal "'*'" ' character ')) )) || (parenthesized_expression "(local_5c != 0x13)" ( (binary_expression "local_5c != 0x13" identifier != number_literal) ))) )) (compound_statement "{\nLAB_000151b8:\n        local_80 = local_80 + 1;\n        pcVar17 = e_com + 1;\n        *e_com = *buf_ptr;\n        e_com = pcVar17;\n        bVar15 = local_74 != 0;\n        local_78 = pcVar13;\n        goto LAB_000151d8;\n      }" { (labeled_statement "LAB_000151b8:\n        local_80 = local_80 + 1;" statement_identifier : (expression_statement "local_80 = local_80 + 1;" (assignment_expression "local_80 = local_80 + 1" identifier = (binary_expression "local_80 + 1" identifier + number_literal)) ;)) (expression_statement "pcVar17 = e_com + 1;" (assignment_expression "pcVar17 = e_com + 1" identifier = (binary_expression "e_com + 1" identifier + number_literal)) ;) (expression_statement "*e_com = *buf_ptr;" (assignment_expression "*e_com = *buf_ptr" (pointer_expression "*e_com" * identifier) = (pointer_expression "*buf_ptr" * identifier)) ;) (expression_statement "e_com = pcVar17;" (assignment_expression "e_com = pcVar17" identifier = identifier) ;) (expression_statement "bVar15 = local_74 != 0;" (assignment_expression "bVar15 = local_74 != 0" identifier = (binary_expression "local_74 != 0" identifier != number_literal)) ;) (expression_statement "local_78 = pcVar13;" (assignment_expression "local_78 = pcVar13" identifier = identifier) ;) (goto_statement "goto LAB_000151d8;" goto statement_identifier ;) })) (if_statement "if (buf_ptr[1] == '/') {\n        if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            if ((s_com == e_com) || (*s_com != '/')) {\n              e_com = s_com + 1;\n              *s_com = ' ';\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar4)) {\n            *e_com = '\0';\n            dump_line(1,paren_targ,pbreak_line);\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n            goto LAB_00015cc8;\n          }\n          if ((e_com[-1] != ' ') && (e_com[-1] != '\t')) {\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n          }\n        }\nLAB_00015cc8:\n        pcVar17 = s_com;\n        pcVar13 = l_com;\n        if (l_com + -3 <= e_com) {\n          combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x193 - (int)s_com)));\n          e_com = combuf + (int)(e_com + (1 - (int)s_com));\n          l_com = combuf + (int)(pcVar13 + (0x18e - (int)pcVar17));\n          s_com = combuf + 1;\n        }\n        pcVar13 = e_com + 1;\n        *e_com = '*';\n        e_com = pcVar13;\n        pcVar13 = e_com + 1;\n        *e_com = '/';\n        e_com = pcVar13;\n        *e_com = '\0';\n        buf_ptr = buf_ptr + 2;\n        buf_ptr = skip_horiz_space(buf_ptr);\n        if (buf_end <= buf_ptr) {\n          fill_buffer();\n        }\n        ppVar6 = parser_state_tos;\n        parser_state_tos->com_col = local_70;\n        piVar1 = &ppVar6->tos;\n        *piVar1 = *piVar1 + -1;\n        ppVar6->box_com = local_54;\n        return;\n      }" if (parenthesized_expression "(buf_ptr[1] == '/')" ( (binary_expression "buf_ptr[1] == '/'" (subscript_expression "buf_ptr[1]" identifier [ number_literal ]) == (char_literal "'/'" ' character ')) )) (compound_statement "{\n        if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            if ((s_com == e_com) || (*s_com != '/')) {\n              e_com = s_com + 1;\n              *s_com = ' ';\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar4)) {\n            *e_com = '\0';\n            dump_line(1,paren_targ,pbreak_line);\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n            goto LAB_00015cc8;\n          }\n          if ((e_com[-1] != ' ') && (e_com[-1] != '\t')) {\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n          }\n        }\nLAB_00015cc8:\n        pcVar17 = s_com;\n        pcVar13 = l_com;\n        if (l_com + -3 <= e_com) {\n          combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x193 - (int)s_com)));\n          e_com = combuf + (int)(e_com + (1 - (int)s_com));\n          l_com = combuf + (int)(pcVar13 + (0x18e - (int)pcVar17));\n          s_com = combuf + 1;\n        }\n        pcVar13 = e_com + 1;\n        *e_com = '*';\n        e_com = pcVar13;\n        pcVar13 = e_com + 1;\n        *e_com = '/';\n        e_com = pcVar13;\n        *e_com = '\0';\n        buf_ptr = buf_ptr + 2;\n        buf_ptr = skip_horiz_space(buf_ptr);\n        if (buf_end <= buf_ptr) {\n          fill_buffer();\n        }\n        ppVar6 = parser_state_tos;\n        parser_state_tos->com_col = local_70;\n        piVar1 = &ppVar6->tos;\n        *piVar1 = *piVar1 + -1;\n        ppVar6->box_com = local_54;\n        return;\n      }" { (if_statement "if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            if ((s_com == e_com) || (*s_com != '/')) {\n              e_com = s_com + 1;\n              *s_com = ' ';\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar4)) {\n            *e_com = '\0';\n            dump_line(1,paren_targ,pbreak_line);\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n            goto LAB_00015cc8;\n          }\n          if ((e_com[-1] != ' ') && (e_com[-1] != '\t')) {\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n          }\n        }" if (parenthesized_expression "(local_54 == 0)" ( (binary_expression "local_54 == 0" identifier == number_literal) )) (compound_statement "{\n          if (local_78 == (char *)0x0) {\n            if ((s_com == e_com) || (*s_com != '/')) {\n              e_com = s_com + 1;\n              *s_com = ' ';\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar4)) {\n            *e_com = '\0';\n            dump_line(1,paren_targ,pbreak_line);\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n            goto LAB_00015cc8;\n          }\n          if ((e_com[-1] != ' ') && (e_com[-1] != '\t')) {\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n          }\n        }" { (if_statement "if (local_78 == (char *)0x0) {\n            if ((s_com == e_com) || (*s_com != '/')) {\n              e_com = s_com + 1;\n              *s_com = ' ';\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar4)) {\n            *e_com = '\0';\n            dump_line(1,paren_targ,pbreak_line);\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n            goto LAB_00015cc8;\n          }" if (parenthesized_expression "(local_78 == (char *)0x0)" ( (binary_expression "local_78 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            if ((s_com == e_com) || (*s_com != '/')) {\n              e_com = s_com + 1;\n              *s_com = ' ';\n              goto LAB_00015cc8;\n            }\n          }" { (if_statement "if ((s_com == e_com) || (*s_com != '/')) {\n              e_com = s_com + 1;\n              *s_com = ' ';\n              goto LAB_00015cc8;\n            }" if (parenthesized_expression "((s_com == e_com) || (*s_com != '/'))" ( (binary_expression "(s_com == e_com) || (*s_com != '/')" (parenthesized_expression "(s_com == e_com)" ( (binary_expression "s_com == e_com" identifier == identifier) )) || (parenthesized_expression "(*s_com != '/')" ( (binary_expression "*s_com != '/'" (pointer_expression "*s_com" * identifier) != (char_literal "'/'" ' character ')) ))) )) (compound_statement "{\n              e_com = s_com + 1;\n              *s_com = ' ';\n              goto LAB_00015cc8;\n            }" { (expression_statement "e_com = s_com + 1;" (assignment_expression "e_com = s_com + 1" identifier = (binary_expression "s_com + 1" identifier + number_literal)) ;) (expression_statement "*s_com = ' ';" (assignment_expression "*s_com = ' '" (pointer_expression "*s_com" * identifier) = (char_literal "' '" ' character ')) ;) (goto_statement "goto LAB_00015cc8;" goto statement_identifier ;) })) }) (else_clause "else if ((local_28 != 0) && (bVar4)) {\n            *e_com = '\0';\n            dump_line(1,paren_targ,pbreak_line);\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n            goto LAB_00015cc8;\n          }" else (if_statement "if ((local_28 != 0) && (bVar4)) {\n            *e_com = '\0';\n            dump_line(1,paren_targ,pbreak_line);\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n            goto LAB_00015cc8;\n          }" if (parenthesized_expression "((local_28 != 0) && (bVar4))" ( (binary_expression "(local_28 != 0) && (bVar4)" (parenthesized_expression "(local_28 != 0)" ( (binary_expression "local_28 != 0" identifier != number_literal) )) && (parenthesized_expression "(bVar4)" ( identifier ))) )) (compound_statement "{\n            *e_com = '\0';\n            dump_line(1,paren_targ,pbreak_line);\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n            goto LAB_00015cc8;\n          }" { (expression_statement "*e_com = '\0';" (assignment_expression "*e_com = '\0'" (pointer_expression "*e_com" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "dump_line(1,paren_targ,pbreak_line);" (call_expression "dump_line(1,paren_targ,pbreak_line)" identifier (argument_list "(1,paren_targ,pbreak_line)" ( number_literal , identifier , identifier ))) ;) (expression_statement "pcVar13 = e_com + 1;" (assignment_expression "pcVar13 = e_com + 1" identifier = (binary_expression "e_com + 1" identifier + number_literal)) ;) (expression_statement "*e_com = ' ';" (assignment_expression "*e_com = ' '" (pointer_expression "*e_com" * identifier) = (char_literal "' '" ' character ')) ;) (expression_statement "e_com = pcVar13;" (assignment_expression "e_com = pcVar13" identifier = identifier) ;) (goto_statement "goto LAB_00015cc8;" goto statement_identifier ;) })))) (if_statement "if ((e_com[-1] != ' ') && (e_com[-1] != '\t')) {\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n          }" if (parenthesized_expression "((e_com[-1] != ' ') && (e_com[-1] != '\t'))" ( (binary_expression "(e_com[-1] != ' ') && (e_com[-1] != '\t')" (parenthesized_expression "(e_com[-1] != ' ')" ( (binary_expression "e_com[-1] != ' '" (subscript_expression "e_com[-1]" identifier [ number_literal ]) != (char_literal "' '" ' character ')) )) && (parenthesized_expression "(e_com[-1] != '\t')" ( (binary_expression "e_com[-1] != '\t'" (subscript_expression "e_com[-1]" identifier [ number_literal ]) != (char_literal "'\t'" ' escape_sequence ')) ))) )) (compound_statement "{\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n          }" { (expression_statement "pcVar13 = e_com + 1;" (assignment_expression "pcVar13 = e_com + 1" identifier = (binary_expression "e_com + 1" identifier + number_literal)) ;) (expression_statement "*e_com = ' ';" (assignment_expression "*e_com = ' '" (pointer_expression "*e_com" * identifier) = (char_literal "' '" ' character ')) ;) (expression_statement "e_com = pcVar13;" (assignment_expression "e_com = pcVar13" identifier = identifier) ;) })) })) (labeled_statement "LAB_00015cc8:\n        pcVar17 = s_com;" statement_identifier : (expression_statement "pcVar17 = s_com;" (assignment_expression "pcVar17 = s_com" identifier = identifier) ;)) (expression_statement "pcVar13 = l_com;" (assignment_expression "pcVar13 = l_com" identifier = identifier) ;) (if_statement "if (l_com + -3 <= e_com) {\n          combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x193 - (int)s_com)));\n          e_com = combuf + (int)(e_com + (1 - (int)s_com));\n          l_com = combuf + (int)(pcVar13 + (0x18e - (int)pcVar17));\n          s_com = combuf + 1;\n        }" if (parenthesized_expression "(l_com + -3 <= e_com)" ( (binary_expression "l_com + -3 <= e_com" (binary_expression "l_com + -3" identifier + number_literal) <= identifier) )) (compound_statement "{\n          combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x193 - (int)s_com)));\n          e_com = combuf + (int)(e_com + (1 - (int)s_com));\n          l_com = combuf + (int)(pcVar13 + (0x18e - (int)pcVar17));\n          s_com = combuf + 1;\n        }" { (expression_statement "combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x193 - (int)s_com)));" (assignment_expression "combuf = (char *)xrealloc(combuf,(uint)(l_com + (0x193 - (int)s_com)))" identifier = (cast_expression "(char *)xrealloc(combuf,(uint)(l_com + (0x193 - (int)s_com)))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xrealloc(combuf,(uint)(l_com + (0x193 - (int)s_com)))" identifier (argument_list "(combuf,(uint)(l_com + (0x193 - (int)s_com)))" ( identifier , (call_expression "(uint)(l_com + (0x193 - (int)s_com))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(l_com + (0x193 - (int)s_com))" ( (binary_expression "l_com + (0x193 - (int)s_com)" identifier + (parenthesized_expression "(0x193 - (int)s_com)" ( (binary_expression "0x193 - (int)s_com" number_literal - (cast_expression "(int)s_com" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))) ))))) ;) (expression_statement "e_com = combuf + (int)(e_com + (1 - (int)s_com));" (assignment_expression "e_com = combuf + (int)(e_com + (1 - (int)s_com))" identifier = (binary_expression "combuf + (int)(e_com + (1 - (int)s_com))" identifier + (cast_expression "(int)(e_com + (1 - (int)s_com))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(e_com + (1 - (int)s_com))" ( (binary_expression "e_com + (1 - (int)s_com)" identifier + (parenthesized_expression "(1 - (int)s_com)" ( (binary_expression "1 - (int)s_com" number_literal - (cast_expression "(int)s_com" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))))) ;) (expression_statement "l_com = combuf + (int)(pcVar13 + (0x18e - (int)pcVar17));" (assignment_expression "l_com = combuf + (int)(pcVar13 + (0x18e - (int)pcVar17))" identifier = (binary_expression "combuf + (int)(pcVar13 + (0x18e - (int)pcVar17))" identifier + (cast_expression "(int)(pcVar13 + (0x18e - (int)pcVar17))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar13 + (0x18e - (int)pcVar17))" ( (binary_expression "pcVar13 + (0x18e - (int)pcVar17)" identifier + (parenthesized_expression "(0x18e - (int)pcVar17)" ( (binary_expression "0x18e - (int)pcVar17" number_literal - (cast_expression "(int)pcVar17" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))))) ;) (expression_statement "s_com = combuf + 1;" (assignment_expression "s_com = combuf + 1" identifier = (binary_expression "combuf + 1" identifier + number_literal)) ;) })) (expression_statement "pcVar13 = e_com + 1;" (assignment_expression "pcVar13 = e_com + 1" identifier = (binary_expression "e_com + 1" identifier + number_literal)) ;) (expression_statement "*e_com = '*';" (assignment_expression "*e_com = '*'" (pointer_expression "*e_com" * identifier) = (char_literal "'*'" ' character ')) ;) (expression_statement "e_com = pcVar13;" (assignment_expression "e_com = pcVar13" identifier = identifier) ;) (expression_statement "pcVar13 = e_com + 1;" (assignment_expression "pcVar13 = e_com + 1" identifier = (binary_expression "e_com + 1" identifier + number_literal)) ;) (expression_statement "*e_com = '/';" (assignment_expression "*e_com = '/'" (pointer_expression "*e_com" * identifier) = (char_literal "'/'" ' character ')) ;) (expression_statement "e_com = pcVar13;" (assignment_expression "e_com = pcVar13" identifier = identifier) ;) (expression_statement "*e_com = '\0';" (assignment_expression "*e_com = '\0'" (pointer_expression "*e_com" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "buf_ptr = buf_ptr + 2;" (assignment_expression "buf_ptr = buf_ptr + 2" identifier = (binary_expression "buf_ptr + 2" identifier + number_literal)) ;) (expression_statement "buf_ptr = skip_horiz_space(buf_ptr);" (assignment_expression "buf_ptr = skip_horiz_space(buf_ptr)" identifier = (call_expression "skip_horiz_space(buf_ptr)" identifier (argument_list "(buf_ptr)" ( identifier )))) ;) (if_statement "if (buf_end <= buf_ptr) {\n          fill_buffer();\n        }" if (parenthesized_expression "(buf_end <= buf_ptr)" ( (binary_expression "buf_end <= buf_ptr" identifier <= identifier) )) (compound_statement "{\n          fill_buffer();\n        }" { (expression_statement "fill_buffer();" (call_expression "fill_buffer()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "ppVar6 = parser_state_tos;" (assignment_expression "ppVar6 = parser_state_tos" identifier = identifier) ;) (expression_statement "parser_state_tos->com_col = local_70;" (assignment_expression "parser_state_tos->com_col = local_70" (field_expression "parser_state_tos->com_col" identifier -> field_identifier) = identifier) ;) (expression_statement "piVar1 = &ppVar6->tos;" (assignment_expression "piVar1 = &ppVar6->tos" identifier = (pointer_expression "&ppVar6->tos" & (field_expression "ppVar6->tos" identifier -> field_identifier))) ;) (expression_statement "*piVar1 = *piVar1 + -1;" (assignment_expression "*piVar1 = *piVar1 + -1" (pointer_expression "*piVar1" * identifier) = (binary_expression "*piVar1 + -1" (pointer_expression "*piVar1" * identifier) + number_literal)) ;) (expression_statement "ppVar6->box_com = local_54;" (assignment_expression "ppVar6->box_com = local_54" (field_expression "ppVar6->box_com" identifier -> field_identifier) = identifier) ;) (return_statement "return;" return ;) })) (if_statement "if ((com_lines + -1 != iVar8) || (e_com != s_com + local_48)) goto LAB_000151b8;" if (parenthesized_expression "((com_lines + -1 != iVar8) || (e_com != s_com + local_48))" ( (binary_expression "(com_lines + -1 != iVar8) || (e_com != s_com + local_48)" (parenthesized_expression "(com_lines + -1 != iVar8)" ( (binary_expression "com_lines + -1 != iVar8" (binary_expression "com_lines + -1" identifier + number_literal) != identifier) )) || (parenthesized_expression "(e_com != s_com + local_48)" ( (binary_expression "e_com != s_com + local_48" identifier != (binary_expression "s_com + local_48" identifier + identifier)) ))) )) (goto_statement "goto LAB_000151b8;" goto statement_identifier ;)) (expression_statement "*s_com = ' ';" (assignment_expression "*s_com = ' '" (pointer_expression "*s_com" * identifier) = (char_literal "' '" ' character ')) ;) (expression_statement "local_80 = (local_80 - local_48) + 2;" (assignment_expression "local_80 = (local_80 - local_48) + 2" identifier = (binary_expression "(local_80 - local_48) + 2" (parenthesized_expression "(local_80 - local_48)" ( (binary_expression "local_80 - local_48" identifier - identifier) )) + number_literal)) ;) (expression_statement "local_48 = 1;" (assignment_expression "local_48 = 1" identifier = number_literal) ;) (expression_statement "local_4c = &DAT_00021228;" (assignment_expression "local_4c = &DAT_00021228" identifier = (pointer_expression "&DAT_00021228" & identifier)) ;) (expression_statement "s_com[1] = '*';" (assignment_expression "s_com[1] = '*'" (subscript_expression "s_com[1]" identifier [ number_literal ]) = (char_literal "'*'" ' character ')) ;) (expression_statement "local_78 = s_com + 2;" (assignment_expression "local_78 = s_com + 2" identifier = (binary_expression "s_com + 2" identifier + number_literal)) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_54 = 1;" (assignment_expression "local_54 = 1" identifier = number_literal) ;) (expression_statement "e_com = local_78;" (assignment_expression "e_com = local_78" identifier = identifier) ;) (labeled_statement "LAB_00015589:\n      local_74 = 0;" statement_identifier : (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" identifier = number_literal) ;)) (labeled_statement "LAB_000151f8:\n      if (*buf_ptr == '\n') {\n        line_no = line_no + 1;\n      }" statement_identifier : (if_statement "if (*buf_ptr == '\n') {\n        line_no = line_no + 1;\n      }" if (parenthesized_expression "(*buf_ptr == '\n')" ( (binary_expression "*buf_ptr == '\n'" (pointer_expression "*buf_ptr" * identifier) == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n        line_no = line_no + 1;\n      }" { (expression_statement "line_no = line_no + 1;" (assignment_expression "line_no = line_no + 1" identifier = (binary_expression "line_no + 1" identifier + number_literal)) ;) }))) (expression_statement "buf_ptr = buf_ptr + 1;" (assignment_expression "buf_ptr = buf_ptr + 1" identifier = (binary_expression "buf_ptr + 1" identifier + number_literal)) ;) (if_statement "if (buf_ptr == buf_end) {\n        fill_buffer();\n      }" if (parenthesized_expression "(buf_ptr == buf_end)" ( (binary_expression "buf_ptr == buf_end" identifier == identifier) )) (compound_statement "{\n        fill_buffer();\n      }" { (expression_statement "fill_buffer();" (call_expression "fill_buffer()" identifier (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_0001521b:\n      if (had_eof != '\0') goto LAB_000159db;" statement_identifier : (if_statement "if (had_eof != '\0') goto LAB_000159db;" if (parenthesized_expression "(had_eof != '\0')" ( (binary_expression "had_eof != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000159db;" goto statement_identifier ;))) (goto_statement "goto LAB_00015228;" goto statement_identifier ;) })) (if_statement "if (cVar14 != '\t') goto LAB_000151b8;" if (parenthesized_expression "(cVar14 != '\t')" ( (binary_expression "cVar14 != '\t'" identifier != (char_literal "'\t'" ' escape_sequence ')) )) (goto_statement "goto LAB_000151b8;" goto statement_identifier ;)) (labeled_statement "LAB_0001525c:\n    if (((local_74 == 0) || (pcVar13 = e_com, local_78 <= local_64)) &&\n       (pcVar13 = local_64, local_74 == 0)) {\n      if (cVar14 == ' ') {\n        local_80 = local_80 + 1;\n        pcVar13 = e_com + 1;\n        *e_com = ' ';\n        e_com = pcVar13;\n      }\n      else {\n        iVar10 = settings.tabsize - (((iVar9 + -2 + local_80) - local_70) + -1) % settings.tabsize;\n        local_80 = local_80 + iVar10;\n        if (l_com + -iVar10 <= e_com) {\n          pcVar13 = l_com + ((iVar10 + 400) - (int)s_com);\n          combuf = (char *)xrealloc(combuf,(uint)pcVar13);\n          e_com = combuf + (int)(e_com + (1 - (int)s_com));\n          l_com = combuf + (int)(pcVar13 + -5);\n          s_com = combuf + 1;\n        }\n        if (iVar10 == 0) goto LAB_00015589;\n        iVar11 = iVar10 + -2;\n        pcVar13 = e_com + 1;\n        *e_com = ' ';\n        e_com = pcVar13;\n        if (iVar10 != 1) {\n          do {\n            iVar11 = iVar11 + -1;\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n          } while (iVar11 != -1);\n        }\n      }\n      goto LAB_000151f8;\n    }" statement_identifier : (if_statement "if (((local_74 == 0) || (pcVar13 = e_com, local_78 <= local_64)) &&\n       (pcVar13 = local_64, local_74 == 0)) {\n      if (cVar14 == ' ') {\n        local_80 = local_80 + 1;\n        pcVar13 = e_com + 1;\n        *e_com = ' ';\n        e_com = pcVar13;\n      }\n      else {\n        iVar10 = settings.tabsize - (((iVar9 + -2 + local_80) - local_70) + -1) % settings.tabsize;\n        local_80 = local_80 + iVar10;\n        if (l_com + -iVar10 <= e_com) {\n          pcVar13 = l_com + ((iVar10 + 400) - (int)s_com);\n          combuf = (char *)xrealloc(combuf,(uint)pcVar13);\n          e_com = combuf + (int)(e_com + (1 - (int)s_com));\n          l_com = combuf + (int)(pcVar13 + -5);\n          s_com = combuf + 1;\n        }\n        if (iVar10 == 0) goto LAB_00015589;\n        iVar11 = iVar10 + -2;\n        pcVar13 = e_com + 1;\n        *e_com = ' ';\n        e_com = pcVar13;\n        if (iVar10 != 1) {\n          do {\n            iVar11 = iVar11 + -1;\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n          } while (iVar11 != -1);\n        }\n      }\n      goto LAB_000151f8;\n    }" if (parenthesized_expression "(((local_74 == 0) || (pcVar13 = e_com, local_78 <= local_64)) &&\n       (pcVar13 = local_64, local_74 == 0))" ( (binary_expression "((local_74 == 0) || (pcVar13 = e_com, local_78 <= local_64)) &&\n       (pcVar13 = local_64, local_74 == 0)" (parenthesized_expression "((local_74 == 0) || (pcVar13 = e_com, local_78 <= local_64))" ( (binary_expression "(local_74 == 0) || (pcVar13 = e_com, local_78 <= local_64)" (parenthesized_expression "(local_74 == 0)" ( (binary_expression "local_74 == 0" identifier == number_literal) )) || (parenthesized_expression "(pcVar13 = e_com, local_78 <= local_64)" ( (comma_expression "pcVar13 = e_com, local_78 <= local_64" (assignment_expression "pcVar13 = e_com" identifier = identifier) , (binary_expression "local_78 <= local_64" identifier <= identifier)) ))) )) && (parenthesized_expression "(pcVar13 = local_64, local_74 == 0)" ( (comma_expression "pcVar13 = local_64, local_74 == 0" (assignment_expression "pcVar13 = local_64" identifier = identifier) , (binary_expression "local_74 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      if (cVar14 == ' ') {\n        local_80 = local_80 + 1;\n        pcVar13 = e_com + 1;\n        *e_com = ' ';\n        e_com = pcVar13;\n      }\n      else {\n        iVar10 = settings.tabsize - (((iVar9 + -2 + local_80) - local_70) + -1) % settings.tabsize;\n        local_80 = local_80 + iVar10;\n        if (l_com + -iVar10 <= e_com) {\n          pcVar13 = l_com + ((iVar10 + 400) - (int)s_com);\n          combuf = (char *)xrealloc(combuf,(uint)pcVar13);\n          e_com = combuf + (int)(e_com + (1 - (int)s_com));\n          l_com = combuf + (int)(pcVar13 + -5);\n          s_com = combuf + 1;\n        }\n        if (iVar10 == 0) goto LAB_00015589;\n        iVar11 = iVar10 + -2;\n        pcVar13 = e_com + 1;\n        *e_com = ' ';\n        e_com = pcVar13;\n        if (iVar10 != 1) {\n          do {\n            iVar11 = iVar11 + -1;\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n          } while (iVar11 != -1);\n        }\n      }\n      goto LAB_000151f8;\n    }" { (if_statement "if (cVar14 == ' ') {\n        local_80 = local_80 + 1;\n        pcVar13 = e_com + 1;\n        *e_com = ' ';\n        e_com = pcVar13;\n      }\n      else {\n        iVar10 = settings.tabsize - (((iVar9 + -2 + local_80) - local_70) + -1) % settings.tabsize;\n        local_80 = local_80 + iVar10;\n        if (l_com + -iVar10 <= e_com) {\n          pcVar13 = l_com + ((iVar10 + 400) - (int)s_com);\n          combuf = (char *)xrealloc(combuf,(uint)pcVar13);\n          e_com = combuf + (int)(e_com + (1 - (int)s_com));\n          l_com = combuf + (int)(pcVar13 + -5);\n          s_com = combuf + 1;\n        }\n        if (iVar10 == 0) goto LAB_00015589;\n        iVar11 = iVar10 + -2;\n        pcVar13 = e_com + 1;\n        *e_com = ' ';\n        e_com = pcVar13;\n        if (iVar10 != 1) {\n          do {\n            iVar11 = iVar11 + -1;\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n          } while (iVar11 != -1);\n        }\n      }" if (parenthesized_expression "(cVar14 == ' ')" ( (binary_expression "cVar14 == ' '" identifier == (char_literal "' '" ' character ')) )) (compound_statement "{\n        local_80 = local_80 + 1;\n        pcVar13 = e_com + 1;\n        *e_com = ' ';\n        e_com = pcVar13;\n      }" { (expression_statement "local_80 = local_80 + 1;" (assignment_expression "local_80 = local_80 + 1" identifier = (binary_expression "local_80 + 1" identifier + number_literal)) ;) (expression_statement "pcVar13 = e_com + 1;" (assignment_expression "pcVar13 = e_com + 1" identifier = (binary_expression "e_com + 1" identifier + number_literal)) ;) (expression_statement "*e_com = ' ';" (assignment_expression "*e_com = ' '" (pointer_expression "*e_com" * identifier) = (char_literal "' '" ' character ')) ;) (expression_statement "e_com = pcVar13;" (assignment_expression "e_com = pcVar13" identifier = identifier) ;) }) (else_clause "else {\n        iVar10 = settings.tabsize - (((iVar9 + -2 + local_80) - local_70) + -1) % settings.tabsize;\n        local_80 = local_80 + iVar10;\n        if (l_com + -iVar10 <= e_com) {\n          pcVar13 = l_com + ((iVar10 + 400) - (int)s_com);\n          combuf = (char *)xrealloc(combuf,(uint)pcVar13);\n          e_com = combuf + (int)(e_com + (1 - (int)s_com));\n          l_com = combuf + (int)(pcVar13 + -5);\n          s_com = combuf + 1;\n        }\n        if (iVar10 == 0) goto LAB_00015589;\n        iVar11 = iVar10 + -2;\n        pcVar13 = e_com + 1;\n        *e_com = ' ';\n        e_com = pcVar13;\n        if (iVar10 != 1) {\n          do {\n            iVar11 = iVar11 + -1;\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n          } while (iVar11 != -1);\n        }\n      }" else (compound_statement "{\n        iVar10 = settings.tabsize - (((iVar9 + -2 + local_80) - local_70) + -1) % settings.tabsize;\n        local_80 = local_80 + iVar10;\n        if (l_com + -iVar10 <= e_com) {\n          pcVar13 = l_com + ((iVar10 + 400) - (int)s_com);\n          combuf = (char *)xrealloc(combuf,(uint)pcVar13);\n          e_com = combuf + (int)(e_com + (1 - (int)s_com));\n          l_com = combuf + (int)(pcVar13 + -5);\n          s_com = combuf + 1;\n        }\n        if (iVar10 == 0) goto LAB_00015589;\n        iVar11 = iVar10 + -2;\n        pcVar13 = e_com + 1;\n        *e_com = ' ';\n        e_com = pcVar13;\n        if (iVar10 != 1) {\n          do {\n            iVar11 = iVar11 + -1;\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n          } while (iVar11 != -1);\n        }\n      }" { (expression_statement "iVar10 = settings.tabsize - (((iVar9 + -2 + local_80) - local_70) + -1) % settings.tabsize;" (assignment_expression "iVar10 = settings.tabsize - (((iVar9 + -2 + local_80) - local_70) + -1) % settings.tabsize" identifier = (binary_expression "settings.tabsize - (((iVar9 + -2 + local_80) - local_70) + -1) % settings.tabsize" (field_expression "settings.tabsize" identifier . field_identifier) - (binary_expression "(((iVar9 + -2 + local_80) - local_70) + -1) % settings.tabsize" (parenthesized_expression "(((iVar9 + -2 + local_80) - local_70) + -1)" ( (binary_expression "((iVar9 + -2 + local_80) - local_70) + -1" (parenthesized_expression "((iVar9 + -2 + local_80) - local_70)" ( (binary_expression "(iVar9 + -2 + local_80) - local_70" (parenthesized_expression "(iVar9 + -2 + local_80)" ( (binary_expression "iVar9 + -2 + local_80" (binary_expression "iVar9 + -2" identifier + number_literal) + identifier) )) - identifier) )) + number_literal) )) % (field_expression "settings.tabsize" identifier . field_identifier)))) ;) (expression_statement "local_80 = local_80 + iVar10;" (assignment_expression "local_80 = local_80 + iVar10" identifier = (binary_expression "local_80 + iVar10" identifier + identifier)) ;) (if_statement "if (l_com + -iVar10 <= e_com) {\n          pcVar13 = l_com + ((iVar10 + 400) - (int)s_com);\n          combuf = (char *)xrealloc(combuf,(uint)pcVar13);\n          e_com = combuf + (int)(e_com + (1 - (int)s_com));\n          l_com = combuf + (int)(pcVar13 + -5);\n          s_com = combuf + 1;\n        }" if (parenthesized_expression "(l_com + -iVar10 <= e_com)" ( (binary_expression "l_com + -iVar10 <= e_com" (binary_expression "l_com + -iVar10" identifier + (unary_expression "-iVar10" - identifier)) <= identifier) )) (compound_statement "{\n          pcVar13 = l_com + ((iVar10 + 400) - (int)s_com);\n          combuf = (char *)xrealloc(combuf,(uint)pcVar13);\n          e_com = combuf + (int)(e_com + (1 - (int)s_com));\n          l_com = combuf + (int)(pcVar13 + -5);\n          s_com = combuf + 1;\n        }" { (expression_statement "pcVar13 = l_com + ((iVar10 + 400) - (int)s_com);" (assignment_expression "pcVar13 = l_com + ((iVar10 + 400) - (int)s_com)" identifier = (binary_expression "l_com + ((iVar10 + 400) - (int)s_com)" identifier + (parenthesized_expression "((iVar10 + 400) - (int)s_com)" ( (binary_expression "(iVar10 + 400) - (int)s_com" (parenthesized_expression "(iVar10 + 400)" ( (binary_expression "iVar10 + 400" identifier + number_literal) )) - (cast_expression "(int)s_com" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "combuf = (char *)xrealloc(combuf,(uint)pcVar13);" (assignment_expression "combuf = (char *)xrealloc(combuf,(uint)pcVar13)" identifier = (cast_expression "(char *)xrealloc(combuf,(uint)pcVar13)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xrealloc(combuf,(uint)pcVar13)" identifier (argument_list "(combuf,(uint)pcVar13)" ( identifier , (cast_expression "(uint)pcVar13" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) ;) (expression_statement "e_com = combuf + (int)(e_com + (1 - (int)s_com));" (assignment_expression "e_com = combuf + (int)(e_com + (1 - (int)s_com))" identifier = (binary_expression "combuf + (int)(e_com + (1 - (int)s_com))" identifier + (cast_expression "(int)(e_com + (1 - (int)s_com))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(e_com + (1 - (int)s_com))" ( (binary_expression "e_com + (1 - (int)s_com)" identifier + (parenthesized_expression "(1 - (int)s_com)" ( (binary_expression "1 - (int)s_com" number_literal - (cast_expression "(int)s_com" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))))) ;) (expression_statement "l_com = combuf + (int)(pcVar13 + -5);" (assignment_expression "l_com = combuf + (int)(pcVar13 + -5)" identifier = (binary_expression "combuf + (int)(pcVar13 + -5)" identifier + (cast_expression "(int)(pcVar13 + -5)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar13 + -5)" ( (binary_expression "pcVar13 + -5" identifier + number_literal) ))))) ;) (expression_statement "s_com = combuf + 1;" (assignment_expression "s_com = combuf + 1" identifier = (binary_expression "combuf + 1" identifier + number_literal)) ;) })) (if_statement "if (iVar10 == 0) goto LAB_00015589;" if (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00015589;" goto statement_identifier ;)) (expression_statement "iVar11 = iVar10 + -2;" (assignment_expression "iVar11 = iVar10 + -2" identifier = (binary_expression "iVar10 + -2" identifier + number_literal)) ;) (expression_statement "pcVar13 = e_com + 1;" (assignment_expression "pcVar13 = e_com + 1" identifier = (binary_expression "e_com + 1" identifier + number_literal)) ;) (expression_statement "*e_com = ' ';" (assignment_expression "*e_com = ' '" (pointer_expression "*e_com" * identifier) = (char_literal "' '" ' character ')) ;) (expression_statement "e_com = pcVar13;" (assignment_expression "e_com = pcVar13" identifier = identifier) ;) (if_statement "if (iVar10 != 1) {\n          do {\n            iVar11 = iVar11 + -1;\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n          } while (iVar11 != -1);\n        }" if (parenthesized_expression "(iVar10 != 1)" ( (binary_expression "iVar10 != 1" identifier != number_literal) )) (compound_statement "{\n          do {\n            iVar11 = iVar11 + -1;\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n          } while (iVar11 != -1);\n        }" { (do_statement "do {\n            iVar11 = iVar11 + -1;\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n          } while (iVar11 != -1);" do (compound_statement "{\n            iVar11 = iVar11 + -1;\n            pcVar13 = e_com + 1;\n            *e_com = ' ';\n            e_com = pcVar13;\n          }" { (expression_statement "iVar11 = iVar11 + -1;" (assignment_expression "iVar11 = iVar11 + -1" identifier = (binary_expression "iVar11 + -1" identifier + number_literal)) ;) (expression_statement "pcVar13 = e_com + 1;" (assignment_expression "pcVar13 = e_com + 1" identifier = (binary_expression "e_com + 1" identifier + number_literal)) ;) (expression_statement "*e_com = ' ';" (assignment_expression "*e_com = ' '" (pointer_expression "*e_com" * identifier) = (char_literal "' '" ' character ')) ;) (expression_statement "e_com = pcVar13;" (assignment_expression "e_com = pcVar13" identifier = identifier) ;) }) while (parenthesized_expression "(iVar11 != -1)" ( (binary_expression "iVar11 != -1" identifier != number_literal) )) ;) })) }))) (goto_statement "goto LAB_000151f8;" goto statement_identifier ;) }))) (expression_statement "local_64 = pcVar13;" (assignment_expression "local_64 = pcVar13" identifier = identifier) ;) (if_statement "if (((s_com == e_com) || (e_com[-1] != ' ')) ||\n       ((s_com == e_com + -1 || (bVar15 = true, e_com[-2] == '.')))) {\n      local_80 = local_80 + 1;\n      bVar15 = true;\n      pcVar13 = e_com + 1;\n      *e_com = ' ';\n      e_com = pcVar13;\n    }" if (parenthesized_expression "(((s_com == e_com) || (e_com[-1] != ' ')) ||\n       ((s_com == e_com + -1 || (bVar15 = true, e_com[-2] == '.'))))" ( (binary_expression "((s_com == e_com) || (e_com[-1] != ' ')) ||\n       ((s_com == e_com + -1 || (bVar15 = true, e_com[-2] == '.')))" (parenthesized_expression "((s_com == e_com) || (e_com[-1] != ' '))" ( (binary_expression "(s_com == e_com) || (e_com[-1] != ' ')" (parenthesized_expression "(s_com == e_com)" ( (binary_expression "s_com == e_com" identifier == identifier) )) || (parenthesized_expression "(e_com[-1] != ' ')" ( (binary_expression "e_com[-1] != ' '" (subscript_expression "e_com[-1]" identifier [ number_literal ]) != (char_literal "' '" ' character ')) ))) )) || (parenthesized_expression "((s_com == e_com + -1 || (bVar15 = true, e_com[-2] == '.')))" ( (parenthesized_expression "(s_com == e_com + -1 || (bVar15 = true, e_com[-2] == '.'))" ( (binary_expression "s_com == e_com + -1 || (bVar15 = true, e_com[-2] == '.')" (binary_expression "s_com == e_com + -1" identifier == (binary_expression "e_com + -1" identifier + number_literal)) || (parenthesized_expression "(bVar15 = true, e_com[-2] == '.')" ( (comma_expression "bVar15 = true, e_com[-2] == '.'" (assignment_expression "bVar15 = true" identifier = true) , (binary_expression "e_com[-2] == '.'" (subscript_expression "e_com[-2]" identifier [ number_literal ]) == (char_literal "'.'" ' character '))) ))) )) ))) )) (compound_statement "{\n      local_80 = local_80 + 1;\n      bVar15 = true;\n      pcVar13 = e_com + 1;\n      *e_com = ' ';\n      e_com = pcVar13;\n    }" { (expression_statement "local_80 = local_80 + 1;" (assignment_expression "local_80 = local_80 + 1" identifier = (binary_expression "local_80 + 1" identifier + number_literal)) ;) (expression_statement "bVar15 = true;" (assignment_expression "bVar15 = true" identifier = true) ;) (expression_statement "pcVar13 = e_com + 1;" (assignment_expression "pcVar13 = e_com + 1" identifier = (binary_expression "e_com + 1" identifier + number_literal)) ;) (expression_statement "*e_com = ' ';" (assignment_expression "*e_com = ' '" (pointer_expression "*e_com" * identifier) = (char_literal "' '" ' character ')) ;) (expression_statement "e_com = pcVar13;" (assignment_expression "e_com = pcVar13" identifier = identifier) ;) })) (labeled_statement "LAB_000151d8:\n    if ((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar15)) goto LAB_000151f8;" statement_identifier : (if_statement "if ((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar15)) goto LAB_000151f8;" if (parenthesized_expression "((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar15))" ( (binary_expression "(local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar15)" (parenthesized_expression "(local_80 <= local_60 || local_64 == (char *)0x0)" ( (binary_expression "local_80 <= local_60 || local_64 == (char *)0x0" (binary_expression "local_80 <= local_60" identifier <= identifier) || (binary_expression "local_64 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) || (parenthesized_expression "(!bVar15)" ( (unary_expression "!bVar15" ! identifier) ))) )) (goto_statement "goto LAB_000151f8;" goto statement_identifier ;))) (if_statement "if (local_64 < e_com + -1) {\n      *local_64 = '\0';\n      pcVar13 = e_com;\n      e_com = local_64;\n      local_40 = (int)pcVar13 - (int)(local_64 + 1);\n      iVar10 = local_80 - local_40;\n      if ((int)(local_80 - local_40) <= local_60) {\n        iVar10 = local_60;\n      }\n      bVar16 = local_78 == (char *)0x0;\n      bVar15 = false;\n      local_78 = local_64 + 1;\n      local_60 = iVar10;\n      bVar16 = (bool)(bVar16 & bVar5);\n      goto LAB_00015630;\n    }" if (parenthesized_expression "(local_64 < e_com + -1)" ( (binary_expression "local_64 < e_com + -1" identifier < (binary_expression "e_com + -1" identifier + number_literal)) )) (compound_statement "{\n      *local_64 = '\0';\n      pcVar13 = e_com;\n      e_com = local_64;\n      local_40 = (int)pcVar13 - (int)(local_64 + 1);\n      iVar10 = local_80 - local_40;\n      if ((int)(local_80 - local_40) <= local_60) {\n        iVar10 = local_60;\n      }\n      bVar16 = local_78 == (char *)0x0;\n      bVar15 = false;\n      local_78 = local_64 + 1;\n      local_60 = iVar10;\n      bVar16 = (bool)(bVar16 & bVar5);\n      goto LAB_00015630;\n    }" { (expression_statement "*local_64 = '\0';" (assignment_expression "*local_64 = '\0'" (pointer_expression "*local_64" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "pcVar13 = e_com;" (assignment_expression "pcVar13 = e_com" identifier = identifier) ;) (expression_statement "e_com = local_64;" (assignment_expression "e_com = local_64" identifier = identifier) ;) (expression_statement "local_40 = (int)pcVar13 - (int)(local_64 + 1);" (assignment_expression "local_40 = (int)pcVar13 - (int)(local_64 + 1)" identifier = (binary_expression "(int)pcVar13 - (int)(local_64 + 1)" (cast_expression "(int)pcVar13" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)(local_64 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_64 + 1)" ( (binary_expression "local_64 + 1" identifier + number_literal) ))))) ;) (expression_statement "iVar10 = local_80 - local_40;" (assignment_expression "iVar10 = local_80 - local_40" identifier = (binary_expression "local_80 - local_40" identifier - identifier)) ;) (if_statement "if ((int)(local_80 - local_40) <= local_60) {\n        iVar10 = local_60;\n      }" if (parenthesized_expression "((int)(local_80 - local_40) <= local_60)" ( (binary_expression "(int)(local_80 - local_40) <= local_60" (cast_expression "(int)(local_80 - local_40)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_80 - local_40)" ( (binary_expression "local_80 - local_40" identifier - identifier) ))) <= identifier) )) (compound_statement "{\n        iVar10 = local_60;\n      }" { (expression_statement "iVar10 = local_60;" (assignment_expression "iVar10 = local_60" identifier = identifier) ;) })) (expression_statement "bVar16 = local_78 == (char *)0x0;" (assignment_expression "bVar16 = local_78 == (char *)0x0" identifier = (binary_expression "local_78 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" identifier = false) ;) (expression_statement "local_78 = local_64 + 1;" (assignment_expression "local_78 = local_64 + 1" identifier = (binary_expression "local_64 + 1" identifier + number_literal)) ;) (expression_statement "local_60 = iVar10;" (assignment_expression "local_60 = iVar10" identifier = identifier) ;) (expression_statement "bVar16 = (bool)(bVar16 & bVar5);" (assignment_expression "bVar16 = (bool)(bVar16 & bVar5)" identifier = (cast_expression "(bool)(bVar16 & bVar5)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar16 & bVar5)" ( (binary_expression "bVar16 & bVar5" identifier & identifier) )))) ;) (goto_statement "goto LAB_00015630;" goto statement_identifier ;) })) (if_statement "if (local_5c == 0x14) {\n      pcVar13 = skip_horiz_space(buf_ptr);\n      buf_ptr = pcVar13 + -1;\n      if (pcVar13[-1] == '\n') {\nLAB_00015c4a:\n        ppVar6 = parser_state_tos;\n        pcVar13 = e_com;\n        parser_state_tos->com_col = local_70;\n        piVar1 = &ppVar6->tos;\n        *piVar1 = *piVar1 + -1;\n        ppVar6->box_com = local_54;\n        *pcVar13 = '\0';\n        return;\n      }\n    }\n    else {\n      while ((pcVar13 = buf_ptr, cVar14 = *pcVar13, (byte)(cVar14 - 9U) < 2 || (cVar14 == ' '))) {\n        if (cVar14 == '\n') {\n          line_no = line_no + 1;\n        }\n        buf_ptr = pcVar13 + 1;\n        if (buf_end <= pcVar13 + 1) {\n          buf_ptr = pcVar13 + 1;\n          fill_buffer();\n        }\n      }\n      buf_ptr = pcVar13 + -1;\n    }" if (parenthesized_expression "(local_5c == 0x14)" ( (binary_expression "local_5c == 0x14" identifier == number_literal) )) (compound_statement "{\n      pcVar13 = skip_horiz_space(buf_ptr);\n      buf_ptr = pcVar13 + -1;\n      if (pcVar13[-1] == '\n') {\nLAB_00015c4a:\n        ppVar6 = parser_state_tos;\n        pcVar13 = e_com;\n        parser_state_tos->com_col = local_70;\n        piVar1 = &ppVar6->tos;\n        *piVar1 = *piVar1 + -1;\n        ppVar6->box_com = local_54;\n        *pcVar13 = '\0';\n        return;\n      }\n    }" { (expression_statement "pcVar13 = skip_horiz_space(buf_ptr);" (assignment_expression "pcVar13 = skip_horiz_space(buf_ptr)" identifier = (call_expression "skip_horiz_space(buf_ptr)" identifier (argument_list "(buf_ptr)" ( identifier )))) ;) (expression_statement "buf_ptr = pcVar13 + -1;" (assignment_expression "buf_ptr = pcVar13 + -1" identifier = (binary_expression "pcVar13 + -1" identifier + number_literal)) ;) (if_statement "if (pcVar13[-1] == '\n') {\nLAB_00015c4a:\n        ppVar6 = parser_state_tos;\n        pcVar13 = e_com;\n        parser_state_tos->com_col = local_70;\n        piVar1 = &ppVar6->tos;\n        *piVar1 = *piVar1 + -1;\n        ppVar6->box_com = local_54;\n        *pcVar13 = '\0';\n        return;\n      }" if (parenthesized_expression "(pcVar13[-1] == '\n')" ( (binary_expression "pcVar13[-1] == '\n'" (subscript_expression "pcVar13[-1]" identifier [ number_literal ]) == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\nLAB_00015c4a:\n        ppVar6 = parser_state_tos;\n        pcVar13 = e_com;\n        parser_state_tos->com_col = local_70;\n        piVar1 = &ppVar6->tos;\n        *piVar1 = *piVar1 + -1;\n        ppVar6->box_com = local_54;\n        *pcVar13 = '\0';\n        return;\n      }" { (labeled_statement "LAB_00015c4a:\n        ppVar6 = parser_state_tos;" statement_identifier : (expression_statement "ppVar6 = parser_state_tos;" (assignment_expression "ppVar6 = parser_state_tos" identifier = identifier) ;)) (expression_statement "pcVar13 = e_com;" (assignment_expression "pcVar13 = e_com" identifier = identifier) ;) (expression_statement "parser_state_tos->com_col = local_70;" (assignment_expression "parser_state_tos->com_col = local_70" (field_expression "parser_state_tos->com_col" identifier -> field_identifier) = identifier) ;) (expression_statement "piVar1 = &ppVar6->tos;" (assignment_expression "piVar1 = &ppVar6->tos" identifier = (pointer_expression "&ppVar6->tos" & (field_expression "ppVar6->tos" identifier -> field_identifier))) ;) (expression_statement "*piVar1 = *piVar1 + -1;" (assignment_expression "*piVar1 = *piVar1 + -1" (pointer_expression "*piVar1" * identifier) = (binary_expression "*piVar1 + -1" (pointer_expression "*piVar1" * identifier) + number_literal)) ;) (expression_statement "ppVar6->box_com = local_54;" (assignment_expression "ppVar6->box_com = local_54" (field_expression "ppVar6->box_com" identifier -> field_identifier) = identifier) ;) (expression_statement "*pcVar13 = '\0';" (assignment_expression "*pcVar13 = '\0'" (pointer_expression "*pcVar13" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (return_statement "return;" return ;) })) }) (else_clause "else {\n      while ((pcVar13 = buf_ptr, cVar14 = *pcVar13, (byte)(cVar14 - 9U) < 2 || (cVar14 == ' '))) {\n        if (cVar14 == '\n') {\n          line_no = line_no + 1;\n        }\n        buf_ptr = pcVar13 + 1;\n        if (buf_end <= pcVar13 + 1) {\n          buf_ptr = pcVar13 + 1;\n          fill_buffer();\n        }\n      }\n      buf_ptr = pcVar13 + -1;\n    }" else (compound_statement "{\n      while ((pcVar13 = buf_ptr, cVar14 = *pcVar13, (byte)(cVar14 - 9U) < 2 || (cVar14 == ' '))) {\n        if (cVar14 == '\n') {\n          line_no = line_no + 1;\n        }\n        buf_ptr = pcVar13 + 1;\n        if (buf_end <= pcVar13 + 1) {\n          buf_ptr = pcVar13 + 1;\n          fill_buffer();\n        }\n      }\n      buf_ptr = pcVar13 + -1;\n    }" { (while_statement "while ((pcVar13 = buf_ptr, cVar14 = *pcVar13, (byte)(cVar14 - 9U) < 2 || (cVar14 == ' '))) {\n        if (cVar14 == '\n') {\n          line_no = line_no + 1;\n        }\n        buf_ptr = pcVar13 + 1;\n        if (buf_end <= pcVar13 + 1) {\n          buf_ptr = pcVar13 + 1;\n          fill_buffer();\n        }\n      }" while (parenthesized_expression "((pcVar13 = buf_ptr, cVar14 = *pcVar13, (byte)(cVar14 - 9U) < 2 || (cVar14 == ' ')))" ( (parenthesized_expression "(pcVar13 = buf_ptr, cVar14 = *pcVar13, (byte)(cVar14 - 9U) < 2 || (cVar14 == ' '))" ( (comma_expression "pcVar13 = buf_ptr, cVar14 = *pcVar13, (byte)(cVar14 - 9U) < 2 || (cVar14 == ' ')" (assignment_expression "pcVar13 = buf_ptr" identifier = identifier) , (comma_expression "cVar14 = *pcVar13, (byte)(cVar14 - 9U) < 2 || (cVar14 == ' ')" (assignment_expression "cVar14 = *pcVar13" identifier = (pointer_expression "*pcVar13" * identifier)) , (binary_expression "(byte)(cVar14 - 9U) < 2 || (cVar14 == ' ')" (binary_expression "(byte)(cVar14 - 9U) < 2" (call_expression "(byte)(cVar14 - 9U)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar14 - 9U)" ( (binary_expression "cVar14 - 9U" identifier - number_literal) ))) < number_literal) || (parenthesized_expression "(cVar14 == ' ')" ( (binary_expression "cVar14 == ' '" identifier == (char_literal "' '" ' character ')) ))))) )) )) (compound_statement "{\n        if (cVar14 == '\n') {\n          line_no = line_no + 1;\n        }\n        buf_ptr = pcVar13 + 1;\n        if (buf_end <= pcVar13 + 1) {\n          buf_ptr = pcVar13 + 1;\n          fill_buffer();\n        }\n      }" { (if_statement "if (cVar14 == '\n') {\n          line_no = line_no + 1;\n        }" if (parenthesized_expression "(cVar14 == '\n')" ( (binary_expression "cVar14 == '\n'" identifier == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n          line_no = line_no + 1;\n        }" { (expression_statement "line_no = line_no + 1;" (assignment_expression "line_no = line_no + 1" identifier = (binary_expression "line_no + 1" identifier + number_literal)) ;) })) (expression_statement "buf_ptr = pcVar13 + 1;" (assignment_expression "buf_ptr = pcVar13 + 1" identifier = (binary_expression "pcVar13 + 1" identifier + number_literal)) ;) (if_statement "if (buf_end <= pcVar13 + 1) {\n          buf_ptr = pcVar13 + 1;\n          fill_buffer();\n        }" if (parenthesized_expression "(buf_end <= pcVar13 + 1)" ( (binary_expression "buf_end <= pcVar13 + 1" identifier <= (binary_expression "pcVar13 + 1" identifier + number_literal)) )) (compound_statement "{\n          buf_ptr = pcVar13 + 1;\n          fill_buffer();\n        }" { (expression_statement "buf_ptr = pcVar13 + 1;" (assignment_expression "buf_ptr = pcVar13 + 1" identifier = (binary_expression "pcVar13 + 1" identifier + number_literal)) ;) (expression_statement "fill_buffer();" (call_expression "fill_buffer()" identifier (argument_list "()" ( ))) ;) })) })) (expression_statement "buf_ptr = pcVar13 + -1;" (assignment_expression "buf_ptr = pcVar13 + -1" identifier = (binary_expression "pcVar13 + -1" identifier + number_literal)) ;) }))) (expression_statement "*e_com = '\0';" (assignment_expression "*e_com = '\0'" (pointer_expression "*e_com" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (labeled_statement "LAB_000159db:\n    pcVar13 = local_78;" statement_identifier : (expression_statement "pcVar13 = local_78;" (assignment_expression "pcVar13 = local_78" identifier = identifier) ;)) (expression_statement "local_78 = (char *)0x0;" (assignment_expression "local_78 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "bVar15 = false;" (assignment_expression "bVar15 = false" identifier = false) ;) (expression_statement "bVar16 = (bool)(pcVar13 == (char *)0x0 & bVar5);" (assignment_expression "bVar16 = (bool)(pcVar13 == (char *)0x0 & bVar5)" identifier = (cast_expression "(bool)(pcVar13 == (char *)0x0 & bVar5)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(pcVar13 == (char *)0x0 & bVar5)" ( (binary_expression "pcVar13 == (char *)0x0 & bVar5" (binary_expression "pcVar13 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) & identifier) )))) ;) (labeled_statement "LAB_00015630:\n    if ((bVar16) && (com_lines != iVar8)) {\n      e_com = s_com;\n    }" statement_identifier : (if_statement "if ((bVar16) && (com_lines != iVar8)) {\n      e_com = s_com;\n    }" if (parenthesized_expression "((bVar16) && (com_lines != iVar8))" ( (binary_expression "(bVar16) && (com_lines != iVar8)" (parenthesized_expression "(bVar16)" ( identifier )) && (parenthesized_expression "(com_lines != iVar8)" ( (binary_expression "com_lines != iVar8" identifier != identifier) ))) )) (compound_statement "{\n      e_com = s_com;\n    }" { (expression_statement "e_com = s_com;" (assignment_expression "e_com = s_com" identifier = identifier) ;) }))) (expression_statement "*e_com = '\0';" (assignment_expression "*e_com = '\0'" (pointer_expression "*e_com" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "dump_line(1,paren_targ,pbreak_line);" (call_expression "dump_line(1,paren_targ,pbreak_line)" identifier (argument_list "(1,paren_targ,pbreak_line)" ( number_literal , identifier , identifier ))) ;) (expression_statement "prefix_blankline_requested = 0;" (assignment_expression "prefix_blankline_requested = 0" identifier = number_literal) ;) (if_statement "if (!bVar15) {\n      if (*buf_ptr == '\n') {\n        line_no = line_no + 1;\n      }\n      buf_ptr = buf_ptr + 1;\n      if (buf_end <= buf_ptr) {\n        fill_buffer();\n      }\n    }" if (parenthesized_expression "(!bVar15)" ( (unary_expression "!bVar15" ! identifier) )) (compound_statement "{\n      if (*buf_ptr == '\n') {\n        line_no = line_no + 1;\n      }\n      buf_ptr = buf_ptr + 1;\n      if (buf_end <= buf_ptr) {\n        fill_buffer();\n      }\n    }" { (if_statement "if (*buf_ptr == '\n') {\n        line_no = line_no + 1;\n      }" if (parenthesized_expression "(*buf_ptr == '\n')" ( (binary_expression "*buf_ptr == '\n'" (pointer_expression "*buf_ptr" * identifier) == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n        line_no = line_no + 1;\n      }" { (expression_statement "line_no = line_no + 1;" (assignment_expression "line_no = line_no + 1" identifier = (binary_expression "line_no + 1" identifier + number_literal)) ;) })) (expression_statement "buf_ptr = buf_ptr + 1;" (assignment_expression "buf_ptr = buf_ptr + 1" identifier = (binary_expression "buf_ptr + 1" identifier + number_literal)) ;) (if_statement "if (buf_end <= buf_ptr) {\n        fill_buffer();\n      }" if (parenthesized_expression "(buf_end <= buf_ptr)" ( (binary_expression "buf_end <= buf_ptr" identifier <= identifier) )) (compound_statement "{\n        fill_buffer();\n      }" { (expression_statement "fill_buffer();" (call_expression "fill_buffer()" identifier (argument_list "()" ( ))) ;) })) })) (labeled_statement "LAB_0001543c:\n    if (had_eof != '\0') break;" statement_identifier : (if_statement "if (had_eof != '\0') break;" if (parenthesized_expression "(had_eof != '\0')" ( (binary_expression "had_eof != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;))) (expression_statement "local_80 = local_70;" (assignment_expression "local_80 = local_70" identifier = identifier) ;) (if_statement "if (local_48 != 0) {\n      if (l_com + -local_48 <= e_com) {\n        pcVar13 = l_com + ((local_48 + 400) - (int)s_com);\n        combuf = (char *)xrealloc(combuf,(uint)pcVar13);\n        e_com = combuf + (int)(e_com + (1 - (int)s_com));\n        l_com = combuf + (int)(pcVar13 + -5);\n        s_com = combuf + 1;\n      }\n      pcVar13 = e_com;\n      if (local_48 != 0) {\n        uVar12 = 0;\n        do {\n          pcVar13[uVar12] = local_4c[uVar12];\n          uVar12 = uVar12 + 1;\n        } while (uVar12 < local_48);\n      }\n      e_com = e_com + local_48;\n      local_80 = local_70 + local_48;\n    }" if (parenthesized_expression "(local_48 != 0)" ( (binary_expression "local_48 != 0" identifier != number_literal) )) (compound_statement "{\n      if (l_com + -local_48 <= e_com) {\n        pcVar13 = l_com + ((local_48 + 400) - (int)s_com);\n        combuf = (char *)xrealloc(combuf,(uint)pcVar13);\n        e_com = combuf + (int)(e_com + (1 - (int)s_com));\n        l_com = combuf + (int)(pcVar13 + -5);\n        s_com = combuf + 1;\n      }\n      pcVar13 = e_com;\n      if (local_48 != 0) {\n        uVar12 = 0;\n        do {\n          pcVar13[uVar12] = local_4c[uVar12];\n          uVar12 = uVar12 + 1;\n        } while (uVar12 < local_48);\n      }\n      e_com = e_com + local_48;\n      local_80 = local_70 + local_48;\n    }" { (if_statement "if (l_com + -local_48 <= e_com) {\n        pcVar13 = l_com + ((local_48 + 400) - (int)s_com);\n        combuf = (char *)xrealloc(combuf,(uint)pcVar13);\n        e_com = combuf + (int)(e_com + (1 - (int)s_com));\n        l_com = combuf + (int)(pcVar13 + -5);\n        s_com = combuf + 1;\n      }" if (parenthesized_expression "(l_com + -local_48 <= e_com)" ( (binary_expression "l_com + -local_48 <= e_com" (binary_expression "l_com + -local_48" identifier + (unary_expression "-local_48" - identifier)) <= identifier) )) (compound_statement "{\n        pcVar13 = l_com + ((local_48 + 400) - (int)s_com);\n        combuf = (char *)xrealloc(combuf,(uint)pcVar13);\n        e_com = combuf + (int)(e_com + (1 - (int)s_com));\n        l_com = combuf + (int)(pcVar13 + -5);\n        s_com = combuf + 1;\n      }" { (expression_statement "pcVar13 = l_com + ((local_48 + 400) - (int)s_com);" (assignment_expression "pcVar13 = l_com + ((local_48 + 400) - (int)s_com)" identifier = (binary_expression "l_com + ((local_48 + 400) - (int)s_com)" identifier + (parenthesized_expression "((local_48 + 400) - (int)s_com)" ( (binary_expression "(local_48 + 400) - (int)s_com" (parenthesized_expression "(local_48 + 400)" ( (binary_expression "local_48 + 400" identifier + number_literal) )) - (cast_expression "(int)s_com" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "combuf = (char *)xrealloc(combuf,(uint)pcVar13);" (assignment_expression "combuf = (char *)xrealloc(combuf,(uint)pcVar13)" identifier = (cast_expression "(char *)xrealloc(combuf,(uint)pcVar13)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xrealloc(combuf,(uint)pcVar13)" identifier (argument_list "(combuf,(uint)pcVar13)" ( identifier , (cast_expression "(uint)pcVar13" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) ;) (expression_statement "e_com = combuf + (int)(e_com + (1 - (int)s_com));" (assignment_expression "e_com = combuf + (int)(e_com + (1 - (int)s_com))" identifier = (binary_expression "combuf + (int)(e_com + (1 - (int)s_com))" identifier + (cast_expression "(int)(e_com + (1 - (int)s_com))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(e_com + (1 - (int)s_com))" ( (binary_expression "e_com + (1 - (int)s_com)" identifier + (parenthesized_expression "(1 - (int)s_com)" ( (binary_expression "1 - (int)s_com" number_literal - (cast_expression "(int)s_com" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))))) ;) (expression_statement "l_com = combuf + (int)(pcVar13 + -5);" (assignment_expression "l_com = combuf + (int)(pcVar13 + -5)" identifier = (binary_expression "combuf + (int)(pcVar13 + -5)" identifier + (cast_expression "(int)(pcVar13 + -5)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar13 + -5)" ( (binary_expression "pcVar13 + -5" identifier + number_literal) ))))) ;) (expression_statement "s_com = combuf + 1;" (assignment_expression "s_com = combuf + 1" identifier = (binary_expression "combuf + 1" identifier + number_literal)) ;) })) (expression_statement "pcVar13 = e_com;" (assignment_expression "pcVar13 = e_com" identifier = identifier) ;) (if_statement "if (local_48 != 0) {\n        uVar12 = 0;\n        do {\n          pcVar13[uVar12] = local_4c[uVar12];\n          uVar12 = uVar12 + 1;\n        } while (uVar12 < local_48);\n      }" if (parenthesized_expression "(local_48 != 0)" ( (binary_expression "local_48 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar12 = 0;\n        do {\n          pcVar13[uVar12] = local_4c[uVar12];\n          uVar12 = uVar12 + 1;\n        } while (uVar12 < local_48);\n      }" { (expression_statement "uVar12 = 0;" (assignment_expression "uVar12 = 0" identifier = number_literal) ;) (do_statement "do {\n          pcVar13[uVar12] = local_4c[uVar12];\n          uVar12 = uVar12 + 1;\n        } while (uVar12 < local_48);" do (compound_statement "{\n          pcVar13[uVar12] = local_4c[uVar12];\n          uVar12 = uVar12 + 1;\n        }" { (expression_statement "pcVar13[uVar12] = local_4c[uVar12];" (assignment_expression "pcVar13[uVar12] = local_4c[uVar12]" (subscript_expression "pcVar13[uVar12]" identifier [ identifier ]) = (subscript_expression "local_4c[uVar12]" identifier [ identifier ])) ;) (expression_statement "uVar12 = uVar12 + 1;" (assignment_expression "uVar12 = uVar12 + 1" identifier = (binary_expression "uVar12 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar12 < local_48)" ( (binary_expression "uVar12 < local_48" identifier < identifier) )) ;) })) (expression_statement "e_com = e_com + local_48;" (assignment_expression "e_com = e_com + local_48" identifier = (binary_expression "e_com + local_48" identifier + identifier)) ;) (expression_statement "local_80 = local_70 + local_48;" (assignment_expression "local_80 = local_70 + local_48" identifier = (binary_expression "local_70 + local_48" identifier + identifier)) ;) })) (if_statement "if (local_78 == (char *)0x0) {\n      skip_buffered_space();\n    }\n    else {\n      if ((*local_78 == ' ') || (*local_78 == '\t')) {\n        if (local_40 == 0) {\n          iVar10 = 0;\n          local_84 = 0;\n        }\n        else {\n          do {\n            local_78 = local_78 + 1;\n            local_40 = local_40 - 1;\n            if ((*local_78 != ' ') && (*local_78 != '\t')) {\n              local_80 = local_80 + local_40;\n              iVar10 = -local_40;\n              local_84 = local_40;\n              goto LAB_000158f3;\n            }\n          } while (local_40 != 0);\n          iVar10 = 0;\n          local_84 = 0;\n        }\n      }\n      else {\n        local_80 = local_80 + local_40;\n        local_84 = local_40;\n        iVar10 = -local_40;\n      }\nLAB_000158f3:\n      if (l_com + iVar10 <= e_com) {\n        pcVar13 = l_com + ((local_40 + 400) - (int)s_com);\n        combuf = (char *)xrealloc(combuf,(uint)pcVar13);\n        l_com = combuf + (int)(pcVar13 + -5);\n        e_com = combuf + (int)(e_com + (1 - (int)s_com));\n        s_com = combuf + 1;\n      }\n      memmove(e_com,local_78,local_84);\n      local_78 = e_com;\n      e_com = e_com + local_84;\n      local_40 = 0;\n    }" if (parenthesized_expression "(local_78 == (char *)0x0)" ( (binary_expression "local_78 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      skip_buffered_space();\n    }" { (expression_statement "skip_buffered_space();" (call_expression "skip_buffered_space()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n      if ((*local_78 == ' ') || (*local_78 == '\t')) {\n        if (local_40 == 0) {\n          iVar10 = 0;\n          local_84 = 0;\n        }\n        else {\n          do {\n            local_78 = local_78 + 1;\n            local_40 = local_40 - 1;\n            if ((*local_78 != ' ') && (*local_78 != '\t')) {\n              local_80 = local_80 + local_40;\n              iVar10 = -local_40;\n              local_84 = local_40;\n              goto LAB_000158f3;\n            }\n          } while (local_40 != 0);\n          iVar10 = 0;\n          local_84 = 0;\n        }\n      }\n      else {\n        local_80 = local_80 + local_40;\n        local_84 = local_40;\n        iVar10 = -local_40;\n      }\nLAB_000158f3:\n      if (l_com + iVar10 <= e_com) {\n        pcVar13 = l_com + ((local_40 + 400) - (int)s_com);\n        combuf = (char *)xrealloc(combuf,(uint)pcVar13);\n        l_com = combuf + (int)(pcVar13 + -5);\n        e_com = combuf + (int)(e_com + (1 - (int)s_com));\n        s_com = combuf + 1;\n      }\n      memmove(e_com,local_78,local_84);\n      local_78 = e_com;\n      e_com = e_com + local_84;\n      local_40 = 0;\n    }" else (compound_statement "{\n      if ((*local_78 == ' ') || (*local_78 == '\t')) {\n        if (local_40 == 0) {\n          iVar10 = 0;\n          local_84 = 0;\n        }\n        else {\n          do {\n            local_78 = local_78 + 1;\n            local_40 = local_40 - 1;\n            if ((*local_78 != ' ') && (*local_78 != '\t')) {\n              local_80 = local_80 + local_40;\n              iVar10 = -local_40;\n              local_84 = local_40;\n              goto LAB_000158f3;\n            }\n          } while (local_40 != 0);\n          iVar10 = 0;\n          local_84 = 0;\n        }\n      }\n      else {\n        local_80 = local_80 + local_40;\n        local_84 = local_40;\n        iVar10 = -local_40;\n      }\nLAB_000158f3:\n      if (l_com + iVar10 <= e_com) {\n        pcVar13 = l_com + ((local_40 + 400) - (int)s_com);\n        combuf = (char *)xrealloc(combuf,(uint)pcVar13);\n        l_com = combuf + (int)(pcVar13 + -5);\n        e_com = combuf + (int)(e_com + (1 - (int)s_com));\n        s_com = combuf + 1;\n      }\n      memmove(e_com,local_78,local_84);\n      local_78 = e_com;\n      e_com = e_com + local_84;\n      local_40 = 0;\n    }" { (if_statement "if ((*local_78 == ' ') || (*local_78 == '\t')) {\n        if (local_40 == 0) {\n          iVar10 = 0;\n          local_84 = 0;\n        }\n        else {\n          do {\n            local_78 = local_78 + 1;\n            local_40 = local_40 - 1;\n            if ((*local_78 != ' ') && (*local_78 != '\t')) {\n              local_80 = local_80 + local_40;\n              iVar10 = -local_40;\n              local_84 = local_40;\n              goto LAB_000158f3;\n            }\n          } while (local_40 != 0);\n          iVar10 = 0;\n          local_84 = 0;\n        }\n      }\n      else {\n        local_80 = local_80 + local_40;\n        local_84 = local_40;\n        iVar10 = -local_40;\n      }" if (parenthesized_expression "((*local_78 == ' ') || (*local_78 == '\t'))" ( (binary_expression "(*local_78 == ' ') || (*local_78 == '\t')" (parenthesized_expression "(*local_78 == ' ')" ( (binary_expression "*local_78 == ' '" (pointer_expression "*local_78" * identifier) == (char_literal "' '" ' character ')) )) || (parenthesized_expression "(*local_78 == '\t')" ( (binary_expression "*local_78 == '\t'" (pointer_expression "*local_78" * identifier) == (char_literal "'\t'" ' escape_sequence ')) ))) )) (compound_statement "{\n        if (local_40 == 0) {\n          iVar10 = 0;\n          local_84 = 0;\n        }\n        else {\n          do {\n            local_78 = local_78 + 1;\n            local_40 = local_40 - 1;\n            if ((*local_78 != ' ') && (*local_78 != '\t')) {\n              local_80 = local_80 + local_40;\n              iVar10 = -local_40;\n              local_84 = local_40;\n              goto LAB_000158f3;\n            }\n          } while (local_40 != 0);\n          iVar10 = 0;\n          local_84 = 0;\n        }\n      }" { (if_statement "if (local_40 == 0) {\n          iVar10 = 0;\n          local_84 = 0;\n        }\n        else {\n          do {\n            local_78 = local_78 + 1;\n            local_40 = local_40 - 1;\n            if ((*local_78 != ' ') && (*local_78 != '\t')) {\n              local_80 = local_80 + local_40;\n              iVar10 = -local_40;\n              local_84 = local_40;\n              goto LAB_000158f3;\n            }\n          } while (local_40 != 0);\n          iVar10 = 0;\n          local_84 = 0;\n        }" if (parenthesized_expression "(local_40 == 0)" ( (binary_expression "local_40 == 0" identifier == number_literal) )) (compound_statement "{\n          iVar10 = 0;\n          local_84 = 0;\n        }" { (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (expression_statement "local_84 = 0;" (assignment_expression "local_84 = 0" identifier = number_literal) ;) }) (else_clause "else {\n          do {\n            local_78 = local_78 + 1;\n            local_40 = local_40 - 1;\n            if ((*local_78 != ' ') && (*local_78 != '\t')) {\n              local_80 = local_80 + local_40;\n              iVar10 = -local_40;\n              local_84 = local_40;\n              goto LAB_000158f3;\n            }\n          } while (local_40 != 0);\n          iVar10 = 0;\n          local_84 = 0;\n        }" else (compound_statement "{\n          do {\n            local_78 = local_78 + 1;\n            local_40 = local_40 - 1;\n            if ((*local_78 != ' ') && (*local_78 != '\t')) {\n              local_80 = local_80 + local_40;\n              iVar10 = -local_40;\n              local_84 = local_40;\n              goto LAB_000158f3;\n            }\n          } while (local_40 != 0);\n          iVar10 = 0;\n          local_84 = 0;\n        }" { (do_statement "do {\n            local_78 = local_78 + 1;\n            local_40 = local_40 - 1;\n            if ((*local_78 != ' ') && (*local_78 != '\t')) {\n              local_80 = local_80 + local_40;\n              iVar10 = -local_40;\n              local_84 = local_40;\n              goto LAB_000158f3;\n            }\n          } while (local_40 != 0);" do (compound_statement "{\n            local_78 = local_78 + 1;\n            local_40 = local_40 - 1;\n            if ((*local_78 != ' ') && (*local_78 != '\t')) {\n              local_80 = local_80 + local_40;\n              iVar10 = -local_40;\n              local_84 = local_40;\n              goto LAB_000158f3;\n            }\n          }" { (expression_statement "local_78 = local_78 + 1;" (assignment_expression "local_78 = local_78 + 1" identifier = (binary_expression "local_78 + 1" identifier + number_literal)) ;) (expression_statement "local_40 = local_40 - 1;" (assignment_expression "local_40 = local_40 - 1" identifier = (binary_expression "local_40 - 1" identifier - number_literal)) ;) (if_statement "if ((*local_78 != ' ') && (*local_78 != '\t')) {\n              local_80 = local_80 + local_40;\n              iVar10 = -local_40;\n              local_84 = local_40;\n              goto LAB_000158f3;\n            }" if (parenthesized_expression "((*local_78 != ' ') && (*local_78 != '\t'))" ( (binary_expression "(*local_78 != ' ') && (*local_78 != '\t')" (parenthesized_expression "(*local_78 != ' ')" ( (binary_expression "*local_78 != ' '" (pointer_expression "*local_78" * identifier) != (char_literal "' '" ' character ')) )) && (parenthesized_expression "(*local_78 != '\t')" ( (binary_expression "*local_78 != '\t'" (pointer_expression "*local_78" * identifier) != (char_literal "'\t'" ' escape_sequence ')) ))) )) (compound_statement "{\n              local_80 = local_80 + local_40;\n              iVar10 = -local_40;\n              local_84 = local_40;\n              goto LAB_000158f3;\n            }" { (expression_statement "local_80 = local_80 + local_40;" (assignment_expression "local_80 = local_80 + local_40" identifier = (binary_expression "local_80 + local_40" identifier + identifier)) ;) (expression_statement "iVar10 = -local_40;" (assignment_expression "iVar10 = -local_40" identifier = (unary_expression "-local_40" - identifier)) ;) (expression_statement "local_84 = local_40;" (assignment_expression "local_84 = local_40" identifier = identifier) ;) (goto_statement "goto LAB_000158f3;" goto statement_identifier ;) })) }) while (parenthesized_expression "(local_40 != 0)" ( (binary_expression "local_40 != 0" identifier != number_literal) )) ;) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (expression_statement "local_84 = 0;" (assignment_expression "local_84 = 0" identifier = number_literal) ;) }))) }) (else_clause "else {\n        local_80 = local_80 + local_40;\n        local_84 = local_40;\n        iVar10 = -local_40;\n      }" else (compound_statement "{\n        local_80 = local_80 + local_40;\n        local_84 = local_40;\n        iVar10 = -local_40;\n      }" { (expression_statement "local_80 = local_80 + local_40;" (assignment_expression "local_80 = local_80 + local_40" identifier = (binary_expression "local_80 + local_40" identifier + identifier)) ;) (expression_statement "local_84 = local_40;" (assignment_expression "local_84 = local_40" identifier = identifier) ;) (expression_statement "iVar10 = -local_40;" (assignment_expression "iVar10 = -local_40" identifier = (unary_expression "-local_40" - identifier)) ;) }))) (labeled_statement "LAB_000158f3:\n      if (l_com + iVar10 <= e_com) {\n        pcVar13 = l_com + ((local_40 + 400) - (int)s_com);\n        combuf = (char *)xrealloc(combuf,(uint)pcVar13);\n        l_com = combuf + (int)(pcVar13 + -5);\n        e_com = combuf + (int)(e_com + (1 - (int)s_com));\n        s_com = combuf + 1;\n      }" statement_identifier : (if_statement "if (l_com + iVar10 <= e_com) {\n        pcVar13 = l_com + ((local_40 + 400) - (int)s_com);\n        combuf = (char *)xrealloc(combuf,(uint)pcVar13);\n        l_com = combuf + (int)(pcVar13 + -5);\n        e_com = combuf + (int)(e_com + (1 - (int)s_com));\n        s_com = combuf + 1;\n      }" if (parenthesized_expression "(l_com + iVar10 <= e_com)" ( (binary_expression "l_com + iVar10 <= e_com" (binary_expression "l_com + iVar10" identifier + identifier) <= identifier) )) (compound_statement "{\n        pcVar13 = l_com + ((local_40 + 400) - (int)s_com);\n        combuf = (char *)xrealloc(combuf,(uint)pcVar13);\n        l_com = combuf + (int)(pcVar13 + -5);\n        e_com = combuf + (int)(e_com + (1 - (int)s_com));\n        s_com = combuf + 1;\n      }" { (expression_statement "pcVar13 = l_com + ((local_40 + 400) - (int)s_com);" (assignment_expression "pcVar13 = l_com + ((local_40 + 400) - (int)s_com)" identifier = (binary_expression "l_com + ((local_40 + 400) - (int)s_com)" identifier + (parenthesized_expression "((local_40 + 400) - (int)s_com)" ( (binary_expression "(local_40 + 400) - (int)s_com" (parenthesized_expression "(local_40 + 400)" ( (binary_expression "local_40 + 400" identifier + number_literal) )) - (cast_expression "(int)s_com" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "combuf = (char *)xrealloc(combuf,(uint)pcVar13);" (assignment_expression "combuf = (char *)xrealloc(combuf,(uint)pcVar13)" identifier = (cast_expression "(char *)xrealloc(combuf,(uint)pcVar13)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xrealloc(combuf,(uint)pcVar13)" identifier (argument_list "(combuf,(uint)pcVar13)" ( identifier , (cast_expression "(uint)pcVar13" ( (type_descriptor "uint" type_identifier) ) identifier) ))))) ;) (expression_statement "l_com = combuf + (int)(pcVar13 + -5);" (assignment_expression "l_com = combuf + (int)(pcVar13 + -5)" identifier = (binary_expression "combuf + (int)(pcVar13 + -5)" identifier + (cast_expression "(int)(pcVar13 + -5)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar13 + -5)" ( (binary_expression "pcVar13 + -5" identifier + number_literal) ))))) ;) (expression_statement "e_com = combuf + (int)(e_com + (1 - (int)s_com));" (assignment_expression "e_com = combuf + (int)(e_com + (1 - (int)s_com))" identifier = (binary_expression "combuf + (int)(e_com + (1 - (int)s_com))" identifier + (cast_expression "(int)(e_com + (1 - (int)s_com))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(e_com + (1 - (int)s_com))" ( (binary_expression "e_com + (1 - (int)s_com)" identifier + (parenthesized_expression "(1 - (int)s_com)" ( (binary_expression "1 - (int)s_com" number_literal - (cast_expression "(int)s_com" ( (type_descriptor "int" primitive_type) ) identifier)) ))) ))))) ;) (expression_statement "s_com = combuf + 1;" (assignment_expression "s_com = combuf + 1" identifier = (binary_expression "combuf + 1" identifier + number_literal)) ;) }))) (expression_statement "memmove(e_com,local_78,local_84);" (call_expression "memmove(e_com,local_78,local_84)" identifier (argument_list "(e_com,local_78,local_84)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_78 = e_com;" (assignment_expression "local_78 = e_com" identifier = identifier) ;) (expression_statement "e_com = e_com + local_84;" (assignment_expression "e_com = e_com + local_84" identifier = (binary_expression "e_com + local_84" identifier + identifier)) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) }))) })) (expression_statement "ppVar6 = parser_state_tos;" (assignment_expression "ppVar6 = parser_state_tos" identifier = identifier) ;) (expression_statement "parser_state_tos->com_col = local_70;" (assignment_expression "parser_state_tos->com_col = local_70" (field_expression "parser_state_tos->com_col" identifier -> field_identifier) = identifier) ;) (expression_statement "piVar1 = &ppVar6->tos;" (assignment_expression "piVar1 = &ppVar6->tos" identifier = (pointer_expression "&ppVar6->tos" & (field_expression "ppVar6->tos" identifier -> field_identifier))) ;) (expression_statement "*piVar1 = *piVar1 + -1;" (assignment_expression "*piVar1 = *piVar1 + -1" (pointer_expression "*piVar1" * identifier) = (binary_expression "*piVar1 + -1" (pointer_expression "*piVar1" * identifier) + number_literal)) ;) (expression_statement "ppVar6->box_com = local_54;" (assignment_expression "ppVar6->box_com = local_54" (field_expression "ppVar6->box_com" identifier -> field_identifier) = identifier) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00014c50(undefined4 *param_1,undefined4 param_2)\n\n{\n  int *piVar1;\n  int *piVar2;\n  code *pcVar3;\n  int *piVar4;\n  uint *puVar5;\n  uint *puVar6;\n  undefined4 *puVar7;\n  int *piVar8;\n  byte bVar9;\n  byte *pbVar10;\n  byte *pbVar11;\n  char cVar12;\n  bool bVar13;\n  bool bVar14;\n  int iVar15;\n  int iVar16;\n  undefined4 uVar17;\n  char *pcVar18;\n  char *pcVar19;\n  undefined1 *puVar20;\n  uint uVar21;\n  int iVar22;\n  int iVar23;\n  uint uVar24;\n  undefined1 uVar25;\n  int iVar26;\n  char *pcVar27;\n  char cVar28;\n  void *__dest;\n  int unaff_EBP;\n  bool bVar29;\n  bool bVar30;\n  size_t local_84;\n  int local_80;\n  char *local_78;\n  int local_74;\n  int local_70;\n  int *local_6c;\n  char *local_68;\n  char *local_64;\n  int local_60;\n  int local_5c;\n  int local_54;\n  int local_4c;\n  uint local_48;\n  size_t local_40;\n  int local_28;\n  \n  FUN_00013b71();\n  FUN_00017e00();\n  if (*(char *)(*(int *)(unaff_EBP + 0x12caa) + 1) == '/') {\n    local_4c = unaff_EBP + 0xc5c8;\n    bVar14 = false;\n    bVar29 = false;\n    local_5c = 0x14;\n    local_48 = 3;\n    local_28 = 0;\n    local_84 = 0;\n    uVar25 = 0x2f;\nLAB_00014fd0:\n    local_6c = (int *)(&DAT_00012b16 + unaff_EBP);\n    piVar1 = (int *)(unaff_EBP + 0x12b52);\n    iVar15 = *piVar1;\n    local_60 = *(int *)(unaff_EBP + 0x12c46);\n    iVar16 = FUN_00018750();\n    iVar26 = *(int *)(unaff_EBP + 0x129c6);\n    if ((iVar26 == *(int *)(unaff_EBP + 0x129c2)) &&\n       (*(int *)(unaff_EBP + 0x129b6) == *(int *)(unaff_EBP + 0x129b2))) {\n      iVar26 = *local_6c;\n      if ((*(int *)(iVar26 + 0x54) == 0) || (*(int *)(unaff_EBP + 0x12c02) != 0)) {\n        local_74 = *(int *)(unaff_EBP + 0x12bfe);\n        if ((*(int *)(iVar26 + 0x74) < 1) &&\n           ((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))))) {\n          bVar13 = true;\n          local_80 = iVar16;\n          local_70 = iVar16 + -2;\n        }\n        else {\n          local_70 = FUN_00019aa0(*param_1);\n          local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);\n          if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }\n        }\n      }\n      else {\n        local_80 = 3;\n        bVar13 = true;\n        local_70 = 1;\n        local_74 = 0;\n      }\n    }\n    else {\n      if (*(int *)(*local_6c + 0x60) == 0) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0) {\n          local_70 = *(int *)(unaff_EBP + 0x12c7a);\n        }\n        else {\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }\n      }\n      else {\n        local_70 = *(int *)(unaff_EBP + 0x12c6e);\n      }\n      iVar23 = *(int *)(unaff_EBP + 0x129b6);\n      if (iVar23 == *(int *)(unaff_EBP + 0x129b2)) {\n        uVar17 = FUN_00019bf0();\n      }\n      else {\n        uVar17 = FUN_00019aa0(*param_1);\n        iVar26 = iVar23;\n      }\n      iVar26 = FUN_00019b60(uVar17,iVar26,0);\n      if (local_70 <= iVar26) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0) {\n          local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;\n        }\n        else {\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }\n      }\n      bVar13 = false;\n      bVar29 = false;\n      local_74 = *(int *)(unaff_EBP + 0x12bfe);\n      iVar26 = *local_6c;\n      local_80 = local_70 + 2;\n    }\n    if (local_4c == 0) {\n      if (local_84 == 0) {\n        local_4c = unaff_EBP + 0xc5d0;\n        bVar14 = true;\n        local_48 = 3;\n      }\n      else {\n        local_4c = unaff_EBP + 0xc5cc;\n        bVar14 = false;\n        local_48 = 3;\n      }\n    }\n    *(undefined4 *)(iVar26 + 0x24) = 0;\n    *(int *)(iVar26 + 0x58) = local_70;\n    puVar5 = (uint *)(unaff_EBP + 0x129a2);\n    puVar20 = (undefined1 *)*puVar5;\n    *puVar5 = (uint)(puVar20 + 1);\n    *puVar20 = 0x2f;\n    puVar20 = (undefined1 *)*puVar5;\n    *puVar5 = (uint)(puVar20 + 1);\n    *puVar20 = uVar25;\n    if (bVar29) {\n      puVar7 = (undefined4 *)(&DAT_00012b26 + unaff_EBP);\n      uVar17 = *puVar7;\n      *(undefined1 *)*puVar5 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      pcVar18 = (char *)FUN_00018720(uVar17);\n      if (*pcVar18 == '\n') {\n        pcVar18 = pcVar18 + 1;\n        *puVar7 = pcVar18;\n      }\n      else if (local_74 == 0) {\n        pcVar18 = (char *)*puVar7;\n      }\n      else {\n        *puVar7 = pcVar18;\n      }\n      if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n        FUN_00018c70();\n      }\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n      goto LAB_0001543c;\n    }\n    if (local_74 == 0) {\n      local_40 = 0;\n      local_54 = 0;\n      local_78 = (char *)0x0;\n    }\n    else {\n      puVar20 = (undefined1 *)*puVar5;\n      *puVar5 = (uint)(puVar20 + 1);\n      *puVar20 = 0x20;\n      local_80 = local_70 + 3;\n      FUN_00018e10();\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n    }\n    while (local_68 = &DAT_00012b1e + unaff_EBP, *local_68 == '\0') {\n      piVar2 = (int *)(unaff_EBP + 0x1299e);\n      puVar6 = (uint *)(&DAT_00012b26 + unaff_EBP);\n      local_64 = (char *)0x0;\n      piVar4 = (int *)(unaff_EBP + 0x129a6);\nLAB_00015228:\n      pcVar27 = local_78;\n      iVar26 = *piVar2;\n      pcVar18 = (char *)*puVar5;\n      if ((char *)(iVar26 + -1) <= pcVar18) {\n        iVar23 = *piVar4;\n        iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar22;\n        pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar4));\n        *puVar5 = (uint)pcVar18;\n        iVar26 = iVar22 + 0x18c + (iVar26 - iVar23);\n        *piVar4 = iVar22 + 1;\n        pcVar19 = (char *)*puVar6;\n        *piVar2 = iVar26;\n        cVar28 = *pcVar19;\n        cVar12 = cVar28 + -10;\n        bVar29 = cVar12 == '\0';\n        if (!bVar29) goto LAB_0001524d;\nLAB_0001531c:\n        if (local_5c == 0x14) {\nLAB_00015c4a:\n          iVar15 = *local_6c;\n          *(int *)(iVar15 + 0x58) = local_70;\n          *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n          *(int *)(iVar15 + 0x24) = local_54;\n          *pcVar18 = '\0';\n          return;\n        }\n        if (local_74 == 0) {\n          local_78 = (char *)0x0;\n          bVar29 = false;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        *puVar6 = (uint)(pcVar19 + 1);\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;\n        if (*(char **)pcVar3 <= pcVar19 + 1) {\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar5;\n        }\n        if ((local_78 < local_64) && (local_64 < pcVar18)) {\n          *puVar5 = (uint)local_64;\n        }\n        FUN_00018e10();\n        if (*(char *)*puVar6 == '\n') {\n          local_78 = (char *)0x0;\n          bVar29 = true;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        if (local_78 == (char *)0x0) {\n          bVar29 = true;\n          bVar30 = bVar14;\n          goto LAB_00015630;\n        }\n        if ((((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')) && (pcVar18[1] != '/')) {\n          pcVar18 = pcVar18 + 1;\n          *puVar6 = (uint)pcVar18;\n          if (*(char **)pcVar3 <= pcVar18) {\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }\n          if ((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))\n          {\n            FUN_00018c70();\n          }\n        }\n        pcVar18 = (char *)*puVar5;\n        if (pcVar18[-1] != ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n          local_64 = pcVar18;\n        }\n        goto LAB_0001521b;\n      }\n      pcVar19 = (char *)*puVar6;\n      cVar28 = *pcVar19;\n      cVar12 = cVar28 + -10;\n      bVar29 = cVar28 == '\n';\n      if (bVar29) goto LAB_0001531c;\nLAB_0001524d:\n      if (bVar29 || SBORROW1(cVar28,'\n') != cVar12 < '\0') {\n        if (cVar28 != '\t') goto LAB_000151b8;\nLAB_0001525c:\n        if (((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)) {\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }\n        if (cVar28 == ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n        }\n        else {\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }\nLAB_000151f8:\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)) {\n          FUN_00018c70();\n        }\nLAB_0001521b:\n        if (*local_68 != '\0') goto LAB_000159db;\n        goto LAB_00015228;\n      }\n      if (cVar28 == ' ') goto LAB_0001525c;\n      if ((cVar28 != '*') || (local_5c != 0x13)) goto LAB_000151b8;\n      if (pcVar19[1] == '/') {\n        if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }\n          if ((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')) {\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }\n        }\nLAB_00015cc8:\n        if ((char *)(iVar26 + -3) <= pcVar18) {\n          piVar1 = (int *)(unaff_EBP + 0x129a6);\n          iVar15 = *piVar1;\n          iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);\n          *(int *)(unaff_EBP + 0x129aa) = iVar16;\n          pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));\n          *piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);\n          *piVar1 = iVar16 + 1;\n        }\n        *puVar5 = (uint)(pcVar18 + 1);\n        *pcVar18 = '*';\n        puVar20 = (undefined1 *)*puVar5;\n        *puVar5 = (uint)(puVar20 + 1);\n        *puVar20 = 0x2f;\n        *(undefined1 *)*puVar5 = 0;\n        uVar24 = *puVar6;\n        *puVar6 = uVar24 + 2;\n        uVar24 = FUN_00018720(uVar24 + 2);\n        *puVar6 = uVar24;\n        if (*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= uVar24) {\n          FUN_00018c70();\n        }\n        iVar15 = *local_6c;\n        *(int *)(iVar15 + 0x58) = local_70;\n        *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n        *(int *)(iVar15 + 0x24) = local_54;\n        return;\n      }\n      if (*piVar1 + -1 == iVar15) {\n        piVar8 = (int *)(unaff_EBP + 0x129a6);\n        if (pcVar18 != (undefined1 *)*piVar8 + local_48) goto LAB_000151b8;\n        *(undefined1 *)*piVar8 = 0x20;\n        local_80 = (local_80 - local_48) + 2;\n        local_48 = 1;\n        local_4c = unaff_EBP + 0xc5d2;\n        *(undefined1 *)(*piVar8 + 1) = 0x2a;\n        local_78 = (char *)(*piVar8 + 2);\n        local_28 = 0;\n        *puVar5 = (uint)local_78;\n        local_54 = 1;\n        goto LAB_00015589;\n      }\nLAB_000151b8:\n      local_80 = local_80 + 1;\n      *puVar5 = (uint)(pcVar18 + 1);\n      *pcVar18 = *pcVar19;\n      bVar29 = local_74 != 0;\n      local_78 = pcVar18;\nLAB_000151d8:\n      if ((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar29)) goto LAB_000151f8;\n      if (local_64 < (char *)(*puVar5 - 1)) {\n        *local_64 = '\0';\n        uVar24 = *puVar5;\n        *puVar5 = (uint)local_64;\n        local_40 = uVar24 - (int)(local_64 + 1);\n        iVar26 = local_80 - local_40;\n        if ((int)(local_80 - local_40) <= local_60) {\n          iVar26 = local_60;\n        }\n        bVar30 = local_78 == (char *)0x0;\n        bVar29 = false;\n        local_78 = local_64 + 1;\n        local_60 = iVar26;\n        bVar30 = (bool)(bVar30 & bVar14);\n        goto LAB_00015630;\n      }\n      pcVar18 = (char *)*puVar6;\n      if (local_5c != 0x14) {\n        do {\n          pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2);\n          do {\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          } while (pcVar18 < pcVar27);\nLAB_00015b63:\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar6;\n        } while( true );\n      }\n      iVar26 = FUN_00018720(pcVar18);\n      *puVar6 = iVar26 - 1;\n      if (*(char *)(iVar26 + -1) == '\n') {\n        pcVar18 = (char *)*puVar5;\n        goto LAB_00015c4a;\n      }\nLAB_00015d49:\n      *(undefined1 *)*puVar5 = 0;\nLAB_000159db:\n      pcVar18 = local_78;\n      local_78 = (char *)0x0;\n      bVar29 = false;\n      bVar30 = (bool)(pcVar18 == (char *)0x0 & bVar14);\nLAB_00015630:\n      if ((bVar30) && (*piVar1 != iVar15)) {\n        puVar20 = *(undefined1 **)(unaff_EBP + 0x129a6);\n        *puVar5 = (uint)puVar20;\n      }\n      else {\n        puVar20 = (undefined1 *)*puVar5;\n      }\n      *puVar20 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      *(undefined4 *)(unaff_EBP + 0x1297e) = 0;\n      if (!bVar29) {\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n          FUN_00018c70();\n        }\n      }\nLAB_0001543c:\n      local_68 = &DAT_00012b1e + unaff_EBP;\n      if (*local_68 != '\0') break;\n      local_80 = local_70;\n      if (local_48 != 0) {\n        uVar24 = *puVar5;\n        iVar26 = *(int *)(unaff_EBP + 0x1299e);\n        if (iVar26 - local_48 <= uVar24) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_48 + 400 + (iVar26 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          uVar24 = iVar23 + 1 + (*puVar5 - *piVar2);\n          *puVar5 = uVar24;\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *piVar2 = iVar23 + 1;\n        }\n        if (local_48 != 0) {\n          uVar21 = 0;\n          do {\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          } while (uVar21 < local_48);\n        }\n        *puVar5 = *puVar5 + local_48;\n        local_80 = local_70 + local_48;\n      }\n      if (local_78 == (char *)0x0) {\n        FUN_00018e10();\n      }\n      else {\n        if ((*local_78 == ' ') || (*local_78 == '\t')) {\n          if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }\n        }\n        else {\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }\nLAB_000158f3:\n        __dest = (void *)*puVar5;\n        iVar23 = *(int *)(unaff_EBP + 0x1299e);\n        if ((void *)(iVar26 + iVar23) <= __dest) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_40 + 400 + (iVar23 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          __dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *puVar5 = (uint)__dest;\n          *piVar2 = iVar23 + 1;\n        }\n        memmove(__dest,local_78,local_84);\n        local_78 = (char *)*puVar5;\n        *puVar5 = (uint)(local_78 + local_84);\n        local_40 = 0;\n      }\n    }\n    iVar15 = *local_6c;\n    *(int *)(iVar15 + 0x58) = local_70;\n    *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n    *(int *)(iVar15 + 0x24) = local_54;\n    return;\n  }\n  piVar1 = (int *)(&DAT_00012b26 + unaff_EBP);\n  pbVar10 = (byte *)*piVar1;\n  bVar9 = *pbVar10;\n  if (bVar9 == 0x2a || bVar9 == 0x5f) {\n    pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);\n  }\n  else {\n    if (((bVar9 & 0xef) != 0x2d) &&\n       ((*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0 ||\n        (*(int *)(unaff_EBP + 0x12c02) != 0)))) {\n      bVar14 = true;\n      uVar25 = 0x2a;\n      local_5c = 0x13;\n      local_84 = *(size_t *)(FUN_00012bc0 + unaff_EBP + 2);\n      local_28 = *(int *)(unaff_EBP + 0x12c1a);\n      local_48 = 0;\n      local_4c = 0;\n      bVar29 = local_28 != 0;\n      goto LAB_00014fd0;\n    }\n    pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);\n  }\n  if ((pbVar10 < pbVar11) || (pbVar11 + *(int *)(unaff_EBP + 0x12b7a) < pbVar10)) {\n    iVar15 = FUN_00018750();\n    iVar15 = iVar15 + -2;\n  }\n  else {\n    iVar15 = *(int *)(unaff_EBP + 0x12b7e);\n  }\n  local_6c = (int *)(&DAT_00012b16 + unaff_EBP);\n  iVar26 = *local_6c;\n  *(int *)(iVar26 + 0x58) = iVar15;\n  *(undefined4 *)(iVar26 + 0x24) = 1;\n  if (*(int *)(unaff_EBP + 0x12c32) != 0) {\n    *(undefined4 *)(unaff_EBP + 0x1297e) = 1;\n  }\n  piVar2 = (int *)(unaff_EBP + 0x129a2);\n  local_68 = (char *)0x1;\n  puVar20 = (undefined1 *)*piVar2;\n  pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;\n  *piVar2 = (int)(puVar20 + 1);\n  *puVar20 = 0x2f;\n  puVar20 = (undefined1 *)*piVar2;\n  piVar4 = (int *)(unaff_EBP + 0x129a6);\n  *piVar2 = (int)(puVar20 + 1);\n  *puVar20 = 0x2a;\n  pcVar18 = (char *)*piVar1;\n  cVar28 = *pcVar18;\n  do {\n    do {\n      if (cVar28 == '\n') {\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n      }\n      pcVar27 = (char *)*piVar2;\n      iVar26 = *(int *)(unaff_EBP + 0x1299e);\n      if ((char *)(iVar26 - 1U) <= pcVar27) {\n        iVar26 = iVar26 - *piVar4;\n        iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar16;\n        pcVar27 = (char *)(iVar16 + 1 + (*piVar2 - *piVar4));\n        *(int *)(unaff_EBP + 0x1299e) = iVar16 + 0x18c + iVar26;\n        *piVar4 = iVar16 + 1;\n        pcVar18 = (char *)*piVar1;\n      }\n      *piVar1 = (int)(pcVar18 + 1);\n      *piVar2 = (int)(pcVar27 + 1);\n      *pcVar27 = *pcVar18;\n      pcVar18 = (char *)*piVar1;\n      pcVar27 = *(char **)pcVar3;\n      cVar28 = *pcVar18;\n    } while ((cVar28 != '*') && (pcVar18 < pcVar27));\n    if (pcVar27 < pcVar18) {\n      *piVar1 = (int)pcVar27;\n      cVar28 = *pcVar27;\n      pcVar18 = pcVar27;\n    }\n    if (*(int *)(unaff_EBP + 0x12bfa) == 0) {\nLAB_00014e50:\n      if (cVar28 == '*') {\nLAB_00014e59:\n        if (pcVar18[1] == '/') {\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }\n        cVar28 = '*';\n      }\n    }\n    else if (cVar28 == '*') {\n      if (pcVar18[-1] == '/') {\n        *(undefined1 *)(*piVar2 + -1) = 0x20;\n        *(undefined1 *)*piVar2 = 0x2a;\n        pcVar18 = (char *)*piVar1;\n        pcVar27 = *(char **)pcVar3;\n        cVar28 = *pcVar18;\n        goto LAB_00014e50;\n      }\n      goto LAB_00014e59;\n    }\n    if (pcVar18 == pcVar27) {\n      if (pcVar18[-1] == '\n') {\n        iVar26 = *piVar2;\n        *piVar2 = iVar26 + -1;\n        *(undefined1 *)(iVar26 + -1) = 0;\n        FUN_0001a130(1,param_1,param_2);\n        local_68 = (char *)((int)local_68 + 1);\n        *(undefined4 *)(*local_6c + 0x58) = 1;\n      }\n      FUN_00018c70();\n      if ((&DAT_00012b1e)[unaff_EBP] != '\0') {\n        puVar20 = (undefined1 *)*piVar2;\n        *piVar2 = (int)(puVar20 + 1);\n        *puVar20 = 0;\n        iVar26 = *local_6c;\n        piVar1 = (int *)(iVar26 + 0x20);\n        *piVar1 = *piVar1 + -1;\n        *(int *)(iVar26 + 0x58) = iVar15;\n        return;\n      }\n      pcVar18 = (char *)*piVar1;\n      cVar28 = *pcVar18;\n    }\n  } while( true );\n}\n\n" (function_definition "void FUN_00014c50(undefined4 *param_1,undefined4 param_2)\n\n{\n  int *piVar1;\n  int *piVar2;\n  code *pcVar3;\n  int *piVar4;\n  uint *puVar5;\n  uint *puVar6;\n  undefined4 *puVar7;\n  int *piVar8;\n  byte bVar9;\n  byte *pbVar10;\n  byte *pbVar11;\n  char cVar12;\n  bool bVar13;\n  bool bVar14;\n  int iVar15;\n  int iVar16;\n  undefined4 uVar17;\n  char *pcVar18;\n  char *pcVar19;\n  undefined1 *puVar20;\n  uint uVar21;\n  int iVar22;\n  int iVar23;\n  uint uVar24;\n  undefined1 uVar25;\n  int iVar26;\n  char *pcVar27;\n  char cVar28;\n  void *__dest;\n  int unaff_EBP;\n  bool bVar29;\n  bool bVar30;\n  size_t local_84;\n  int local_80;\n  char *local_78;\n  int local_74;\n  int local_70;\n  int *local_6c;\n  char *local_68;\n  char *local_64;\n  int local_60;\n  int local_5c;\n  int local_54;\n  int local_4c;\n  uint local_48;\n  size_t local_40;\n  int local_28;\n  \n  FUN_00013b71();\n  FUN_00017e00();\n  if (*(char *)(*(int *)(unaff_EBP + 0x12caa) + 1) == '/') {\n    local_4c = unaff_EBP + 0xc5c8;\n    bVar14 = false;\n    bVar29 = false;\n    local_5c = 0x14;\n    local_48 = 3;\n    local_28 = 0;\n    local_84 = 0;\n    uVar25 = 0x2f;\nLAB_00014fd0:\n    local_6c = (int *)(&DAT_00012b16 + unaff_EBP);\n    piVar1 = (int *)(unaff_EBP + 0x12b52);\n    iVar15 = *piVar1;\n    local_60 = *(int *)(unaff_EBP + 0x12c46);\n    iVar16 = FUN_00018750();\n    iVar26 = *(int *)(unaff_EBP + 0x129c6);\n    if ((iVar26 == *(int *)(unaff_EBP + 0x129c2)) &&\n       (*(int *)(unaff_EBP + 0x129b6) == *(int *)(unaff_EBP + 0x129b2))) {\n      iVar26 = *local_6c;\n      if ((*(int *)(iVar26 + 0x54) == 0) || (*(int *)(unaff_EBP + 0x12c02) != 0)) {\n        local_74 = *(int *)(unaff_EBP + 0x12bfe);\n        if ((*(int *)(iVar26 + 0x74) < 1) &&\n           ((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))))) {\n          bVar13 = true;\n          local_80 = iVar16;\n          local_70 = iVar16 + -2;\n        }\n        else {\n          local_70 = FUN_00019aa0(*param_1);\n          local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);\n          if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }\n        }\n      }\n      else {\n        local_80 = 3;\n        bVar13 = true;\n        local_70 = 1;\n        local_74 = 0;\n      }\n    }\n    else {\n      if (*(int *)(*local_6c + 0x60) == 0) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0) {\n          local_70 = *(int *)(unaff_EBP + 0x12c7a);\n        }\n        else {\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }\n      }\n      else {\n        local_70 = *(int *)(unaff_EBP + 0x12c6e);\n      }\n      iVar23 = *(int *)(unaff_EBP + 0x129b6);\n      if (iVar23 == *(int *)(unaff_EBP + 0x129b2)) {\n        uVar17 = FUN_00019bf0();\n      }\n      else {\n        uVar17 = FUN_00019aa0(*param_1);\n        iVar26 = iVar23;\n      }\n      iVar26 = FUN_00019b60(uVar17,iVar26,0);\n      if (local_70 <= iVar26) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0) {\n          local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;\n        }\n        else {\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }\n      }\n      bVar13 = false;\n      bVar29 = false;\n      local_74 = *(int *)(unaff_EBP + 0x12bfe);\n      iVar26 = *local_6c;\n      local_80 = local_70 + 2;\n    }\n    if (local_4c == 0) {\n      if (local_84 == 0) {\n        local_4c = unaff_EBP + 0xc5d0;\n        bVar14 = true;\n        local_48 = 3;\n      }\n      else {\n        local_4c = unaff_EBP + 0xc5cc;\n        bVar14 = false;\n        local_48 = 3;\n      }\n    }\n    *(undefined4 *)(iVar26 + 0x24) = 0;\n    *(int *)(iVar26 + 0x58) = local_70;\n    puVar5 = (uint *)(unaff_EBP + 0x129a2);\n    puVar20 = (undefined1 *)*puVar5;\n    *puVar5 = (uint)(puVar20 + 1);\n    *puVar20 = 0x2f;\n    puVar20 = (undefined1 *)*puVar5;\n    *puVar5 = (uint)(puVar20 + 1);\n    *puVar20 = uVar25;\n    if (bVar29) {\n      puVar7 = (undefined4 *)(&DAT_00012b26 + unaff_EBP);\n      uVar17 = *puVar7;\n      *(undefined1 *)*puVar5 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      pcVar18 = (char *)FUN_00018720(uVar17);\n      if (*pcVar18 == '\n') {\n        pcVar18 = pcVar18 + 1;\n        *puVar7 = pcVar18;\n      }\n      else if (local_74 == 0) {\n        pcVar18 = (char *)*puVar7;\n      }\n      else {\n        *puVar7 = pcVar18;\n      }\n      if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n        FUN_00018c70();\n      }\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n      goto LAB_0001543c;\n    }\n    if (local_74 == 0) {\n      local_40 = 0;\n      local_54 = 0;\n      local_78 = (char *)0x0;\n    }\n    else {\n      puVar20 = (undefined1 *)*puVar5;\n      *puVar5 = (uint)(puVar20 + 1);\n      *puVar20 = 0x20;\n      local_80 = local_70 + 3;\n      FUN_00018e10();\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n    }\n    while (local_68 = &DAT_00012b1e + unaff_EBP, *local_68 == '\0') {\n      piVar2 = (int *)(unaff_EBP + 0x1299e);\n      puVar6 = (uint *)(&DAT_00012b26 + unaff_EBP);\n      local_64 = (char *)0x0;\n      piVar4 = (int *)(unaff_EBP + 0x129a6);\nLAB_00015228:\n      pcVar27 = local_78;\n      iVar26 = *piVar2;\n      pcVar18 = (char *)*puVar5;\n      if ((char *)(iVar26 + -1) <= pcVar18) {\n        iVar23 = *piVar4;\n        iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar22;\n        pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar4));\n        *puVar5 = (uint)pcVar18;\n        iVar26 = iVar22 + 0x18c + (iVar26 - iVar23);\n        *piVar4 = iVar22 + 1;\n        pcVar19 = (char *)*puVar6;\n        *piVar2 = iVar26;\n        cVar28 = *pcVar19;\n        cVar12 = cVar28 + -10;\n        bVar29 = cVar12 == '\0';\n        if (!bVar29) goto LAB_0001524d;\nLAB_0001531c:\n        if (local_5c == 0x14) {\nLAB_00015c4a:\n          iVar15 = *local_6c;\n          *(int *)(iVar15 + 0x58) = local_70;\n          *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n          *(int *)(iVar15 + 0x24) = local_54;\n          *pcVar18 = '\0';\n          return;\n        }\n        if (local_74 == 0) {\n          local_78 = (char *)0x0;\n          bVar29 = false;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        *puVar6 = (uint)(pcVar19 + 1);\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;\n        if (*(char **)pcVar3 <= pcVar19 + 1) {\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar5;\n        }\n        if ((local_78 < local_64) && (local_64 < pcVar18)) {\n          *puVar5 = (uint)local_64;\n        }\n        FUN_00018e10();\n        if (*(char *)*puVar6 == '\n') {\n          local_78 = (char *)0x0;\n          bVar29 = true;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        if (local_78 == (char *)0x0) {\n          bVar29 = true;\n          bVar30 = bVar14;\n          goto LAB_00015630;\n        }\n        if ((((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')) && (pcVar18[1] != '/')) {\n          pcVar18 = pcVar18 + 1;\n          *puVar6 = (uint)pcVar18;\n          if (*(char **)pcVar3 <= pcVar18) {\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }\n          if ((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))\n          {\n            FUN_00018c70();\n          }\n        }\n        pcVar18 = (char *)*puVar5;\n        if (pcVar18[-1] != ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n          local_64 = pcVar18;\n        }\n        goto LAB_0001521b;\n      }\n      pcVar19 = (char *)*puVar6;\n      cVar28 = *pcVar19;\n      cVar12 = cVar28 + -10;\n      bVar29 = cVar28 == '\n';\n      if (bVar29) goto LAB_0001531c;\nLAB_0001524d:\n      if (bVar29 || SBORROW1(cVar28,'\n') != cVar12 < '\0') {\n        if (cVar28 != '\t') goto LAB_000151b8;\nLAB_0001525c:\n        if (((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)) {\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }\n        if (cVar28 == ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n        }\n        else {\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }\nLAB_000151f8:\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)) {\n          FUN_00018c70();\n        }\nLAB_0001521b:\n        if (*local_68 != '\0') goto LAB_000159db;\n        goto LAB_00015228;\n      }\n      if (cVar28 == ' ') goto LAB_0001525c;\n      if ((cVar28 != '*') || (local_5c != 0x13)) goto LAB_000151b8;\n      if (pcVar19[1] == '/') {\n        if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }\n          if ((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')) {\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }\n        }\nLAB_00015cc8:\n        if ((char *)(iVar26 + -3) <= pcVar18) {\n          piVar1 = (int *)(unaff_EBP + 0x129a6);\n          iVar15 = *piVar1;\n          iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);\n          *(int *)(unaff_EBP + 0x129aa) = iVar16;\n          pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));\n          *piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);\n          *piVar1 = iVar16 + 1;\n        }\n        *puVar5 = (uint)(pcVar18 + 1);\n        *pcVar18 = '*';\n        puVar20 = (undefined1 *)*puVar5;\n        *puVar5 = (uint)(puVar20 + 1);\n        *puVar20 = 0x2f;\n        *(undefined1 *)*puVar5 = 0;\n        uVar24 = *puVar6;\n        *puVar6 = uVar24 + 2;\n        uVar24 = FUN_00018720(uVar24 + 2);\n        *puVar6 = uVar24;\n        if (*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= uVar24) {\n          FUN_00018c70();\n        }\n        iVar15 = *local_6c;\n        *(int *)(iVar15 + 0x58) = local_70;\n        *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n        *(int *)(iVar15 + 0x24) = local_54;\n        return;\n      }\n      if (*piVar1 + -1 == iVar15) {\n        piVar8 = (int *)(unaff_EBP + 0x129a6);\n        if (pcVar18 != (undefined1 *)*piVar8 + local_48) goto LAB_000151b8;\n        *(undefined1 *)*piVar8 = 0x20;\n        local_80 = (local_80 - local_48) + 2;\n        local_48 = 1;\n        local_4c = unaff_EBP + 0xc5d2;\n        *(undefined1 *)(*piVar8 + 1) = 0x2a;\n        local_78 = (char *)(*piVar8 + 2);\n        local_28 = 0;\n        *puVar5 = (uint)local_78;\n        local_54 = 1;\n        goto LAB_00015589;\n      }\nLAB_000151b8:\n      local_80 = local_80 + 1;\n      *puVar5 = (uint)(pcVar18 + 1);\n      *pcVar18 = *pcVar19;\n      bVar29 = local_74 != 0;\n      local_78 = pcVar18;\nLAB_000151d8:\n      if ((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar29)) goto LAB_000151f8;\n      if (local_64 < (char *)(*puVar5 - 1)) {\n        *local_64 = '\0';\n        uVar24 = *puVar5;\n        *puVar5 = (uint)local_64;\n        local_40 = uVar24 - (int)(local_64 + 1);\n        iVar26 = local_80 - local_40;\n        if ((int)(local_80 - local_40) <= local_60) {\n          iVar26 = local_60;\n        }\n        bVar30 = local_78 == (char *)0x0;\n        bVar29 = false;\n        local_78 = local_64 + 1;\n        local_60 = iVar26;\n        bVar30 = (bool)(bVar30 & bVar14);\n        goto LAB_00015630;\n      }\n      pcVar18 = (char *)*puVar6;\n      if (local_5c != 0x14) {\n        do {\n          pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2);\n          do {\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          } while (pcVar18 < pcVar27);\nLAB_00015b63:\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar6;\n        } while( true );\n      }\n      iVar26 = FUN_00018720(pcVar18);\n      *puVar6 = iVar26 - 1;\n      if (*(char *)(iVar26 + -1) == '\n') {\n        pcVar18 = (char *)*puVar5;\n        goto LAB_00015c4a;\n      }\nLAB_00015d49:\n      *(undefined1 *)*puVar5 = 0;\nLAB_000159db:\n      pcVar18 = local_78;\n      local_78 = (char *)0x0;\n      bVar29 = false;\n      bVar30 = (bool)(pcVar18 == (char *)0x0 & bVar14);\nLAB_00015630:\n      if ((bVar30) && (*piVar1 != iVar15)) {\n        puVar20 = *(undefined1 **)(unaff_EBP + 0x129a6);\n        *puVar5 = (uint)puVar20;\n      }\n      else {\n        puVar20 = (undefined1 *)*puVar5;\n      }\n      *puVar20 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      *(undefined4 *)(unaff_EBP + 0x1297e) = 0;\n      if (!bVar29) {\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n          FUN_00018c70();\n        }\n      }\nLAB_0001543c:\n      local_68 = &DAT_00012b1e + unaff_EBP;\n      if (*local_68 != '\0') break;\n      local_80 = local_70;\n      if (local_48 != 0) {\n        uVar24 = *puVar5;\n        iVar26 = *(int *)(unaff_EBP + 0x1299e);\n        if (iVar26 - local_48 <= uVar24) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_48 + 400 + (iVar26 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          uVar24 = iVar23 + 1 + (*puVar5 - *piVar2);\n          *puVar5 = uVar24;\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *piVar2 = iVar23 + 1;\n        }\n        if (local_48 != 0) {\n          uVar21 = 0;\n          do {\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          } while (uVar21 < local_48);\n        }\n        *puVar5 = *puVar5 + local_48;\n        local_80 = local_70 + local_48;\n      }\n      if (local_78 == (char *)0x0) {\n        FUN_00018e10();\n      }\n      else {\n        if ((*local_78 == ' ') || (*local_78 == '\t')) {\n          if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }\n        }\n        else {\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }\nLAB_000158f3:\n        __dest = (void *)*puVar5;\n        iVar23 = *(int *)(unaff_EBP + 0x1299e);\n        if ((void *)(iVar26 + iVar23) <= __dest) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_40 + 400 + (iVar23 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          __dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *puVar5 = (uint)__dest;\n          *piVar2 = iVar23 + 1;\n        }\n        memmove(__dest,local_78,local_84);\n        local_78 = (char *)*puVar5;\n        *puVar5 = (uint)(local_78 + local_84);\n        local_40 = 0;\n      }\n    }\n    iVar15 = *local_6c;\n    *(int *)(iVar15 + 0x58) = local_70;\n    *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n    *(int *)(iVar15 + 0x24) = local_54;\n    return;\n  }\n  piVar1 = (int *)(&DAT_00012b26 + unaff_EBP);\n  pbVar10 = (byte *)*piVar1;\n  bVar9 = *pbVar10;\n  if (bVar9 == 0x2a || bVar9 == 0x5f) {\n    pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);\n  }\n  else {\n    if (((bVar9 & 0xef) != 0x2d) &&\n       ((*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0 ||\n        (*(int *)(unaff_EBP + 0x12c02) != 0)))) {\n      bVar14 = true;\n      uVar25 = 0x2a;\n      local_5c = 0x13;\n      local_84 = *(size_t *)(FUN_00012bc0 + unaff_EBP + 2);\n      local_28 = *(int *)(unaff_EBP + 0x12c1a);\n      local_48 = 0;\n      local_4c = 0;\n      bVar29 = local_28 != 0;\n      goto LAB_00014fd0;\n    }\n    pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);\n  }\n  if ((pbVar10 < pbVar11) || (pbVar11 + *(int *)(unaff_EBP + 0x12b7a) < pbVar10)) {\n    iVar15 = FUN_00018750();\n    iVar15 = iVar15 + -2;\n  }\n  else {\n    iVar15 = *(int *)(unaff_EBP + 0x12b7e);\n  }\n  local_6c = (int *)(&DAT_00012b16 + unaff_EBP);\n  iVar26 = *local_6c;\n  *(int *)(iVar26 + 0x58) = iVar15;\n  *(undefined4 *)(iVar26 + 0x24) = 1;\n  if (*(int *)(unaff_EBP + 0x12c32) != 0) {\n    *(undefined4 *)(unaff_EBP + 0x1297e) = 1;\n  }\n  piVar2 = (int *)(unaff_EBP + 0x129a2);\n  local_68 = (char *)0x1;\n  puVar20 = (undefined1 *)*piVar2;\n  pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;\n  *piVar2 = (int)(puVar20 + 1);\n  *puVar20 = 0x2f;\n  puVar20 = (undefined1 *)*piVar2;\n  piVar4 = (int *)(unaff_EBP + 0x129a6);\n  *piVar2 = (int)(puVar20 + 1);\n  *puVar20 = 0x2a;\n  pcVar18 = (char *)*piVar1;\n  cVar28 = *pcVar18;\n  do {\n    do {\n      if (cVar28 == '\n') {\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n      }\n      pcVar27 = (char *)*piVar2;\n      iVar26 = *(int *)(unaff_EBP + 0x1299e);\n      if ((char *)(iVar26 - 1U) <= pcVar27) {\n        iVar26 = iVar26 - *piVar4;\n        iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar16;\n        pcVar27 = (char *)(iVar16 + 1 + (*piVar2 - *piVar4));\n        *(int *)(unaff_EBP + 0x1299e) = iVar16 + 0x18c + iVar26;\n        *piVar4 = iVar16 + 1;\n        pcVar18 = (char *)*piVar1;\n      }\n      *piVar1 = (int)(pcVar18 + 1);\n      *piVar2 = (int)(pcVar27 + 1);\n      *pcVar27 = *pcVar18;\n      pcVar18 = (char *)*piVar1;\n      pcVar27 = *(char **)pcVar3;\n      cVar28 = *pcVar18;\n    } while ((cVar28 != '*') && (pcVar18 < pcVar27));\n    if (pcVar27 < pcVar18) {\n      *piVar1 = (int)pcVar27;\n      cVar28 = *pcVar27;\n      pcVar18 = pcVar27;\n    }\n    if (*(int *)(unaff_EBP + 0x12bfa) == 0) {\nLAB_00014e50:\n      if (cVar28 == '*') {\nLAB_00014e59:\n        if (pcVar18[1] == '/') {\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }\n        cVar28 = '*';\n      }\n    }\n    else if (cVar28 == '*') {\n      if (pcVar18[-1] == '/') {\n        *(undefined1 *)(*piVar2 + -1) = 0x20;\n        *(undefined1 *)*piVar2 = 0x2a;\n        pcVar18 = (char *)*piVar1;\n        pcVar27 = *(char **)pcVar3;\n        cVar28 = *pcVar18;\n        goto LAB_00014e50;\n      }\n      goto LAB_00014e59;\n    }\n    if (pcVar18 == pcVar27) {\n      if (pcVar18[-1] == '\n') {\n        iVar26 = *piVar2;\n        *piVar2 = iVar26 + -1;\n        *(undefined1 *)(iVar26 + -1) = 0;\n        FUN_0001a130(1,param_1,param_2);\n        local_68 = (char *)((int)local_68 + 1);\n        *(undefined4 *)(*local_6c + 0x58) = 1;\n      }\n      FUN_00018c70();\n      if ((&DAT_00012b1e)[unaff_EBP] != '\0') {\n        puVar20 = (undefined1 *)*piVar2;\n        *piVar2 = (int)(puVar20 + 1);\n        *puVar20 = 0;\n        iVar26 = *local_6c;\n        piVar1 = (int *)(iVar26 + 0x20);\n        *piVar1 = *piVar1 + -1;\n        *(int *)(iVar26 + 0x58) = iVar15;\n        return;\n      }\n      pcVar18 = (char *)*piVar1;\n      cVar28 = *pcVar18;\n    }\n  } while( true );\n}" primitive_type (function_declarator "FUN_00014c50(undefined4 *param_1,undefined4 param_2)" identifier (parameter_list "(undefined4 *param_1,undefined4 param_2)" ( (parameter_declaration "undefined4 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  int *piVar1;\n  int *piVar2;\n  code *pcVar3;\n  int *piVar4;\n  uint *puVar5;\n  uint *puVar6;\n  undefined4 *puVar7;\n  int *piVar8;\n  byte bVar9;\n  byte *pbVar10;\n  byte *pbVar11;\n  char cVar12;\n  bool bVar13;\n  bool bVar14;\n  int iVar15;\n  int iVar16;\n  undefined4 uVar17;\n  char *pcVar18;\n  char *pcVar19;\n  undefined1 *puVar20;\n  uint uVar21;\n  int iVar22;\n  int iVar23;\n  uint uVar24;\n  undefined1 uVar25;\n  int iVar26;\n  char *pcVar27;\n  char cVar28;\n  void *__dest;\n  int unaff_EBP;\n  bool bVar29;\n  bool bVar30;\n  size_t local_84;\n  int local_80;\n  char *local_78;\n  int local_74;\n  int local_70;\n  int *local_6c;\n  char *local_68;\n  char *local_64;\n  int local_60;\n  int local_5c;\n  int local_54;\n  int local_4c;\n  uint local_48;\n  size_t local_40;\n  int local_28;\n  \n  FUN_00013b71();\n  FUN_00017e00();\n  if (*(char *)(*(int *)(unaff_EBP + 0x12caa) + 1) == '/') {\n    local_4c = unaff_EBP + 0xc5c8;\n    bVar14 = false;\n    bVar29 = false;\n    local_5c = 0x14;\n    local_48 = 3;\n    local_28 = 0;\n    local_84 = 0;\n    uVar25 = 0x2f;\nLAB_00014fd0:\n    local_6c = (int *)(&DAT_00012b16 + unaff_EBP);\n    piVar1 = (int *)(unaff_EBP + 0x12b52);\n    iVar15 = *piVar1;\n    local_60 = *(int *)(unaff_EBP + 0x12c46);\n    iVar16 = FUN_00018750();\n    iVar26 = *(int *)(unaff_EBP + 0x129c6);\n    if ((iVar26 == *(int *)(unaff_EBP + 0x129c2)) &&\n       (*(int *)(unaff_EBP + 0x129b6) == *(int *)(unaff_EBP + 0x129b2))) {\n      iVar26 = *local_6c;\n      if ((*(int *)(iVar26 + 0x54) == 0) || (*(int *)(unaff_EBP + 0x12c02) != 0)) {\n        local_74 = *(int *)(unaff_EBP + 0x12bfe);\n        if ((*(int *)(iVar26 + 0x74) < 1) &&\n           ((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))))) {\n          bVar13 = true;\n          local_80 = iVar16;\n          local_70 = iVar16 + -2;\n        }\n        else {\n          local_70 = FUN_00019aa0(*param_1);\n          local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);\n          if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }\n        }\n      }\n      else {\n        local_80 = 3;\n        bVar13 = true;\n        local_70 = 1;\n        local_74 = 0;\n      }\n    }\n    else {\n      if (*(int *)(*local_6c + 0x60) == 0) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0) {\n          local_70 = *(int *)(unaff_EBP + 0x12c7a);\n        }\n        else {\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }\n      }\n      else {\n        local_70 = *(int *)(unaff_EBP + 0x12c6e);\n      }\n      iVar23 = *(int *)(unaff_EBP + 0x129b6);\n      if (iVar23 == *(int *)(unaff_EBP + 0x129b2)) {\n        uVar17 = FUN_00019bf0();\n      }\n      else {\n        uVar17 = FUN_00019aa0(*param_1);\n        iVar26 = iVar23;\n      }\n      iVar26 = FUN_00019b60(uVar17,iVar26,0);\n      if (local_70 <= iVar26) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0) {\n          local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;\n        }\n        else {\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }\n      }\n      bVar13 = false;\n      bVar29 = false;\n      local_74 = *(int *)(unaff_EBP + 0x12bfe);\n      iVar26 = *local_6c;\n      local_80 = local_70 + 2;\n    }\n    if (local_4c == 0) {\n      if (local_84 == 0) {\n        local_4c = unaff_EBP + 0xc5d0;\n        bVar14 = true;\n        local_48 = 3;\n      }\n      else {\n        local_4c = unaff_EBP + 0xc5cc;\n        bVar14 = false;\n        local_48 = 3;\n      }\n    }\n    *(undefined4 *)(iVar26 + 0x24) = 0;\n    *(int *)(iVar26 + 0x58) = local_70;\n    puVar5 = (uint *)(unaff_EBP + 0x129a2);\n    puVar20 = (undefined1 *)*puVar5;\n    *puVar5 = (uint)(puVar20 + 1);\n    *puVar20 = 0x2f;\n    puVar20 = (undefined1 *)*puVar5;\n    *puVar5 = (uint)(puVar20 + 1);\n    *puVar20 = uVar25;\n    if (bVar29) {\n      puVar7 = (undefined4 *)(&DAT_00012b26 + unaff_EBP);\n      uVar17 = *puVar7;\n      *(undefined1 *)*puVar5 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      pcVar18 = (char *)FUN_00018720(uVar17);\n      if (*pcVar18 == '\n') {\n        pcVar18 = pcVar18 + 1;\n        *puVar7 = pcVar18;\n      }\n      else if (local_74 == 0) {\n        pcVar18 = (char *)*puVar7;\n      }\n      else {\n        *puVar7 = pcVar18;\n      }\n      if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n        FUN_00018c70();\n      }\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n      goto LAB_0001543c;\n    }\n    if (local_74 == 0) {\n      local_40 = 0;\n      local_54 = 0;\n      local_78 = (char *)0x0;\n    }\n    else {\n      puVar20 = (undefined1 *)*puVar5;\n      *puVar5 = (uint)(puVar20 + 1);\n      *puVar20 = 0x20;\n      local_80 = local_70 + 3;\n      FUN_00018e10();\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n    }\n    while (local_68 = &DAT_00012b1e + unaff_EBP, *local_68 == '\0') {\n      piVar2 = (int *)(unaff_EBP + 0x1299e);\n      puVar6 = (uint *)(&DAT_00012b26 + unaff_EBP);\n      local_64 = (char *)0x0;\n      piVar4 = (int *)(unaff_EBP + 0x129a6);\nLAB_00015228:\n      pcVar27 = local_78;\n      iVar26 = *piVar2;\n      pcVar18 = (char *)*puVar5;\n      if ((char *)(iVar26 + -1) <= pcVar18) {\n        iVar23 = *piVar4;\n        iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar22;\n        pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar4));\n        *puVar5 = (uint)pcVar18;\n        iVar26 = iVar22 + 0x18c + (iVar26 - iVar23);\n        *piVar4 = iVar22 + 1;\n        pcVar19 = (char *)*puVar6;\n        *piVar2 = iVar26;\n        cVar28 = *pcVar19;\n        cVar12 = cVar28 + -10;\n        bVar29 = cVar12 == '\0';\n        if (!bVar29) goto LAB_0001524d;\nLAB_0001531c:\n        if (local_5c == 0x14) {\nLAB_00015c4a:\n          iVar15 = *local_6c;\n          *(int *)(iVar15 + 0x58) = local_70;\n          *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n          *(int *)(iVar15 + 0x24) = local_54;\n          *pcVar18 = '\0';\n          return;\n        }\n        if (local_74 == 0) {\n          local_78 = (char *)0x0;\n          bVar29 = false;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        *puVar6 = (uint)(pcVar19 + 1);\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;\n        if (*(char **)pcVar3 <= pcVar19 + 1) {\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar5;\n        }\n        if ((local_78 < local_64) && (local_64 < pcVar18)) {\n          *puVar5 = (uint)local_64;\n        }\n        FUN_00018e10();\n        if (*(char *)*puVar6 == '\n') {\n          local_78 = (char *)0x0;\n          bVar29 = true;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        if (local_78 == (char *)0x0) {\n          bVar29 = true;\n          bVar30 = bVar14;\n          goto LAB_00015630;\n        }\n        if ((((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')) && (pcVar18[1] != '/')) {\n          pcVar18 = pcVar18 + 1;\n          *puVar6 = (uint)pcVar18;\n          if (*(char **)pcVar3 <= pcVar18) {\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }\n          if ((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))\n          {\n            FUN_00018c70();\n          }\n        }\n        pcVar18 = (char *)*puVar5;\n        if (pcVar18[-1] != ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n          local_64 = pcVar18;\n        }\n        goto LAB_0001521b;\n      }\n      pcVar19 = (char *)*puVar6;\n      cVar28 = *pcVar19;\n      cVar12 = cVar28 + -10;\n      bVar29 = cVar28 == '\n';\n      if (bVar29) goto LAB_0001531c;\nLAB_0001524d:\n      if (bVar29 || SBORROW1(cVar28,'\n') != cVar12 < '\0') {\n        if (cVar28 != '\t') goto LAB_000151b8;\nLAB_0001525c:\n        if (((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)) {\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }\n        if (cVar28 == ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n        }\n        else {\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }\nLAB_000151f8:\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)) {\n          FUN_00018c70();\n        }\nLAB_0001521b:\n        if (*local_68 != '\0') goto LAB_000159db;\n        goto LAB_00015228;\n      }\n      if (cVar28 == ' ') goto LAB_0001525c;\n      if ((cVar28 != '*') || (local_5c != 0x13)) goto LAB_000151b8;\n      if (pcVar19[1] == '/') {\n        if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }\n          if ((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')) {\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }\n        }\nLAB_00015cc8:\n        if ((char *)(iVar26 + -3) <= pcVar18) {\n          piVar1 = (int *)(unaff_EBP + 0x129a6);\n          iVar15 = *piVar1;\n          iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);\n          *(int *)(unaff_EBP + 0x129aa) = iVar16;\n          pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));\n          *piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);\n          *piVar1 = iVar16 + 1;\n        }\n        *puVar5 = (uint)(pcVar18 + 1);\n        *pcVar18 = '*';\n        puVar20 = (undefined1 *)*puVar5;\n        *puVar5 = (uint)(puVar20 + 1);\n        *puVar20 = 0x2f;\n        *(undefined1 *)*puVar5 = 0;\n        uVar24 = *puVar6;\n        *puVar6 = uVar24 + 2;\n        uVar24 = FUN_00018720(uVar24 + 2);\n        *puVar6 = uVar24;\n        if (*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= uVar24) {\n          FUN_00018c70();\n        }\n        iVar15 = *local_6c;\n        *(int *)(iVar15 + 0x58) = local_70;\n        *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n        *(int *)(iVar15 + 0x24) = local_54;\n        return;\n      }\n      if (*piVar1 + -1 == iVar15) {\n        piVar8 = (int *)(unaff_EBP + 0x129a6);\n        if (pcVar18 != (undefined1 *)*piVar8 + local_48) goto LAB_000151b8;\n        *(undefined1 *)*piVar8 = 0x20;\n        local_80 = (local_80 - local_48) + 2;\n        local_48 = 1;\n        local_4c = unaff_EBP + 0xc5d2;\n        *(undefined1 *)(*piVar8 + 1) = 0x2a;\n        local_78 = (char *)(*piVar8 + 2);\n        local_28 = 0;\n        *puVar5 = (uint)local_78;\n        local_54 = 1;\n        goto LAB_00015589;\n      }\nLAB_000151b8:\n      local_80 = local_80 + 1;\n      *puVar5 = (uint)(pcVar18 + 1);\n      *pcVar18 = *pcVar19;\n      bVar29 = local_74 != 0;\n      local_78 = pcVar18;\nLAB_000151d8:\n      if ((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar29)) goto LAB_000151f8;\n      if (local_64 < (char *)(*puVar5 - 1)) {\n        *local_64 = '\0';\n        uVar24 = *puVar5;\n        *puVar5 = (uint)local_64;\n        local_40 = uVar24 - (int)(local_64 + 1);\n        iVar26 = local_80 - local_40;\n        if ((int)(local_80 - local_40) <= local_60) {\n          iVar26 = local_60;\n        }\n        bVar30 = local_78 == (char *)0x0;\n        bVar29 = false;\n        local_78 = local_64 + 1;\n        local_60 = iVar26;\n        bVar30 = (bool)(bVar30 & bVar14);\n        goto LAB_00015630;\n      }\n      pcVar18 = (char *)*puVar6;\n      if (local_5c != 0x14) {\n        do {\n          pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2);\n          do {\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          } while (pcVar18 < pcVar27);\nLAB_00015b63:\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar6;\n        } while( true );\n      }\n      iVar26 = FUN_00018720(pcVar18);\n      *puVar6 = iVar26 - 1;\n      if (*(char *)(iVar26 + -1) == '\n') {\n        pcVar18 = (char *)*puVar5;\n        goto LAB_00015c4a;\n      }\nLAB_00015d49:\n      *(undefined1 *)*puVar5 = 0;\nLAB_000159db:\n      pcVar18 = local_78;\n      local_78 = (char *)0x0;\n      bVar29 = false;\n      bVar30 = (bool)(pcVar18 == (char *)0x0 & bVar14);\nLAB_00015630:\n      if ((bVar30) && (*piVar1 != iVar15)) {\n        puVar20 = *(undefined1 **)(unaff_EBP + 0x129a6);\n        *puVar5 = (uint)puVar20;\n      }\n      else {\n        puVar20 = (undefined1 *)*puVar5;\n      }\n      *puVar20 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      *(undefined4 *)(unaff_EBP + 0x1297e) = 0;\n      if (!bVar29) {\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n          FUN_00018c70();\n        }\n      }\nLAB_0001543c:\n      local_68 = &DAT_00012b1e + unaff_EBP;\n      if (*local_68 != '\0') break;\n      local_80 = local_70;\n      if (local_48 != 0) {\n        uVar24 = *puVar5;\n        iVar26 = *(int *)(unaff_EBP + 0x1299e);\n        if (iVar26 - local_48 <= uVar24) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_48 + 400 + (iVar26 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          uVar24 = iVar23 + 1 + (*puVar5 - *piVar2);\n          *puVar5 = uVar24;\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *piVar2 = iVar23 + 1;\n        }\n        if (local_48 != 0) {\n          uVar21 = 0;\n          do {\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          } while (uVar21 < local_48);\n        }\n        *puVar5 = *puVar5 + local_48;\n        local_80 = local_70 + local_48;\n      }\n      if (local_78 == (char *)0x0) {\n        FUN_00018e10();\n      }\n      else {\n        if ((*local_78 == ' ') || (*local_78 == '\t')) {\n          if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }\n        }\n        else {\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }\nLAB_000158f3:\n        __dest = (void *)*puVar5;\n        iVar23 = *(int *)(unaff_EBP + 0x1299e);\n        if ((void *)(iVar26 + iVar23) <= __dest) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_40 + 400 + (iVar23 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          __dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *puVar5 = (uint)__dest;\n          *piVar2 = iVar23 + 1;\n        }\n        memmove(__dest,local_78,local_84);\n        local_78 = (char *)*puVar5;\n        *puVar5 = (uint)(local_78 + local_84);\n        local_40 = 0;\n      }\n    }\n    iVar15 = *local_6c;\n    *(int *)(iVar15 + 0x58) = local_70;\n    *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n    *(int *)(iVar15 + 0x24) = local_54;\n    return;\n  }\n  piVar1 = (int *)(&DAT_00012b26 + unaff_EBP);\n  pbVar10 = (byte *)*piVar1;\n  bVar9 = *pbVar10;\n  if (bVar9 == 0x2a || bVar9 == 0x5f) {\n    pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);\n  }\n  else {\n    if (((bVar9 & 0xef) != 0x2d) &&\n       ((*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0 ||\n        (*(int *)(unaff_EBP + 0x12c02) != 0)))) {\n      bVar14 = true;\n      uVar25 = 0x2a;\n      local_5c = 0x13;\n      local_84 = *(size_t *)(FUN_00012bc0 + unaff_EBP + 2);\n      local_28 = *(int *)(unaff_EBP + 0x12c1a);\n      local_48 = 0;\n      local_4c = 0;\n      bVar29 = local_28 != 0;\n      goto LAB_00014fd0;\n    }\n    pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);\n  }\n  if ((pbVar10 < pbVar11) || (pbVar11 + *(int *)(unaff_EBP + 0x12b7a) < pbVar10)) {\n    iVar15 = FUN_00018750();\n    iVar15 = iVar15 + -2;\n  }\n  else {\n    iVar15 = *(int *)(unaff_EBP + 0x12b7e);\n  }\n  local_6c = (int *)(&DAT_00012b16 + unaff_EBP);\n  iVar26 = *local_6c;\n  *(int *)(iVar26 + 0x58) = iVar15;\n  *(undefined4 *)(iVar26 + 0x24) = 1;\n  if (*(int *)(unaff_EBP + 0x12c32) != 0) {\n    *(undefined4 *)(unaff_EBP + 0x1297e) = 1;\n  }\n  piVar2 = (int *)(unaff_EBP + 0x129a2);\n  local_68 = (char *)0x1;\n  puVar20 = (undefined1 *)*piVar2;\n  pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;\n  *piVar2 = (int)(puVar20 + 1);\n  *puVar20 = 0x2f;\n  puVar20 = (undefined1 *)*piVar2;\n  piVar4 = (int *)(unaff_EBP + 0x129a6);\n  *piVar2 = (int)(puVar20 + 1);\n  *puVar20 = 0x2a;\n  pcVar18 = (char *)*piVar1;\n  cVar28 = *pcVar18;\n  do {\n    do {\n      if (cVar28 == '\n') {\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n      }\n      pcVar27 = (char *)*piVar2;\n      iVar26 = *(int *)(unaff_EBP + 0x1299e);\n      if ((char *)(iVar26 - 1U) <= pcVar27) {\n        iVar26 = iVar26 - *piVar4;\n        iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar16;\n        pcVar27 = (char *)(iVar16 + 1 + (*piVar2 - *piVar4));\n        *(int *)(unaff_EBP + 0x1299e) = iVar16 + 0x18c + iVar26;\n        *piVar4 = iVar16 + 1;\n        pcVar18 = (char *)*piVar1;\n      }\n      *piVar1 = (int)(pcVar18 + 1);\n      *piVar2 = (int)(pcVar27 + 1);\n      *pcVar27 = *pcVar18;\n      pcVar18 = (char *)*piVar1;\n      pcVar27 = *(char **)pcVar3;\n      cVar28 = *pcVar18;\n    } while ((cVar28 != '*') && (pcVar18 < pcVar27));\n    if (pcVar27 < pcVar18) {\n      *piVar1 = (int)pcVar27;\n      cVar28 = *pcVar27;\n      pcVar18 = pcVar27;\n    }\n    if (*(int *)(unaff_EBP + 0x12bfa) == 0) {\nLAB_00014e50:\n      if (cVar28 == '*') {\nLAB_00014e59:\n        if (pcVar18[1] == '/') {\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }\n        cVar28 = '*';\n      }\n    }\n    else if (cVar28 == '*') {\n      if (pcVar18[-1] == '/') {\n        *(undefined1 *)(*piVar2 + -1) = 0x20;\n        *(undefined1 *)*piVar2 = 0x2a;\n        pcVar18 = (char *)*piVar1;\n        pcVar27 = *(char **)pcVar3;\n        cVar28 = *pcVar18;\n        goto LAB_00014e50;\n      }\n      goto LAB_00014e59;\n    }\n    if (pcVar18 == pcVar27) {\n      if (pcVar18[-1] == '\n') {\n        iVar26 = *piVar2;\n        *piVar2 = iVar26 + -1;\n        *(undefined1 *)(iVar26 + -1) = 0;\n        FUN_0001a130(1,param_1,param_2);\n        local_68 = (char *)((int)local_68 + 1);\n        *(undefined4 *)(*local_6c + 0x58) = 1;\n      }\n      FUN_00018c70();\n      if ((&DAT_00012b1e)[unaff_EBP] != '\0') {\n        puVar20 = (undefined1 *)*piVar2;\n        *piVar2 = (int)(puVar20 + 1);\n        *puVar20 = 0;\n        iVar26 = *local_6c;\n        piVar1 = (int *)(iVar26 + 0x20);\n        *piVar1 = *piVar1 + -1;\n        *(int *)(iVar26 + 0x58) = iVar15;\n        return;\n      }\n      pcVar18 = (char *)*piVar1;\n      cVar28 = *pcVar18;\n    }\n  } while( true );\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "code *pcVar3;" type_identifier (pointer_declarator "*pcVar3" * identifier) ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "uint *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "uint *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "byte bVar9;" type_identifier identifier ;) (declaration "byte *pbVar10;" type_identifier (pointer_declarator "*pbVar10" * identifier) ;) (declaration "byte *pbVar11;" type_identifier (pointer_declarator "*pbVar11" * identifier) ;) (declaration "char cVar12;" primitive_type identifier ;) (declaration "bool bVar13;" primitive_type identifier ;) (declaration "bool bVar14;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "int iVar16;" primitive_type identifier ;) (declaration "undefined4 uVar17;" type_identifier identifier ;) (declaration "char *pcVar18;" primitive_type (pointer_declarator "*pcVar18" * identifier) ;) (declaration "char *pcVar19;" primitive_type (pointer_declarator "*pcVar19" * identifier) ;) (declaration "undefined1 *puVar20;" type_identifier (pointer_declarator "*puVar20" * identifier) ;) (declaration "uint uVar21;" type_identifier identifier ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "int iVar23;" primitive_type identifier ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "undefined1 uVar25;" type_identifier identifier ;) (declaration "int iVar26;" primitive_type identifier ;) (declaration "char *pcVar27;" primitive_type (pointer_declarator "*pcVar27" * identifier) ;) (declaration "char cVar28;" primitive_type identifier ;) (declaration "void *__dest;" primitive_type (pointer_declarator "*__dest" * identifier) ;) (declaration "int unaff_EBP;" primitive_type identifier ;) (declaration "bool bVar29;" primitive_type identifier ;) (declaration "bool bVar30;" primitive_type identifier ;) (declaration "size_t local_84;" primitive_type identifier ;) (declaration "int local_80;" primitive_type identifier ;) (declaration "char *local_78;" primitive_type (pointer_declarator "*local_78" * identifier) ;) (declaration "int local_74;" primitive_type identifier ;) (declaration "int local_70;" primitive_type identifier ;) (declaration "int *local_6c;" primitive_type (pointer_declarator "*local_6c" * identifier) ;) (declaration "char *local_68;" primitive_type (pointer_declarator "*local_68" * identifier) ;) (declaration "char *local_64;" primitive_type (pointer_declarator "*local_64" * identifier) ;) (declaration "int local_60;" primitive_type identifier ;) (declaration "int local_5c;" primitive_type identifier ;) (declaration "int local_54;" primitive_type identifier ;) (declaration "int local_4c;" primitive_type identifier ;) (declaration "uint local_48;" type_identifier identifier ;) (declaration "size_t local_40;" primitive_type identifier ;) (declaration "int local_28;" primitive_type identifier ;) (expression_statement "FUN_00013b71();" (call_expression "FUN_00013b71()" identifier (argument_list "()" ( ))) ;) (expression_statement "FUN_00017e00();" (call_expression "FUN_00017e00()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*(char *)(*(int *)(unaff_EBP + 0x12caa) + 1) == '/') {\n    local_4c = unaff_EBP + 0xc5c8;\n    bVar14 = false;\n    bVar29 = false;\n    local_5c = 0x14;\n    local_48 = 3;\n    local_28 = 0;\n    local_84 = 0;\n    uVar25 = 0x2f;\nLAB_00014fd0:\n    local_6c = (int *)(&DAT_00012b16 + unaff_EBP);\n    piVar1 = (int *)(unaff_EBP + 0x12b52);\n    iVar15 = *piVar1;\n    local_60 = *(int *)(unaff_EBP + 0x12c46);\n    iVar16 = FUN_00018750();\n    iVar26 = *(int *)(unaff_EBP + 0x129c6);\n    if ((iVar26 == *(int *)(unaff_EBP + 0x129c2)) &&\n       (*(int *)(unaff_EBP + 0x129b6) == *(int *)(unaff_EBP + 0x129b2))) {\n      iVar26 = *local_6c;\n      if ((*(int *)(iVar26 + 0x54) == 0) || (*(int *)(unaff_EBP + 0x12c02) != 0)) {\n        local_74 = *(int *)(unaff_EBP + 0x12bfe);\n        if ((*(int *)(iVar26 + 0x74) < 1) &&\n           ((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))))) {\n          bVar13 = true;\n          local_80 = iVar16;\n          local_70 = iVar16 + -2;\n        }\n        else {\n          local_70 = FUN_00019aa0(*param_1);\n          local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);\n          if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }\n        }\n      }\n      else {\n        local_80 = 3;\n        bVar13 = true;\n        local_70 = 1;\n        local_74 = 0;\n      }\n    }\n    else {\n      if (*(int *)(*local_6c + 0x60) == 0) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0) {\n          local_70 = *(int *)(unaff_EBP + 0x12c7a);\n        }\n        else {\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }\n      }\n      else {\n        local_70 = *(int *)(unaff_EBP + 0x12c6e);\n      }\n      iVar23 = *(int *)(unaff_EBP + 0x129b6);\n      if (iVar23 == *(int *)(unaff_EBP + 0x129b2)) {\n        uVar17 = FUN_00019bf0();\n      }\n      else {\n        uVar17 = FUN_00019aa0(*param_1);\n        iVar26 = iVar23;\n      }\n      iVar26 = FUN_00019b60(uVar17,iVar26,0);\n      if (local_70 <= iVar26) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0) {\n          local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;\n        }\n        else {\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }\n      }\n      bVar13 = false;\n      bVar29 = false;\n      local_74 = *(int *)(unaff_EBP + 0x12bfe);\n      iVar26 = *local_6c;\n      local_80 = local_70 + 2;\n    }\n    if (local_4c == 0) {\n      if (local_84 == 0) {\n        local_4c = unaff_EBP + 0xc5d0;\n        bVar14 = true;\n        local_48 = 3;\n      }\n      else {\n        local_4c = unaff_EBP + 0xc5cc;\n        bVar14 = false;\n        local_48 = 3;\n      }\n    }\n    *(undefined4 *)(iVar26 + 0x24) = 0;\n    *(int *)(iVar26 + 0x58) = local_70;\n    puVar5 = (uint *)(unaff_EBP + 0x129a2);\n    puVar20 = (undefined1 *)*puVar5;\n    *puVar5 = (uint)(puVar20 + 1);\n    *puVar20 = 0x2f;\n    puVar20 = (undefined1 *)*puVar5;\n    *puVar5 = (uint)(puVar20 + 1);\n    *puVar20 = uVar25;\n    if (bVar29) {\n      puVar7 = (undefined4 *)(&DAT_00012b26 + unaff_EBP);\n      uVar17 = *puVar7;\n      *(undefined1 *)*puVar5 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      pcVar18 = (char *)FUN_00018720(uVar17);\n      if (*pcVar18 == '\n') {\n        pcVar18 = pcVar18 + 1;\n        *puVar7 = pcVar18;\n      }\n      else if (local_74 == 0) {\n        pcVar18 = (char *)*puVar7;\n      }\n      else {\n        *puVar7 = pcVar18;\n      }\n      if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n        FUN_00018c70();\n      }\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n      goto LAB_0001543c;\n    }\n    if (local_74 == 0) {\n      local_40 = 0;\n      local_54 = 0;\n      local_78 = (char *)0x0;\n    }\n    else {\n      puVar20 = (undefined1 *)*puVar5;\n      *puVar5 = (uint)(puVar20 + 1);\n      *puVar20 = 0x20;\n      local_80 = local_70 + 3;\n      FUN_00018e10();\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n    }\n    while (local_68 = &DAT_00012b1e + unaff_EBP, *local_68 == '\0') {\n      piVar2 = (int *)(unaff_EBP + 0x1299e);\n      puVar6 = (uint *)(&DAT_00012b26 + unaff_EBP);\n      local_64 = (char *)0x0;\n      piVar4 = (int *)(unaff_EBP + 0x129a6);\nLAB_00015228:\n      pcVar27 = local_78;\n      iVar26 = *piVar2;\n      pcVar18 = (char *)*puVar5;\n      if ((char *)(iVar26 + -1) <= pcVar18) {\n        iVar23 = *piVar4;\n        iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar22;\n        pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar4));\n        *puVar5 = (uint)pcVar18;\n        iVar26 = iVar22 + 0x18c + (iVar26 - iVar23);\n        *piVar4 = iVar22 + 1;\n        pcVar19 = (char *)*puVar6;\n        *piVar2 = iVar26;\n        cVar28 = *pcVar19;\n        cVar12 = cVar28 + -10;\n        bVar29 = cVar12 == '\0';\n        if (!bVar29) goto LAB_0001524d;\nLAB_0001531c:\n        if (local_5c == 0x14) {\nLAB_00015c4a:\n          iVar15 = *local_6c;\n          *(int *)(iVar15 + 0x58) = local_70;\n          *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n          *(int *)(iVar15 + 0x24) = local_54;\n          *pcVar18 = '\0';\n          return;\n        }\n        if (local_74 == 0) {\n          local_78 = (char *)0x0;\n          bVar29 = false;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        *puVar6 = (uint)(pcVar19 + 1);\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;\n        if (*(char **)pcVar3 <= pcVar19 + 1) {\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar5;\n        }\n        if ((local_78 < local_64) && (local_64 < pcVar18)) {\n          *puVar5 = (uint)local_64;\n        }\n        FUN_00018e10();\n        if (*(char *)*puVar6 == '\n') {\n          local_78 = (char *)0x0;\n          bVar29 = true;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        if (local_78 == (char *)0x0) {\n          bVar29 = true;\n          bVar30 = bVar14;\n          goto LAB_00015630;\n        }\n        if ((((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')) && (pcVar18[1] != '/')) {\n          pcVar18 = pcVar18 + 1;\n          *puVar6 = (uint)pcVar18;\n          if (*(char **)pcVar3 <= pcVar18) {\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }\n          if ((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))\n          {\n            FUN_00018c70();\n          }\n        }\n        pcVar18 = (char *)*puVar5;\n        if (pcVar18[-1] != ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n          local_64 = pcVar18;\n        }\n        goto LAB_0001521b;\n      }\n      pcVar19 = (char *)*puVar6;\n      cVar28 = *pcVar19;\n      cVar12 = cVar28 + -10;\n      bVar29 = cVar28 == '\n';\n      if (bVar29) goto LAB_0001531c;\nLAB_0001524d:\n      if (bVar29 || SBORROW1(cVar28,'\n') != cVar12 < '\0') {\n        if (cVar28 != '\t') goto LAB_000151b8;\nLAB_0001525c:\n        if (((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)) {\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }\n        if (cVar28 == ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n        }\n        else {\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }\nLAB_000151f8:\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)) {\n          FUN_00018c70();\n        }\nLAB_0001521b:\n        if (*local_68 != '\0') goto LAB_000159db;\n        goto LAB_00015228;\n      }\n      if (cVar28 == ' ') goto LAB_0001525c;\n      if ((cVar28 != '*') || (local_5c != 0x13)) goto LAB_000151b8;\n      if (pcVar19[1] == '/') {\n        if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }\n          if ((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')) {\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }\n        }\nLAB_00015cc8:\n        if ((char *)(iVar26 + -3) <= pcVar18) {\n          piVar1 = (int *)(unaff_EBP + 0x129a6);\n          iVar15 = *piVar1;\n          iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);\n          *(int *)(unaff_EBP + 0x129aa) = iVar16;\n          pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));\n          *piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);\n          *piVar1 = iVar16 + 1;\n        }\n        *puVar5 = (uint)(pcVar18 + 1);\n        *pcVar18 = '*';\n        puVar20 = (undefined1 *)*puVar5;\n        *puVar5 = (uint)(puVar20 + 1);\n        *puVar20 = 0x2f;\n        *(undefined1 *)*puVar5 = 0;\n        uVar24 = *puVar6;\n        *puVar6 = uVar24 + 2;\n        uVar24 = FUN_00018720(uVar24 + 2);\n        *puVar6 = uVar24;\n        if (*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= uVar24) {\n          FUN_00018c70();\n        }\n        iVar15 = *local_6c;\n        *(int *)(iVar15 + 0x58) = local_70;\n        *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n        *(int *)(iVar15 + 0x24) = local_54;\n        return;\n      }\n      if (*piVar1 + -1 == iVar15) {\n        piVar8 = (int *)(unaff_EBP + 0x129a6);\n        if (pcVar18 != (undefined1 *)*piVar8 + local_48) goto LAB_000151b8;\n        *(undefined1 *)*piVar8 = 0x20;\n        local_80 = (local_80 - local_48) + 2;\n        local_48 = 1;\n        local_4c = unaff_EBP + 0xc5d2;\n        *(undefined1 *)(*piVar8 + 1) = 0x2a;\n        local_78 = (char *)(*piVar8 + 2);\n        local_28 = 0;\n        *puVar5 = (uint)local_78;\n        local_54 = 1;\n        goto LAB_00015589;\n      }\nLAB_000151b8:\n      local_80 = local_80 + 1;\n      *puVar5 = (uint)(pcVar18 + 1);\n      *pcVar18 = *pcVar19;\n      bVar29 = local_74 != 0;\n      local_78 = pcVar18;\nLAB_000151d8:\n      if ((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar29)) goto LAB_000151f8;\n      if (local_64 < (char *)(*puVar5 - 1)) {\n        *local_64 = '\0';\n        uVar24 = *puVar5;\n        *puVar5 = (uint)local_64;\n        local_40 = uVar24 - (int)(local_64 + 1);\n        iVar26 = local_80 - local_40;\n        if ((int)(local_80 - local_40) <= local_60) {\n          iVar26 = local_60;\n        }\n        bVar30 = local_78 == (char *)0x0;\n        bVar29 = false;\n        local_78 = local_64 + 1;\n        local_60 = iVar26;\n        bVar30 = (bool)(bVar30 & bVar14);\n        goto LAB_00015630;\n      }\n      pcVar18 = (char *)*puVar6;\n      if (local_5c != 0x14) {\n        do {\n          pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2);\n          do {\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          } while (pcVar18 < pcVar27);\nLAB_00015b63:\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar6;\n        } while( true );\n      }\n      iVar26 = FUN_00018720(pcVar18);\n      *puVar6 = iVar26 - 1;\n      if (*(char *)(iVar26 + -1) == '\n') {\n        pcVar18 = (char *)*puVar5;\n        goto LAB_00015c4a;\n      }\nLAB_00015d49:\n      *(undefined1 *)*puVar5 = 0;\nLAB_000159db:\n      pcVar18 = local_78;\n      local_78 = (char *)0x0;\n      bVar29 = false;\n      bVar30 = (bool)(pcVar18 == (char *)0x0 & bVar14);\nLAB_00015630:\n      if ((bVar30) && (*piVar1 != iVar15)) {\n        puVar20 = *(undefined1 **)(unaff_EBP + 0x129a6);\n        *puVar5 = (uint)puVar20;\n      }\n      else {\n        puVar20 = (undefined1 *)*puVar5;\n      }\n      *puVar20 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      *(undefined4 *)(unaff_EBP + 0x1297e) = 0;\n      if (!bVar29) {\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n          FUN_00018c70();\n        }\n      }\nLAB_0001543c:\n      local_68 = &DAT_00012b1e + unaff_EBP;\n      if (*local_68 != '\0') break;\n      local_80 = local_70;\n      if (local_48 != 0) {\n        uVar24 = *puVar5;\n        iVar26 = *(int *)(unaff_EBP + 0x1299e);\n        if (iVar26 - local_48 <= uVar24) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_48 + 400 + (iVar26 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          uVar24 = iVar23 + 1 + (*puVar5 - *piVar2);\n          *puVar5 = uVar24;\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *piVar2 = iVar23 + 1;\n        }\n        if (local_48 != 0) {\n          uVar21 = 0;\n          do {\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          } while (uVar21 < local_48);\n        }\n        *puVar5 = *puVar5 + local_48;\n        local_80 = local_70 + local_48;\n      }\n      if (local_78 == (char *)0x0) {\n        FUN_00018e10();\n      }\n      else {\n        if ((*local_78 == ' ') || (*local_78 == '\t')) {\n          if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }\n        }\n        else {\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }\nLAB_000158f3:\n        __dest = (void *)*puVar5;\n        iVar23 = *(int *)(unaff_EBP + 0x1299e);\n        if ((void *)(iVar26 + iVar23) <= __dest) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_40 + 400 + (iVar23 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          __dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *puVar5 = (uint)__dest;\n          *piVar2 = iVar23 + 1;\n        }\n        memmove(__dest,local_78,local_84);\n        local_78 = (char *)*puVar5;\n        *puVar5 = (uint)(local_78 + local_84);\n        local_40 = 0;\n      }\n    }\n    iVar15 = *local_6c;\n    *(int *)(iVar15 + 0x58) = local_70;\n    *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n    *(int *)(iVar15 + 0x24) = local_54;\n    return;\n  }" if (parenthesized_expression "(*(char *)(*(int *)(unaff_EBP + 0x12caa) + 1) == '/')" ( (binary_expression "*(char *)(*(int *)(unaff_EBP + 0x12caa) + 1) == '/'" (pointer_expression "*(char *)(*(int *)(unaff_EBP + 0x12caa) + 1)" * (cast_expression "(char *)(*(int *)(unaff_EBP + 0x12caa) + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(unaff_EBP + 0x12caa) + 1)" ( (binary_expression "*(int *)(unaff_EBP + 0x12caa) + 1" (pointer_expression "*(int *)(unaff_EBP + 0x12caa)" * (cast_expression "(int *)(unaff_EBP + 0x12caa)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12caa)" ( (binary_expression "unaff_EBP + 0x12caa" identifier + number_literal) )))) + number_literal) )))) == (char_literal "'/'" ' character ')) )) (compound_statement "{\n    local_4c = unaff_EBP + 0xc5c8;\n    bVar14 = false;\n    bVar29 = false;\n    local_5c = 0x14;\n    local_48 = 3;\n    local_28 = 0;\n    local_84 = 0;\n    uVar25 = 0x2f;\nLAB_00014fd0:\n    local_6c = (int *)(&DAT_00012b16 + unaff_EBP);\n    piVar1 = (int *)(unaff_EBP + 0x12b52);\n    iVar15 = *piVar1;\n    local_60 = *(int *)(unaff_EBP + 0x12c46);\n    iVar16 = FUN_00018750();\n    iVar26 = *(int *)(unaff_EBP + 0x129c6);\n    if ((iVar26 == *(int *)(unaff_EBP + 0x129c2)) &&\n       (*(int *)(unaff_EBP + 0x129b6) == *(int *)(unaff_EBP + 0x129b2))) {\n      iVar26 = *local_6c;\n      if ((*(int *)(iVar26 + 0x54) == 0) || (*(int *)(unaff_EBP + 0x12c02) != 0)) {\n        local_74 = *(int *)(unaff_EBP + 0x12bfe);\n        if ((*(int *)(iVar26 + 0x74) < 1) &&\n           ((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))))) {\n          bVar13 = true;\n          local_80 = iVar16;\n          local_70 = iVar16 + -2;\n        }\n        else {\n          local_70 = FUN_00019aa0(*param_1);\n          local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);\n          if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }\n        }\n      }\n      else {\n        local_80 = 3;\n        bVar13 = true;\n        local_70 = 1;\n        local_74 = 0;\n      }\n    }\n    else {\n      if (*(int *)(*local_6c + 0x60) == 0) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0) {\n          local_70 = *(int *)(unaff_EBP + 0x12c7a);\n        }\n        else {\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }\n      }\n      else {\n        local_70 = *(int *)(unaff_EBP + 0x12c6e);\n      }\n      iVar23 = *(int *)(unaff_EBP + 0x129b6);\n      if (iVar23 == *(int *)(unaff_EBP + 0x129b2)) {\n        uVar17 = FUN_00019bf0();\n      }\n      else {\n        uVar17 = FUN_00019aa0(*param_1);\n        iVar26 = iVar23;\n      }\n      iVar26 = FUN_00019b60(uVar17,iVar26,0);\n      if (local_70 <= iVar26) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0) {\n          local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;\n        }\n        else {\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }\n      }\n      bVar13 = false;\n      bVar29 = false;\n      local_74 = *(int *)(unaff_EBP + 0x12bfe);\n      iVar26 = *local_6c;\n      local_80 = local_70 + 2;\n    }\n    if (local_4c == 0) {\n      if (local_84 == 0) {\n        local_4c = unaff_EBP + 0xc5d0;\n        bVar14 = true;\n        local_48 = 3;\n      }\n      else {\n        local_4c = unaff_EBP + 0xc5cc;\n        bVar14 = false;\n        local_48 = 3;\n      }\n    }\n    *(undefined4 *)(iVar26 + 0x24) = 0;\n    *(int *)(iVar26 + 0x58) = local_70;\n    puVar5 = (uint *)(unaff_EBP + 0x129a2);\n    puVar20 = (undefined1 *)*puVar5;\n    *puVar5 = (uint)(puVar20 + 1);\n    *puVar20 = 0x2f;\n    puVar20 = (undefined1 *)*puVar5;\n    *puVar5 = (uint)(puVar20 + 1);\n    *puVar20 = uVar25;\n    if (bVar29) {\n      puVar7 = (undefined4 *)(&DAT_00012b26 + unaff_EBP);\n      uVar17 = *puVar7;\n      *(undefined1 *)*puVar5 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      pcVar18 = (char *)FUN_00018720(uVar17);\n      if (*pcVar18 == '\n') {\n        pcVar18 = pcVar18 + 1;\n        *puVar7 = pcVar18;\n      }\n      else if (local_74 == 0) {\n        pcVar18 = (char *)*puVar7;\n      }\n      else {\n        *puVar7 = pcVar18;\n      }\n      if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n        FUN_00018c70();\n      }\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n      goto LAB_0001543c;\n    }\n    if (local_74 == 0) {\n      local_40 = 0;\n      local_54 = 0;\n      local_78 = (char *)0x0;\n    }\n    else {\n      puVar20 = (undefined1 *)*puVar5;\n      *puVar5 = (uint)(puVar20 + 1);\n      *puVar20 = 0x20;\n      local_80 = local_70 + 3;\n      FUN_00018e10();\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n    }\n    while (local_68 = &DAT_00012b1e + unaff_EBP, *local_68 == '\0') {\n      piVar2 = (int *)(unaff_EBP + 0x1299e);\n      puVar6 = (uint *)(&DAT_00012b26 + unaff_EBP);\n      local_64 = (char *)0x0;\n      piVar4 = (int *)(unaff_EBP + 0x129a6);\nLAB_00015228:\n      pcVar27 = local_78;\n      iVar26 = *piVar2;\n      pcVar18 = (char *)*puVar5;\n      if ((char *)(iVar26 + -1) <= pcVar18) {\n        iVar23 = *piVar4;\n        iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar22;\n        pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar4));\n        *puVar5 = (uint)pcVar18;\n        iVar26 = iVar22 + 0x18c + (iVar26 - iVar23);\n        *piVar4 = iVar22 + 1;\n        pcVar19 = (char *)*puVar6;\n        *piVar2 = iVar26;\n        cVar28 = *pcVar19;\n        cVar12 = cVar28 + -10;\n        bVar29 = cVar12 == '\0';\n        if (!bVar29) goto LAB_0001524d;\nLAB_0001531c:\n        if (local_5c == 0x14) {\nLAB_00015c4a:\n          iVar15 = *local_6c;\n          *(int *)(iVar15 + 0x58) = local_70;\n          *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n          *(int *)(iVar15 + 0x24) = local_54;\n          *pcVar18 = '\0';\n          return;\n        }\n        if (local_74 == 0) {\n          local_78 = (char *)0x0;\n          bVar29 = false;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        *puVar6 = (uint)(pcVar19 + 1);\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;\n        if (*(char **)pcVar3 <= pcVar19 + 1) {\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar5;\n        }\n        if ((local_78 < local_64) && (local_64 < pcVar18)) {\n          *puVar5 = (uint)local_64;\n        }\n        FUN_00018e10();\n        if (*(char *)*puVar6 == '\n') {\n          local_78 = (char *)0x0;\n          bVar29 = true;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        if (local_78 == (char *)0x0) {\n          bVar29 = true;\n          bVar30 = bVar14;\n          goto LAB_00015630;\n        }\n        if ((((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')) && (pcVar18[1] != '/')) {\n          pcVar18 = pcVar18 + 1;\n          *puVar6 = (uint)pcVar18;\n          if (*(char **)pcVar3 <= pcVar18) {\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }\n          if ((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))\n          {\n            FUN_00018c70();\n          }\n        }\n        pcVar18 = (char *)*puVar5;\n        if (pcVar18[-1] != ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n          local_64 = pcVar18;\n        }\n        goto LAB_0001521b;\n      }\n      pcVar19 = (char *)*puVar6;\n      cVar28 = *pcVar19;\n      cVar12 = cVar28 + -10;\n      bVar29 = cVar28 == '\n';\n      if (bVar29) goto LAB_0001531c;\nLAB_0001524d:\n      if (bVar29 || SBORROW1(cVar28,'\n') != cVar12 < '\0') {\n        if (cVar28 != '\t') goto LAB_000151b8;\nLAB_0001525c:\n        if (((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)) {\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }\n        if (cVar28 == ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n        }\n        else {\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }\nLAB_000151f8:\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)) {\n          FUN_00018c70();\n        }\nLAB_0001521b:\n        if (*local_68 != '\0') goto LAB_000159db;\n        goto LAB_00015228;\n      }\n      if (cVar28 == ' ') goto LAB_0001525c;\n      if ((cVar28 != '*') || (local_5c != 0x13)) goto LAB_000151b8;\n      if (pcVar19[1] == '/') {\n        if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }\n          if ((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')) {\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }\n        }\nLAB_00015cc8:\n        if ((char *)(iVar26 + -3) <= pcVar18) {\n          piVar1 = (int *)(unaff_EBP + 0x129a6);\n          iVar15 = *piVar1;\n          iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);\n          *(int *)(unaff_EBP + 0x129aa) = iVar16;\n          pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));\n          *piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);\n          *piVar1 = iVar16 + 1;\n        }\n        *puVar5 = (uint)(pcVar18 + 1);\n        *pcVar18 = '*';\n        puVar20 = (undefined1 *)*puVar5;\n        *puVar5 = (uint)(puVar20 + 1);\n        *puVar20 = 0x2f;\n        *(undefined1 *)*puVar5 = 0;\n        uVar24 = *puVar6;\n        *puVar6 = uVar24 + 2;\n        uVar24 = FUN_00018720(uVar24 + 2);\n        *puVar6 = uVar24;\n        if (*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= uVar24) {\n          FUN_00018c70();\n        }\n        iVar15 = *local_6c;\n        *(int *)(iVar15 + 0x58) = local_70;\n        *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n        *(int *)(iVar15 + 0x24) = local_54;\n        return;\n      }\n      if (*piVar1 + -1 == iVar15) {\n        piVar8 = (int *)(unaff_EBP + 0x129a6);\n        if (pcVar18 != (undefined1 *)*piVar8 + local_48) goto LAB_000151b8;\n        *(undefined1 *)*piVar8 = 0x20;\n        local_80 = (local_80 - local_48) + 2;\n        local_48 = 1;\n        local_4c = unaff_EBP + 0xc5d2;\n        *(undefined1 *)(*piVar8 + 1) = 0x2a;\n        local_78 = (char *)(*piVar8 + 2);\n        local_28 = 0;\n        *puVar5 = (uint)local_78;\n        local_54 = 1;\n        goto LAB_00015589;\n      }\nLAB_000151b8:\n      local_80 = local_80 + 1;\n      *puVar5 = (uint)(pcVar18 + 1);\n      *pcVar18 = *pcVar19;\n      bVar29 = local_74 != 0;\n      local_78 = pcVar18;\nLAB_000151d8:\n      if ((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar29)) goto LAB_000151f8;\n      if (local_64 < (char *)(*puVar5 - 1)) {\n        *local_64 = '\0';\n        uVar24 = *puVar5;\n        *puVar5 = (uint)local_64;\n        local_40 = uVar24 - (int)(local_64 + 1);\n        iVar26 = local_80 - local_40;\n        if ((int)(local_80 - local_40) <= local_60) {\n          iVar26 = local_60;\n        }\n        bVar30 = local_78 == (char *)0x0;\n        bVar29 = false;\n        local_78 = local_64 + 1;\n        local_60 = iVar26;\n        bVar30 = (bool)(bVar30 & bVar14);\n        goto LAB_00015630;\n      }\n      pcVar18 = (char *)*puVar6;\n      if (local_5c != 0x14) {\n        do {\n          pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2);\n          do {\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          } while (pcVar18 < pcVar27);\nLAB_00015b63:\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar6;\n        } while( true );\n      }\n      iVar26 = FUN_00018720(pcVar18);\n      *puVar6 = iVar26 - 1;\n      if (*(char *)(iVar26 + -1) == '\n') {\n        pcVar18 = (char *)*puVar5;\n        goto LAB_00015c4a;\n      }\nLAB_00015d49:\n      *(undefined1 *)*puVar5 = 0;\nLAB_000159db:\n      pcVar18 = local_78;\n      local_78 = (char *)0x0;\n      bVar29 = false;\n      bVar30 = (bool)(pcVar18 == (char *)0x0 & bVar14);\nLAB_00015630:\n      if ((bVar30) && (*piVar1 != iVar15)) {\n        puVar20 = *(undefined1 **)(unaff_EBP + 0x129a6);\n        *puVar5 = (uint)puVar20;\n      }\n      else {\n        puVar20 = (undefined1 *)*puVar5;\n      }\n      *puVar20 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      *(undefined4 *)(unaff_EBP + 0x1297e) = 0;\n      if (!bVar29) {\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n          FUN_00018c70();\n        }\n      }\nLAB_0001543c:\n      local_68 = &DAT_00012b1e + unaff_EBP;\n      if (*local_68 != '\0') break;\n      local_80 = local_70;\n      if (local_48 != 0) {\n        uVar24 = *puVar5;\n        iVar26 = *(int *)(unaff_EBP + 0x1299e);\n        if (iVar26 - local_48 <= uVar24) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_48 + 400 + (iVar26 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          uVar24 = iVar23 + 1 + (*puVar5 - *piVar2);\n          *puVar5 = uVar24;\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *piVar2 = iVar23 + 1;\n        }\n        if (local_48 != 0) {\n          uVar21 = 0;\n          do {\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          } while (uVar21 < local_48);\n        }\n        *puVar5 = *puVar5 + local_48;\n        local_80 = local_70 + local_48;\n      }\n      if (local_78 == (char *)0x0) {\n        FUN_00018e10();\n      }\n      else {\n        if ((*local_78 == ' ') || (*local_78 == '\t')) {\n          if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }\n        }\n        else {\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }\nLAB_000158f3:\n        __dest = (void *)*puVar5;\n        iVar23 = *(int *)(unaff_EBP + 0x1299e);\n        if ((void *)(iVar26 + iVar23) <= __dest) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_40 + 400 + (iVar23 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          __dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *puVar5 = (uint)__dest;\n          *piVar2 = iVar23 + 1;\n        }\n        memmove(__dest,local_78,local_84);\n        local_78 = (char *)*puVar5;\n        *puVar5 = (uint)(local_78 + local_84);\n        local_40 = 0;\n      }\n    }\n    iVar15 = *local_6c;\n    *(int *)(iVar15 + 0x58) = local_70;\n    *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n    *(int *)(iVar15 + 0x24) = local_54;\n    return;\n  }" { (expression_statement "local_4c = unaff_EBP + 0xc5c8;" (assignment_expression "local_4c = unaff_EBP + 0xc5c8" identifier = (binary_expression "unaff_EBP + 0xc5c8" identifier + number_literal)) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "bVar29 = false;" (assignment_expression "bVar29 = false" identifier = false) ;) (expression_statement "local_5c = 0x14;" (assignment_expression "local_5c = 0x14" identifier = number_literal) ;) (expression_statement "local_48 = 3;" (assignment_expression "local_48 = 3" identifier = number_literal) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "local_84 = 0;" (assignment_expression "local_84 = 0" identifier = number_literal) ;) (expression_statement "uVar25 = 0x2f;" (assignment_expression "uVar25 = 0x2f" identifier = number_literal) ;) (labeled_statement "LAB_00014fd0:\n    local_6c = (int *)(&DAT_00012b16 + unaff_EBP);" statement_identifier : (expression_statement "local_6c = (int *)(&DAT_00012b16 + unaff_EBP);" (assignment_expression "local_6c = (int *)(&DAT_00012b16 + unaff_EBP)" identifier = (cast_expression "(int *)(&DAT_00012b16 + unaff_EBP)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00012b16 + unaff_EBP)" ( (binary_expression "&DAT_00012b16 + unaff_EBP" (pointer_expression "&DAT_00012b16" & identifier) + identifier) )))) ;)) (expression_statement "piVar1 = (int *)(unaff_EBP + 0x12b52);" (assignment_expression "piVar1 = (int *)(unaff_EBP + 0x12b52)" identifier = (cast_expression "(int *)(unaff_EBP + 0x12b52)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12b52)" ( (binary_expression "unaff_EBP + 0x12b52" identifier + number_literal) )))) ;) (expression_statement "iVar15 = *piVar1;" (assignment_expression "iVar15 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) (expression_statement "local_60 = *(int *)(unaff_EBP + 0x12c46);" (assignment_expression "local_60 = *(int *)(unaff_EBP + 0x12c46)" identifier = (pointer_expression "*(int *)(unaff_EBP + 0x12c46)" * (cast_expression "(int *)(unaff_EBP + 0x12c46)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12c46)" ( (binary_expression "unaff_EBP + 0x12c46" identifier + number_literal) ))))) ;) (expression_statement "iVar16 = FUN_00018750();" (assignment_expression "iVar16 = FUN_00018750()" identifier = (call_expression "FUN_00018750()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar26 = *(int *)(unaff_EBP + 0x129c6);" (assignment_expression "iVar26 = *(int *)(unaff_EBP + 0x129c6)" identifier = (pointer_expression "*(int *)(unaff_EBP + 0x129c6)" * (cast_expression "(int *)(unaff_EBP + 0x129c6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129c6)" ( (binary_expression "unaff_EBP + 0x129c6" identifier + number_literal) ))))) ;) (if_statement "if ((iVar26 == *(int *)(unaff_EBP + 0x129c2)) &&\n       (*(int *)(unaff_EBP + 0x129b6) == *(int *)(unaff_EBP + 0x129b2))) {\n      iVar26 = *local_6c;\n      if ((*(int *)(iVar26 + 0x54) == 0) || (*(int *)(unaff_EBP + 0x12c02) != 0)) {\n        local_74 = *(int *)(unaff_EBP + 0x12bfe);\n        if ((*(int *)(iVar26 + 0x74) < 1) &&\n           ((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))))) {\n          bVar13 = true;\n          local_80 = iVar16;\n          local_70 = iVar16 + -2;\n        }\n        else {\n          local_70 = FUN_00019aa0(*param_1);\n          local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);\n          if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }\n        }\n      }\n      else {\n        local_80 = 3;\n        bVar13 = true;\n        local_70 = 1;\n        local_74 = 0;\n      }\n    }\n    else {\n      if (*(int *)(*local_6c + 0x60) == 0) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0) {\n          local_70 = *(int *)(unaff_EBP + 0x12c7a);\n        }\n        else {\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }\n      }\n      else {\n        local_70 = *(int *)(unaff_EBP + 0x12c6e);\n      }\n      iVar23 = *(int *)(unaff_EBP + 0x129b6);\n      if (iVar23 == *(int *)(unaff_EBP + 0x129b2)) {\n        uVar17 = FUN_00019bf0();\n      }\n      else {\n        uVar17 = FUN_00019aa0(*param_1);\n        iVar26 = iVar23;\n      }\n      iVar26 = FUN_00019b60(uVar17,iVar26,0);\n      if (local_70 <= iVar26) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0) {\n          local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;\n        }\n        else {\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }\n      }\n      bVar13 = false;\n      bVar29 = false;\n      local_74 = *(int *)(unaff_EBP + 0x12bfe);\n      iVar26 = *local_6c;\n      local_80 = local_70 + 2;\n    }" if (parenthesized_expression "((iVar26 == *(int *)(unaff_EBP + 0x129c2)) &&\n       (*(int *)(unaff_EBP + 0x129b6) == *(int *)(unaff_EBP + 0x129b2)))" ( (binary_expression "(iVar26 == *(int *)(unaff_EBP + 0x129c2)) &&\n       (*(int *)(unaff_EBP + 0x129b6) == *(int *)(unaff_EBP + 0x129b2))" (parenthesized_expression "(iVar26 == *(int *)(unaff_EBP + 0x129c2))" ( (binary_expression "iVar26 == *(int *)(unaff_EBP + 0x129c2)" identifier == (pointer_expression "*(int *)(unaff_EBP + 0x129c2)" * (cast_expression "(int *)(unaff_EBP + 0x129c2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129c2)" ( (binary_expression "unaff_EBP + 0x129c2" identifier + number_literal) ))))) )) && (parenthesized_expression "(*(int *)(unaff_EBP + 0x129b6) == *(int *)(unaff_EBP + 0x129b2))" ( (binary_expression "*(int *)(unaff_EBP + 0x129b6) == *(int *)(unaff_EBP + 0x129b2)" (pointer_expression "*(int *)(unaff_EBP + 0x129b6)" * (cast_expression "(int *)(unaff_EBP + 0x129b6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129b6)" ( (binary_expression "unaff_EBP + 0x129b6" identifier + number_literal) )))) == (pointer_expression "*(int *)(unaff_EBP + 0x129b2)" * (cast_expression "(int *)(unaff_EBP + 0x129b2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129b2)" ( (binary_expression "unaff_EBP + 0x129b2" identifier + number_literal) ))))) ))) )) (compound_statement "{\n      iVar26 = *local_6c;\n      if ((*(int *)(iVar26 + 0x54) == 0) || (*(int *)(unaff_EBP + 0x12c02) != 0)) {\n        local_74 = *(int *)(unaff_EBP + 0x12bfe);\n        if ((*(int *)(iVar26 + 0x74) < 1) &&\n           ((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))))) {\n          bVar13 = true;\n          local_80 = iVar16;\n          local_70 = iVar16 + -2;\n        }\n        else {\n          local_70 = FUN_00019aa0(*param_1);\n          local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);\n          if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }\n        }\n      }\n      else {\n        local_80 = 3;\n        bVar13 = true;\n        local_70 = 1;\n        local_74 = 0;\n      }\n    }" { (expression_statement "iVar26 = *local_6c;" (assignment_expression "iVar26 = *local_6c" identifier = (pointer_expression "*local_6c" * identifier)) ;) (if_statement "if ((*(int *)(iVar26 + 0x54) == 0) || (*(int *)(unaff_EBP + 0x12c02) != 0)) {\n        local_74 = *(int *)(unaff_EBP + 0x12bfe);\n        if ((*(int *)(iVar26 + 0x74) < 1) &&\n           ((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))))) {\n          bVar13 = true;\n          local_80 = iVar16;\n          local_70 = iVar16 + -2;\n        }\n        else {\n          local_70 = FUN_00019aa0(*param_1);\n          local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);\n          if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }\n        }\n      }\n      else {\n        local_80 = 3;\n        bVar13 = true;\n        local_70 = 1;\n        local_74 = 0;\n      }" if (parenthesized_expression "((*(int *)(iVar26 + 0x54) == 0) || (*(int *)(unaff_EBP + 0x12c02) != 0))" ( (binary_expression "(*(int *)(iVar26 + 0x54) == 0) || (*(int *)(unaff_EBP + 0x12c02) != 0)" (parenthesized_expression "(*(int *)(iVar26 + 0x54) == 0)" ( (binary_expression "*(int *)(iVar26 + 0x54) == 0" (pointer_expression "*(int *)(iVar26 + 0x54)" * (cast_expression "(int *)(iVar26 + 0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x54)" ( (binary_expression "iVar26 + 0x54" identifier + number_literal) )))) == number_literal) )) || (parenthesized_expression "(*(int *)(unaff_EBP + 0x12c02) != 0)" ( (binary_expression "*(int *)(unaff_EBP + 0x12c02) != 0" (pointer_expression "*(int *)(unaff_EBP + 0x12c02)" * (cast_expression "(int *)(unaff_EBP + 0x12c02)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12c02)" ( (binary_expression "unaff_EBP + 0x12c02" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n        local_74 = *(int *)(unaff_EBP + 0x12bfe);\n        if ((*(int *)(iVar26 + 0x74) < 1) &&\n           ((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))))) {\n          bVar13 = true;\n          local_80 = iVar16;\n          local_70 = iVar16 + -2;\n        }\n        else {\n          local_70 = FUN_00019aa0(*param_1);\n          local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);\n          if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }\n        }\n      }" { (expression_statement "local_74 = *(int *)(unaff_EBP + 0x12bfe);" (assignment_expression "local_74 = *(int *)(unaff_EBP + 0x12bfe)" identifier = (pointer_expression "*(int *)(unaff_EBP + 0x12bfe)" * (cast_expression "(int *)(unaff_EBP + 0x12bfe)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12bfe)" ( (binary_expression "unaff_EBP + 0x12bfe" identifier + number_literal) ))))) ;) (if_statement "if ((*(int *)(iVar26 + 0x74) < 1) &&\n           ((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))))) {\n          bVar13 = true;\n          local_80 = iVar16;\n          local_70 = iVar16 + -2;\n        }\n        else {\n          local_70 = FUN_00019aa0(*param_1);\n          local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);\n          if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }\n        }" if (parenthesized_expression "((*(int *)(iVar26 + 0x74) < 1) &&\n           ((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0))))))" ( (binary_expression "(*(int *)(iVar26 + 0x74) < 1) &&\n           ((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))))" (parenthesized_expression "(*(int *)(iVar26 + 0x74) < 1)" ( (binary_expression "*(int *)(iVar26 + 0x74) < 1" (pointer_expression "*(int *)(iVar26 + 0x74)" * (cast_expression "(int *)(iVar26 + 0x74)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x74)" ( (binary_expression "iVar26 + 0x74" identifier + number_literal) )))) < number_literal) )) && (parenthesized_expression "((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))))" ( (parenthesized_expression "(*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0))))" ( (binary_expression "*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))" (binary_expression "*(int *)(iVar26 + 0x6c) == 0" (pointer_expression "*(int *)(iVar26 + 0x6c)" * (cast_expression "(int *)(iVar26 + 0x6c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x6c)" ( (binary_expression "iVar26 + 0x6c" identifier + number_literal) )))) == number_literal) || (parenthesized_expression "((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))" ( (parenthesized_expression "(*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0))" ( (binary_expression "*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)" (binary_expression "*(char *)(iVar26 + 0x68) != '\0'" (pointer_expression "*(char *)(iVar26 + 0x68)" * (cast_expression "(char *)(iVar26 + 0x68)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x68)" ( (binary_expression "iVar26 + 0x68" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(*(int *)(iVar26 + 0x84) == 0)" ( (binary_expression "*(int *)(iVar26 + 0x84) == 0" (pointer_expression "*(int *)(iVar26 + 0x84)" * (cast_expression "(int *)(iVar26 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x84)" ( (binary_expression "iVar26 + 0x84" identifier + number_literal) )))) == number_literal) ))) )) ))) )) ))) )) (compound_statement "{\n          bVar13 = true;\n          local_80 = iVar16;\n          local_70 = iVar16 + -2;\n        }" { (expression_statement "bVar13 = true;" (assignment_expression "bVar13 = true" identifier = true) ;) (expression_statement "local_80 = iVar16;" (assignment_expression "local_80 = iVar16" identifier = identifier) ;) (expression_statement "local_70 = iVar16 + -2;" (assignment_expression "local_70 = iVar16 + -2" identifier = (binary_expression "iVar16 + -2" identifier + number_literal)) ;) }) (else_clause "else {\n          local_70 = FUN_00019aa0(*param_1);\n          local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);\n          if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }\n        }" else (compound_statement "{\n          local_70 = FUN_00019aa0(*param_1);\n          local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);\n          if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }\n        }" { (expression_statement "local_70 = FUN_00019aa0(*param_1);" (assignment_expression "local_70 = FUN_00019aa0(*param_1)" identifier = (call_expression "FUN_00019aa0(*param_1)" identifier (argument_list "(*param_1)" ( (pointer_expression "*param_1" * identifier) )))) ;) (expression_statement "local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);" (assignment_expression "local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP)" identifier = (binary_expression "local_70 - *(int *)(&DAT_00012c5e + unaff_EBP)" identifier - (pointer_expression "*(int *)(&DAT_00012c5e + unaff_EBP)" * (cast_expression "(int *)(&DAT_00012c5e + unaff_EBP)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00012c5e + unaff_EBP)" ( (binary_expression "&DAT_00012c5e + unaff_EBP" (pointer_expression "&DAT_00012c5e" & identifier) + identifier) )))))) ;) (if_statement "if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }" if (parenthesized_expression "(local_70 < 0)" ( (binary_expression "local_70 < 0" identifier < number_literal) )) (compound_statement "{\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }" { (expression_statement "local_80 = 3;" (assignment_expression "local_80 = 3" identifier = number_literal) ;) (expression_statement "bVar13 = true;" (assignment_expression "bVar13 = true" identifier = true) ;) (expression_statement "iVar26 = *local_6c;" (assignment_expression "iVar26 = *local_6c" identifier = (pointer_expression "*local_6c" * identifier)) ;) (expression_statement "local_70 = 1;" (assignment_expression "local_70 = 1" identifier = number_literal) ;) }) (else_clause "else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }" else (compound_statement "{\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }" { (expression_statement "bVar13 = true;" (assignment_expression "bVar13 = true" identifier = true) ;) (expression_statement "local_80 = local_70 + 2;" (assignment_expression "local_80 = local_70 + 2" identifier = (binary_expression "local_70 + 2" identifier + number_literal)) ;) (expression_statement "iVar26 = *local_6c;" (assignment_expression "iVar26 = *local_6c" identifier = (pointer_expression "*local_6c" * identifier)) ;) }))) }))) }) (else_clause "else {\n        local_80 = 3;\n        bVar13 = true;\n        local_70 = 1;\n        local_74 = 0;\n      }" else (compound_statement "{\n        local_80 = 3;\n        bVar13 = true;\n        local_70 = 1;\n        local_74 = 0;\n      }" { (expression_statement "local_80 = 3;" (assignment_expression "local_80 = 3" identifier = number_literal) ;) (expression_statement "bVar13 = true;" (assignment_expression "bVar13 = true" identifier = true) ;) (expression_statement "local_70 = 1;" (assignment_expression "local_70 = 1" identifier = number_literal) ;) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" identifier = number_literal) ;) }))) }) (else_clause "else {\n      if (*(int *)(*local_6c + 0x60) == 0) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0) {\n          local_70 = *(int *)(unaff_EBP + 0x12c7a);\n        }\n        else {\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }\n      }\n      else {\n        local_70 = *(int *)(unaff_EBP + 0x12c6e);\n      }\n      iVar23 = *(int *)(unaff_EBP + 0x129b6);\n      if (iVar23 == *(int *)(unaff_EBP + 0x129b2)) {\n        uVar17 = FUN_00019bf0();\n      }\n      else {\n        uVar17 = FUN_00019aa0(*param_1);\n        iVar26 = iVar23;\n      }\n      iVar26 = FUN_00019b60(uVar17,iVar26,0);\n      if (local_70 <= iVar26) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0) {\n          local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;\n        }\n        else {\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }\n      }\n      bVar13 = false;\n      bVar29 = false;\n      local_74 = *(int *)(unaff_EBP + 0x12bfe);\n      iVar26 = *local_6c;\n      local_80 = local_70 + 2;\n    }" else (compound_statement "{\n      if (*(int *)(*local_6c + 0x60) == 0) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0) {\n          local_70 = *(int *)(unaff_EBP + 0x12c7a);\n        }\n        else {\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }\n      }\n      else {\n        local_70 = *(int *)(unaff_EBP + 0x12c6e);\n      }\n      iVar23 = *(int *)(unaff_EBP + 0x129b6);\n      if (iVar23 == *(int *)(unaff_EBP + 0x129b2)) {\n        uVar17 = FUN_00019bf0();\n      }\n      else {\n        uVar17 = FUN_00019aa0(*param_1);\n        iVar26 = iVar23;\n      }\n      iVar26 = FUN_00019b60(uVar17,iVar26,0);\n      if (local_70 <= iVar26) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0) {\n          local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;\n        }\n        else {\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }\n      }\n      bVar13 = false;\n      bVar29 = false;\n      local_74 = *(int *)(unaff_EBP + 0x12bfe);\n      iVar26 = *local_6c;\n      local_80 = local_70 + 2;\n    }" { (if_statement "if (*(int *)(*local_6c + 0x60) == 0) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0) {\n          local_70 = *(int *)(unaff_EBP + 0x12c7a);\n        }\n        else {\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }\n      }\n      else {\n        local_70 = *(int *)(unaff_EBP + 0x12c6e);\n      }" if (parenthesized_expression "(*(int *)(*local_6c + 0x60) == 0)" ( (binary_expression "*(int *)(*local_6c + 0x60) == 0" (pointer_expression "*(int *)(*local_6c + 0x60)" * (cast_expression "(int *)(*local_6c + 0x60)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_6c + 0x60)" ( (binary_expression "*local_6c + 0x60" (pointer_expression "*local_6c" * identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n        if (*(int *)(unaff_EBP + 0x1296a) == 0) {\n          local_70 = *(int *)(unaff_EBP + 0x12c7a);\n        }\n        else {\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }\n      }" { (if_statement "if (*(int *)(unaff_EBP + 0x1296a) == 0) {\n          local_70 = *(int *)(unaff_EBP + 0x12c7a);\n        }\n        else {\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }" if (parenthesized_expression "(*(int *)(unaff_EBP + 0x1296a) == 0)" ( (binary_expression "*(int *)(unaff_EBP + 0x1296a) == 0" (pointer_expression "*(int *)(unaff_EBP + 0x1296a)" * (cast_expression "(int *)(unaff_EBP + 0x1296a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1296a)" ( (binary_expression "unaff_EBP + 0x1296a" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n          local_70 = *(int *)(unaff_EBP + 0x12c7a);\n        }" { (expression_statement "local_70 = *(int *)(unaff_EBP + 0x12c7a);" (assignment_expression "local_70 = *(int *)(unaff_EBP + 0x12c7a)" identifier = (pointer_expression "*(int *)(unaff_EBP + 0x12c7a)" * (cast_expression "(int *)(unaff_EBP + 0x12c7a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12c7a)" ( (binary_expression "unaff_EBP + 0x12c7a" identifier + number_literal) ))))) ;) }) (else_clause "else {\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }" else (compound_statement "{\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }" { (expression_statement "local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);" (assignment_expression "local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2)" identifier = (pointer_expression "*(int *)(FUN_00012c60 + unaff_EBP + 2)" * (cast_expression "(int *)(FUN_00012c60 + unaff_EBP + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(FUN_00012c60 + unaff_EBP + 2)" ( (binary_expression "FUN_00012c60 + unaff_EBP + 2" (binary_expression "FUN_00012c60 + unaff_EBP" identifier + identifier) + number_literal) ))))) ;) }))) }) (else_clause "else {\n        local_70 = *(int *)(unaff_EBP + 0x12c6e);\n      }" else (compound_statement "{\n        local_70 = *(int *)(unaff_EBP + 0x12c6e);\n      }" { (expression_statement "local_70 = *(int *)(unaff_EBP + 0x12c6e);" (assignment_expression "local_70 = *(int *)(unaff_EBP + 0x12c6e)" identifier = (pointer_expression "*(int *)(unaff_EBP + 0x12c6e)" * (cast_expression "(int *)(unaff_EBP + 0x12c6e)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12c6e)" ( (binary_expression "unaff_EBP + 0x12c6e" identifier + number_literal) ))))) ;) }))) (expression_statement "iVar23 = *(int *)(unaff_EBP + 0x129b6);" (assignment_expression "iVar23 = *(int *)(unaff_EBP + 0x129b6)" identifier = (pointer_expression "*(int *)(unaff_EBP + 0x129b6)" * (cast_expression "(int *)(unaff_EBP + 0x129b6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129b6)" ( (binary_expression "unaff_EBP + 0x129b6" identifier + number_literal) ))))) ;) (if_statement "if (iVar23 == *(int *)(unaff_EBP + 0x129b2)) {\n        uVar17 = FUN_00019bf0();\n      }\n      else {\n        uVar17 = FUN_00019aa0(*param_1);\n        iVar26 = iVar23;\n      }" if (parenthesized_expression "(iVar23 == *(int *)(unaff_EBP + 0x129b2))" ( (binary_expression "iVar23 == *(int *)(unaff_EBP + 0x129b2)" identifier == (pointer_expression "*(int *)(unaff_EBP + 0x129b2)" * (cast_expression "(int *)(unaff_EBP + 0x129b2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129b2)" ( (binary_expression "unaff_EBP + 0x129b2" identifier + number_literal) ))))) )) (compound_statement "{\n        uVar17 = FUN_00019bf0();\n      }" { (expression_statement "uVar17 = FUN_00019bf0();" (assignment_expression "uVar17 = FUN_00019bf0()" identifier = (call_expression "FUN_00019bf0()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else {\n        uVar17 = FUN_00019aa0(*param_1);\n        iVar26 = iVar23;\n      }" else (compound_statement "{\n        uVar17 = FUN_00019aa0(*param_1);\n        iVar26 = iVar23;\n      }" { (expression_statement "uVar17 = FUN_00019aa0(*param_1);" (assignment_expression "uVar17 = FUN_00019aa0(*param_1)" identifier = (call_expression "FUN_00019aa0(*param_1)" identifier (argument_list "(*param_1)" ( (pointer_expression "*param_1" * identifier) )))) ;) (expression_statement "iVar26 = iVar23;" (assignment_expression "iVar26 = iVar23" identifier = identifier) ;) }))) (expression_statement "iVar26 = FUN_00019b60(uVar17,iVar26,0);" (assignment_expression "iVar26 = FUN_00019b60(uVar17,iVar26,0)" identifier = (call_expression "FUN_00019b60(uVar17,iVar26,0)" identifier (argument_list "(uVar17,iVar26,0)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (local_70 <= iVar26) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0) {\n          local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;\n        }\n        else {\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }\n      }" if (parenthesized_expression "(local_70 <= iVar26)" ( (binary_expression "local_70 <= iVar26" identifier <= identifier) )) (compound_statement "{\n        if (*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0) {\n          local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;\n        }\n        else {\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }\n      }" { (if_statement "if (*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0) {\n          local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;\n        }\n        else {\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }" if (parenthesized_expression "(*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0)" ( (binary_expression "*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0" (binary_expression "*(int *)(unaff_EBP + 0x1296a) == 0" (pointer_expression "*(int *)(unaff_EBP + 0x1296a)" * (cast_expression "(int *)(unaff_EBP + 0x1296a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1296a)" ( (binary_expression "unaff_EBP + 0x1296a" identifier + number_literal) )))) == number_literal) && (binary_expression "*(int *)(unaff_EBP + 0x12ca6) == 0" (pointer_expression "*(int *)(unaff_EBP + 0x12ca6)" * (cast_expression "(int *)(unaff_EBP + 0x12ca6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12ca6)" ( (binary_expression "unaff_EBP + 0x12ca6" identifier + number_literal) )))) == number_literal)) )) (compound_statement "{\n          local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;\n        }" { (expression_statement "local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;" (assignment_expression "local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26" identifier = (binary_expression "(*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26" (parenthesized_expression "(*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))" ( (binary_expression "*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2)" (pointer_expression "*(int *)(unaff_EBP + 0x12bb2)" * (cast_expression "(int *)(unaff_EBP + 0x12bb2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12bb2)" ( (binary_expression "unaff_EBP + 0x12bb2" identifier + number_literal) )))) - (binary_expression "(iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2)" (parenthesized_expression "(iVar26 + -1)" ( (binary_expression "iVar26 + -1" identifier + number_literal) )) % (pointer_expression "*(int *)(unaff_EBP + 0x12bb2)" * (cast_expression "(int *)(unaff_EBP + 0x12bb2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12bb2)" ( (binary_expression "unaff_EBP + 0x12bb2" identifier + number_literal) )))))) )) + identifier)) ;) }) (else_clause "else {\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }" else (compound_statement "{\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }" { (expression_statement "local_70 = iVar26 + 1;" (assignment_expression "local_70 = iVar26 + 1" identifier = (binary_expression "iVar26 + 1" identifier + number_literal)) ;) (expression_statement "*(int *)(unaff_EBP + 0x1296a) = 0;" (assignment_expression "*(int *)(unaff_EBP + 0x1296a) = 0" (pointer_expression "*(int *)(unaff_EBP + 0x1296a)" * (cast_expression "(int *)(unaff_EBP + 0x1296a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1296a)" ( (binary_expression "unaff_EBP + 0x1296a" identifier + number_literal) )))) = number_literal) ;) }))) })) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" identifier = false) ;) (expression_statement "bVar29 = false;" (assignment_expression "bVar29 = false" identifier = false) ;) (expression_statement "local_74 = *(int *)(unaff_EBP + 0x12bfe);" (assignment_expression "local_74 = *(int *)(unaff_EBP + 0x12bfe)" identifier = (pointer_expression "*(int *)(unaff_EBP + 0x12bfe)" * (cast_expression "(int *)(unaff_EBP + 0x12bfe)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12bfe)" ( (binary_expression "unaff_EBP + 0x12bfe" identifier + number_literal) ))))) ;) (expression_statement "iVar26 = *local_6c;" (assignment_expression "iVar26 = *local_6c" identifier = (pointer_expression "*local_6c" * identifier)) ;) (expression_statement "local_80 = local_70 + 2;" (assignment_expression "local_80 = local_70 + 2" identifier = (binary_expression "local_70 + 2" identifier + number_literal)) ;) }))) (if_statement "if (local_4c == 0) {\n      if (local_84 == 0) {\n        local_4c = unaff_EBP + 0xc5d0;\n        bVar14 = true;\n        local_48 = 3;\n      }\n      else {\n        local_4c = unaff_EBP + 0xc5cc;\n        bVar14 = false;\n        local_48 = 3;\n      }\n    }" if (parenthesized_expression "(local_4c == 0)" ( (binary_expression "local_4c == 0" identifier == number_literal) )) (compound_statement "{\n      if (local_84 == 0) {\n        local_4c = unaff_EBP + 0xc5d0;\n        bVar14 = true;\n        local_48 = 3;\n      }\n      else {\n        local_4c = unaff_EBP + 0xc5cc;\n        bVar14 = false;\n        local_48 = 3;\n      }\n    }" { (if_statement "if (local_84 == 0) {\n        local_4c = unaff_EBP + 0xc5d0;\n        bVar14 = true;\n        local_48 = 3;\n      }\n      else {\n        local_4c = unaff_EBP + 0xc5cc;\n        bVar14 = false;\n        local_48 = 3;\n      }" if (parenthesized_expression "(local_84 == 0)" ( (binary_expression "local_84 == 0" identifier == number_literal) )) (compound_statement "{\n        local_4c = unaff_EBP + 0xc5d0;\n        bVar14 = true;\n        local_48 = 3;\n      }" { (expression_statement "local_4c = unaff_EBP + 0xc5d0;" (assignment_expression "local_4c = unaff_EBP + 0xc5d0" identifier = (binary_expression "unaff_EBP + 0xc5d0" identifier + number_literal)) ;) (expression_statement "bVar14 = true;" (assignment_expression "bVar14 = true" identifier = true) ;) (expression_statement "local_48 = 3;" (assignment_expression "local_48 = 3" identifier = number_literal) ;) }) (else_clause "else {\n        local_4c = unaff_EBP + 0xc5cc;\n        bVar14 = false;\n        local_48 = 3;\n      }" else (compound_statement "{\n        local_4c = unaff_EBP + 0xc5cc;\n        bVar14 = false;\n        local_48 = 3;\n      }" { (expression_statement "local_4c = unaff_EBP + 0xc5cc;" (assignment_expression "local_4c = unaff_EBP + 0xc5cc" identifier = (binary_expression "unaff_EBP + 0xc5cc" identifier + number_literal)) ;) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" identifier = false) ;) (expression_statement "local_48 = 3;" (assignment_expression "local_48 = 3" identifier = number_literal) ;) }))) })) (expression_statement "*(undefined4 *)(iVar26 + 0x24) = 0;" (assignment_expression "*(undefined4 *)(iVar26 + 0x24) = 0" (pointer_expression "*(undefined4 *)(iVar26 + 0x24)" * (cast_expression "(undefined4 *)(iVar26 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x24)" ( (binary_expression "iVar26 + 0x24" identifier + number_literal) )))) = number_literal) ;) (expression_statement "*(int *)(iVar26 + 0x58) = local_70;" (assignment_expression "*(int *)(iVar26 + 0x58) = local_70" (pointer_expression "*(int *)(iVar26 + 0x58)" * (cast_expression "(int *)(iVar26 + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x58)" ( (binary_expression "iVar26 + 0x58" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar5 = (uint *)(unaff_EBP + 0x129a2);" (assignment_expression "puVar5 = (uint *)(unaff_EBP + 0x129a2)" identifier = (cast_expression "(uint *)(unaff_EBP + 0x129a2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129a2)" ( (binary_expression "unaff_EBP + 0x129a2" identifier + number_literal) )))) ;) (expression_statement "puVar20 = (undefined1 *)*puVar5;" (assignment_expression "puVar20 = (undefined1 *)*puVar5" identifier = (cast_expression "(undefined1 *)*puVar5" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) (expression_statement "*puVar5 = (uint)(puVar20 + 1);" (assignment_expression "*puVar5 = (uint)(puVar20 + 1)" (pointer_expression "*puVar5" * identifier) = (call_expression "(uint)(puVar20 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar20 + 1)" ( (binary_expression "puVar20 + 1" identifier + number_literal) )))) ;) (expression_statement "*puVar20 = 0x2f;" (assignment_expression "*puVar20 = 0x2f" (pointer_expression "*puVar20" * identifier) = number_literal) ;) (expression_statement "puVar20 = (undefined1 *)*puVar5;" (assignment_expression "puVar20 = (undefined1 *)*puVar5" identifier = (cast_expression "(undefined1 *)*puVar5" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) (expression_statement "*puVar5 = (uint)(puVar20 + 1);" (assignment_expression "*puVar5 = (uint)(puVar20 + 1)" (pointer_expression "*puVar5" * identifier) = (call_expression "(uint)(puVar20 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar20 + 1)" ( (binary_expression "puVar20 + 1" identifier + number_literal) )))) ;) (expression_statement "*puVar20 = uVar25;" (assignment_expression "*puVar20 = uVar25" (pointer_expression "*puVar20" * identifier) = identifier) ;) (if_statement "if (bVar29) {\n      puVar7 = (undefined4 *)(&DAT_00012b26 + unaff_EBP);\n      uVar17 = *puVar7;\n      *(undefined1 *)*puVar5 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      pcVar18 = (char *)FUN_00018720(uVar17);\n      if (*pcVar18 == '\n') {\n        pcVar18 = pcVar18 + 1;\n        *puVar7 = pcVar18;\n      }\n      else if (local_74 == 0) {\n        pcVar18 = (char *)*puVar7;\n      }\n      else {\n        *puVar7 = pcVar18;\n      }\n      if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n        FUN_00018c70();\n      }\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n      goto LAB_0001543c;\n    }" if (parenthesized_expression "(bVar29)" ( identifier )) (compound_statement "{\n      puVar7 = (undefined4 *)(&DAT_00012b26 + unaff_EBP);\n      uVar17 = *puVar7;\n      *(undefined1 *)*puVar5 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      pcVar18 = (char *)FUN_00018720(uVar17);\n      if (*pcVar18 == '\n') {\n        pcVar18 = pcVar18 + 1;\n        *puVar7 = pcVar18;\n      }\n      else if (local_74 == 0) {\n        pcVar18 = (char *)*puVar7;\n      }\n      else {\n        *puVar7 = pcVar18;\n      }\n      if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n        FUN_00018c70();\n      }\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n      goto LAB_0001543c;\n    }" { (expression_statement "puVar7 = (undefined4 *)(&DAT_00012b26 + unaff_EBP);" (assignment_expression "puVar7 = (undefined4 *)(&DAT_00012b26 + unaff_EBP)" identifier = (cast_expression "(undefined4 *)(&DAT_00012b26 + unaff_EBP)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00012b26 + unaff_EBP)" ( (binary_expression "&DAT_00012b26 + unaff_EBP" (pointer_expression "&DAT_00012b26" & identifier) + identifier) )))) ;) (expression_statement "uVar17 = *puVar7;" (assignment_expression "uVar17 = *puVar7" identifier = (pointer_expression "*puVar7" * identifier)) ;) (expression_statement "*(undefined1 *)*puVar5 = 0;" (assignment_expression "*(undefined1 *)*puVar5 = 0" (pointer_expression "*(undefined1 *)*puVar5" * (cast_expression "(undefined1 *)*puVar5" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) = number_literal) ;) (expression_statement "FUN_0001a130(1,param_1,param_2);" (call_expression "FUN_0001a130(1,param_1,param_2)" identifier (argument_list "(1,param_1,param_2)" ( number_literal , identifier , identifier ))) ;) (expression_statement "pcVar18 = (char *)FUN_00018720(uVar17);" (assignment_expression "pcVar18 = (char *)FUN_00018720(uVar17)" identifier = (cast_expression "(char *)FUN_00018720(uVar17)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00018720(uVar17)" identifier (argument_list "(uVar17)" ( identifier ))))) ;) (if_statement "if (*pcVar18 == '\n') {\n        pcVar18 = pcVar18 + 1;\n        *puVar7 = pcVar18;\n      }\n      else if (local_74 == 0) {\n        pcVar18 = (char *)*puVar7;\n      }\n      else {\n        *puVar7 = pcVar18;\n      }" if (parenthesized_expression "(*pcVar18 == '\n')" ( (binary_expression "*pcVar18 == '\n'" (pointer_expression "*pcVar18" * identifier) == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n        pcVar18 = pcVar18 + 1;\n        *puVar7 = pcVar18;\n      }" { (expression_statement "pcVar18 = pcVar18 + 1;" (assignment_expression "pcVar18 = pcVar18 + 1" identifier = (binary_expression "pcVar18 + 1" identifier + number_literal)) ;) (expression_statement "*puVar7 = pcVar18;" (assignment_expression "*puVar7 = pcVar18" (pointer_expression "*puVar7" * identifier) = identifier) ;) }) (else_clause "else if (local_74 == 0) {\n        pcVar18 = (char *)*puVar7;\n      }\n      else {\n        *puVar7 = pcVar18;\n      }" else (if_statement "if (local_74 == 0) {\n        pcVar18 = (char *)*puVar7;\n      }\n      else {\n        *puVar7 = pcVar18;\n      }" if (parenthesized_expression "(local_74 == 0)" ( (binary_expression "local_74 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar18 = (char *)*puVar7;\n      }" { (expression_statement "pcVar18 = (char *)*puVar7;" (assignment_expression "pcVar18 = (char *)*puVar7" identifier = (cast_expression "(char *)*puVar7" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar7" * identifier))) ;) }) (else_clause "else {\n        *puVar7 = pcVar18;\n      }" else (compound_statement "{\n        *puVar7 = pcVar18;\n      }" { (expression_statement "*puVar7 = pcVar18;" (assignment_expression "*puVar7 = pcVar18" (pointer_expression "*puVar7" * identifier) = identifier) ;) }))))) (if_statement "if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n        FUN_00018c70();\n      }" if (parenthesized_expression "(*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18)" ( (binary_expression "*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18" (pointer_expression "*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)" * (cast_expression "(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(__i686_get_pc_thunk_bx + unaff_EBP + 2)" ( (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP + 2" (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP" identifier + identifier) + number_literal) )))) <= identifier) )) (compound_statement "{\n        FUN_00018c70();\n      }" { (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "local_78 = (char *)0x0;" (assignment_expression "local_78 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (goto_statement "goto LAB_0001543c;" goto statement_identifier ;) })) (if_statement "if (local_74 == 0) {\n      local_40 = 0;\n      local_54 = 0;\n      local_78 = (char *)0x0;\n    }\n    else {\n      puVar20 = (undefined1 *)*puVar5;\n      *puVar5 = (uint)(puVar20 + 1);\n      *puVar20 = 0x20;\n      local_80 = local_70 + 3;\n      FUN_00018e10();\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n    }" if (parenthesized_expression "(local_74 == 0)" ( (binary_expression "local_74 == 0" identifier == number_literal) )) (compound_statement "{\n      local_40 = 0;\n      local_54 = 0;\n      local_78 = (char *)0x0;\n    }" { (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) (expression_statement "local_78 = (char *)0x0;" (assignment_expression "local_78 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n      puVar20 = (undefined1 *)*puVar5;\n      *puVar5 = (uint)(puVar20 + 1);\n      *puVar20 = 0x20;\n      local_80 = local_70 + 3;\n      FUN_00018e10();\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n    }" else (compound_statement "{\n      puVar20 = (undefined1 *)*puVar5;\n      *puVar5 = (uint)(puVar20 + 1);\n      *puVar20 = 0x20;\n      local_80 = local_70 + 3;\n      FUN_00018e10();\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n    }" { (expression_statement "puVar20 = (undefined1 *)*puVar5;" (assignment_expression "puVar20 = (undefined1 *)*puVar5" identifier = (cast_expression "(undefined1 *)*puVar5" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) (expression_statement "*puVar5 = (uint)(puVar20 + 1);" (assignment_expression "*puVar5 = (uint)(puVar20 + 1)" (pointer_expression "*puVar5" * identifier) = (call_expression "(uint)(puVar20 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar20 + 1)" ( (binary_expression "puVar20 + 1" identifier + number_literal) )))) ;) (expression_statement "*puVar20 = 0x20;" (assignment_expression "*puVar20 = 0x20" (pointer_expression "*puVar20" * identifier) = number_literal) ;) (expression_statement "local_80 = local_70 + 3;" (assignment_expression "local_80 = local_70 + 3" identifier = (binary_expression "local_70 + 3" identifier + number_literal)) ;) (expression_statement "FUN_00018e10();" (call_expression "FUN_00018e10()" identifier (argument_list "()" ( ))) ;) (expression_statement "local_78 = (char *)0x0;" (assignment_expression "local_78 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" identifier = number_literal) ;) }))) (while_statement "while (local_68 = &DAT_00012b1e + unaff_EBP, *local_68 == '\0') {\n      piVar2 = (int *)(unaff_EBP + 0x1299e);\n      puVar6 = (uint *)(&DAT_00012b26 + unaff_EBP);\n      local_64 = (char *)0x0;\n      piVar4 = (int *)(unaff_EBP + 0x129a6);\nLAB_00015228:\n      pcVar27 = local_78;\n      iVar26 = *piVar2;\n      pcVar18 = (char *)*puVar5;\n      if ((char *)(iVar26 + -1) <= pcVar18) {\n        iVar23 = *piVar4;\n        iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar22;\n        pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar4));\n        *puVar5 = (uint)pcVar18;\n        iVar26 = iVar22 + 0x18c + (iVar26 - iVar23);\n        *piVar4 = iVar22 + 1;\n        pcVar19 = (char *)*puVar6;\n        *piVar2 = iVar26;\n        cVar28 = *pcVar19;\n        cVar12 = cVar28 + -10;\n        bVar29 = cVar12 == '\0';\n        if (!bVar29) goto LAB_0001524d;\nLAB_0001531c:\n        if (local_5c == 0x14) {\nLAB_00015c4a:\n          iVar15 = *local_6c;\n          *(int *)(iVar15 + 0x58) = local_70;\n          *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n          *(int *)(iVar15 + 0x24) = local_54;\n          *pcVar18 = '\0';\n          return;\n        }\n        if (local_74 == 0) {\n          local_78 = (char *)0x0;\n          bVar29 = false;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        *puVar6 = (uint)(pcVar19 + 1);\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;\n        if (*(char **)pcVar3 <= pcVar19 + 1) {\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar5;\n        }\n        if ((local_78 < local_64) && (local_64 < pcVar18)) {\n          *puVar5 = (uint)local_64;\n        }\n        FUN_00018e10();\n        if (*(char *)*puVar6 == '\n') {\n          local_78 = (char *)0x0;\n          bVar29 = true;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        if (local_78 == (char *)0x0) {\n          bVar29 = true;\n          bVar30 = bVar14;\n          goto LAB_00015630;\n        }\n        if ((((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')) && (pcVar18[1] != '/')) {\n          pcVar18 = pcVar18 + 1;\n          *puVar6 = (uint)pcVar18;\n          if (*(char **)pcVar3 <= pcVar18) {\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }\n          if ((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))\n          {\n            FUN_00018c70();\n          }\n        }\n        pcVar18 = (char *)*puVar5;\n        if (pcVar18[-1] != ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n          local_64 = pcVar18;\n        }\n        goto LAB_0001521b;\n      }\n      pcVar19 = (char *)*puVar6;\n      cVar28 = *pcVar19;\n      cVar12 = cVar28 + -10;\n      bVar29 = cVar28 == '\n';\n      if (bVar29) goto LAB_0001531c;\nLAB_0001524d:\n      if (bVar29 || SBORROW1(cVar28,'\n') != cVar12 < '\0') {\n        if (cVar28 != '\t') goto LAB_000151b8;\nLAB_0001525c:\n        if (((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)) {\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }\n        if (cVar28 == ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n        }\n        else {\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }\nLAB_000151f8:\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)) {\n          FUN_00018c70();\n        }\nLAB_0001521b:\n        if (*local_68 != '\0') goto LAB_000159db;\n        goto LAB_00015228;\n      }\n      if (cVar28 == ' ') goto LAB_0001525c;\n      if ((cVar28 != '*') || (local_5c != 0x13)) goto LAB_000151b8;\n      if (pcVar19[1] == '/') {\n        if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }\n          if ((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')) {\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }\n        }\nLAB_00015cc8:\n        if ((char *)(iVar26 + -3) <= pcVar18) {\n          piVar1 = (int *)(unaff_EBP + 0x129a6);\n          iVar15 = *piVar1;\n          iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);\n          *(int *)(unaff_EBP + 0x129aa) = iVar16;\n          pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));\n          *piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);\n          *piVar1 = iVar16 + 1;\n        }\n        *puVar5 = (uint)(pcVar18 + 1);\n        *pcVar18 = '*';\n        puVar20 = (undefined1 *)*puVar5;\n        *puVar5 = (uint)(puVar20 + 1);\n        *puVar20 = 0x2f;\n        *(undefined1 *)*puVar5 = 0;\n        uVar24 = *puVar6;\n        *puVar6 = uVar24 + 2;\n        uVar24 = FUN_00018720(uVar24 + 2);\n        *puVar6 = uVar24;\n        if (*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= uVar24) {\n          FUN_00018c70();\n        }\n        iVar15 = *local_6c;\n        *(int *)(iVar15 + 0x58) = local_70;\n        *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n        *(int *)(iVar15 + 0x24) = local_54;\n        return;\n      }\n      if (*piVar1 + -1 == iVar15) {\n        piVar8 = (int *)(unaff_EBP + 0x129a6);\n        if (pcVar18 != (undefined1 *)*piVar8 + local_48) goto LAB_000151b8;\n        *(undefined1 *)*piVar8 = 0x20;\n        local_80 = (local_80 - local_48) + 2;\n        local_48 = 1;\n        local_4c = unaff_EBP + 0xc5d2;\n        *(undefined1 *)(*piVar8 + 1) = 0x2a;\n        local_78 = (char *)(*piVar8 + 2);\n        local_28 = 0;\n        *puVar5 = (uint)local_78;\n        local_54 = 1;\n        goto LAB_00015589;\n      }\nLAB_000151b8:\n      local_80 = local_80 + 1;\n      *puVar5 = (uint)(pcVar18 + 1);\n      *pcVar18 = *pcVar19;\n      bVar29 = local_74 != 0;\n      local_78 = pcVar18;\nLAB_000151d8:\n      if ((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar29)) goto LAB_000151f8;\n      if (local_64 < (char *)(*puVar5 - 1)) {\n        *local_64 = '\0';\n        uVar24 = *puVar5;\n        *puVar5 = (uint)local_64;\n        local_40 = uVar24 - (int)(local_64 + 1);\n        iVar26 = local_80 - local_40;\n        if ((int)(local_80 - local_40) <= local_60) {\n          iVar26 = local_60;\n        }\n        bVar30 = local_78 == (char *)0x0;\n        bVar29 = false;\n        local_78 = local_64 + 1;\n        local_60 = iVar26;\n        bVar30 = (bool)(bVar30 & bVar14);\n        goto LAB_00015630;\n      }\n      pcVar18 = (char *)*puVar6;\n      if (local_5c != 0x14) {\n        do {\n          pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2);\n          do {\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          } while (pcVar18 < pcVar27);\nLAB_00015b63:\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar6;\n        } while( true );\n      }\n      iVar26 = FUN_00018720(pcVar18);\n      *puVar6 = iVar26 - 1;\n      if (*(char *)(iVar26 + -1) == '\n') {\n        pcVar18 = (char *)*puVar5;\n        goto LAB_00015c4a;\n      }\nLAB_00015d49:\n      *(undefined1 *)*puVar5 = 0;\nLAB_000159db:\n      pcVar18 = local_78;\n      local_78 = (char *)0x0;\n      bVar29 = false;\n      bVar30 = (bool)(pcVar18 == (char *)0x0 & bVar14);\nLAB_00015630:\n      if ((bVar30) && (*piVar1 != iVar15)) {\n        puVar20 = *(undefined1 **)(unaff_EBP + 0x129a6);\n        *puVar5 = (uint)puVar20;\n      }\n      else {\n        puVar20 = (undefined1 *)*puVar5;\n      }\n      *puVar20 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      *(undefined4 *)(unaff_EBP + 0x1297e) = 0;\n      if (!bVar29) {\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n          FUN_00018c70();\n        }\n      }\nLAB_0001543c:\n      local_68 = &DAT_00012b1e + unaff_EBP;\n      if (*local_68 != '\0') break;\n      local_80 = local_70;\n      if (local_48 != 0) {\n        uVar24 = *puVar5;\n        iVar26 = *(int *)(unaff_EBP + 0x1299e);\n        if (iVar26 - local_48 <= uVar24) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_48 + 400 + (iVar26 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          uVar24 = iVar23 + 1 + (*puVar5 - *piVar2);\n          *puVar5 = uVar24;\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *piVar2 = iVar23 + 1;\n        }\n        if (local_48 != 0) {\n          uVar21 = 0;\n          do {\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          } while (uVar21 < local_48);\n        }\n        *puVar5 = *puVar5 + local_48;\n        local_80 = local_70 + local_48;\n      }\n      if (local_78 == (char *)0x0) {\n        FUN_00018e10();\n      }\n      else {\n        if ((*local_78 == ' ') || (*local_78 == '\t')) {\n          if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }\n        }\n        else {\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }\nLAB_000158f3:\n        __dest = (void *)*puVar5;\n        iVar23 = *(int *)(unaff_EBP + 0x1299e);\n        if ((void *)(iVar26 + iVar23) <= __dest) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_40 + 400 + (iVar23 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          __dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *puVar5 = (uint)__dest;\n          *piVar2 = iVar23 + 1;\n        }\n        memmove(__dest,local_78,local_84);\n        local_78 = (char *)*puVar5;\n        *puVar5 = (uint)(local_78 + local_84);\n        local_40 = 0;\n      }\n    }" while (parenthesized_expression "(local_68 = &DAT_00012b1e + unaff_EBP, *local_68 == '\0')" ( (comma_expression "local_68 = &DAT_00012b1e + unaff_EBP, *local_68 == '\0'" (assignment_expression "local_68 = &DAT_00012b1e + unaff_EBP" identifier = (binary_expression "&DAT_00012b1e + unaff_EBP" (pointer_expression "&DAT_00012b1e" & identifier) + identifier)) , (binary_expression "*local_68 == '\0'" (pointer_expression "*local_68" * identifier) == (char_literal "'\0'" ' escape_sequence '))) )) (compound_statement "{\n      piVar2 = (int *)(unaff_EBP + 0x1299e);\n      puVar6 = (uint *)(&DAT_00012b26 + unaff_EBP);\n      local_64 = (char *)0x0;\n      piVar4 = (int *)(unaff_EBP + 0x129a6);\nLAB_00015228:\n      pcVar27 = local_78;\n      iVar26 = *piVar2;\n      pcVar18 = (char *)*puVar5;\n      if ((char *)(iVar26 + -1) <= pcVar18) {\n        iVar23 = *piVar4;\n        iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar22;\n        pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar4));\n        *puVar5 = (uint)pcVar18;\n        iVar26 = iVar22 + 0x18c + (iVar26 - iVar23);\n        *piVar4 = iVar22 + 1;\n        pcVar19 = (char *)*puVar6;\n        *piVar2 = iVar26;\n        cVar28 = *pcVar19;\n        cVar12 = cVar28 + -10;\n        bVar29 = cVar12 == '\0';\n        if (!bVar29) goto LAB_0001524d;\nLAB_0001531c:\n        if (local_5c == 0x14) {\nLAB_00015c4a:\n          iVar15 = *local_6c;\n          *(int *)(iVar15 + 0x58) = local_70;\n          *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n          *(int *)(iVar15 + 0x24) = local_54;\n          *pcVar18 = '\0';\n          return;\n        }\n        if (local_74 == 0) {\n          local_78 = (char *)0x0;\n          bVar29 = false;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        *puVar6 = (uint)(pcVar19 + 1);\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;\n        if (*(char **)pcVar3 <= pcVar19 + 1) {\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar5;\n        }\n        if ((local_78 < local_64) && (local_64 < pcVar18)) {\n          *puVar5 = (uint)local_64;\n        }\n        FUN_00018e10();\n        if (*(char *)*puVar6 == '\n') {\n          local_78 = (char *)0x0;\n          bVar29 = true;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        if (local_78 == (char *)0x0) {\n          bVar29 = true;\n          bVar30 = bVar14;\n          goto LAB_00015630;\n        }\n        if ((((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')) && (pcVar18[1] != '/')) {\n          pcVar18 = pcVar18 + 1;\n          *puVar6 = (uint)pcVar18;\n          if (*(char **)pcVar3 <= pcVar18) {\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }\n          if ((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))\n          {\n            FUN_00018c70();\n          }\n        }\n        pcVar18 = (char *)*puVar5;\n        if (pcVar18[-1] != ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n          local_64 = pcVar18;\n        }\n        goto LAB_0001521b;\n      }\n      pcVar19 = (char *)*puVar6;\n      cVar28 = *pcVar19;\n      cVar12 = cVar28 + -10;\n      bVar29 = cVar28 == '\n';\n      if (bVar29) goto LAB_0001531c;\nLAB_0001524d:\n      if (bVar29 || SBORROW1(cVar28,'\n') != cVar12 < '\0') {\n        if (cVar28 != '\t') goto LAB_000151b8;\nLAB_0001525c:\n        if (((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)) {\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }\n        if (cVar28 == ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n        }\n        else {\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }\nLAB_000151f8:\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)) {\n          FUN_00018c70();\n        }\nLAB_0001521b:\n        if (*local_68 != '\0') goto LAB_000159db;\n        goto LAB_00015228;\n      }\n      if (cVar28 == ' ') goto LAB_0001525c;\n      if ((cVar28 != '*') || (local_5c != 0x13)) goto LAB_000151b8;\n      if (pcVar19[1] == '/') {\n        if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }\n          if ((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')) {\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }\n        }\nLAB_00015cc8:\n        if ((char *)(iVar26 + -3) <= pcVar18) {\n          piVar1 = (int *)(unaff_EBP + 0x129a6);\n          iVar15 = *piVar1;\n          iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);\n          *(int *)(unaff_EBP + 0x129aa) = iVar16;\n          pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));\n          *piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);\n          *piVar1 = iVar16 + 1;\n        }\n        *puVar5 = (uint)(pcVar18 + 1);\n        *pcVar18 = '*';\n        puVar20 = (undefined1 *)*puVar5;\n        *puVar5 = (uint)(puVar20 + 1);\n        *puVar20 = 0x2f;\n        *(undefined1 *)*puVar5 = 0;\n        uVar24 = *puVar6;\n        *puVar6 = uVar24 + 2;\n        uVar24 = FUN_00018720(uVar24 + 2);\n        *puVar6 = uVar24;\n        if (*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= uVar24) {\n          FUN_00018c70();\n        }\n        iVar15 = *local_6c;\n        *(int *)(iVar15 + 0x58) = local_70;\n        *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n        *(int *)(iVar15 + 0x24) = local_54;\n        return;\n      }\n      if (*piVar1 + -1 == iVar15) {\n        piVar8 = (int *)(unaff_EBP + 0x129a6);\n        if (pcVar18 != (undefined1 *)*piVar8 + local_48) goto LAB_000151b8;\n        *(undefined1 *)*piVar8 = 0x20;\n        local_80 = (local_80 - local_48) + 2;\n        local_48 = 1;\n        local_4c = unaff_EBP + 0xc5d2;\n        *(undefined1 *)(*piVar8 + 1) = 0x2a;\n        local_78 = (char *)(*piVar8 + 2);\n        local_28 = 0;\n        *puVar5 = (uint)local_78;\n        local_54 = 1;\n        goto LAB_00015589;\n      }\nLAB_000151b8:\n      local_80 = local_80 + 1;\n      *puVar5 = (uint)(pcVar18 + 1);\n      *pcVar18 = *pcVar19;\n      bVar29 = local_74 != 0;\n      local_78 = pcVar18;\nLAB_000151d8:\n      if ((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar29)) goto LAB_000151f8;\n      if (local_64 < (char *)(*puVar5 - 1)) {\n        *local_64 = '\0';\n        uVar24 = *puVar5;\n        *puVar5 = (uint)local_64;\n        local_40 = uVar24 - (int)(local_64 + 1);\n        iVar26 = local_80 - local_40;\n        if ((int)(local_80 - local_40) <= local_60) {\n          iVar26 = local_60;\n        }\n        bVar30 = local_78 == (char *)0x0;\n        bVar29 = false;\n        local_78 = local_64 + 1;\n        local_60 = iVar26;\n        bVar30 = (bool)(bVar30 & bVar14);\n        goto LAB_00015630;\n      }\n      pcVar18 = (char *)*puVar6;\n      if (local_5c != 0x14) {\n        do {\n          pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2);\n          do {\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          } while (pcVar18 < pcVar27);\nLAB_00015b63:\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar6;\n        } while( true );\n      }\n      iVar26 = FUN_00018720(pcVar18);\n      *puVar6 = iVar26 - 1;\n      if (*(char *)(iVar26 + -1) == '\n') {\n        pcVar18 = (char *)*puVar5;\n        goto LAB_00015c4a;\n      }\nLAB_00015d49:\n      *(undefined1 *)*puVar5 = 0;\nLAB_000159db:\n      pcVar18 = local_78;\n      local_78 = (char *)0x0;\n      bVar29 = false;\n      bVar30 = (bool)(pcVar18 == (char *)0x0 & bVar14);\nLAB_00015630:\n      if ((bVar30) && (*piVar1 != iVar15)) {\n        puVar20 = *(undefined1 **)(unaff_EBP + 0x129a6);\n        *puVar5 = (uint)puVar20;\n      }\n      else {\n        puVar20 = (undefined1 *)*puVar5;\n      }\n      *puVar20 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      *(undefined4 *)(unaff_EBP + 0x1297e) = 0;\n      if (!bVar29) {\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n          FUN_00018c70();\n        }\n      }\nLAB_0001543c:\n      local_68 = &DAT_00012b1e + unaff_EBP;\n      if (*local_68 != '\0') break;\n      local_80 = local_70;\n      if (local_48 != 0) {\n        uVar24 = *puVar5;\n        iVar26 = *(int *)(unaff_EBP + 0x1299e);\n        if (iVar26 - local_48 <= uVar24) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_48 + 400 + (iVar26 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          uVar24 = iVar23 + 1 + (*puVar5 - *piVar2);\n          *puVar5 = uVar24;\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *piVar2 = iVar23 + 1;\n        }\n        if (local_48 != 0) {\n          uVar21 = 0;\n          do {\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          } while (uVar21 < local_48);\n        }\n        *puVar5 = *puVar5 + local_48;\n        local_80 = local_70 + local_48;\n      }\n      if (local_78 == (char *)0x0) {\n        FUN_00018e10();\n      }\n      else {\n        if ((*local_78 == ' ') || (*local_78 == '\t')) {\n          if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }\n        }\n        else {\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }\nLAB_000158f3:\n        __dest = (void *)*puVar5;\n        iVar23 = *(int *)(unaff_EBP + 0x1299e);\n        if ((void *)(iVar26 + iVar23) <= __dest) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_40 + 400 + (iVar23 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          __dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *puVar5 = (uint)__dest;\n          *piVar2 = iVar23 + 1;\n        }\n        memmove(__dest,local_78,local_84);\n        local_78 = (char *)*puVar5;\n        *puVar5 = (uint)(local_78 + local_84);\n        local_40 = 0;\n      }\n    }" { (expression_statement "piVar2 = (int *)(unaff_EBP + 0x1299e);" (assignment_expression "piVar2 = (int *)(unaff_EBP + 0x1299e)" identifier = (cast_expression "(int *)(unaff_EBP + 0x1299e)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1299e)" ( (binary_expression "unaff_EBP + 0x1299e" identifier + number_literal) )))) ;) (expression_statement "puVar6 = (uint *)(&DAT_00012b26 + unaff_EBP);" (assignment_expression "puVar6 = (uint *)(&DAT_00012b26 + unaff_EBP)" identifier = (cast_expression "(uint *)(&DAT_00012b26 + unaff_EBP)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00012b26 + unaff_EBP)" ( (binary_expression "&DAT_00012b26 + unaff_EBP" (pointer_expression "&DAT_00012b26" & identifier) + identifier) )))) ;) (expression_statement "local_64 = (char *)0x0;" (assignment_expression "local_64 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "piVar4 = (int *)(unaff_EBP + 0x129a6);" (assignment_expression "piVar4 = (int *)(unaff_EBP + 0x129a6)" identifier = (cast_expression "(int *)(unaff_EBP + 0x129a6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129a6)" ( (binary_expression "unaff_EBP + 0x129a6" identifier + number_literal) )))) ;) (labeled_statement "LAB_00015228:\n      pcVar27 = local_78;" statement_identifier : (expression_statement "pcVar27 = local_78;" (assignment_expression "pcVar27 = local_78" identifier = identifier) ;)) (expression_statement "iVar26 = *piVar2;" (assignment_expression "iVar26 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "pcVar18 = (char *)*puVar5;" (assignment_expression "pcVar18 = (char *)*puVar5" identifier = (cast_expression "(char *)*puVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) (if_statement "if ((char *)(iVar26 + -1) <= pcVar18) {\n        iVar23 = *piVar4;\n        iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar22;\n        pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar4));\n        *puVar5 = (uint)pcVar18;\n        iVar26 = iVar22 + 0x18c + (iVar26 - iVar23);\n        *piVar4 = iVar22 + 1;\n        pcVar19 = (char *)*puVar6;\n        *piVar2 = iVar26;\n        cVar28 = *pcVar19;\n        cVar12 = cVar28 + -10;\n        bVar29 = cVar12 == '\0';\n        if (!bVar29) goto LAB_0001524d;\nLAB_0001531c:\n        if (local_5c == 0x14) {\nLAB_00015c4a:\n          iVar15 = *local_6c;\n          *(int *)(iVar15 + 0x58) = local_70;\n          *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n          *(int *)(iVar15 + 0x24) = local_54;\n          *pcVar18 = '\0';\n          return;\n        }\n        if (local_74 == 0) {\n          local_78 = (char *)0x0;\n          bVar29 = false;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        *puVar6 = (uint)(pcVar19 + 1);\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;\n        if (*(char **)pcVar3 <= pcVar19 + 1) {\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar5;\n        }\n        if ((local_78 < local_64) && (local_64 < pcVar18)) {\n          *puVar5 = (uint)local_64;\n        }\n        FUN_00018e10();\n        if (*(char *)*puVar6 == '\n') {\n          local_78 = (char *)0x0;\n          bVar29 = true;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        if (local_78 == (char *)0x0) {\n          bVar29 = true;\n          bVar30 = bVar14;\n          goto LAB_00015630;\n        }\n        if ((((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')) && (pcVar18[1] != '/')) {\n          pcVar18 = pcVar18 + 1;\n          *puVar6 = (uint)pcVar18;\n          if (*(char **)pcVar3 <= pcVar18) {\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }\n          if ((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))\n          {\n            FUN_00018c70();\n          }\n        }\n        pcVar18 = (char *)*puVar5;\n        if (pcVar18[-1] != ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n          local_64 = pcVar18;\n        }\n        goto LAB_0001521b;\n      }" if (parenthesized_expression "((char *)(iVar26 + -1) <= pcVar18)" ( (binary_expression "(char *)(iVar26 + -1) <= pcVar18" (cast_expression "(char *)(iVar26 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + -1)" ( (binary_expression "iVar26 + -1" identifier + number_literal) ))) <= identifier) )) (compound_statement "{\n        iVar23 = *piVar4;\n        iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar22;\n        pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar4));\n        *puVar5 = (uint)pcVar18;\n        iVar26 = iVar22 + 0x18c + (iVar26 - iVar23);\n        *piVar4 = iVar22 + 1;\n        pcVar19 = (char *)*puVar6;\n        *piVar2 = iVar26;\n        cVar28 = *pcVar19;\n        cVar12 = cVar28 + -10;\n        bVar29 = cVar12 == '\0';\n        if (!bVar29) goto LAB_0001524d;\nLAB_0001531c:\n        if (local_5c == 0x14) {\nLAB_00015c4a:\n          iVar15 = *local_6c;\n          *(int *)(iVar15 + 0x58) = local_70;\n          *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n          *(int *)(iVar15 + 0x24) = local_54;\n          *pcVar18 = '\0';\n          return;\n        }\n        if (local_74 == 0) {\n          local_78 = (char *)0x0;\n          bVar29 = false;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        *puVar6 = (uint)(pcVar19 + 1);\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;\n        if (*(char **)pcVar3 <= pcVar19 + 1) {\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar5;\n        }\n        if ((local_78 < local_64) && (local_64 < pcVar18)) {\n          *puVar5 = (uint)local_64;\n        }\n        FUN_00018e10();\n        if (*(char *)*puVar6 == '\n') {\n          local_78 = (char *)0x0;\n          bVar29 = true;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        if (local_78 == (char *)0x0) {\n          bVar29 = true;\n          bVar30 = bVar14;\n          goto LAB_00015630;\n        }\n        if ((((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')) && (pcVar18[1] != '/')) {\n          pcVar18 = pcVar18 + 1;\n          *puVar6 = (uint)pcVar18;\n          if (*(char **)pcVar3 <= pcVar18) {\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }\n          if ((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))\n          {\n            FUN_00018c70();\n          }\n        }\n        pcVar18 = (char *)*puVar5;\n        if (pcVar18[-1] != ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n          local_64 = pcVar18;\n        }\n        goto LAB_0001521b;\n      }" { (expression_statement "iVar23 = *piVar4;" (assignment_expression "iVar23 = *piVar4" identifier = (pointer_expression "*piVar4" * identifier)) ;) (expression_statement "iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191);" (assignment_expression "iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191)" identifier = (call_expression "FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191)" identifier (argument_list "(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191)" ( (pointer_expression "*(int *)(unaff_EBP + 0x129aa)" * (cast_expression "(int *)(unaff_EBP + 0x129aa)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129aa)" ( (binary_expression "unaff_EBP + 0x129aa" identifier + number_literal) )))) , (binary_expression "(iVar26 - iVar23) + 0x191" (parenthesized_expression "(iVar26 - iVar23)" ( (binary_expression "iVar26 - iVar23" identifier - identifier) )) + number_literal) )))) ;) (expression_statement "*(int *)(unaff_EBP + 0x129aa) = iVar22;" (assignment_expression "*(int *)(unaff_EBP + 0x129aa) = iVar22" (pointer_expression "*(int *)(unaff_EBP + 0x129aa)" * (cast_expression "(int *)(unaff_EBP + 0x129aa)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129aa)" ( (binary_expression "unaff_EBP + 0x129aa" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar4));" (assignment_expression "pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar4))" identifier = (cast_expression "(char *)(iVar22 + 1 + (*puVar5 - *piVar4))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 1 + (*puVar5 - *piVar4))" ( (binary_expression "iVar22 + 1 + (*puVar5 - *piVar4)" (binary_expression "iVar22 + 1" identifier + number_literal) + (parenthesized_expression "(*puVar5 - *piVar4)" ( (binary_expression "*puVar5 - *piVar4" (pointer_expression "*puVar5" * identifier) - (pointer_expression "*piVar4" * identifier)) ))) )))) ;) (expression_statement "*puVar5 = (uint)pcVar18;" (assignment_expression "*puVar5 = (uint)pcVar18" (pointer_expression "*puVar5" * identifier) = (cast_expression "(uint)pcVar18" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "iVar26 = iVar22 + 0x18c + (iVar26 - iVar23);" (assignment_expression "iVar26 = iVar22 + 0x18c + (iVar26 - iVar23)" identifier = (binary_expression "iVar22 + 0x18c + (iVar26 - iVar23)" (binary_expression "iVar22 + 0x18c" identifier + number_literal) + (parenthesized_expression "(iVar26 - iVar23)" ( (binary_expression "iVar26 - iVar23" identifier - identifier) )))) ;) (expression_statement "*piVar4 = iVar22 + 1;" (assignment_expression "*piVar4 = iVar22 + 1" (pointer_expression "*piVar4" * identifier) = (binary_expression "iVar22 + 1" identifier + number_literal)) ;) (expression_statement "pcVar19 = (char *)*puVar6;" (assignment_expression "pcVar19 = (char *)*puVar6" identifier = (cast_expression "(char *)*puVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) ;) (expression_statement "*piVar2 = iVar26;" (assignment_expression "*piVar2 = iVar26" (pointer_expression "*piVar2" * identifier) = identifier) ;) (expression_statement "cVar28 = *pcVar19;" (assignment_expression "cVar28 = *pcVar19" identifier = (pointer_expression "*pcVar19" * identifier)) ;) (expression_statement "cVar12 = cVar28 + -10;" (assignment_expression "cVar12 = cVar28 + -10" identifier = (binary_expression "cVar28 + -10" identifier + number_literal)) ;) (expression_statement "bVar29 = cVar12 == '\0';" (assignment_expression "bVar29 = cVar12 == '\0'" identifier = (binary_expression "cVar12 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ;) (if_statement "if (!bVar29) goto LAB_0001524d;" if (parenthesized_expression "(!bVar29)" ( (unary_expression "!bVar29" ! identifier) )) (goto_statement "goto LAB_0001524d;" goto statement_identifier ;)) (labeled_statement "LAB_0001531c:\n        if (local_5c == 0x14) {\nLAB_00015c4a:\n          iVar15 = *local_6c;\n          *(int *)(iVar15 + 0x58) = local_70;\n          *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n          *(int *)(iVar15 + 0x24) = local_54;\n          *pcVar18 = '\0';\n          return;\n        }" statement_identifier : (if_statement "if (local_5c == 0x14) {\nLAB_00015c4a:\n          iVar15 = *local_6c;\n          *(int *)(iVar15 + 0x58) = local_70;\n          *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n          *(int *)(iVar15 + 0x24) = local_54;\n          *pcVar18 = '\0';\n          return;\n        }" if (parenthesized_expression "(local_5c == 0x14)" ( (binary_expression "local_5c == 0x14" identifier == number_literal) )) (compound_statement "{\nLAB_00015c4a:\n          iVar15 = *local_6c;\n          *(int *)(iVar15 + 0x58) = local_70;\n          *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n          *(int *)(iVar15 + 0x24) = local_54;\n          *pcVar18 = '\0';\n          return;\n        }" { (labeled_statement "LAB_00015c4a:\n          iVar15 = *local_6c;" statement_identifier : (expression_statement "iVar15 = *local_6c;" (assignment_expression "iVar15 = *local_6c" identifier = (pointer_expression "*local_6c" * identifier)) ;)) (expression_statement "*(int *)(iVar15 + 0x58) = local_70;" (assignment_expression "*(int *)(iVar15 + 0x58) = local_70" (pointer_expression "*(int *)(iVar15 + 0x58)" * (cast_expression "(int *)(iVar15 + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x58)" ( (binary_expression "iVar15 + 0x58" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;" (assignment_expression "*(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1" (pointer_expression "*(int *)(iVar15 + 0x20)" * (cast_expression "(int *)(iVar15 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x20)" ( (binary_expression "iVar15 + 0x20" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar15 + 0x20) + -1" (pointer_expression "*(int *)(iVar15 + 0x20)" * (cast_expression "(int *)(iVar15 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x20)" ( (binary_expression "iVar15 + 0x20" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(iVar15 + 0x24) = local_54;" (assignment_expression "*(int *)(iVar15 + 0x24) = local_54" (pointer_expression "*(int *)(iVar15 + 0x24)" * (cast_expression "(int *)(iVar15 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x24)" ( (binary_expression "iVar15 + 0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*pcVar18 = '\0';" (assignment_expression "*pcVar18 = '\0'" (pointer_expression "*pcVar18" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (return_statement "return;" return ;) }))) (if_statement "if (local_74 == 0) {\n          local_78 = (char *)0x0;\n          bVar29 = false;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }" if (parenthesized_expression "(local_74 == 0)" ( (binary_expression "local_74 == 0" identifier == number_literal) )) (compound_statement "{\n          local_78 = (char *)0x0;\n          bVar29 = false;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }" { (expression_statement "local_78 = (char *)0x0;" (assignment_expression "local_78 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "bVar29 = false;" (assignment_expression "bVar29 = false" identifier = false) ;) (expression_statement "bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);" (assignment_expression "bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14)" identifier = (cast_expression "(bool)(pcVar27 == (char *)0x0 & bVar14)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(pcVar27 == (char *)0x0 & bVar14)" ( (binary_expression "pcVar27 == (char *)0x0 & bVar14" (binary_expression "pcVar27 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) & identifier) )))) ;) (goto_statement "goto LAB_00015630;" goto statement_identifier ;) })) (expression_statement "*puVar6 = (uint)(pcVar19 + 1);" (assignment_expression "*puVar6 = (uint)(pcVar19 + 1)" (pointer_expression "*puVar6" * identifier) = (call_expression "(uint)(pcVar19 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar19 + 1)" ( (binary_expression "pcVar19 + 1" identifier + number_literal) )))) ;) (expression_statement "*(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;" (assignment_expression "*(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1" (pointer_expression "*(int *)(unaff_EBP + 0x1298a)" * (cast_expression "(int *)(unaff_EBP + 0x1298a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1298a)" ( (binary_expression "unaff_EBP + 0x1298a" identifier + number_literal) )))) = (binary_expression "*(int *)(unaff_EBP + 0x1298a) + 1" (pointer_expression "*(int *)(unaff_EBP + 0x1298a)" * (cast_expression "(int *)(unaff_EBP + 0x1298a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1298a)" ( (binary_expression "unaff_EBP + 0x1298a" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;" (assignment_expression "pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2" identifier = (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP + 2" (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP" identifier + identifier) + number_literal)) ;) (if_statement "if (*(char **)pcVar3 <= pcVar19 + 1) {\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar5;\n        }" if (parenthesized_expression "(*(char **)pcVar3 <= pcVar19 + 1)" ( (binary_expression "*(char **)pcVar3 <= pcVar19 + 1" (pointer_expression "*(char **)pcVar3" * (cast_expression "(char **)pcVar3" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) <= (binary_expression "pcVar19 + 1" identifier + number_literal)) )) (compound_statement "{\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar5;\n        }" { (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar18 = (char *)*puVar5;" (assignment_expression "pcVar18 = (char *)*puVar5" identifier = (cast_expression "(char *)*puVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) })) (if_statement "if ((local_78 < local_64) && (local_64 < pcVar18)) {\n          *puVar5 = (uint)local_64;\n        }" if (parenthesized_expression "((local_78 < local_64) && (local_64 < pcVar18))" ( (binary_expression "(local_78 < local_64) && (local_64 < pcVar18)" (parenthesized_expression "(local_78 < local_64)" ( (binary_expression "local_78 < local_64" identifier < identifier) )) && (parenthesized_expression "(local_64 < pcVar18)" ( (binary_expression "local_64 < pcVar18" identifier < identifier) ))) )) (compound_statement "{\n          *puVar5 = (uint)local_64;\n        }" { (expression_statement "*puVar5 = (uint)local_64;" (assignment_expression "*puVar5 = (uint)local_64" (pointer_expression "*puVar5" * identifier) = (cast_expression "(uint)local_64" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) })) (expression_statement "FUN_00018e10();" (call_expression "FUN_00018e10()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*(char *)*puVar6 == '\n') {\n          local_78 = (char *)0x0;\n          bVar29 = true;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }" if (parenthesized_expression "(*(char *)*puVar6 == '\n')" ( (binary_expression "*(char *)*puVar6 == '\n'" (pointer_expression "*(char *)*puVar6" * (cast_expression "(char *)*puVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n          local_78 = (char *)0x0;\n          bVar29 = true;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }" { (expression_statement "local_78 = (char *)0x0;" (assignment_expression "local_78 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "bVar29 = true;" (assignment_expression "bVar29 = true" identifier = true) ;) (expression_statement "bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);" (assignment_expression "bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14)" identifier = (cast_expression "(bool)(pcVar27 == (char *)0x0 & bVar14)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(pcVar27 == (char *)0x0 & bVar14)" ( (binary_expression "pcVar27 == (char *)0x0 & bVar14" (binary_expression "pcVar27 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) & identifier) )))) ;) (goto_statement "goto LAB_00015630;" goto statement_identifier ;) })) (if_statement "if (local_78 == (char *)0x0) {\n          bVar29 = true;\n          bVar30 = bVar14;\n          goto LAB_00015630;\n        }" if (parenthesized_expression "(local_78 == (char *)0x0)" ( (binary_expression "local_78 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          bVar29 = true;\n          bVar30 = bVar14;\n          goto LAB_00015630;\n        }" { (expression_statement "bVar29 = true;" (assignment_expression "bVar29 = true" identifier = true) ;) (expression_statement "bVar30 = bVar14;" (assignment_expression "bVar30 = bVar14" identifier = identifier) ;) (goto_statement "goto LAB_00015630;" goto statement_identifier ;) })) (if_statement "if ((((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')) && (pcVar18[1] != '/')) {\n          pcVar18 = pcVar18 + 1;\n          *puVar6 = (uint)pcVar18;\n          if (*(char **)pcVar3 <= pcVar18) {\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }\n          if ((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))\n          {\n            FUN_00018c70();\n          }\n        }" if (parenthesized_expression "((((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')) && (pcVar18[1] != '/'))" ( (binary_expression "(((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')) && (pcVar18[1] != '/')" (parenthesized_expression "(((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*'))" ( (binary_expression "((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')" (parenthesized_expression "((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1))" ( (binary_expression "(local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)" (parenthesized_expression "(local_54 == 0)" ( (binary_expression "local_54 == 0" identifier == number_literal) )) && (parenthesized_expression "(iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)" ( (comma_expression "iVar26 = FUN_00018750(), iVar26 == iVar16 + -1" (assignment_expression "iVar26 = FUN_00018750()" identifier = (call_expression "FUN_00018750()" identifier (argument_list "()" ( )))) , (binary_expression "iVar26 == iVar16 + -1" identifier == (binary_expression "iVar16 + -1" identifier + number_literal))) ))) )) && (parenthesized_expression "(pcVar18 = (char *)*puVar6, *pcVar18 == '*')" ( (comma_expression "pcVar18 = (char *)*puVar6, *pcVar18 == '*'" (assignment_expression "pcVar18 = (char *)*puVar6" identifier = (cast_expression "(char *)*puVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) , (binary_expression "*pcVar18 == '*'" (pointer_expression "*pcVar18" * identifier) == (char_literal "'*'" ' character '))) ))) )) && (parenthesized_expression "(pcVar18[1] != '/')" ( (binary_expression "pcVar18[1] != '/'" (subscript_expression "pcVar18[1]" identifier [ number_literal ]) != (char_literal "'/'" ' character ')) ))) )) (compound_statement "{\n          pcVar18 = pcVar18 + 1;\n          *puVar6 = (uint)pcVar18;\n          if (*(char **)pcVar3 <= pcVar18) {\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }\n          if ((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))\n          {\n            FUN_00018c70();\n          }\n        }" { (expression_statement "pcVar18 = pcVar18 + 1;" (assignment_expression "pcVar18 = pcVar18 + 1" identifier = (binary_expression "pcVar18 + 1" identifier + number_literal)) ;) (expression_statement "*puVar6 = (uint)pcVar18;" (assignment_expression "*puVar6 = (uint)pcVar18" (pointer_expression "*puVar6" * identifier) = (cast_expression "(uint)pcVar18" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (*(char **)pcVar3 <= pcVar18) {\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }" if (parenthesized_expression "(*(char **)pcVar3 <= pcVar18)" ( (binary_expression "*(char **)pcVar3 <= pcVar18" (pointer_expression "*(char **)pcVar3" * (cast_expression "(char **)pcVar3" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) <= identifier) )) (compound_statement "{\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }" { (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar18 = (char *)*puVar6;" (assignment_expression "pcVar18 = (char *)*puVar6" identifier = (cast_expression "(char *)*puVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) ;) })) (if_statement "if ((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))\n          {\n            FUN_00018c70();\n          }" if (parenthesized_expression "((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))" ( (binary_expression "(*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1)" (parenthesized_expression "(*pcVar18 == ' ')" ( (binary_expression "*pcVar18 == ' '" (pointer_expression "*pcVar18" * identifier) == (char_literal "' '" ' character ')) )) && (parenthesized_expression "(*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1)" ( (comma_expression "*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1" (assignment_expression "*puVar6 = (uint)(pcVar18 + 1)" (pointer_expression "*puVar6" * identifier) = (call_expression "(uint)(pcVar18 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar18 + 1)" ( (binary_expression "pcVar18 + 1" identifier + number_literal) )))) , (binary_expression "*(char **)pcVar3 <= pcVar18 + 1" (pointer_expression "*(char **)pcVar3" * (cast_expression "(char **)pcVar3" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) <= (binary_expression "pcVar18 + 1" identifier + number_literal))) ))) )) (compound_statement "{\n            FUN_00018c70();\n          }" { (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" identifier (argument_list "()" ( ))) ;) })) })) (expression_statement "pcVar18 = (char *)*puVar5;" (assignment_expression "pcVar18 = (char *)*puVar5" identifier = (cast_expression "(char *)*puVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) (if_statement "if (pcVar18[-1] != ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n          local_64 = pcVar18;\n        }" if (parenthesized_expression "(pcVar18[-1] != ' ')" ( (binary_expression "pcVar18[-1] != ' '" (subscript_expression "pcVar18[-1]" identifier [ number_literal ]) != (char_literal "' '" ' character ')) )) (compound_statement "{\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n          local_64 = pcVar18;\n        }" { (expression_statement "local_80 = local_80 + 1;" (assignment_expression "local_80 = local_80 + 1" identifier = (binary_expression "local_80 + 1" identifier + number_literal)) ;) (expression_statement "*puVar5 = (uint)(pcVar18 + 1);" (assignment_expression "*puVar5 = (uint)(pcVar18 + 1)" (pointer_expression "*puVar5" * identifier) = (call_expression "(uint)(pcVar18 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar18 + 1)" ( (binary_expression "pcVar18 + 1" identifier + number_literal) )))) ;) (expression_statement "*pcVar18 = ' ';" (assignment_expression "*pcVar18 = ' '" (pointer_expression "*pcVar18" * identifier) = (char_literal "' '" ' character ')) ;) (expression_statement "local_64 = pcVar18;" (assignment_expression "local_64 = pcVar18" identifier = identifier) ;) })) (goto_statement "goto LAB_0001521b;" goto statement_identifier ;) })) (expression_statement "pcVar19 = (char *)*puVar6;" (assignment_expression "pcVar19 = (char *)*puVar6" identifier = (cast_expression "(char *)*puVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) ;) (expression_statement "cVar28 = *pcVar19;" (assignment_expression "cVar28 = *pcVar19" identifier = (pointer_expression "*pcVar19" * identifier)) ;) (expression_statement "cVar12 = cVar28 + -10;" (assignment_expression "cVar12 = cVar28 + -10" identifier = (binary_expression "cVar28 + -10" identifier + number_literal)) ;) (expression_statement "bVar29 = cVar28 == '\n';" (assignment_expression "bVar29 = cVar28 == '\n'" identifier = (binary_expression "cVar28 == '\n'" identifier == (char_literal "'\n'" ' escape_sequence '))) ;) (if_statement "if (bVar29) goto LAB_0001531c;" if (parenthesized_expression "(bVar29)" ( identifier )) (goto_statement "goto LAB_0001531c;" goto statement_identifier ;)) (labeled_statement "LAB_0001524d:\n      if (bVar29 || SBORROW1(cVar28,'\n') != cVar12 < '\0') {\n        if (cVar28 != '\t') goto LAB_000151b8;\nLAB_0001525c:\n        if (((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)) {\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }\n        if (cVar28 == ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n        }\n        else {\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }\nLAB_000151f8:\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)) {\n          FUN_00018c70();\n        }\nLAB_0001521b:\n        if (*local_68 != '\0') goto LAB_000159db;\n        goto LAB_00015228;\n      }" statement_identifier : (if_statement "if (bVar29 || SBORROW1(cVar28,'\n') != cVar12 < '\0') {\n        if (cVar28 != '\t') goto LAB_000151b8;\nLAB_0001525c:\n        if (((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)) {\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }\n        if (cVar28 == ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n        }\n        else {\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }\nLAB_000151f8:\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)) {\n          FUN_00018c70();\n        }\nLAB_0001521b:\n        if (*local_68 != '\0') goto LAB_000159db;\n        goto LAB_00015228;\n      }" if (parenthesized_expression "(bVar29 || SBORROW1(cVar28,'\n') != cVar12 < '\0')" ( (binary_expression "bVar29 || SBORROW1(cVar28,'\n') != cVar12 < '\0'" identifier || (binary_expression "SBORROW1(cVar28,'\n') != cVar12 < '\0'" (call_expression "SBORROW1(cVar28,'\n')" identifier (argument_list "(cVar28,'\n')" ( identifier , (char_literal "'\n'" ' escape_sequence ') ))) != (binary_expression "cVar12 < '\0'" identifier < (char_literal "'\0'" ' escape_sequence ')))) )) (compound_statement "{\n        if (cVar28 != '\t') goto LAB_000151b8;\nLAB_0001525c:\n        if (((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)) {\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }\n        if (cVar28 == ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n        }\n        else {\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }\nLAB_000151f8:\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)) {\n          FUN_00018c70();\n        }\nLAB_0001521b:\n        if (*local_68 != '\0') goto LAB_000159db;\n        goto LAB_00015228;\n      }" { (if_statement "if (cVar28 != '\t') goto LAB_000151b8;" if (parenthesized_expression "(cVar28 != '\t')" ( (binary_expression "cVar28 != '\t'" identifier != (char_literal "'\t'" ' escape_sequence ')) )) (goto_statement "goto LAB_000151b8;" goto statement_identifier ;)) (labeled_statement "LAB_0001525c:\n        if (((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)) {\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }" statement_identifier : (if_statement "if (((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)) {\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }" if (parenthesized_expression "(((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0))" ( (binary_expression "((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)" (parenthesized_expression "((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78))" ( (binary_expression "(local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)" (parenthesized_expression "(local_74 != 0)" ( (binary_expression "local_74 != 0" identifier != number_literal) )) && (parenthesized_expression "(pcVar27 = pcVar18, local_64 < local_78)" ( (comma_expression "pcVar27 = pcVar18, local_64 < local_78" (assignment_expression "pcVar27 = pcVar18" identifier = identifier) , (binary_expression "local_64 < local_78" identifier < identifier)) ))) )) || (parenthesized_expression "(pcVar27 = local_64, local_74 != 0)" ( (comma_expression "pcVar27 = local_64, local_74 != 0" (assignment_expression "pcVar27 = local_64" identifier = identifier) , (binary_expression "local_74 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }" { (expression_statement "local_64 = pcVar27;" (assignment_expression "local_64 = pcVar27" identifier = identifier) ;) (if_statement "if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }" if (parenthesized_expression "(((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.'))))" ( (binary_expression "((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))" (parenthesized_expression "((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' '))" ( (binary_expression "(*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')" (parenthesized_expression "(*(char **)(unaff_EBP + 0x129a6) == pcVar18)" ( (binary_expression "*(char **)(unaff_EBP + 0x129a6) == pcVar18" (pointer_expression "*(char **)(unaff_EBP + 0x129a6)" * (cast_expression "(char **)(unaff_EBP + 0x129a6)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + 0x129a6)" ( (binary_expression "unaff_EBP + 0x129a6" identifier + number_literal) )))) == identifier) )) || (parenthesized_expression "(pcVar18[-1] != ' ')" ( (binary_expression "pcVar18[-1] != ' '" (subscript_expression "pcVar18[-1]" identifier [ number_literal ]) != (char_literal "' '" ' character ')) ))) )) || (parenthesized_expression "((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))" ( (parenthesized_expression "(*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.'))" ( (binary_expression "*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')" (binary_expression "*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1" (pointer_expression "*(char **)(unaff_EBP + 0x129a6)" * (cast_expression "(char **)(unaff_EBP + 0x129a6)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + 0x129a6)" ( (binary_expression "unaff_EBP + 0x129a6" identifier + number_literal) )))) == (binary_expression "pcVar18 + -1" identifier + number_literal)) || (parenthesized_expression "(bVar29 = true, pcVar18[-2] == '.')" ( (comma_expression "bVar29 = true, pcVar18[-2] == '.'" (assignment_expression "bVar29 = true" identifier = true) , (binary_expression "pcVar18[-2] == '.'" (subscript_expression "pcVar18[-2]" identifier [ number_literal ]) == (char_literal "'.'" ' character '))) ))) )) ))) )) (compound_statement "{\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }" { (expression_statement "local_80 = local_80 + 1;" (assignment_expression "local_80 = local_80 + 1" identifier = (binary_expression "local_80 + 1" identifier + number_literal)) ;) (expression_statement "bVar29 = true;" (assignment_expression "bVar29 = true" identifier = true) ;) (expression_statement "*puVar5 = (uint)(pcVar18 + 1);" (assignment_expression "*puVar5 = (uint)(pcVar18 + 1)" (pointer_expression "*puVar5" * identifier) = (call_expression "(uint)(pcVar18 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar18 + 1)" ( (binary_expression "pcVar18 + 1" identifier + number_literal) )))) ;) (expression_statement "*pcVar18 = ' ';" (assignment_expression "*pcVar18 = ' '" (pointer_expression "*pcVar18" * identifier) = (char_literal "' '" ' character ')) ;) })) (goto_statement "goto LAB_000151d8;" goto statement_identifier ;) }))) (if_statement "if (cVar28 == ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n        }\n        else {\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }" if (parenthesized_expression "(cVar28 == ' ')" ( (binary_expression "cVar28 == ' '" identifier == (char_literal "' '" ' character ')) )) (compound_statement "{\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n        }" { (expression_statement "local_80 = local_80 + 1;" (assignment_expression "local_80 = local_80 + 1" identifier = (binary_expression "local_80 + 1" identifier + number_literal)) ;) (expression_statement "*puVar5 = (uint)(pcVar18 + 1);" (assignment_expression "*puVar5 = (uint)(pcVar18 + 1)" (pointer_expression "*puVar5" * identifier) = (call_expression "(uint)(pcVar18 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar18 + 1)" ( (binary_expression "pcVar18 + 1" identifier + number_literal) )))) ;) (expression_statement "*pcVar18 = ' ';" (assignment_expression "*pcVar18 = ' '" (pointer_expression "*pcVar18" * identifier) = (char_literal "' '" ' character ')) ;) }) (else_clause "else {\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }" else (compound_statement "{\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }" { (expression_statement "iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);" (assignment_expression "iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2)" identifier = (binary_expression "*(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2)" (pointer_expression "*(int *)(unaff_EBP + 0x12bb2)" * (cast_expression "(int *)(unaff_EBP + 0x12bb2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12bb2)" ( (binary_expression "unaff_EBP + 0x12bb2" identifier + number_literal) )))) - (binary_expression "(((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2)" (parenthesized_expression "(((iVar16 + -2 + local_80) - local_70) + -1)" ( (binary_expression "((iVar16 + -2 + local_80) - local_70) + -1" (parenthesized_expression "((iVar16 + -2 + local_80) - local_70)" ( (binary_expression "(iVar16 + -2 + local_80) - local_70" (parenthesized_expression "(iVar16 + -2 + local_80)" ( (binary_expression "iVar16 + -2 + local_80" (binary_expression "iVar16 + -2" identifier + number_literal) + identifier) )) - identifier) )) + number_literal) )) % (pointer_expression "*(int *)(unaff_EBP + 0x12bb2)" * (cast_expression "(int *)(unaff_EBP + 0x12bb2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12bb2)" ( (binary_expression "unaff_EBP + 0x12bb2" identifier + number_literal) ))))))) ;) (expression_statement "local_80 = local_80 + iVar23;" (assignment_expression "local_80 = local_80 + iVar23" identifier = (binary_expression "local_80 + iVar23" identifier + identifier)) ;) (if_statement "if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }" if (parenthesized_expression "((char *)(iVar26 - iVar23) <= pcVar18)" ( (binary_expression "(char *)(iVar26 - iVar23) <= pcVar18" (cast_expression "(char *)(iVar26 - iVar23)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 - iVar23)" ( (binary_expression "iVar26 - iVar23" identifier - identifier) ))) <= identifier) )) (compound_statement "{\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }" { (expression_statement "piVar8 = (int *)(unaff_EBP + 0x129a6);" (assignment_expression "piVar8 = (int *)(unaff_EBP + 0x129a6)" identifier = (cast_expression "(int *)(unaff_EBP + 0x129a6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129a6)" ( (binary_expression "unaff_EBP + 0x129a6" identifier + number_literal) )))) ;) (expression_statement "iVar26 = iVar23 + 400 + (iVar26 - *piVar8);" (assignment_expression "iVar26 = iVar23 + 400 + (iVar26 - *piVar8)" identifier = (binary_expression "iVar23 + 400 + (iVar26 - *piVar8)" (binary_expression "iVar23 + 400" identifier + number_literal) + (parenthesized_expression "(iVar26 - *piVar8)" ( (binary_expression "iVar26 - *piVar8" identifier - (pointer_expression "*piVar8" * identifier)) )))) ;) (expression_statement "iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);" (assignment_expression "iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26)" identifier = (call_expression "FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26)" identifier (argument_list "(*(int *)(unaff_EBP + 0x129aa),iVar26)" ( (pointer_expression "*(int *)(unaff_EBP + 0x129aa)" * (cast_expression "(int *)(unaff_EBP + 0x129aa)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129aa)" ( (binary_expression "unaff_EBP + 0x129aa" identifier + number_literal) )))) , identifier )))) ;) (expression_statement "*(int *)(unaff_EBP + 0x129aa) = iVar22;" (assignment_expression "*(int *)(unaff_EBP + 0x129aa) = iVar22" (pointer_expression "*(int *)(unaff_EBP + 0x129aa)" * (cast_expression "(int *)(unaff_EBP + 0x129aa)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129aa)" ( (binary_expression "unaff_EBP + 0x129aa" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));" (assignment_expression "pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8))" identifier = (cast_expression "(char *)(iVar22 + 1 + (*puVar5 - *piVar8))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar22 + 1 + (*puVar5 - *piVar8))" ( (binary_expression "iVar22 + 1 + (*puVar5 - *piVar8)" (binary_expression "iVar22 + 1" identifier + number_literal) + (parenthesized_expression "(*puVar5 - *piVar8)" ( (binary_expression "*puVar5 - *piVar8" (pointer_expression "*puVar5" * identifier) - (pointer_expression "*piVar8" * identifier)) ))) )))) ;) (expression_statement "*puVar5 = (uint)pcVar18;" (assignment_expression "*puVar5 = (uint)pcVar18" (pointer_expression "*puVar5" * identifier) = (cast_expression "(uint)pcVar18" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*piVar2 = iVar22 + -5 + iVar26;" (assignment_expression "*piVar2 = iVar22 + -5 + iVar26" (pointer_expression "*piVar2" * identifier) = (binary_expression "iVar22 + -5 + iVar26" (binary_expression "iVar22 + -5" identifier + number_literal) + identifier)) ;) (expression_statement "*piVar8 = iVar22 + 1;" (assignment_expression "*piVar8 = iVar22 + 1" (pointer_expression "*piVar8" * identifier) = (binary_expression "iVar22 + 1" identifier + number_literal)) ;) })) (if_statement "if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }" if (parenthesized_expression "(iVar23 == 0)" ( (binary_expression "iVar23 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00015589:\n            local_74 = 0;\n          }" { (labeled_statement "LAB_00015589:\n            local_74 = 0;" statement_identifier : (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" identifier = number_literal) ;)) }) (else_clause "else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }" else (compound_statement "{\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }" { (expression_statement "*puVar5 = (uint)(pcVar18 + 1);" (assignment_expression "*puVar5 = (uint)(pcVar18 + 1)" (pointer_expression "*puVar5" * identifier) = (call_expression "(uint)(pcVar18 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar18 + 1)" ( (binary_expression "pcVar18 + 1" identifier + number_literal) )))) ;) (expression_statement "iVar26 = iVar23 + -2;" (assignment_expression "iVar26 = iVar23 + -2" identifier = (binary_expression "iVar23 + -2" identifier + number_literal)) ;) (expression_statement "*pcVar18 = ' ';" (assignment_expression "*pcVar18 = ' '" (pointer_expression "*pcVar18" * identifier) = (char_literal "' '" ' character ')) ;) (if_statement "if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }" if (parenthesized_expression "(iVar23 != 1)" ( (binary_expression "iVar23 != 1" identifier != number_literal) )) (compound_statement "{\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }" { (do_statement "do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);" do (compound_statement "{\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              }" { (expression_statement "puVar20 = (undefined1 *)*puVar5;" (assignment_expression "puVar20 = (undefined1 *)*puVar5" identifier = (cast_expression "(undefined1 *)*puVar5" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) (expression_statement "iVar26 = iVar26 + -1;" (assignment_expression "iVar26 = iVar26 + -1" identifier = (binary_expression "iVar26 + -1" identifier + number_literal)) ;) (expression_statement "*puVar5 = (uint)(puVar20 + 1);" (assignment_expression "*puVar5 = (uint)(puVar20 + 1)" (pointer_expression "*puVar5" * identifier) = (call_expression "(uint)(puVar20 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar20 + 1)" ( (binary_expression "puVar20 + 1" identifier + number_literal) )))) ;) (expression_statement "*puVar20 = 0x20;" (assignment_expression "*puVar20 = 0x20" (pointer_expression "*puVar20" * identifier) = number_literal) ;) }) while (parenthesized_expression "(iVar26 != -1)" ( (binary_expression "iVar26 != -1" identifier != number_literal) )) ;) })) }))) }))) (labeled_statement "LAB_000151f8:\n        pcVar18 = (char *)*puVar6;" statement_identifier : (expression_statement "pcVar18 = (char *)*puVar6;" (assignment_expression "pcVar18 = (char *)*puVar6" identifier = (cast_expression "(char *)*puVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) ;)) (if_statement "if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }" if (parenthesized_expression "(*pcVar18 == '\n')" ( (binary_expression "*pcVar18 == '\n'" (pointer_expression "*pcVar18" * identifier) == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }" { (expression_statement "*(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;" (assignment_expression "*(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1" (pointer_expression "*(int *)(unaff_EBP + 0x1298a)" * (cast_expression "(int *)(unaff_EBP + 0x1298a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1298a)" ( (binary_expression "unaff_EBP + 0x1298a" identifier + number_literal) )))) = (binary_expression "*(int *)(unaff_EBP + 0x1298a) + 1" (pointer_expression "*(int *)(unaff_EBP + 0x1298a)" * (cast_expression "(int *)(unaff_EBP + 0x1298a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1298a)" ( (binary_expression "unaff_EBP + 0x1298a" identifier + number_literal) )))) + number_literal)) ;) })) (expression_statement "pcVar18 = pcVar18 + 1;" (assignment_expression "pcVar18 = pcVar18 + 1" identifier = (binary_expression "pcVar18 + 1" identifier + number_literal)) ;) (expression_statement "*puVar6 = (uint)pcVar18;" (assignment_expression "*puVar6 = (uint)pcVar18" (pointer_expression "*puVar6" * identifier) = (cast_expression "(uint)pcVar18" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)) {\n          FUN_00018c70();\n        }" if (parenthesized_expression "(pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2))" ( (binary_expression "pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)" identifier == (pointer_expression "*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)" * (cast_expression "(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(__i686_get_pc_thunk_bx + unaff_EBP + 2)" ( (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP + 2" (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP" identifier + identifier) + number_literal) ))))) )) (compound_statement "{\n          FUN_00018c70();\n        }" { (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" identifier (argument_list "()" ( ))) ;) })) (labeled_statement "LAB_0001521b:\n        if (*local_68 != '\0') goto LAB_000159db;" statement_identifier : (if_statement "if (*local_68 != '\0') goto LAB_000159db;" if (parenthesized_expression "(*local_68 != '\0')" ( (binary_expression "*local_68 != '\0'" (pointer_expression "*local_68" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_000159db;" goto statement_identifier ;))) (goto_statement "goto LAB_00015228;" goto statement_identifier ;) }))) (if_statement "if (cVar28 == ' ') goto LAB_0001525c;" if (parenthesized_expression "(cVar28 == ' ')" ( (binary_expression "cVar28 == ' '" identifier == (char_literal "' '" ' character ')) )) (goto_statement "goto LAB_0001525c;" goto statement_identifier ;)) (if_statement "if ((cVar28 != '*') || (local_5c != 0x13)) goto LAB_000151b8;" if (parenthesized_expression "((cVar28 != '*') || (local_5c != 0x13))" ( (binary_expression "(cVar28 != '*') || (local_5c != 0x13)" (parenthesized_expression "(cVar28 != '*')" ( (binary_expression "cVar28 != '*'" identifier != (char_literal "'*'" ' character ')) )) || (parenthesized_expression "(local_5c != 0x13)" ( (binary_expression "local_5c != 0x13" identifier != number_literal) ))) )) (goto_statement "goto LAB_000151b8;" goto statement_identifier ;)) (if_statement "if (pcVar19[1] == '/') {\n        if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }\n          if ((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')) {\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }\n        }\nLAB_00015cc8:\n        if ((char *)(iVar26 + -3) <= pcVar18) {\n          piVar1 = (int *)(unaff_EBP + 0x129a6);\n          iVar15 = *piVar1;\n          iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);\n          *(int *)(unaff_EBP + 0x129aa) = iVar16;\n          pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));\n          *piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);\n          *piVar1 = iVar16 + 1;\n        }\n        *puVar5 = (uint)(pcVar18 + 1);\n        *pcVar18 = '*';\n        puVar20 = (undefined1 *)*puVar5;\n        *puVar5 = (uint)(puVar20 + 1);\n        *puVar20 = 0x2f;\n        *(undefined1 *)*puVar5 = 0;\n        uVar24 = *puVar6;\n        *puVar6 = uVar24 + 2;\n        uVar24 = FUN_00018720(uVar24 + 2);\n        *puVar6 = uVar24;\n        if (*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= uVar24) {\n          FUN_00018c70();\n        }\n        iVar15 = *local_6c;\n        *(int *)(iVar15 + 0x58) = local_70;\n        *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n        *(int *)(iVar15 + 0x24) = local_54;\n        return;\n      }" if (parenthesized_expression "(pcVar19[1] == '/')" ( (binary_expression "pcVar19[1] == '/'" (subscript_expression "pcVar19[1]" identifier [ number_literal ]) == (char_literal "'/'" ' character ')) )) (compound_statement "{\n        if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }\n          if ((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')) {\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }\n        }\nLAB_00015cc8:\n        if ((char *)(iVar26 + -3) <= pcVar18) {\n          piVar1 = (int *)(unaff_EBP + 0x129a6);\n          iVar15 = *piVar1;\n          iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);\n          *(int *)(unaff_EBP + 0x129aa) = iVar16;\n          pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));\n          *piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);\n          *piVar1 = iVar16 + 1;\n        }\n        *puVar5 = (uint)(pcVar18 + 1);\n        *pcVar18 = '*';\n        puVar20 = (undefined1 *)*puVar5;\n        *puVar5 = (uint)(puVar20 + 1);\n        *puVar20 = 0x2f;\n        *(undefined1 *)*puVar5 = 0;\n        uVar24 = *puVar6;\n        *puVar6 = uVar24 + 2;\n        uVar24 = FUN_00018720(uVar24 + 2);\n        *puVar6 = uVar24;\n        if (*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= uVar24) {\n          FUN_00018c70();\n        }\n        iVar15 = *local_6c;\n        *(int *)(iVar15 + 0x58) = local_70;\n        *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n        *(int *)(iVar15 + 0x24) = local_54;\n        return;\n      }" { (if_statement "if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }\n          if ((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')) {\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }\n        }" if (parenthesized_expression "(local_54 == 0)" ( (binary_expression "local_54 == 0" identifier == number_literal) )) (compound_statement "{\n          if (local_78 == (char *)0x0) {\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }\n          if ((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')) {\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }\n        }" { (if_statement "if (local_78 == (char *)0x0) {\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }" if (parenthesized_expression "(local_78 == (char *)0x0)" ( (binary_expression "local_78 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }" { (expression_statement "pcVar27 = *(char **)(unaff_EBP + 0x129a6);" (assignment_expression "pcVar27 = *(char **)(unaff_EBP + 0x129a6)" identifier = (pointer_expression "*(char **)(unaff_EBP + 0x129a6)" * (cast_expression "(char **)(unaff_EBP + 0x129a6)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + 0x129a6)" ( (binary_expression "unaff_EBP + 0x129a6" identifier + number_literal) ))))) ;) (if_statement "if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }" if (parenthesized_expression "((pcVar27 == pcVar18) || (*pcVar27 != '/'))" ( (binary_expression "(pcVar27 == pcVar18) || (*pcVar27 != '/')" (parenthesized_expression "(pcVar27 == pcVar18)" ( (binary_expression "pcVar27 == pcVar18" identifier == identifier) )) || (parenthesized_expression "(*pcVar27 != '/')" ( (binary_expression "*pcVar27 != '/'" (pointer_expression "*pcVar27" * identifier) != (char_literal "'/'" ' character ')) ))) )) (compound_statement "{\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }" { (expression_statement "*puVar5 = (uint)(pcVar27 + 1);" (assignment_expression "*puVar5 = (uint)(pcVar27 + 1)" (pointer_expression "*puVar5" * identifier) = (call_expression "(uint)(pcVar27 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar27 + 1)" ( (binary_expression "pcVar27 + 1" identifier + number_literal) )))) ;) (expression_statement "*pcVar27 = ' ';" (assignment_expression "*pcVar27 = ' '" (pointer_expression "*pcVar27" * identifier) = (char_literal "' '" ' character ')) ;) (expression_statement "pcVar18 = (char *)*puVar5;" (assignment_expression "pcVar18 = (char *)*puVar5" identifier = (cast_expression "(char *)*puVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) (expression_statement "iVar26 = *piVar2;" (assignment_expression "iVar26 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (goto_statement "goto LAB_00015cc8;" goto statement_identifier ;) })) }) (else_clause "else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }" else (if_statement "if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }" if (parenthesized_expression "((local_28 != 0) && (bVar13))" ( (binary_expression "(local_28 != 0) && (bVar13)" (parenthesized_expression "(local_28 != 0)" ( (binary_expression "local_28 != 0" identifier != number_literal) )) && (parenthesized_expression "(bVar13)" ( identifier ))) )) (compound_statement "{\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }" { (expression_statement "*pcVar18 = '\0';" (assignment_expression "*pcVar18 = '\0'" (pointer_expression "*pcVar18" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "FUN_0001a130(1,param_1,param_2,local_78);" (call_expression "FUN_0001a130(1,param_1,param_2,local_78)" identifier (argument_list "(1,param_1,param_2,local_78)" ( number_literal , identifier , identifier , identifier ))) ;) (expression_statement "puVar20 = (undefined1 *)*puVar5;" (assignment_expression "puVar20 = (undefined1 *)*puVar5" identifier = (cast_expression "(undefined1 *)*puVar5" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) (expression_statement "*puVar5 = (uint)(puVar20 + 1);" (assignment_expression "*puVar5 = (uint)(puVar20 + 1)" (pointer_expression "*puVar5" * identifier) = (call_expression "(uint)(puVar20 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar20 + 1)" ( (binary_expression "puVar20 + 1" identifier + number_literal) )))) ;) (expression_statement "*puVar20 = 0x20;" (assignment_expression "*puVar20 = 0x20" (pointer_expression "*puVar20" * identifier) = number_literal) ;) (expression_statement "pcVar18 = (char *)*puVar5;" (assignment_expression "pcVar18 = (char *)*puVar5" identifier = (cast_expression "(char *)*puVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) (expression_statement "iVar26 = *piVar2;" (assignment_expression "iVar26 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (goto_statement "goto LAB_00015cc8;" goto statement_identifier ;) })))) (if_statement "if ((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')) {\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }" if (parenthesized_expression "((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t'))" ( (binary_expression "(pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')" (parenthesized_expression "(pcVar18[-1] != ' ')" ( (binary_expression "pcVar18[-1] != ' '" (subscript_expression "pcVar18[-1]" identifier [ number_literal ]) != (char_literal "' '" ' character ')) )) && (parenthesized_expression "(pcVar18[-1] != '\t')" ( (binary_expression "pcVar18[-1] != '\t'" (subscript_expression "pcVar18[-1]" identifier [ number_literal ]) != (char_literal "'\t'" ' escape_sequence ')) ))) )) (compound_statement "{\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }" { (expression_statement "*puVar5 = (uint)(pcVar18 + 1);" (assignment_expression "*puVar5 = (uint)(pcVar18 + 1)" (pointer_expression "*puVar5" * identifier) = (call_expression "(uint)(pcVar18 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar18 + 1)" ( (binary_expression "pcVar18 + 1" identifier + number_literal) )))) ;) (expression_statement "*pcVar18 = ' ';" (assignment_expression "*pcVar18 = ' '" (pointer_expression "*pcVar18" * identifier) = (char_literal "' '" ' character ')) ;) (expression_statement "pcVar18 = (char *)*puVar5;" (assignment_expression "pcVar18 = (char *)*puVar5" identifier = (cast_expression "(char *)*puVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) (expression_statement "iVar26 = *piVar2;" (assignment_expression "iVar26 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) })) })) (labeled_statement "LAB_00015cc8:\n        if ((char *)(iVar26 + -3) <= pcVar18) {\n          piVar1 = (int *)(unaff_EBP + 0x129a6);\n          iVar15 = *piVar1;\n          iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);\n          *(int *)(unaff_EBP + 0x129aa) = iVar16;\n          pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));\n          *piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);\n          *piVar1 = iVar16 + 1;\n        }" statement_identifier : (if_statement "if ((char *)(iVar26 + -3) <= pcVar18) {\n          piVar1 = (int *)(unaff_EBP + 0x129a6);\n          iVar15 = *piVar1;\n          iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);\n          *(int *)(unaff_EBP + 0x129aa) = iVar16;\n          pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));\n          *piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);\n          *piVar1 = iVar16 + 1;\n        }" if (parenthesized_expression "((char *)(iVar26 + -3) <= pcVar18)" ( (binary_expression "(char *)(iVar26 + -3) <= pcVar18" (cast_expression "(char *)(iVar26 + -3)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + -3)" ( (binary_expression "iVar26 + -3" identifier + number_literal) ))) <= identifier) )) (compound_statement "{\n          piVar1 = (int *)(unaff_EBP + 0x129a6);\n          iVar15 = *piVar1;\n          iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);\n          *(int *)(unaff_EBP + 0x129aa) = iVar16;\n          pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));\n          *piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);\n          *piVar1 = iVar16 + 1;\n        }" { (expression_statement "piVar1 = (int *)(unaff_EBP + 0x129a6);" (assignment_expression "piVar1 = (int *)(unaff_EBP + 0x129a6)" identifier = (cast_expression "(int *)(unaff_EBP + 0x129a6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129a6)" ( (binary_expression "unaff_EBP + 0x129a6" identifier + number_literal) )))) ;) (expression_statement "iVar15 = *piVar1;" (assignment_expression "iVar15 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) (expression_statement "iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);" (assignment_expression "iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1)" identifier = (call_expression "FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1)" identifier (argument_list "(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1)" ( (pointer_expression "*(int *)(unaff_EBP + 0x129aa)" * (cast_expression "(int *)(unaff_EBP + 0x129aa)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129aa)" ( (binary_expression "unaff_EBP + 0x129aa" identifier + number_literal) )))) , (binary_expression "(iVar26 - iVar15) + 0x193" (parenthesized_expression "(iVar26 - iVar15)" ( (binary_expression "iVar26 - iVar15" identifier - identifier) )) + number_literal) , identifier , identifier )))) ;) (expression_statement "*(int *)(unaff_EBP + 0x129aa) = iVar16;" (assignment_expression "*(int *)(unaff_EBP + 0x129aa) = iVar16" (pointer_expression "*(int *)(unaff_EBP + 0x129aa)" * (cast_expression "(int *)(unaff_EBP + 0x129aa)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129aa)" ( (binary_expression "unaff_EBP + 0x129aa" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));" (assignment_expression "pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1))" identifier = (cast_expression "(char *)(iVar16 + 1 + (*puVar5 - *piVar1))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 1 + (*puVar5 - *piVar1))" ( (binary_expression "iVar16 + 1 + (*puVar5 - *piVar1)" (binary_expression "iVar16 + 1" identifier + number_literal) + (parenthesized_expression "(*puVar5 - *piVar1)" ( (binary_expression "*puVar5 - *piVar1" (pointer_expression "*puVar5" * identifier) - (pointer_expression "*piVar1" * identifier)) ))) )))) ;) (expression_statement "*piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);" (assignment_expression "*piVar2 = iVar16 + 0x18e + (iVar26 - iVar15)" (pointer_expression "*piVar2" * identifier) = (binary_expression "iVar16 + 0x18e + (iVar26 - iVar15)" (binary_expression "iVar16 + 0x18e" identifier + number_literal) + (parenthesized_expression "(iVar26 - iVar15)" ( (binary_expression "iVar26 - iVar15" identifier - identifier) )))) ;) (expression_statement "*piVar1 = iVar16 + 1;" (assignment_expression "*piVar1 = iVar16 + 1" (pointer_expression "*piVar1" * identifier) = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) }))) (expression_statement "*puVar5 = (uint)(pcVar18 + 1);" (assignment_expression "*puVar5 = (uint)(pcVar18 + 1)" (pointer_expression "*puVar5" * identifier) = (call_expression "(uint)(pcVar18 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar18 + 1)" ( (binary_expression "pcVar18 + 1" identifier + number_literal) )))) ;) (expression_statement "*pcVar18 = '*';" (assignment_expression "*pcVar18 = '*'" (pointer_expression "*pcVar18" * identifier) = (char_literal "'*'" ' character ')) ;) (expression_statement "puVar20 = (undefined1 *)*puVar5;" (assignment_expression "puVar20 = (undefined1 *)*puVar5" identifier = (cast_expression "(undefined1 *)*puVar5" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) (expression_statement "*puVar5 = (uint)(puVar20 + 1);" (assignment_expression "*puVar5 = (uint)(puVar20 + 1)" (pointer_expression "*puVar5" * identifier) = (call_expression "(uint)(puVar20 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(puVar20 + 1)" ( (binary_expression "puVar20 + 1" identifier + number_literal) )))) ;) (expression_statement "*puVar20 = 0x2f;" (assignment_expression "*puVar20 = 0x2f" (pointer_expression "*puVar20" * identifier) = number_literal) ;) (expression_statement "*(undefined1 *)*puVar5 = 0;" (assignment_expression "*(undefined1 *)*puVar5 = 0" (pointer_expression "*(undefined1 *)*puVar5" * (cast_expression "(undefined1 *)*puVar5" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) = number_literal) ;) (expression_statement "uVar24 = *puVar6;" (assignment_expression "uVar24 = *puVar6" identifier = (pointer_expression "*puVar6" * identifier)) ;) (expression_statement "*puVar6 = uVar24 + 2;" (assignment_expression "*puVar6 = uVar24 + 2" (pointer_expression "*puVar6" * identifier) = (binary_expression "uVar24 + 2" identifier + number_literal)) ;) (expression_statement "uVar24 = FUN_00018720(uVar24 + 2);" (assignment_expression "uVar24 = FUN_00018720(uVar24 + 2)" identifier = (call_expression "FUN_00018720(uVar24 + 2)" identifier (argument_list "(uVar24 + 2)" ( (binary_expression "uVar24 + 2" identifier + number_literal) )))) ;) (expression_statement "*puVar6 = uVar24;" (assignment_expression "*puVar6 = uVar24" (pointer_expression "*puVar6" * identifier) = identifier) ;) (if_statement "if (*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= uVar24) {\n          FUN_00018c70();\n        }" if (parenthesized_expression "(*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= uVar24)" ( (binary_expression "*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= uVar24" (pointer_expression "*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2)" * (cast_expression "(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(__i686_get_pc_thunk_bx + unaff_EBP + 2)" ( (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP + 2" (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP" identifier + identifier) + number_literal) )))) <= identifier) )) (compound_statement "{\n          FUN_00018c70();\n        }" { (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar15 = *local_6c;" (assignment_expression "iVar15 = *local_6c" identifier = (pointer_expression "*local_6c" * identifier)) ;) (expression_statement "*(int *)(iVar15 + 0x58) = local_70;" (assignment_expression "*(int *)(iVar15 + 0x58) = local_70" (pointer_expression "*(int *)(iVar15 + 0x58)" * (cast_expression "(int *)(iVar15 + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x58)" ( (binary_expression "iVar15 + 0x58" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;" (assignment_expression "*(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1" (pointer_expression "*(int *)(iVar15 + 0x20)" * (cast_expression "(int *)(iVar15 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x20)" ( (binary_expression "iVar15 + 0x20" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar15 + 0x20) + -1" (pointer_expression "*(int *)(iVar15 + 0x20)" * (cast_expression "(int *)(iVar15 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x20)" ( (binary_expression "iVar15 + 0x20" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(iVar15 + 0x24) = local_54;" (assignment_expression "*(int *)(iVar15 + 0x24) = local_54" (pointer_expression "*(int *)(iVar15 + 0x24)" * (cast_expression "(int *)(iVar15 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x24)" ( (binary_expression "iVar15 + 0x24" identifier + number_literal) )))) = identifier) ;) (return_statement "return;" return ;) })) (if_statement "if (*piVar1 + -1 == iVar15) {\n        piVar8 = (int *)(unaff_EBP + 0x129a6);\n        if (pcVar18 != (undefined1 *)*piVar8 + local_48) goto LAB_000151b8;\n        *(undefined1 *)*piVar8 = 0x20;\n        local_80 = (local_80 - local_48) + 2;\n        local_48 = 1;\n        local_4c = unaff_EBP + 0xc5d2;\n        *(undefined1 *)(*piVar8 + 1) = 0x2a;\n        local_78 = (char *)(*piVar8 + 2);\n        local_28 = 0;\n        *puVar5 = (uint)local_78;\n        local_54 = 1;\n        goto LAB_00015589;\n      }" if (parenthesized_expression "(*piVar1 + -1 == iVar15)" ( (binary_expression "*piVar1 + -1 == iVar15" (binary_expression "*piVar1 + -1" (pointer_expression "*piVar1" * identifier) + number_literal) == identifier) )) (compound_statement "{\n        piVar8 = (int *)(unaff_EBP + 0x129a6);\n        if (pcVar18 != (undefined1 *)*piVar8 + local_48) goto LAB_000151b8;\n        *(undefined1 *)*piVar8 = 0x20;\n        local_80 = (local_80 - local_48) + 2;\n        local_48 = 1;\n        local_4c = unaff_EBP + 0xc5d2;\n        *(undefined1 *)(*piVar8 + 1) = 0x2a;\n        local_78 = (char *)(*piVar8 + 2);\n        local_28 = 0;\n        *puVar5 = (uint)local_78;\n        local_54 = 1;\n        goto LAB_00015589;\n      }" { (expression_statement "piVar8 = (int *)(unaff_EBP + 0x129a6);" (assignment_expression "piVar8 = (int *)(unaff_EBP + 0x129a6)" identifier = (cast_expression "(int *)(unaff_EBP + 0x129a6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129a6)" ( (binary_expression "unaff_EBP + 0x129a6" identifier + number_literal) )))) ;) (if_statement "if (pcVar18 != (undefined1 *)*piVar8 + local_48) goto LAB_000151b8;" if (parenthesized_expression "(pcVar18 != (undefined1 *)*piVar8 + local_48)" ( (binary_expression "pcVar18 != (undefined1 *)*piVar8 + local_48" identifier != (binary_expression "(undefined1 *)*piVar8 + local_48" (cast_expression "(undefined1 *)*piVar8" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar8" * identifier)) + identifier)) )) (goto_statement "goto LAB_000151b8;" goto statement_identifier ;)) (expression_statement "*(undefined1 *)*piVar8 = 0x20;" (assignment_expression "*(undefined1 *)*piVar8 = 0x20" (pointer_expression "*(undefined1 *)*piVar8" * (cast_expression "(undefined1 *)*piVar8" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar8" * identifier))) = number_literal) ;) (expression_statement "local_80 = (local_80 - local_48) + 2;" (assignment_expression "local_80 = (local_80 - local_48) + 2" identifier = (binary_expression "(local_80 - local_48) + 2" (parenthesized_expression "(local_80 - local_48)" ( (binary_expression "local_80 - local_48" identifier - identifier) )) + number_literal)) ;) (expression_statement "local_48 = 1;" (assignment_expression "local_48 = 1" identifier = number_literal) ;) (expression_statement "local_4c = unaff_EBP + 0xc5d2;" (assignment_expression "local_4c = unaff_EBP + 0xc5d2" identifier = (binary_expression "unaff_EBP + 0xc5d2" identifier + number_literal)) ;) (expression_statement "*(undefined1 *)(*piVar8 + 1) = 0x2a;" (assignment_expression "*(undefined1 *)(*piVar8 + 1) = 0x2a" (pointer_expression "*(undefined1 *)(*piVar8 + 1)" * (cast_expression "(undefined1 *)(*piVar8 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar8 + 1)" ( (binary_expression "*piVar8 + 1" (pointer_expression "*piVar8" * identifier) + number_literal) )))) = number_literal) ;) (expression_statement "local_78 = (char *)(*piVar8 + 2);" (assignment_expression "local_78 = (char *)(*piVar8 + 2)" identifier = (cast_expression "(char *)(*piVar8 + 2)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar8 + 2)" ( (binary_expression "*piVar8 + 2" (pointer_expression "*piVar8" * identifier) + number_literal) )))) ;) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" identifier = number_literal) ;) (expression_statement "*puVar5 = (uint)local_78;" (assignment_expression "*puVar5 = (uint)local_78" (pointer_expression "*puVar5" * identifier) = (cast_expression "(uint)local_78" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_54 = 1;" (assignment_expression "local_54 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00015589;" goto statement_identifier ;) })) (labeled_statement "LAB_000151b8:\n      local_80 = local_80 + 1;" statement_identifier : (expression_statement "local_80 = local_80 + 1;" (assignment_expression "local_80 = local_80 + 1" identifier = (binary_expression "local_80 + 1" identifier + number_literal)) ;)) (expression_statement "*puVar5 = (uint)(pcVar18 + 1);" (assignment_expression "*puVar5 = (uint)(pcVar18 + 1)" (pointer_expression "*puVar5" * identifier) = (call_expression "(uint)(pcVar18 + 1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar18 + 1)" ( (binary_expression "pcVar18 + 1" identifier + number_literal) )))) ;) (expression_statement "*pcVar18 = *pcVar19;" (assignment_expression "*pcVar18 = *pcVar19" (pointer_expression "*pcVar18" * identifier) = (pointer_expression "*pcVar19" * identifier)) ;) (expression_statement "bVar29 = local_74 != 0;" (assignment_expression "bVar29 = local_74 != 0" identifier = (binary_expression "local_74 != 0" identifier != number_literal)) ;) (expression_statement "local_78 = pcVar18;" (assignment_expression "local_78 = pcVar18" identifier = identifier) ;) (labeled_statement "LAB_000151d8:\n      if ((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar29)) goto LAB_000151f8;" statement_identifier : (if_statement "if ((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar29)) goto LAB_000151f8;" if (parenthesized_expression "((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar29))" ( (binary_expression "(local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar29)" (parenthesized_expression "(local_80 <= local_60 || local_64 == (char *)0x0)" ( (binary_expression "local_80 <= local_60 || local_64 == (char *)0x0" (binary_expression "local_80 <= local_60" identifier <= identifier) || (binary_expression "local_64 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) )) || (parenthesized_expression "(!bVar29)" ( (unary_expression "!bVar29" ! identifier) ))) )) (goto_statement "goto LAB_000151f8;" goto statement_identifier ;))) (if_statement "if (local_64 < (char *)(*puVar5 - 1)) {\n        *local_64 = '\0';\n        uVar24 = *puVar5;\n        *puVar5 = (uint)local_64;\n        local_40 = uVar24 - (int)(local_64 + 1);\n        iVar26 = local_80 - local_40;\n        if ((int)(local_80 - local_40) <= local_60) {\n          iVar26 = local_60;\n        }\n        bVar30 = local_78 == (char *)0x0;\n        bVar29 = false;\n        local_78 = local_64 + 1;\n        local_60 = iVar26;\n        bVar30 = (bool)(bVar30 & bVar14);\n        goto LAB_00015630;\n      }" if (parenthesized_expression "(local_64 < (char *)(*puVar5 - 1))" ( (binary_expression "local_64 < (char *)(*puVar5 - 1)" identifier < (cast_expression "(char *)(*puVar5 - 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*puVar5 - 1)" ( (binary_expression "*puVar5 - 1" (pointer_expression "*puVar5" * identifier) - number_literal) )))) )) (compound_statement "{\n        *local_64 = '\0';\n        uVar24 = *puVar5;\n        *puVar5 = (uint)local_64;\n        local_40 = uVar24 - (int)(local_64 + 1);\n        iVar26 = local_80 - local_40;\n        if ((int)(local_80 - local_40) <= local_60) {\n          iVar26 = local_60;\n        }\n        bVar30 = local_78 == (char *)0x0;\n        bVar29 = false;\n        local_78 = local_64 + 1;\n        local_60 = iVar26;\n        bVar30 = (bool)(bVar30 & bVar14);\n        goto LAB_00015630;\n      }" { (expression_statement "*local_64 = '\0';" (assignment_expression "*local_64 = '\0'" (pointer_expression "*local_64" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "uVar24 = *puVar5;" (assignment_expression "uVar24 = *puVar5" identifier = (pointer_expression "*puVar5" * identifier)) ;) (expression_statement "*puVar5 = (uint)local_64;" (assignment_expression "*puVar5 = (uint)local_64" (pointer_expression "*puVar5" * identifier) = (cast_expression "(uint)local_64" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_40 = uVar24 - (int)(local_64 + 1);" (assignment_expression "local_40 = uVar24 - (int)(local_64 + 1)" identifier = (binary_expression "uVar24 - (int)(local_64 + 1)" identifier - (cast_expression "(int)(local_64 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_64 + 1)" ( (binary_expression "local_64 + 1" identifier + number_literal) ))))) ;) (expression_statement "iVar26 = local_80 - local_40;" (assignment_expression "iVar26 = local_80 - local_40" identifier = (binary_expression "local_80 - local_40" identifier - identifier)) ;) (if_statement "if ((int)(local_80 - local_40) <= local_60) {\n          iVar26 = local_60;\n        }" if (parenthesized_expression "((int)(local_80 - local_40) <= local_60)" ( (binary_expression "(int)(local_80 - local_40) <= local_60" (cast_expression "(int)(local_80 - local_40)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(local_80 - local_40)" ( (binary_expression "local_80 - local_40" identifier - identifier) ))) <= identifier) )) (compound_statement "{\n          iVar26 = local_60;\n        }" { (expression_statement "iVar26 = local_60;" (assignment_expression "iVar26 = local_60" identifier = identifier) ;) })) (expression_statement "bVar30 = local_78 == (char *)0x0;" (assignment_expression "bVar30 = local_78 == (char *)0x0" identifier = (binary_expression "local_78 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "bVar29 = false;" (assignment_expression "bVar29 = false" identifier = false) ;) (expression_statement "local_78 = local_64 + 1;" (assignment_expression "local_78 = local_64 + 1" identifier = (binary_expression "local_64 + 1" identifier + number_literal)) ;) (expression_statement "local_60 = iVar26;" (assignment_expression "local_60 = iVar26" identifier = identifier) ;) (expression_statement "bVar30 = (bool)(bVar30 & bVar14);" (assignment_expression "bVar30 = (bool)(bVar30 & bVar14)" identifier = (cast_expression "(bool)(bVar30 & bVar14)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar30 & bVar14)" ( (binary_expression "bVar30 & bVar14" identifier & identifier) )))) ;) (goto_statement "goto LAB_00015630;" goto statement_identifier ;) })) (expression_statement "pcVar18 = (char *)*puVar6;" (assignment_expression "pcVar18 = (char *)*puVar6" identifier = (cast_expression "(char *)*puVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) ;) (if_statement "if (local_5c != 0x14) {\n        do {\n          pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2);\n          do {\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          } while (pcVar18 < pcVar27);\nLAB_00015b63:\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar6;\n        } while( true );\n      }" if (parenthesized_expression "(local_5c != 0x14)" ( (binary_expression "local_5c != 0x14" identifier != number_literal) )) (compound_statement "{\n        do {\n          pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2);\n          do {\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          } while (pcVar18 < pcVar27);\nLAB_00015b63:\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar6;\n        } while( true );\n      }" { (do_statement "do {\n          pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2);\n          do {\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          } while (pcVar18 < pcVar27);\nLAB_00015b63:\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar6;\n        } while( true );" do (compound_statement "{\n          pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2);\n          do {\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          } while (pcVar18 < pcVar27);\nLAB_00015b63:\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar6;\n        }" { (expression_statement "pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2);" (assignment_expression "pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)" identifier = (pointer_expression "*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)" * (cast_expression "(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(__i686_get_pc_thunk_bx + unaff_EBP + 2)" ( (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP + 2" (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP" identifier + identifier) + number_literal) ))))) ;) (do_statement "do {\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          } while (pcVar18 < pcVar27);" do (compound_statement "{\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          }" { (while_statement "while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }" { (expression_statement "cVar28 = *pcVar18;" (assignment_expression "cVar28 = *pcVar18" identifier = (pointer_expression "*pcVar18" * identifier)) ;) (if_statement "if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }" if (parenthesized_expression "((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' '))" ( (binary_expression "(1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')" (parenthesized_expression "(1 < (byte)(cVar28 - 9U))" ( (binary_expression "1 < (byte)(cVar28 - 9U)" number_literal < (call_expression "(byte)(cVar28 - 9U)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(cVar28 - 9U)" ( (binary_expression "cVar28 - 9U" identifier - number_literal) )))) )) && (parenthesized_expression "(cVar28 != ' ')" ( (binary_expression "cVar28 != ' '" identifier != (char_literal "' '" ' character ')) ))) )) (compound_statement "{\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }" { (expression_statement "*puVar6 = (uint)(pcVar18 + -1);" (assignment_expression "*puVar6 = (uint)(pcVar18 + -1)" (pointer_expression "*puVar6" * identifier) = (call_expression "(uint)(pcVar18 + -1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pcVar18 + -1)" ( (binary_expression "pcVar18 + -1" identifier + number_literal) )))) ;) (goto_statement "goto LAB_00015d49;" goto statement_identifier ;) })) (if_statement "if (cVar28 == '\n') break;" if (parenthesized_expression "(cVar28 == '\n')" ( (binary_expression "cVar28 == '\n'" identifier == (char_literal "'\n'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "pcVar18 = pcVar18 + 1;" (assignment_expression "pcVar18 = pcVar18 + 1" identifier = (binary_expression "pcVar18 + 1" identifier + number_literal)) ;) (expression_statement "*puVar6 = (uint)pcVar18;" (assignment_expression "*puVar6 = (uint)pcVar18" (pointer_expression "*puVar6" * identifier) = (cast_expression "(uint)pcVar18" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (pcVar27 <= pcVar18) goto LAB_00015b63;" if (parenthesized_expression "(pcVar27 <= pcVar18)" ( (binary_expression "pcVar27 <= pcVar18" identifier <= identifier) )) (goto_statement "goto LAB_00015b63;" goto statement_identifier ;)) })) (expression_statement "pcVar18 = pcVar18 + 1;" (assignment_expression "pcVar18 = pcVar18 + 1" identifier = (binary_expression "pcVar18 + 1" identifier + number_literal)) ;) (expression_statement "*puVar6 = (uint)pcVar18;" (assignment_expression "*puVar6 = (uint)pcVar18" (pointer_expression "*puVar6" * identifier) = (cast_expression "(uint)pcVar18" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;" (assignment_expression "*(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1" (pointer_expression "*(int *)(unaff_EBP + 0x1298a)" * (cast_expression "(int *)(unaff_EBP + 0x1298a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1298a)" ( (binary_expression "unaff_EBP + 0x1298a" identifier + number_literal) )))) = (binary_expression "*(int *)(unaff_EBP + 0x1298a) + 1" (pointer_expression "*(int *)(unaff_EBP + 0x1298a)" * (cast_expression "(int *)(unaff_EBP + 0x1298a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1298a)" ( (binary_expression "unaff_EBP + 0x1298a" identifier + number_literal) )))) + number_literal)) ;) }) while (parenthesized_expression "(pcVar18 < pcVar27)" ( (binary_expression "pcVar18 < pcVar27" identifier < identifier) )) ;) (labeled_statement "LAB_00015b63:\n          FUN_00018c70();" statement_identifier : (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" identifier (argument_list "()" ( ))) ;)) (expression_statement "pcVar18 = (char *)*puVar6;" (assignment_expression "pcVar18 = (char *)*puVar6" identifier = (cast_expression "(char *)*puVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (expression_statement "iVar26 = FUN_00018720(pcVar18);" (assignment_expression "iVar26 = FUN_00018720(pcVar18)" identifier = (call_expression "FUN_00018720(pcVar18)" identifier (argument_list "(pcVar18)" ( identifier )))) ;) (expression_statement "*puVar6 = iVar26 - 1;" (assignment_expression "*puVar6 = iVar26 - 1" (pointer_expression "*puVar6" * identifier) = (binary_expression "iVar26 - 1" identifier - number_literal)) ;) (if_statement "if (*(char *)(iVar26 + -1) == '\n') {\n        pcVar18 = (char *)*puVar5;\n        goto LAB_00015c4a;\n      }" if (parenthesized_expression "(*(char *)(iVar26 + -1) == '\n')" ( (binary_expression "*(char *)(iVar26 + -1) == '\n'" (pointer_expression "*(char *)(iVar26 + -1)" * (cast_expression "(char *)(iVar26 + -1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + -1)" ( (binary_expression "iVar26 + -1" identifier + number_literal) )))) == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n        pcVar18 = (char *)*puVar5;\n        goto LAB_00015c4a;\n      }" { (expression_statement "pcVar18 = (char *)*puVar5;" (assignment_expression "pcVar18 = (char *)*puVar5" identifier = (cast_expression "(char *)*puVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) (goto_statement "goto LAB_00015c4a;" goto statement_identifier ;) })) (labeled_statement "LAB_00015d49:\n      *(undefined1 *)*puVar5 = 0;" statement_identifier : (expression_statement "*(undefined1 *)*puVar5 = 0;" (assignment_expression "*(undefined1 *)*puVar5 = 0" (pointer_expression "*(undefined1 *)*puVar5" * (cast_expression "(undefined1 *)*puVar5" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) = number_literal) ;)) (labeled_statement "LAB_000159db:\n      pcVar18 = local_78;" statement_identifier : (expression_statement "pcVar18 = local_78;" (assignment_expression "pcVar18 = local_78" identifier = identifier) ;)) (expression_statement "local_78 = (char *)0x0;" (assignment_expression "local_78 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "bVar29 = false;" (assignment_expression "bVar29 = false" identifier = false) ;) (expression_statement "bVar30 = (bool)(pcVar18 == (char *)0x0 & bVar14);" (assignment_expression "bVar30 = (bool)(pcVar18 == (char *)0x0 & bVar14)" identifier = (cast_expression "(bool)(pcVar18 == (char *)0x0 & bVar14)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(pcVar18 == (char *)0x0 & bVar14)" ( (binary_expression "pcVar18 == (char *)0x0 & bVar14" (binary_expression "pcVar18 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) & identifier) )))) ;) (labeled_statement "LAB_00015630:\n      if ((bVar30) && (*piVar1 != iVar15)) {\n        puVar20 = *(undefined1 **)(unaff_EBP + 0x129a6);\n        *puVar5 = (uint)puVar20;\n      }\n      else {\n        puVar20 = (undefined1 *)*puVar5;\n      }" statement_identifier : (if_statement "if ((bVar30) && (*piVar1 != iVar15)) {\n        puVar20 = *(undefined1 **)(unaff_EBP + 0x129a6);\n        *puVar5 = (uint)puVar20;\n      }\n      else {\n        puVar20 = (undefined1 *)*puVar5;\n      }" if (parenthesized_expression "((bVar30) && (*piVar1 != iVar15))" ( (binary_expression "(bVar30) && (*piVar1 != iVar15)" (parenthesized_expression "(bVar30)" ( identifier )) && (parenthesized_expression "(*piVar1 != iVar15)" ( (binary_expression "*piVar1 != iVar15" (pointer_expression "*piVar1" * identifier) != identifier) ))) )) (compound_statement "{\n        puVar20 = *(undefined1 **)(unaff_EBP + 0x129a6);\n        *puVar5 = (uint)puVar20;\n      }" { (expression_statement "puVar20 = *(undefined1 **)(unaff_EBP + 0x129a6);" (assignment_expression "puVar20 = *(undefined1 **)(unaff_EBP + 0x129a6)" identifier = (pointer_expression "*(undefined1 **)(unaff_EBP + 0x129a6)" * (cast_expression "(undefined1 **)(unaff_EBP + 0x129a6)" ( (type_descriptor "undefined1 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EBP + 0x129a6)" ( (binary_expression "unaff_EBP + 0x129a6" identifier + number_literal) ))))) ;) (expression_statement "*puVar5 = (uint)puVar20;" (assignment_expression "*puVar5 = (uint)puVar20" (pointer_expression "*puVar5" * identifier) = (cast_expression "(uint)puVar20" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) }) (else_clause "else {\n        puVar20 = (undefined1 *)*puVar5;\n      }" else (compound_statement "{\n        puVar20 = (undefined1 *)*puVar5;\n      }" { (expression_statement "puVar20 = (undefined1 *)*puVar5;" (assignment_expression "puVar20 = (undefined1 *)*puVar5" identifier = (cast_expression "(undefined1 *)*puVar5" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) })))) (expression_statement "*puVar20 = 0;" (assignment_expression "*puVar20 = 0" (pointer_expression "*puVar20" * identifier) = number_literal) ;) (expression_statement "FUN_0001a130(1,param_1,param_2);" (call_expression "FUN_0001a130(1,param_1,param_2)" identifier (argument_list "(1,param_1,param_2)" ( number_literal , identifier , identifier ))) ;) (expression_statement "*(undefined4 *)(unaff_EBP + 0x1297e) = 0;" (assignment_expression "*(undefined4 *)(unaff_EBP + 0x1297e) = 0" (pointer_expression "*(undefined4 *)(unaff_EBP + 0x1297e)" * (cast_expression "(undefined4 *)(unaff_EBP + 0x1297e)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1297e)" ( (binary_expression "unaff_EBP + 0x1297e" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (!bVar29) {\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n          FUN_00018c70();\n        }\n      }" if (parenthesized_expression "(!bVar29)" ( (unary_expression "!bVar29" ! identifier) )) (compound_statement "{\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n          FUN_00018c70();\n        }\n      }" { (expression_statement "pcVar18 = (char *)*puVar6;" (assignment_expression "pcVar18 = (char *)*puVar6" identifier = (cast_expression "(char *)*puVar6" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) ;) (if_statement "if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }" if (parenthesized_expression "(*pcVar18 == '\n')" ( (binary_expression "*pcVar18 == '\n'" (pointer_expression "*pcVar18" * identifier) == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }" { (expression_statement "*(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;" (assignment_expression "*(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1" (pointer_expression "*(int *)(unaff_EBP + 0x1298a)" * (cast_expression "(int *)(unaff_EBP + 0x1298a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1298a)" ( (binary_expression "unaff_EBP + 0x1298a" identifier + number_literal) )))) = (binary_expression "*(int *)(unaff_EBP + 0x1298a) + 1" (pointer_expression "*(int *)(unaff_EBP + 0x1298a)" * (cast_expression "(int *)(unaff_EBP + 0x1298a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1298a)" ( (binary_expression "unaff_EBP + 0x1298a" identifier + number_literal) )))) + number_literal)) ;) })) (expression_statement "pcVar18 = pcVar18 + 1;" (assignment_expression "pcVar18 = pcVar18 + 1" identifier = (binary_expression "pcVar18 + 1" identifier + number_literal)) ;) (expression_statement "*puVar6 = (uint)pcVar18;" (assignment_expression "*puVar6 = (uint)pcVar18" (pointer_expression "*puVar6" * identifier) = (cast_expression "(uint)pcVar18" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n          FUN_00018c70();\n        }" if (parenthesized_expression "(*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18)" ( (binary_expression "*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18" (pointer_expression "*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)" * (cast_expression "(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(__i686_get_pc_thunk_bx + unaff_EBP + 2)" ( (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP + 2" (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP" identifier + identifier) + number_literal) )))) <= identifier) )) (compound_statement "{\n          FUN_00018c70();\n        }" { (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" identifier (argument_list "()" ( ))) ;) })) })) (labeled_statement "LAB_0001543c:\n      local_68 = &DAT_00012b1e + unaff_EBP;" statement_identifier : (expression_statement "local_68 = &DAT_00012b1e + unaff_EBP;" (assignment_expression "local_68 = &DAT_00012b1e + unaff_EBP" identifier = (binary_expression "&DAT_00012b1e + unaff_EBP" (pointer_expression "&DAT_00012b1e" & identifier) + identifier)) ;)) (if_statement "if (*local_68 != '\0') break;" if (parenthesized_expression "(*local_68 != '\0')" ( (binary_expression "*local_68 != '\0'" (pointer_expression "*local_68" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (break_statement "break;" break ;)) (expression_statement "local_80 = local_70;" (assignment_expression "local_80 = local_70" identifier = identifier) ;) (if_statement "if (local_48 != 0) {\n        uVar24 = *puVar5;\n        iVar26 = *(int *)(unaff_EBP + 0x1299e);\n        if (iVar26 - local_48 <= uVar24) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_48 + 400 + (iVar26 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          uVar24 = iVar23 + 1 + (*puVar5 - *piVar2);\n          *puVar5 = uVar24;\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *piVar2 = iVar23 + 1;\n        }\n        if (local_48 != 0) {\n          uVar21 = 0;\n          do {\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          } while (uVar21 < local_48);\n        }\n        *puVar5 = *puVar5 + local_48;\n        local_80 = local_70 + local_48;\n      }" if (parenthesized_expression "(local_48 != 0)" ( (binary_expression "local_48 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar24 = *puVar5;\n        iVar26 = *(int *)(unaff_EBP + 0x1299e);\n        if (iVar26 - local_48 <= uVar24) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_48 + 400 + (iVar26 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          uVar24 = iVar23 + 1 + (*puVar5 - *piVar2);\n          *puVar5 = uVar24;\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *piVar2 = iVar23 + 1;\n        }\n        if (local_48 != 0) {\n          uVar21 = 0;\n          do {\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          } while (uVar21 < local_48);\n        }\n        *puVar5 = *puVar5 + local_48;\n        local_80 = local_70 + local_48;\n      }" { (expression_statement "uVar24 = *puVar5;" (assignment_expression "uVar24 = *puVar5" identifier = (pointer_expression "*puVar5" * identifier)) ;) (expression_statement "iVar26 = *(int *)(unaff_EBP + 0x1299e);" (assignment_expression "iVar26 = *(int *)(unaff_EBP + 0x1299e)" identifier = (pointer_expression "*(int *)(unaff_EBP + 0x1299e)" * (cast_expression "(int *)(unaff_EBP + 0x1299e)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1299e)" ( (binary_expression "unaff_EBP + 0x1299e" identifier + number_literal) ))))) ;) (if_statement "if (iVar26 - local_48 <= uVar24) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_48 + 400 + (iVar26 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          uVar24 = iVar23 + 1 + (*puVar5 - *piVar2);\n          *puVar5 = uVar24;\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *piVar2 = iVar23 + 1;\n        }" if (parenthesized_expression "(iVar26 - local_48 <= uVar24)" ( (binary_expression "iVar26 - local_48 <= uVar24" (binary_expression "iVar26 - local_48" identifier - identifier) <= identifier) )) (compound_statement "{\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_48 + 400 + (iVar26 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          uVar24 = iVar23 + 1 + (*puVar5 - *piVar2);\n          *puVar5 = uVar24;\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *piVar2 = iVar23 + 1;\n        }" { (expression_statement "piVar2 = (int *)(unaff_EBP + 0x129a6);" (assignment_expression "piVar2 = (int *)(unaff_EBP + 0x129a6)" identifier = (cast_expression "(int *)(unaff_EBP + 0x129a6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129a6)" ( (binary_expression "unaff_EBP + 0x129a6" identifier + number_literal) )))) ;) (expression_statement "iVar26 = local_48 + 400 + (iVar26 - *piVar2);" (assignment_expression "iVar26 = local_48 + 400 + (iVar26 - *piVar2)" identifier = (binary_expression "local_48 + 400 + (iVar26 - *piVar2)" (binary_expression "local_48 + 400" identifier + number_literal) + (parenthesized_expression "(iVar26 - *piVar2)" ( (binary_expression "iVar26 - *piVar2" identifier - (pointer_expression "*piVar2" * identifier)) )))) ;) (expression_statement "iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);" (assignment_expression "iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26)" identifier = (call_expression "FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26)" identifier (argument_list "(*(int *)(unaff_EBP + 0x129aa),iVar26)" ( (pointer_expression "*(int *)(unaff_EBP + 0x129aa)" * (cast_expression "(int *)(unaff_EBP + 0x129aa)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129aa)" ( (binary_expression "unaff_EBP + 0x129aa" identifier + number_literal) )))) , identifier )))) ;) (expression_statement "*(int *)(unaff_EBP + 0x129aa) = iVar23;" (assignment_expression "*(int *)(unaff_EBP + 0x129aa) = iVar23" (pointer_expression "*(int *)(unaff_EBP + 0x129aa)" * (cast_expression "(int *)(unaff_EBP + 0x129aa)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129aa)" ( (binary_expression "unaff_EBP + 0x129aa" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar24 = iVar23 + 1 + (*puVar5 - *piVar2);" (assignment_expression "uVar24 = iVar23 + 1 + (*puVar5 - *piVar2)" identifier = (binary_expression "iVar23 + 1 + (*puVar5 - *piVar2)" (binary_expression "iVar23 + 1" identifier + number_literal) + (parenthesized_expression "(*puVar5 - *piVar2)" ( (binary_expression "*puVar5 - *piVar2" (pointer_expression "*puVar5" * identifier) - (pointer_expression "*piVar2" * identifier)) )))) ;) (expression_statement "*puVar5 = uVar24;" (assignment_expression "*puVar5 = uVar24" (pointer_expression "*puVar5" * identifier) = identifier) ;) (expression_statement "*(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;" (assignment_expression "*(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26" (pointer_expression "*(int *)(unaff_EBP + 0x1299e)" * (cast_expression "(int *)(unaff_EBP + 0x1299e)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1299e)" ( (binary_expression "unaff_EBP + 0x1299e" identifier + number_literal) )))) = (binary_expression "iVar23 + -5 + iVar26" (binary_expression "iVar23 + -5" identifier + number_literal) + identifier)) ;) (expression_statement "*piVar2 = iVar23 + 1;" (assignment_expression "*piVar2 = iVar23 + 1" (pointer_expression "*piVar2" * identifier) = (binary_expression "iVar23 + 1" identifier + number_literal)) ;) })) (if_statement "if (local_48 != 0) {\n          uVar21 = 0;\n          do {\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          } while (uVar21 < local_48);\n        }" if (parenthesized_expression "(local_48 != 0)" ( (binary_expression "local_48 != 0" identifier != number_literal) )) (compound_statement "{\n          uVar21 = 0;\n          do {\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          } while (uVar21 < local_48);\n        }" { (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" identifier = number_literal) ;) (do_statement "do {\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          } while (uVar21 < local_48);" do (compound_statement "{\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          }" { (expression_statement "*(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);" (assignment_expression "*(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21)" (pointer_expression "*(undefined1 *)(uVar24 + uVar21)" * (cast_expression "(undefined1 *)(uVar24 + uVar21)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar24 + uVar21)" ( (binary_expression "uVar24 + uVar21" identifier + identifier) )))) = (pointer_expression "*(undefined1 *)(local_4c + uVar21)" * (cast_expression "(undefined1 *)(local_4c + uVar21)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_4c + uVar21)" ( (binary_expression "local_4c + uVar21" identifier + identifier) ))))) ;) (expression_statement "uVar21 = uVar21 + 1;" (assignment_expression "uVar21 = uVar21 + 1" identifier = (binary_expression "uVar21 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar21 < local_48)" ( (binary_expression "uVar21 < local_48" identifier < identifier) )) ;) })) (expression_statement "*puVar5 = *puVar5 + local_48;" (assignment_expression "*puVar5 = *puVar5 + local_48" (pointer_expression "*puVar5" * identifier) = (binary_expression "*puVar5 + local_48" (pointer_expression "*puVar5" * identifier) + identifier)) ;) (expression_statement "local_80 = local_70 + local_48;" (assignment_expression "local_80 = local_70 + local_48" identifier = (binary_expression "local_70 + local_48" identifier + identifier)) ;) })) (if_statement "if (local_78 == (char *)0x0) {\n        FUN_00018e10();\n      }\n      else {\n        if ((*local_78 == ' ') || (*local_78 == '\t')) {\n          if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }\n        }\n        else {\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }\nLAB_000158f3:\n        __dest = (void *)*puVar5;\n        iVar23 = *(int *)(unaff_EBP + 0x1299e);\n        if ((void *)(iVar26 + iVar23) <= __dest) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_40 + 400 + (iVar23 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          __dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *puVar5 = (uint)__dest;\n          *piVar2 = iVar23 + 1;\n        }\n        memmove(__dest,local_78,local_84);\n        local_78 = (char *)*puVar5;\n        *puVar5 = (uint)(local_78 + local_84);\n        local_40 = 0;\n      }" if (parenthesized_expression "(local_78 == (char *)0x0)" ( (binary_expression "local_78 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        FUN_00018e10();\n      }" { (expression_statement "FUN_00018e10();" (call_expression "FUN_00018e10()" identifier (argument_list "()" ( ))) ;) }) (else_clause "else {\n        if ((*local_78 == ' ') || (*local_78 == '\t')) {\n          if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }\n        }\n        else {\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }\nLAB_000158f3:\n        __dest = (void *)*puVar5;\n        iVar23 = *(int *)(unaff_EBP + 0x1299e);\n        if ((void *)(iVar26 + iVar23) <= __dest) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_40 + 400 + (iVar23 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          __dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *puVar5 = (uint)__dest;\n          *piVar2 = iVar23 + 1;\n        }\n        memmove(__dest,local_78,local_84);\n        local_78 = (char *)*puVar5;\n        *puVar5 = (uint)(local_78 + local_84);\n        local_40 = 0;\n      }" else (compound_statement "{\n        if ((*local_78 == ' ') || (*local_78 == '\t')) {\n          if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }\n        }\n        else {\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }\nLAB_000158f3:\n        __dest = (void *)*puVar5;\n        iVar23 = *(int *)(unaff_EBP + 0x1299e);\n        if ((void *)(iVar26 + iVar23) <= __dest) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_40 + 400 + (iVar23 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          __dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *puVar5 = (uint)__dest;\n          *piVar2 = iVar23 + 1;\n        }\n        memmove(__dest,local_78,local_84);\n        local_78 = (char *)*puVar5;\n        *puVar5 = (uint)(local_78 + local_84);\n        local_40 = 0;\n      }" { (if_statement "if ((*local_78 == ' ') || (*local_78 == '\t')) {\n          if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }\n        }\n        else {\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }" if (parenthesized_expression "((*local_78 == ' ') || (*local_78 == '\t'))" ( (binary_expression "(*local_78 == ' ') || (*local_78 == '\t')" (parenthesized_expression "(*local_78 == ' ')" ( (binary_expression "*local_78 == ' '" (pointer_expression "*local_78" * identifier) == (char_literal "' '" ' character ')) )) || (parenthesized_expression "(*local_78 == '\t')" ( (binary_expression "*local_78 == '\t'" (pointer_expression "*local_78" * identifier) == (char_literal "'\t'" ' escape_sequence ')) ))) )) (compound_statement "{\n          if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }\n        }" { (if_statement "if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }" if (parenthesized_expression "(local_40 == 0)" ( (binary_expression "local_40 == 0" identifier == number_literal) )) (compound_statement "{\n            iVar26 = 0;\n            local_84 = 0;\n          }" { (expression_statement "iVar26 = 0;" (assignment_expression "iVar26 = 0" identifier = number_literal) ;) (expression_statement "local_84 = 0;" (assignment_expression "local_84 = 0" identifier = number_literal) ;) }) (else_clause "else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }" else (compound_statement "{\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }" { (do_statement "do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);" do (compound_statement "{\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            }" { (expression_statement "local_78 = local_78 + 1;" (assignment_expression "local_78 = local_78 + 1" identifier = (binary_expression "local_78 + 1" identifier + number_literal)) ;) (expression_statement "local_40 = local_40 - 1;" (assignment_expression "local_40 = local_40 - 1" identifier = (binary_expression "local_40 - 1" identifier - number_literal)) ;) (if_statement "if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }" if (parenthesized_expression "((*local_78 != ' ') && (*local_78 != '\t'))" ( (binary_expression "(*local_78 != ' ') && (*local_78 != '\t')" (parenthesized_expression "(*local_78 != ' ')" ( (binary_expression "*local_78 != ' '" (pointer_expression "*local_78" * identifier) != (char_literal "' '" ' character ')) )) && (parenthesized_expression "(*local_78 != '\t')" ( (binary_expression "*local_78 != '\t'" (pointer_expression "*local_78" * identifier) != (char_literal "'\t'" ' escape_sequence ')) ))) )) (compound_statement "{\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }" { (expression_statement "local_80 = local_80 + local_40;" (assignment_expression "local_80 = local_80 + local_40" identifier = (binary_expression "local_80 + local_40" identifier + identifier)) ;) (expression_statement "iVar26 = -local_40;" (assignment_expression "iVar26 = -local_40" identifier = (unary_expression "-local_40" - identifier)) ;) (expression_statement "local_84 = local_40;" (assignment_expression "local_84 = local_40" identifier = identifier) ;) (goto_statement "goto LAB_000158f3;" goto statement_identifier ;) })) }) while (parenthesized_expression "(local_40 != 0)" ( (binary_expression "local_40 != 0" identifier != number_literal) )) ;) (expression_statement "iVar26 = 0;" (assignment_expression "iVar26 = 0" identifier = number_literal) ;) (expression_statement "local_84 = 0;" (assignment_expression "local_84 = 0" identifier = number_literal) ;) }))) }) (else_clause "else {\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }" else (compound_statement "{\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }" { (expression_statement "local_80 = local_80 + local_40;" (assignment_expression "local_80 = local_80 + local_40" identifier = (binary_expression "local_80 + local_40" identifier + identifier)) ;) (expression_statement "local_84 = local_40;" (assignment_expression "local_84 = local_40" identifier = identifier) ;) (expression_statement "iVar26 = -local_40;" (assignment_expression "iVar26 = -local_40" identifier = (unary_expression "-local_40" - identifier)) ;) }))) (labeled_statement "LAB_000158f3:\n        __dest = (void *)*puVar5;" statement_identifier : (expression_statement "__dest = (void *)*puVar5;" (assignment_expression "__dest = (void *)*puVar5" identifier = (cast_expression "(void *)*puVar5" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;)) (expression_statement "iVar23 = *(int *)(unaff_EBP + 0x1299e);" (assignment_expression "iVar23 = *(int *)(unaff_EBP + 0x1299e)" identifier = (pointer_expression "*(int *)(unaff_EBP + 0x1299e)" * (cast_expression "(int *)(unaff_EBP + 0x1299e)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1299e)" ( (binary_expression "unaff_EBP + 0x1299e" identifier + number_literal) ))))) ;) (if_statement "if ((void *)(iVar26 + iVar23) <= __dest) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_40 + 400 + (iVar23 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          __dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *puVar5 = (uint)__dest;\n          *piVar2 = iVar23 + 1;\n        }" if (parenthesized_expression "((void *)(iVar26 + iVar23) <= __dest)" ( (binary_expression "(void *)(iVar26 + iVar23) <= __dest" (cast_expression "(void *)(iVar26 + iVar23)" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + iVar23)" ( (binary_expression "iVar26 + iVar23" identifier + identifier) ))) <= identifier) )) (compound_statement "{\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_40 + 400 + (iVar23 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          __dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *puVar5 = (uint)__dest;\n          *piVar2 = iVar23 + 1;\n        }" { (expression_statement "piVar2 = (int *)(unaff_EBP + 0x129a6);" (assignment_expression "piVar2 = (int *)(unaff_EBP + 0x129a6)" identifier = (cast_expression "(int *)(unaff_EBP + 0x129a6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129a6)" ( (binary_expression "unaff_EBP + 0x129a6" identifier + number_literal) )))) ;) (expression_statement "iVar26 = local_40 + 400 + (iVar23 - *piVar2);" (assignment_expression "iVar26 = local_40 + 400 + (iVar23 - *piVar2)" identifier = (binary_expression "local_40 + 400 + (iVar23 - *piVar2)" (binary_expression "local_40 + 400" identifier + number_literal) + (parenthesized_expression "(iVar23 - *piVar2)" ( (binary_expression "iVar23 - *piVar2" identifier - (pointer_expression "*piVar2" * identifier)) )))) ;) (expression_statement "iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);" (assignment_expression "iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26)" identifier = (call_expression "FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26)" identifier (argument_list "(*(int *)(unaff_EBP + 0x129aa),iVar26)" ( (pointer_expression "*(int *)(unaff_EBP + 0x129aa)" * (cast_expression "(int *)(unaff_EBP + 0x129aa)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129aa)" ( (binary_expression "unaff_EBP + 0x129aa" identifier + number_literal) )))) , identifier )))) ;) (expression_statement "*(int *)(unaff_EBP + 0x129aa) = iVar23;" (assignment_expression "*(int *)(unaff_EBP + 0x129aa) = iVar23" (pointer_expression "*(int *)(unaff_EBP + 0x129aa)" * (cast_expression "(int *)(unaff_EBP + 0x129aa)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129aa)" ( (binary_expression "unaff_EBP + 0x129aa" identifier + number_literal) )))) = identifier) ;) (expression_statement "__dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));" (assignment_expression "__dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2))" identifier = (cast_expression "(void *)(iVar23 + 1 + (*puVar5 - *piVar2))" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar23 + 1 + (*puVar5 - *piVar2))" ( (binary_expression "iVar23 + 1 + (*puVar5 - *piVar2)" (binary_expression "iVar23 + 1" identifier + number_literal) + (parenthesized_expression "(*puVar5 - *piVar2)" ( (binary_expression "*puVar5 - *piVar2" (pointer_expression "*puVar5" * identifier) - (pointer_expression "*piVar2" * identifier)) ))) )))) ;) (expression_statement "*(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;" (assignment_expression "*(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26" (pointer_expression "*(int *)(unaff_EBP + 0x1299e)" * (cast_expression "(int *)(unaff_EBP + 0x1299e)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1299e)" ( (binary_expression "unaff_EBP + 0x1299e" identifier + number_literal) )))) = (binary_expression "iVar23 + -5 + iVar26" (binary_expression "iVar23 + -5" identifier + number_literal) + identifier)) ;) (expression_statement "*puVar5 = (uint)__dest;" (assignment_expression "*puVar5 = (uint)__dest" (pointer_expression "*puVar5" * identifier) = (cast_expression "(uint)__dest" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*piVar2 = iVar23 + 1;" (assignment_expression "*piVar2 = iVar23 + 1" (pointer_expression "*piVar2" * identifier) = (binary_expression "iVar23 + 1" identifier + number_literal)) ;) })) (expression_statement "memmove(__dest,local_78,local_84);" (call_expression "memmove(__dest,local_78,local_84)" identifier (argument_list "(__dest,local_78,local_84)" ( identifier , identifier , identifier ))) ;) (expression_statement "local_78 = (char *)*puVar5;" (assignment_expression "local_78 = (char *)*puVar5" identifier = (cast_expression "(char *)*puVar5" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar5" * identifier))) ;) (expression_statement "*puVar5 = (uint)(local_78 + local_84);" (assignment_expression "*puVar5 = (uint)(local_78 + local_84)" (pointer_expression "*puVar5" * identifier) = (call_expression "(uint)(local_78 + local_84)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_78 + local_84)" ( (binary_expression "local_78 + local_84" identifier + identifier) )))) ;) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" identifier = number_literal) ;) }))) })) (expression_statement "iVar15 = *local_6c;" (assignment_expression "iVar15 = *local_6c" identifier = (pointer_expression "*local_6c" * identifier)) ;) (expression_statement "*(int *)(iVar15 + 0x58) = local_70;" (assignment_expression "*(int *)(iVar15 + 0x58) = local_70" (pointer_expression "*(int *)(iVar15 + 0x58)" * (cast_expression "(int *)(iVar15 + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x58)" ( (binary_expression "iVar15 + 0x58" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;" (assignment_expression "*(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1" (pointer_expression "*(int *)(iVar15 + 0x20)" * (cast_expression "(int *)(iVar15 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x20)" ( (binary_expression "iVar15 + 0x20" identifier + number_literal) )))) = (binary_expression "*(int *)(iVar15 + 0x20) + -1" (pointer_expression "*(int *)(iVar15 + 0x20)" * (cast_expression "(int *)(iVar15 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x20)" ( (binary_expression "iVar15 + 0x20" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "*(int *)(iVar15 + 0x24) = local_54;" (assignment_expression "*(int *)(iVar15 + 0x24) = local_54" (pointer_expression "*(int *)(iVar15 + 0x24)" * (cast_expression "(int *)(iVar15 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar15 + 0x24)" ( (binary_expression "iVar15 + 0x24" identifier + number_literal) )))) = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "piVar1 = (int *)(&DAT_00012b26 + unaff_EBP);" (assignment_expression "piVar1 = (int *)(&DAT_00012b26 + unaff_EBP)" identifier = (cast_expression "(int *)(&DAT_00012b26 + unaff_EBP)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00012b26 + unaff_EBP)" ( (binary_expression "&DAT_00012b26 + unaff_EBP" (pointer_expression "&DAT_00012b26" & identifier) + identifier) )))) ;) (expression_statement "pbVar10 = (byte *)*piVar1;" (assignment_expression "pbVar10 = (byte *)*piVar1" identifier = (cast_expression "(byte *)*piVar1" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar1" * identifier))) ;) (expression_statement "bVar9 = *pbVar10;" (assignment_expression "bVar9 = *pbVar10" identifier = (pointer_expression "*pbVar10" * identifier)) ;) (if_statement "if (bVar9 == 0x2a || bVar9 == 0x5f) {\n    pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);\n  }\n  else {\n    if (((bVar9 & 0xef) != 0x2d) &&\n       ((*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0 ||\n        (*(int *)(unaff_EBP + 0x12c02) != 0)))) {\n      bVar14 = true;\n      uVar25 = 0x2a;\n      local_5c = 0x13;\n      local_84 = *(size_t *)(FUN_00012bc0 + unaff_EBP + 2);\n      local_28 = *(int *)(unaff_EBP + 0x12c1a);\n      local_48 = 0;\n      local_4c = 0;\n      bVar29 = local_28 != 0;\n      goto LAB_00014fd0;\n    }\n    pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);\n  }" if (parenthesized_expression "(bVar9 == 0x2a || bVar9 == 0x5f)" ( (binary_expression "bVar9 == 0x2a || bVar9 == 0x5f" (binary_expression "bVar9 == 0x2a" identifier == number_literal) || (binary_expression "bVar9 == 0x5f" identifier == number_literal)) )) (compound_statement "{\n    pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);\n  }" { (expression_statement "pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);" (assignment_expression "pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP)" identifier = (pointer_expression "*(byte **)(&DAT_00012b6e + unaff_EBP)" * (cast_expression "(byte **)(&DAT_00012b6e + unaff_EBP)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&DAT_00012b6e + unaff_EBP)" ( (binary_expression "&DAT_00012b6e + unaff_EBP" (pointer_expression "&DAT_00012b6e" & identifier) + identifier) ))))) ;) }) (else_clause "else {\n    if (((bVar9 & 0xef) != 0x2d) &&\n       ((*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0 ||\n        (*(int *)(unaff_EBP + 0x12c02) != 0)))) {\n      bVar14 = true;\n      uVar25 = 0x2a;\n      local_5c = 0x13;\n      local_84 = *(size_t *)(FUN_00012bc0 + unaff_EBP + 2);\n      local_28 = *(int *)(unaff_EBP + 0x12c1a);\n      local_48 = 0;\n      local_4c = 0;\n      bVar29 = local_28 != 0;\n      goto LAB_00014fd0;\n    }\n    pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);\n  }" else (compound_statement "{\n    if (((bVar9 & 0xef) != 0x2d) &&\n       ((*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0 ||\n        (*(int *)(unaff_EBP + 0x12c02) != 0)))) {\n      bVar14 = true;\n      uVar25 = 0x2a;\n      local_5c = 0x13;\n      local_84 = *(size_t *)(FUN_00012bc0 + unaff_EBP + 2);\n      local_28 = *(int *)(unaff_EBP + 0x12c1a);\n      local_48 = 0;\n      local_4c = 0;\n      bVar29 = local_28 != 0;\n      goto LAB_00014fd0;\n    }\n    pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);\n  }" { (if_statement "if (((bVar9 & 0xef) != 0x2d) &&\n       ((*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0 ||\n        (*(int *)(unaff_EBP + 0x12c02) != 0)))) {\n      bVar14 = true;\n      uVar25 = 0x2a;\n      local_5c = 0x13;\n      local_84 = *(size_t *)(FUN_00012bc0 + unaff_EBP + 2);\n      local_28 = *(int *)(unaff_EBP + 0x12c1a);\n      local_48 = 0;\n      local_4c = 0;\n      bVar29 = local_28 != 0;\n      goto LAB_00014fd0;\n    }" if (parenthesized_expression "(((bVar9 & 0xef) != 0x2d) &&\n       ((*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0 ||\n        (*(int *)(unaff_EBP + 0x12c02) != 0))))" ( (binary_expression "((bVar9 & 0xef) != 0x2d) &&\n       ((*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0 ||\n        (*(int *)(unaff_EBP + 0x12c02) != 0)))" (parenthesized_expression "((bVar9 & 0xef) != 0x2d)" ( (binary_expression "(bVar9 & 0xef) != 0x2d" (parenthesized_expression "(bVar9 & 0xef)" ( (binary_expression "bVar9 & 0xef" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "((*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0 ||\n        (*(int *)(unaff_EBP + 0x12c02) != 0)))" ( (parenthesized_expression "(*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0 ||\n        (*(int *)(unaff_EBP + 0x12c02) != 0))" ( (binary_expression "*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0 ||\n        (*(int *)(unaff_EBP + 0x12c02) != 0)" (binary_expression "*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0" (pointer_expression "*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54)" * (cast_expression "(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54)" ( (binary_expression "*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54" (pointer_expression "*(int *)(&DAT_00012b16 + unaff_EBP)" * (cast_expression "(int *)(&DAT_00012b16 + unaff_EBP)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00012b16 + unaff_EBP)" ( (binary_expression "&DAT_00012b16 + unaff_EBP" (pointer_expression "&DAT_00012b16" & identifier) + identifier) )))) + number_literal) )))) == number_literal) || (parenthesized_expression "(*(int *)(unaff_EBP + 0x12c02) != 0)" ( (binary_expression "*(int *)(unaff_EBP + 0x12c02) != 0" (pointer_expression "*(int *)(unaff_EBP + 0x12c02)" * (cast_expression "(int *)(unaff_EBP + 0x12c02)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12c02)" ( (binary_expression "unaff_EBP + 0x12c02" identifier + number_literal) )))) != number_literal) ))) )) ))) )) (compound_statement "{\n      bVar14 = true;\n      uVar25 = 0x2a;\n      local_5c = 0x13;\n      local_84 = *(size_t *)(FUN_00012bc0 + unaff_EBP + 2);\n      local_28 = *(int *)(unaff_EBP + 0x12c1a);\n      local_48 = 0;\n      local_4c = 0;\n      bVar29 = local_28 != 0;\n      goto LAB_00014fd0;\n    }" { (expression_statement "bVar14 = true;" (assignment_expression "bVar14 = true" identifier = true) ;) (expression_statement "uVar25 = 0x2a;" (assignment_expression "uVar25 = 0x2a" identifier = number_literal) ;) (expression_statement "local_5c = 0x13;" (assignment_expression "local_5c = 0x13" identifier = number_literal) ;) (expression_statement "local_84 = *(size_t *)(FUN_00012bc0 + unaff_EBP + 2);" (assignment_expression "local_84 = *(size_t *)(FUN_00012bc0 + unaff_EBP + 2)" identifier = (pointer_expression "*(size_t *)(FUN_00012bc0 + unaff_EBP + 2)" * (cast_expression "(size_t *)(FUN_00012bc0 + unaff_EBP + 2)" ( (type_descriptor "size_t *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(FUN_00012bc0 + unaff_EBP + 2)" ( (binary_expression "FUN_00012bc0 + unaff_EBP + 2" (binary_expression "FUN_00012bc0 + unaff_EBP" identifier + identifier) + number_literal) ))))) ;) (expression_statement "local_28 = *(int *)(unaff_EBP + 0x12c1a);" (assignment_expression "local_28 = *(int *)(unaff_EBP + 0x12c1a)" identifier = (pointer_expression "*(int *)(unaff_EBP + 0x12c1a)" * (cast_expression "(int *)(unaff_EBP + 0x12c1a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12c1a)" ( (binary_expression "unaff_EBP + 0x12c1a" identifier + number_literal) ))))) ;) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" identifier = number_literal) ;) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" identifier = number_literal) ;) (expression_statement "bVar29 = local_28 != 0;" (assignment_expression "bVar29 = local_28 != 0" identifier = (binary_expression "local_28 != 0" identifier != number_literal)) ;) (goto_statement "goto LAB_00014fd0;" goto statement_identifier ;) })) (expression_statement "pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);" (assignment_expression "pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP)" identifier = (pointer_expression "*(byte **)(&DAT_00012b6e + unaff_EBP)" * (cast_expression "(byte **)(&DAT_00012b6e + unaff_EBP)" ( (type_descriptor "byte **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&DAT_00012b6e + unaff_EBP)" ( (binary_expression "&DAT_00012b6e + unaff_EBP" (pointer_expression "&DAT_00012b6e" & identifier) + identifier) ))))) ;) }))) (if_statement "if ((pbVar10 < pbVar11) || (pbVar11 + *(int *)(unaff_EBP + 0x12b7a) < pbVar10)) {\n    iVar15 = FUN_00018750();\n    iVar15 = iVar15 + -2;\n  }\n  else {\n    iVar15 = *(int *)(unaff_EBP + 0x12b7e);\n  }" if (parenthesized_expression "((pbVar10 < pbVar11) || (pbVar11 + *(int *)(unaff_EBP + 0x12b7a) < pbVar10))" ( (binary_expression "(pbVar10 < pbVar11) || (pbVar11 + *(int *)(unaff_EBP + 0x12b7a) < pbVar10)" (parenthesized_expression "(pbVar10 < pbVar11)" ( (binary_expression "pbVar10 < pbVar11" identifier < identifier) )) || (parenthesized_expression "(pbVar11 + *(int *)(unaff_EBP + 0x12b7a) < pbVar10)" ( (binary_expression "pbVar11 + *(int *)(unaff_EBP + 0x12b7a) < pbVar10" (binary_expression "pbVar11 + *(int *)(unaff_EBP + 0x12b7a)" identifier + (pointer_expression "*(int *)(unaff_EBP + 0x12b7a)" * (cast_expression "(int *)(unaff_EBP + 0x12b7a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12b7a)" ( (binary_expression "unaff_EBP + 0x12b7a" identifier + number_literal) ))))) < identifier) ))) )) (compound_statement "{\n    iVar15 = FUN_00018750();\n    iVar15 = iVar15 + -2;\n  }" { (expression_statement "iVar15 = FUN_00018750();" (assignment_expression "iVar15 = FUN_00018750()" identifier = (call_expression "FUN_00018750()" identifier (argument_list "()" ( )))) ;) (expression_statement "iVar15 = iVar15 + -2;" (assignment_expression "iVar15 = iVar15 + -2" identifier = (binary_expression "iVar15 + -2" identifier + number_literal)) ;) }) (else_clause "else {\n    iVar15 = *(int *)(unaff_EBP + 0x12b7e);\n  }" else (compound_statement "{\n    iVar15 = *(int *)(unaff_EBP + 0x12b7e);\n  }" { (expression_statement "iVar15 = *(int *)(unaff_EBP + 0x12b7e);" (assignment_expression "iVar15 = *(int *)(unaff_EBP + 0x12b7e)" identifier = (pointer_expression "*(int *)(unaff_EBP + 0x12b7e)" * (cast_expression "(int *)(unaff_EBP + 0x12b7e)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12b7e)" ( (binary_expression "unaff_EBP + 0x12b7e" identifier + number_literal) ))))) ;) }))) (expression_statement "local_6c = (int *)(&DAT_00012b16 + unaff_EBP);" (assignment_expression "local_6c = (int *)(&DAT_00012b16 + unaff_EBP)" identifier = (cast_expression "(int *)(&DAT_00012b16 + unaff_EBP)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(&DAT_00012b16 + unaff_EBP)" ( (binary_expression "&DAT_00012b16 + unaff_EBP" (pointer_expression "&DAT_00012b16" & identifier) + identifier) )))) ;) (expression_statement "iVar26 = *local_6c;" (assignment_expression "iVar26 = *local_6c" identifier = (pointer_expression "*local_6c" * identifier)) ;) (expression_statement "*(int *)(iVar26 + 0x58) = iVar15;" (assignment_expression "*(int *)(iVar26 + 0x58) = iVar15" (pointer_expression "*(int *)(iVar26 + 0x58)" * (cast_expression "(int *)(iVar26 + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x58)" ( (binary_expression "iVar26 + 0x58" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar26 + 0x24) = 1;" (assignment_expression "*(undefined4 *)(iVar26 + 0x24) = 1" (pointer_expression "*(undefined4 *)(iVar26 + 0x24)" * (cast_expression "(undefined4 *)(iVar26 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x24)" ( (binary_expression "iVar26 + 0x24" identifier + number_literal) )))) = number_literal) ;) (if_statement "if (*(int *)(unaff_EBP + 0x12c32) != 0) {\n    *(undefined4 *)(unaff_EBP + 0x1297e) = 1;\n  }" if (parenthesized_expression "(*(int *)(unaff_EBP + 0x12c32) != 0)" ( (binary_expression "*(int *)(unaff_EBP + 0x12c32) != 0" (pointer_expression "*(int *)(unaff_EBP + 0x12c32)" * (cast_expression "(int *)(unaff_EBP + 0x12c32)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12c32)" ( (binary_expression "unaff_EBP + 0x12c32" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    *(undefined4 *)(unaff_EBP + 0x1297e) = 1;\n  }" { (expression_statement "*(undefined4 *)(unaff_EBP + 0x1297e) = 1;" (assignment_expression "*(undefined4 *)(unaff_EBP + 0x1297e) = 1" (pointer_expression "*(undefined4 *)(unaff_EBP + 0x1297e)" * (cast_expression "(undefined4 *)(unaff_EBP + 0x1297e)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1297e)" ( (binary_expression "unaff_EBP + 0x1297e" identifier + number_literal) )))) = number_literal) ;) })) (expression_statement "piVar2 = (int *)(unaff_EBP + 0x129a2);" (assignment_expression "piVar2 = (int *)(unaff_EBP + 0x129a2)" identifier = (cast_expression "(int *)(unaff_EBP + 0x129a2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129a2)" ( (binary_expression "unaff_EBP + 0x129a2" identifier + number_literal) )))) ;) (expression_statement "local_68 = (char *)0x1;" (assignment_expression "local_68 = (char *)0x1" identifier = (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar20 = (undefined1 *)*piVar2;" (assignment_expression "puVar20 = (undefined1 *)*piVar2" identifier = (cast_expression "(undefined1 *)*piVar2" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar2" * identifier))) ;) (expression_statement "pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;" (assignment_expression "pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2" identifier = (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP + 2" (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP" identifier + identifier) + number_literal)) ;) (expression_statement "*piVar2 = (int)(puVar20 + 1);" (assignment_expression "*piVar2 = (int)(puVar20 + 1)" (pointer_expression "*piVar2" * identifier) = (cast_expression "(int)(puVar20 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar20 + 1)" ( (binary_expression "puVar20 + 1" identifier + number_literal) )))) ;) (expression_statement "*puVar20 = 0x2f;" (assignment_expression "*puVar20 = 0x2f" (pointer_expression "*puVar20" * identifier) = number_literal) ;) (expression_statement "puVar20 = (undefined1 *)*piVar2;" (assignment_expression "puVar20 = (undefined1 *)*piVar2" identifier = (cast_expression "(undefined1 *)*piVar2" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar2" * identifier))) ;) (expression_statement "piVar4 = (int *)(unaff_EBP + 0x129a6);" (assignment_expression "piVar4 = (int *)(unaff_EBP + 0x129a6)" identifier = (cast_expression "(int *)(unaff_EBP + 0x129a6)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129a6)" ( (binary_expression "unaff_EBP + 0x129a6" identifier + number_literal) )))) ;) (expression_statement "*piVar2 = (int)(puVar20 + 1);" (assignment_expression "*piVar2 = (int)(puVar20 + 1)" (pointer_expression "*piVar2" * identifier) = (cast_expression "(int)(puVar20 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar20 + 1)" ( (binary_expression "puVar20 + 1" identifier + number_literal) )))) ;) (expression_statement "*puVar20 = 0x2a;" (assignment_expression "*puVar20 = 0x2a" (pointer_expression "*puVar20" * identifier) = number_literal) ;) (expression_statement "pcVar18 = (char *)*piVar1;" (assignment_expression "pcVar18 = (char *)*piVar1" identifier = (cast_expression "(char *)*piVar1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar1" * identifier))) ;) (expression_statement "cVar28 = *pcVar18;" (assignment_expression "cVar28 = *pcVar18" identifier = (pointer_expression "*pcVar18" * identifier)) ;) (do_statement "do {\n    do {\n      if (cVar28 == '\n') {\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n      }\n      pcVar27 = (char *)*piVar2;\n      iVar26 = *(int *)(unaff_EBP + 0x1299e);\n      if ((char *)(iVar26 - 1U) <= pcVar27) {\n        iVar26 = iVar26 - *piVar4;\n        iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar16;\n        pcVar27 = (char *)(iVar16 + 1 + (*piVar2 - *piVar4));\n        *(int *)(unaff_EBP + 0x1299e) = iVar16 + 0x18c + iVar26;\n        *piVar4 = iVar16 + 1;\n        pcVar18 = (char *)*piVar1;\n      }\n      *piVar1 = (int)(pcVar18 + 1);\n      *piVar2 = (int)(pcVar27 + 1);\n      *pcVar27 = *pcVar18;\n      pcVar18 = (char *)*piVar1;\n      pcVar27 = *(char **)pcVar3;\n      cVar28 = *pcVar18;\n    } while ((cVar28 != '*') && (pcVar18 < pcVar27));\n    if (pcVar27 < pcVar18) {\n      *piVar1 = (int)pcVar27;\n      cVar28 = *pcVar27;\n      pcVar18 = pcVar27;\n    }\n    if (*(int *)(unaff_EBP + 0x12bfa) == 0) {\nLAB_00014e50:\n      if (cVar28 == '*') {\nLAB_00014e59:\n        if (pcVar18[1] == '/') {\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }\n        cVar28 = '*';\n      }\n    }\n    else if (cVar28 == '*') {\n      if (pcVar18[-1] == '/') {\n        *(undefined1 *)(*piVar2 + -1) = 0x20;\n        *(undefined1 *)*piVar2 = 0x2a;\n        pcVar18 = (char *)*piVar1;\n        pcVar27 = *(char **)pcVar3;\n        cVar28 = *pcVar18;\n        goto LAB_00014e50;\n      }\n      goto LAB_00014e59;\n    }\n    if (pcVar18 == pcVar27) {\n      if (pcVar18[-1] == '\n') {\n        iVar26 = *piVar2;\n        *piVar2 = iVar26 + -1;\n        *(undefined1 *)(iVar26 + -1) = 0;\n        FUN_0001a130(1,param_1,param_2);\n        local_68 = (char *)((int)local_68 + 1);\n        *(undefined4 *)(*local_6c + 0x58) = 1;\n      }\n      FUN_00018c70();\n      if ((&DAT_00012b1e)[unaff_EBP] != '\0') {\n        puVar20 = (undefined1 *)*piVar2;\n        *piVar2 = (int)(puVar20 + 1);\n        *puVar20 = 0;\n        iVar26 = *local_6c;\n        piVar1 = (int *)(iVar26 + 0x20);\n        *piVar1 = *piVar1 + -1;\n        *(int *)(iVar26 + 0x58) = iVar15;\n        return;\n      }\n      pcVar18 = (char *)*piVar1;\n      cVar28 = *pcVar18;\n    }\n  } while( true );" do (compound_statement "{\n    do {\n      if (cVar28 == '\n') {\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n      }\n      pcVar27 = (char *)*piVar2;\n      iVar26 = *(int *)(unaff_EBP + 0x1299e);\n      if ((char *)(iVar26 - 1U) <= pcVar27) {\n        iVar26 = iVar26 - *piVar4;\n        iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar16;\n        pcVar27 = (char *)(iVar16 + 1 + (*piVar2 - *piVar4));\n        *(int *)(unaff_EBP + 0x1299e) = iVar16 + 0x18c + iVar26;\n        *piVar4 = iVar16 + 1;\n        pcVar18 = (char *)*piVar1;\n      }\n      *piVar1 = (int)(pcVar18 + 1);\n      *piVar2 = (int)(pcVar27 + 1);\n      *pcVar27 = *pcVar18;\n      pcVar18 = (char *)*piVar1;\n      pcVar27 = *(char **)pcVar3;\n      cVar28 = *pcVar18;\n    } while ((cVar28 != '*') && (pcVar18 < pcVar27));\n    if (pcVar27 < pcVar18) {\n      *piVar1 = (int)pcVar27;\n      cVar28 = *pcVar27;\n      pcVar18 = pcVar27;\n    }\n    if (*(int *)(unaff_EBP + 0x12bfa) == 0) {\nLAB_00014e50:\n      if (cVar28 == '*') {\nLAB_00014e59:\n        if (pcVar18[1] == '/') {\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }\n        cVar28 = '*';\n      }\n    }\n    else if (cVar28 == '*') {\n      if (pcVar18[-1] == '/') {\n        *(undefined1 *)(*piVar2 + -1) = 0x20;\n        *(undefined1 *)*piVar2 = 0x2a;\n        pcVar18 = (char *)*piVar1;\n        pcVar27 = *(char **)pcVar3;\n        cVar28 = *pcVar18;\n        goto LAB_00014e50;\n      }\n      goto LAB_00014e59;\n    }\n    if (pcVar18 == pcVar27) {\n      if (pcVar18[-1] == '\n') {\n        iVar26 = *piVar2;\n        *piVar2 = iVar26 + -1;\n        *(undefined1 *)(iVar26 + -1) = 0;\n        FUN_0001a130(1,param_1,param_2);\n        local_68 = (char *)((int)local_68 + 1);\n        *(undefined4 *)(*local_6c + 0x58) = 1;\n      }\n      FUN_00018c70();\n      if ((&DAT_00012b1e)[unaff_EBP] != '\0') {\n        puVar20 = (undefined1 *)*piVar2;\n        *piVar2 = (int)(puVar20 + 1);\n        *puVar20 = 0;\n        iVar26 = *local_6c;\n        piVar1 = (int *)(iVar26 + 0x20);\n        *piVar1 = *piVar1 + -1;\n        *(int *)(iVar26 + 0x58) = iVar15;\n        return;\n      }\n      pcVar18 = (char *)*piVar1;\n      cVar28 = *pcVar18;\n    }\n  }" { (do_statement "do {\n      if (cVar28 == '\n') {\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n      }\n      pcVar27 = (char *)*piVar2;\n      iVar26 = *(int *)(unaff_EBP + 0x1299e);\n      if ((char *)(iVar26 - 1U) <= pcVar27) {\n        iVar26 = iVar26 - *piVar4;\n        iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar16;\n        pcVar27 = (char *)(iVar16 + 1 + (*piVar2 - *piVar4));\n        *(int *)(unaff_EBP + 0x1299e) = iVar16 + 0x18c + iVar26;\n        *piVar4 = iVar16 + 1;\n        pcVar18 = (char *)*piVar1;\n      }\n      *piVar1 = (int)(pcVar18 + 1);\n      *piVar2 = (int)(pcVar27 + 1);\n      *pcVar27 = *pcVar18;\n      pcVar18 = (char *)*piVar1;\n      pcVar27 = *(char **)pcVar3;\n      cVar28 = *pcVar18;\n    } while ((cVar28 != '*') && (pcVar18 < pcVar27));" do (compound_statement "{\n      if (cVar28 == '\n') {\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n      }\n      pcVar27 = (char *)*piVar2;\n      iVar26 = *(int *)(unaff_EBP + 0x1299e);\n      if ((char *)(iVar26 - 1U) <= pcVar27) {\n        iVar26 = iVar26 - *piVar4;\n        iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar16;\n        pcVar27 = (char *)(iVar16 + 1 + (*piVar2 - *piVar4));\n        *(int *)(unaff_EBP + 0x1299e) = iVar16 + 0x18c + iVar26;\n        *piVar4 = iVar16 + 1;\n        pcVar18 = (char *)*piVar1;\n      }\n      *piVar1 = (int)(pcVar18 + 1);\n      *piVar2 = (int)(pcVar27 + 1);\n      *pcVar27 = *pcVar18;\n      pcVar18 = (char *)*piVar1;\n      pcVar27 = *(char **)pcVar3;\n      cVar28 = *pcVar18;\n    }" { (if_statement "if (cVar28 == '\n') {\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n      }" if (parenthesized_expression "(cVar28 == '\n')" ( (binary_expression "cVar28 == '\n'" identifier == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n      }" { (expression_statement "*(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;" (assignment_expression "*(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1" (pointer_expression "*(int *)(unaff_EBP + 0x1298a)" * (cast_expression "(int *)(unaff_EBP + 0x1298a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1298a)" ( (binary_expression "unaff_EBP + 0x1298a" identifier + number_literal) )))) = (binary_expression "*(int *)(unaff_EBP + 0x1298a) + 1" (pointer_expression "*(int *)(unaff_EBP + 0x1298a)" * (cast_expression "(int *)(unaff_EBP + 0x1298a)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1298a)" ( (binary_expression "unaff_EBP + 0x1298a" identifier + number_literal) )))) + number_literal)) ;) })) (expression_statement "pcVar27 = (char *)*piVar2;" (assignment_expression "pcVar27 = (char *)*piVar2" identifier = (cast_expression "(char *)*piVar2" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar2" * identifier))) ;) (expression_statement "iVar26 = *(int *)(unaff_EBP + 0x1299e);" (assignment_expression "iVar26 = *(int *)(unaff_EBP + 0x1299e)" identifier = (pointer_expression "*(int *)(unaff_EBP + 0x1299e)" * (cast_expression "(int *)(unaff_EBP + 0x1299e)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1299e)" ( (binary_expression "unaff_EBP + 0x1299e" identifier + number_literal) ))))) ;) (if_statement "if ((char *)(iVar26 - 1U) <= pcVar27) {\n        iVar26 = iVar26 - *piVar4;\n        iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar16;\n        pcVar27 = (char *)(iVar16 + 1 + (*piVar2 - *piVar4));\n        *(int *)(unaff_EBP + 0x1299e) = iVar16 + 0x18c + iVar26;\n        *piVar4 = iVar16 + 1;\n        pcVar18 = (char *)*piVar1;\n      }" if (parenthesized_expression "((char *)(iVar26 - 1U) <= pcVar27)" ( (binary_expression "(char *)(iVar26 - 1U) <= pcVar27" (cast_expression "(char *)(iVar26 - 1U)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 - 1U)" ( (binary_expression "iVar26 - 1U" identifier - number_literal) ))) <= identifier) )) (compound_statement "{\n        iVar26 = iVar26 - *piVar4;\n        iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar16;\n        pcVar27 = (char *)(iVar16 + 1 + (*piVar2 - *piVar4));\n        *(int *)(unaff_EBP + 0x1299e) = iVar16 + 0x18c + iVar26;\n        *piVar4 = iVar16 + 1;\n        pcVar18 = (char *)*piVar1;\n      }" { (expression_statement "iVar26 = iVar26 - *piVar4;" (assignment_expression "iVar26 = iVar26 - *piVar4" identifier = (binary_expression "iVar26 - *piVar4" identifier - (pointer_expression "*piVar4" * identifier))) ;) (expression_statement "iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191);" (assignment_expression "iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191)" identifier = (call_expression "FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191)" identifier (argument_list "(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191)" ( (pointer_expression "*(int *)(unaff_EBP + 0x129aa)" * (cast_expression "(int *)(unaff_EBP + 0x129aa)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129aa)" ( (binary_expression "unaff_EBP + 0x129aa" identifier + number_literal) )))) , (binary_expression "iVar26 + 0x191" identifier + number_literal) )))) ;) (expression_statement "*(int *)(unaff_EBP + 0x129aa) = iVar16;" (assignment_expression "*(int *)(unaff_EBP + 0x129aa) = iVar16" (pointer_expression "*(int *)(unaff_EBP + 0x129aa)" * (cast_expression "(int *)(unaff_EBP + 0x129aa)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x129aa)" ( (binary_expression "unaff_EBP + 0x129aa" identifier + number_literal) )))) = identifier) ;) (expression_statement "pcVar27 = (char *)(iVar16 + 1 + (*piVar2 - *piVar4));" (assignment_expression "pcVar27 = (char *)(iVar16 + 1 + (*piVar2 - *piVar4))" identifier = (cast_expression "(char *)(iVar16 + 1 + (*piVar2 - *piVar4))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar16 + 1 + (*piVar2 - *piVar4))" ( (binary_expression "iVar16 + 1 + (*piVar2 - *piVar4)" (binary_expression "iVar16 + 1" identifier + number_literal) + (parenthesized_expression "(*piVar2 - *piVar4)" ( (binary_expression "*piVar2 - *piVar4" (pointer_expression "*piVar2" * identifier) - (pointer_expression "*piVar4" * identifier)) ))) )))) ;) (expression_statement "*(int *)(unaff_EBP + 0x1299e) = iVar16 + 0x18c + iVar26;" (assignment_expression "*(int *)(unaff_EBP + 0x1299e) = iVar16 + 0x18c + iVar26" (pointer_expression "*(int *)(unaff_EBP + 0x1299e)" * (cast_expression "(int *)(unaff_EBP + 0x1299e)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x1299e)" ( (binary_expression "unaff_EBP + 0x1299e" identifier + number_literal) )))) = (binary_expression "iVar16 + 0x18c + iVar26" (binary_expression "iVar16 + 0x18c" identifier + number_literal) + identifier)) ;) (expression_statement "*piVar4 = iVar16 + 1;" (assignment_expression "*piVar4 = iVar16 + 1" (pointer_expression "*piVar4" * identifier) = (binary_expression "iVar16 + 1" identifier + number_literal)) ;) (expression_statement "pcVar18 = (char *)*piVar1;" (assignment_expression "pcVar18 = (char *)*piVar1" identifier = (cast_expression "(char *)*piVar1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar1" * identifier))) ;) })) (expression_statement "*piVar1 = (int)(pcVar18 + 1);" (assignment_expression "*piVar1 = (int)(pcVar18 + 1)" (pointer_expression "*piVar1" * identifier) = (cast_expression "(int)(pcVar18 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar18 + 1)" ( (binary_expression "pcVar18 + 1" identifier + number_literal) )))) ;) (expression_statement "*piVar2 = (int)(pcVar27 + 1);" (assignment_expression "*piVar2 = (int)(pcVar27 + 1)" (pointer_expression "*piVar2" * identifier) = (cast_expression "(int)(pcVar27 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar27 + 1)" ( (binary_expression "pcVar27 + 1" identifier + number_literal) )))) ;) (expression_statement "*pcVar27 = *pcVar18;" (assignment_expression "*pcVar27 = *pcVar18" (pointer_expression "*pcVar27" * identifier) = (pointer_expression "*pcVar18" * identifier)) ;) (expression_statement "pcVar18 = (char *)*piVar1;" (assignment_expression "pcVar18 = (char *)*piVar1" identifier = (cast_expression "(char *)*piVar1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar1" * identifier))) ;) (expression_statement "pcVar27 = *(char **)pcVar3;" (assignment_expression "pcVar27 = *(char **)pcVar3" identifier = (pointer_expression "*(char **)pcVar3" * (cast_expression "(char **)pcVar3" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "cVar28 = *pcVar18;" (assignment_expression "cVar28 = *pcVar18" identifier = (pointer_expression "*pcVar18" * identifier)) ;) }) while (parenthesized_expression "((cVar28 != '*') && (pcVar18 < pcVar27))" ( (binary_expression "(cVar28 != '*') && (pcVar18 < pcVar27)" (parenthesized_expression "(cVar28 != '*')" ( (binary_expression "cVar28 != '*'" identifier != (char_literal "'*'" ' character ')) )) && (parenthesized_expression "(pcVar18 < pcVar27)" ( (binary_expression "pcVar18 < pcVar27" identifier < identifier) ))) )) ;) (if_statement "if (pcVar27 < pcVar18) {\n      *piVar1 = (int)pcVar27;\n      cVar28 = *pcVar27;\n      pcVar18 = pcVar27;\n    }" if (parenthesized_expression "(pcVar27 < pcVar18)" ( (binary_expression "pcVar27 < pcVar18" identifier < identifier) )) (compound_statement "{\n      *piVar1 = (int)pcVar27;\n      cVar28 = *pcVar27;\n      pcVar18 = pcVar27;\n    }" { (expression_statement "*piVar1 = (int)pcVar27;" (assignment_expression "*piVar1 = (int)pcVar27" (pointer_expression "*piVar1" * identifier) = (cast_expression "(int)pcVar27" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "cVar28 = *pcVar27;" (assignment_expression "cVar28 = *pcVar27" identifier = (pointer_expression "*pcVar27" * identifier)) ;) (expression_statement "pcVar18 = pcVar27;" (assignment_expression "pcVar18 = pcVar27" identifier = identifier) ;) })) (if_statement "if (*(int *)(unaff_EBP + 0x12bfa) == 0) {\nLAB_00014e50:\n      if (cVar28 == '*') {\nLAB_00014e59:\n        if (pcVar18[1] == '/') {\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }\n        cVar28 = '*';\n      }\n    }\n    else if (cVar28 == '*') {\n      if (pcVar18[-1] == '/') {\n        *(undefined1 *)(*piVar2 + -1) = 0x20;\n        *(undefined1 *)*piVar2 = 0x2a;\n        pcVar18 = (char *)*piVar1;\n        pcVar27 = *(char **)pcVar3;\n        cVar28 = *pcVar18;\n        goto LAB_00014e50;\n      }\n      goto LAB_00014e59;\n    }" if (parenthesized_expression "(*(int *)(unaff_EBP + 0x12bfa) == 0)" ( (binary_expression "*(int *)(unaff_EBP + 0x12bfa) == 0" (pointer_expression "*(int *)(unaff_EBP + 0x12bfa)" * (cast_expression "(int *)(unaff_EBP + 0x12bfa)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(unaff_EBP + 0x12bfa)" ( (binary_expression "unaff_EBP + 0x12bfa" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_00014e50:\n      if (cVar28 == '*') {\nLAB_00014e59:\n        if (pcVar18[1] == '/') {\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }\n        cVar28 = '*';\n      }\n    }" { (labeled_statement "LAB_00014e50:\n      if (cVar28 == '*') {\nLAB_00014e59:\n        if (pcVar18[1] == '/') {\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }\n        cVar28 = '*';\n      }" statement_identifier : (if_statement "if (cVar28 == '*') {\nLAB_00014e59:\n        if (pcVar18[1] == '/') {\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }\n        cVar28 = '*';\n      }" if (parenthesized_expression "(cVar28 == '*')" ( (binary_expression "cVar28 == '*'" identifier == (char_literal "'*'" ' character ')) )) (compound_statement "{\nLAB_00014e59:\n        if (pcVar18[1] == '/') {\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }\n        cVar28 = '*';\n      }" { (labeled_statement "LAB_00014e59:\n        if (pcVar18[1] == '/') {\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }" statement_identifier : (if_statement "if (pcVar18[1] == '/') {\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }" if (parenthesized_expression "(pcVar18[1] == '/')" ( (binary_expression "pcVar18[1] == '/'" (subscript_expression "pcVar18[1]" identifier [ number_literal ]) == (char_literal "'/'" ' character ')) )) (compound_statement "{\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }" { (if_statement "if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }" if (parenthesized_expression "(pcVar18 == pcVar27)" ( (binary_expression "pcVar18 == pcVar27" identifier == identifier) )) (compound_statement "{\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }" { (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" identifier (argument_list "()" ( ))) ;) (expression_statement "pcVar18 = (char *)*piVar1;" (assignment_expression "pcVar18 = (char *)*piVar1" identifier = (cast_expression "(char *)*piVar1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar1" * identifier))) ;) (expression_statement "pcVar27 = *(char **)pcVar3;" (assignment_expression "pcVar27 = *(char **)pcVar3" identifier = (pointer_expression "*(char **)pcVar3" * (cast_expression "(char **)pcVar3" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) })) (expression_statement "*piVar1 = (int)(pcVar18 + 2);" (assignment_expression "*piVar1 = (int)(pcVar18 + 2)" (pointer_expression "*piVar1" * identifier) = (cast_expression "(int)(pcVar18 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pcVar18 + 2)" ( (binary_expression "pcVar18 + 2" identifier + number_literal) )))) ;) (if_statement "if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }" if (parenthesized_expression "(pcVar18 + 2 == pcVar27)" ( (binary_expression "pcVar18 + 2 == pcVar27" (binary_expression "pcVar18 + 2" identifier + number_literal) == identifier) )) (compound_statement "{\n            FUN_00018c70();\n          }" { (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar20 = (undefined1 *)*piVar2;" (assignment_expression "puVar20 = (undefined1 *)*piVar2" identifier = (cast_expression "(undefined1 *)*piVar2" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar2" * identifier))) ;) (expression_statement "*piVar2 = (int)(puVar20 + 1);" (assignment_expression "*piVar2 = (int)(puVar20 + 1)" (pointer_expression "*piVar2" * identifier) = (cast_expression "(int)(puVar20 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar20 + 1)" ( (binary_expression "puVar20 + 1" identifier + number_literal) )))) ;) (expression_statement "*puVar20 = 0x2a;" (assignment_expression "*puVar20 = 0x2a" (pointer_expression "*puVar20" * identifier) = number_literal) ;) (expression_statement "puVar20 = (undefined1 *)*piVar2;" (assignment_expression "puVar20 = (undefined1 *)*piVar2" identifier = (cast_expression "(undefined1 *)*piVar2" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar2" * identifier))) ;) (expression_statement "*piVar2 = (int)(puVar20 + 1);" (assignment_expression "*piVar2 = (int)(puVar20 + 1)" (pointer_expression "*piVar2" * identifier) = (cast_expression "(int)(puVar20 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar20 + 1)" ( (binary_expression "puVar20 + 1" identifier + number_literal) )))) ;) (expression_statement "*puVar20 = 0x2f;" (assignment_expression "*puVar20 = 0x2f" (pointer_expression "*puVar20" * identifier) = number_literal) ;) (expression_statement "*(undefined1 *)*piVar2 = 0;" (assignment_expression "*(undefined1 *)*piVar2 = 0" (pointer_expression "*(undefined1 *)*piVar2" * (cast_expression "(undefined1 *)*piVar2" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar2" * identifier))) = number_literal) ;) (expression_statement "iVar26 = *local_6c;" (assignment_expression "iVar26 = *local_6c" identifier = (pointer_expression "*local_6c" * identifier)) ;) (expression_statement "piVar1 = (int *)(iVar26 + 0x20);" (assignment_expression "piVar1 = (int *)(iVar26 + 0x20)" identifier = (cast_expression "(int *)(iVar26 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x20)" ( (binary_expression "iVar26 + 0x20" identifier + number_literal) )))) ;) (expression_statement "*piVar1 = *piVar1 + -1;" (assignment_expression "*piVar1 = *piVar1 + -1" (pointer_expression "*piVar1" * identifier) = (binary_expression "*piVar1 + -1" (pointer_expression "*piVar1" * identifier) + number_literal)) ;) (expression_statement "iVar16 = 1;" (assignment_expression "iVar16 = 1" identifier = number_literal) ;) (if_statement "if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }" if (parenthesized_expression "(local_68 == (char *)0x1)" ( (binary_expression "local_68 == (char *)0x1" identifier == (cast_expression "(char *)0x1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            iVar16 = iVar15;\n          }" { (expression_statement "iVar16 = iVar15;" (assignment_expression "iVar16 = iVar15" identifier = identifier) ;) })) (expression_statement "*(int *)(iVar26 + 0x58) = iVar16;" (assignment_expression "*(int *)(iVar26 + 0x58) = iVar16" (pointer_expression "*(int *)(iVar26 + 0x58)" * (cast_expression "(int *)(iVar26 + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x58)" ( (binary_expression "iVar26 + 0x58" identifier + number_literal) )))) = identifier) ;) (return_statement "return;" return ;) }))) (expression_statement "cVar28 = '*';" (assignment_expression "cVar28 = '*'" identifier = (char_literal "'*'" ' character ')) ;) }))) }) (else_clause "else if (cVar28 == '*') {\n      if (pcVar18[-1] == '/') {\n        *(undefined1 *)(*piVar2 + -1) = 0x20;\n        *(undefined1 *)*piVar2 = 0x2a;\n        pcVar18 = (char *)*piVar1;\n        pcVar27 = *(char **)pcVar3;\n        cVar28 = *pcVar18;\n        goto LAB_00014e50;\n      }\n      goto LAB_00014e59;\n    }" else (if_statement "if (cVar28 == '*') {\n      if (pcVar18[-1] == '/') {\n        *(undefined1 *)(*piVar2 + -1) = 0x20;\n        *(undefined1 *)*piVar2 = 0x2a;\n        pcVar18 = (char *)*piVar1;\n        pcVar27 = *(char **)pcVar3;\n        cVar28 = *pcVar18;\n        goto LAB_00014e50;\n      }\n      goto LAB_00014e59;\n    }" if (parenthesized_expression "(cVar28 == '*')" ( (binary_expression "cVar28 == '*'" identifier == (char_literal "'*'" ' character ')) )) (compound_statement "{\n      if (pcVar18[-1] == '/') {\n        *(undefined1 *)(*piVar2 + -1) = 0x20;\n        *(undefined1 *)*piVar2 = 0x2a;\n        pcVar18 = (char *)*piVar1;\n        pcVar27 = *(char **)pcVar3;\n        cVar28 = *pcVar18;\n        goto LAB_00014e50;\n      }\n      goto LAB_00014e59;\n    }" { (if_statement "if (pcVar18[-1] == '/') {\n        *(undefined1 *)(*piVar2 + -1) = 0x20;\n        *(undefined1 *)*piVar2 = 0x2a;\n        pcVar18 = (char *)*piVar1;\n        pcVar27 = *(char **)pcVar3;\n        cVar28 = *pcVar18;\n        goto LAB_00014e50;\n      }" if (parenthesized_expression "(pcVar18[-1] == '/')" ( (binary_expression "pcVar18[-1] == '/'" (subscript_expression "pcVar18[-1]" identifier [ number_literal ]) == (char_literal "'/'" ' character ')) )) (compound_statement "{\n        *(undefined1 *)(*piVar2 + -1) = 0x20;\n        *(undefined1 *)*piVar2 = 0x2a;\n        pcVar18 = (char *)*piVar1;\n        pcVar27 = *(char **)pcVar3;\n        cVar28 = *pcVar18;\n        goto LAB_00014e50;\n      }" { (expression_statement "*(undefined1 *)(*piVar2 + -1) = 0x20;" (assignment_expression "*(undefined1 *)(*piVar2 + -1) = 0x20" (pointer_expression "*(undefined1 *)(*piVar2 + -1)" * (cast_expression "(undefined1 *)(*piVar2 + -1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar2 + -1)" ( (binary_expression "*piVar2 + -1" (pointer_expression "*piVar2" * identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined1 *)*piVar2 = 0x2a;" (assignment_expression "*(undefined1 *)*piVar2 = 0x2a" (pointer_expression "*(undefined1 *)*piVar2" * (cast_expression "(undefined1 *)*piVar2" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar2" * identifier))) = number_literal) ;) (expression_statement "pcVar18 = (char *)*piVar1;" (assignment_expression "pcVar18 = (char *)*piVar1" identifier = (cast_expression "(char *)*piVar1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar1" * identifier))) ;) (expression_statement "pcVar27 = *(char **)pcVar3;" (assignment_expression "pcVar27 = *(char **)pcVar3" identifier = (pointer_expression "*(char **)pcVar3" * (cast_expression "(char **)pcVar3" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "cVar28 = *pcVar18;" (assignment_expression "cVar28 = *pcVar18" identifier = (pointer_expression "*pcVar18" * identifier)) ;) (goto_statement "goto LAB_00014e50;" goto statement_identifier ;) })) (goto_statement "goto LAB_00014e59;" goto statement_identifier ;) })))) (if_statement "if (pcVar18 == pcVar27) {\n      if (pcVar18[-1] == '\n') {\n        iVar26 = *piVar2;\n        *piVar2 = iVar26 + -1;\n        *(undefined1 *)(iVar26 + -1) = 0;\n        FUN_0001a130(1,param_1,param_2);\n        local_68 = (char *)((int)local_68 + 1);\n        *(undefined4 *)(*local_6c + 0x58) = 1;\n      }\n      FUN_00018c70();\n      if ((&DAT_00012b1e)[unaff_EBP] != '\0') {\n        puVar20 = (undefined1 *)*piVar2;\n        *piVar2 = (int)(puVar20 + 1);\n        *puVar20 = 0;\n        iVar26 = *local_6c;\n        piVar1 = (int *)(iVar26 + 0x20);\n        *piVar1 = *piVar1 + -1;\n        *(int *)(iVar26 + 0x58) = iVar15;\n        return;\n      }\n      pcVar18 = (char *)*piVar1;\n      cVar28 = *pcVar18;\n    }" if (parenthesized_expression "(pcVar18 == pcVar27)" ( (binary_expression "pcVar18 == pcVar27" identifier == identifier) )) (compound_statement "{\n      if (pcVar18[-1] == '\n') {\n        iVar26 = *piVar2;\n        *piVar2 = iVar26 + -1;\n        *(undefined1 *)(iVar26 + -1) = 0;\n        FUN_0001a130(1,param_1,param_2);\n        local_68 = (char *)((int)local_68 + 1);\n        *(undefined4 *)(*local_6c + 0x58) = 1;\n      }\n      FUN_00018c70();\n      if ((&DAT_00012b1e)[unaff_EBP] != '\0') {\n        puVar20 = (undefined1 *)*piVar2;\n        *piVar2 = (int)(puVar20 + 1);\n        *puVar20 = 0;\n        iVar26 = *local_6c;\n        piVar1 = (int *)(iVar26 + 0x20);\n        *piVar1 = *piVar1 + -1;\n        *(int *)(iVar26 + 0x58) = iVar15;\n        return;\n      }\n      pcVar18 = (char *)*piVar1;\n      cVar28 = *pcVar18;\n    }" { (if_statement "if (pcVar18[-1] == '\n') {\n        iVar26 = *piVar2;\n        *piVar2 = iVar26 + -1;\n        *(undefined1 *)(iVar26 + -1) = 0;\n        FUN_0001a130(1,param_1,param_2);\n        local_68 = (char *)((int)local_68 + 1);\n        *(undefined4 *)(*local_6c + 0x58) = 1;\n      }" if (parenthesized_expression "(pcVar18[-1] == '\n')" ( (binary_expression "pcVar18[-1] == '\n'" (subscript_expression "pcVar18[-1]" identifier [ number_literal ]) == (char_literal "'\n'" ' escape_sequence ')) )) (compound_statement "{\n        iVar26 = *piVar2;\n        *piVar2 = iVar26 + -1;\n        *(undefined1 *)(iVar26 + -1) = 0;\n        FUN_0001a130(1,param_1,param_2);\n        local_68 = (char *)((int)local_68 + 1);\n        *(undefined4 *)(*local_6c + 0x58) = 1;\n      }" { (expression_statement "iVar26 = *piVar2;" (assignment_expression "iVar26 = *piVar2" identifier = (pointer_expression "*piVar2" * identifier)) ;) (expression_statement "*piVar2 = iVar26 + -1;" (assignment_expression "*piVar2 = iVar26 + -1" (pointer_expression "*piVar2" * identifier) = (binary_expression "iVar26 + -1" identifier + number_literal)) ;) (expression_statement "*(undefined1 *)(iVar26 + -1) = 0;" (assignment_expression "*(undefined1 *)(iVar26 + -1) = 0" (pointer_expression "*(undefined1 *)(iVar26 + -1)" * (cast_expression "(undefined1 *)(iVar26 + -1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + -1)" ( (binary_expression "iVar26 + -1" identifier + number_literal) )))) = number_literal) ;) (expression_statement "FUN_0001a130(1,param_1,param_2);" (call_expression "FUN_0001a130(1,param_1,param_2)" identifier (argument_list "(1,param_1,param_2)" ( number_literal , identifier , identifier ))) ;) (expression_statement "local_68 = (char *)((int)local_68 + 1);" (assignment_expression "local_68 = (char *)((int)local_68 + 1)" identifier = (cast_expression "(char *)((int)local_68 + 1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)local_68 + 1)" ( (binary_expression "(int)local_68 + 1" (cast_expression "(int)local_68" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) ;) (expression_statement "*(undefined4 *)(*local_6c + 0x58) = 1;" (assignment_expression "*(undefined4 *)(*local_6c + 0x58) = 1" (pointer_expression "*(undefined4 *)(*local_6c + 0x58)" * (cast_expression "(undefined4 *)(*local_6c + 0x58)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*local_6c + 0x58)" ( (binary_expression "*local_6c + 0x58" (pointer_expression "*local_6c" * identifier) + number_literal) )))) = number_literal) ;) })) (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" identifier (argument_list "()" ( ))) ;) (if_statement "if ((&DAT_00012b1e)[unaff_EBP] != '\0') {\n        puVar20 = (undefined1 *)*piVar2;\n        *piVar2 = (int)(puVar20 + 1);\n        *puVar20 = 0;\n        iVar26 = *local_6c;\n        piVar1 = (int *)(iVar26 + 0x20);\n        *piVar1 = *piVar1 + -1;\n        *(int *)(iVar26 + 0x58) = iVar15;\n        return;\n      }" if (parenthesized_expression "((&DAT_00012b1e)[unaff_EBP] != '\0')" ( (binary_expression "(&DAT_00012b1e)[unaff_EBP] != '\0'" (subscript_expression "(&DAT_00012b1e)[unaff_EBP]" (parenthesized_expression "(&DAT_00012b1e)" ( (pointer_expression "&DAT_00012b1e" & identifier) )) [ identifier ]) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        puVar20 = (undefined1 *)*piVar2;\n        *piVar2 = (int)(puVar20 + 1);\n        *puVar20 = 0;\n        iVar26 = *local_6c;\n        piVar1 = (int *)(iVar26 + 0x20);\n        *piVar1 = *piVar1 + -1;\n        *(int *)(iVar26 + 0x58) = iVar15;\n        return;\n      }" { (expression_statement "puVar20 = (undefined1 *)*piVar2;" (assignment_expression "puVar20 = (undefined1 *)*piVar2" identifier = (cast_expression "(undefined1 *)*piVar2" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar2" * identifier))) ;) (expression_statement "*piVar2 = (int)(puVar20 + 1);" (assignment_expression "*piVar2 = (int)(puVar20 + 1)" (pointer_expression "*piVar2" * identifier) = (cast_expression "(int)(puVar20 + 1)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar20 + 1)" ( (binary_expression "puVar20 + 1" identifier + number_literal) )))) ;) (expression_statement "*puVar20 = 0;" (assignment_expression "*puVar20 = 0" (pointer_expression "*puVar20" * identifier) = number_literal) ;) (expression_statement "iVar26 = *local_6c;" (assignment_expression "iVar26 = *local_6c" identifier = (pointer_expression "*local_6c" * identifier)) ;) (expression_statement "piVar1 = (int *)(iVar26 + 0x20);" (assignment_expression "piVar1 = (int *)(iVar26 + 0x20)" identifier = (cast_expression "(int *)(iVar26 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x20)" ( (binary_expression "iVar26 + 0x20" identifier + number_literal) )))) ;) (expression_statement "*piVar1 = *piVar1 + -1;" (assignment_expression "*piVar1 = *piVar1 + -1" (pointer_expression "*piVar1" * identifier) = (binary_expression "*piVar1 + -1" (pointer_expression "*piVar1" * identifier) + number_literal)) ;) (expression_statement "*(int *)(iVar26 + 0x58) = iVar15;" (assignment_expression "*(int *)(iVar26 + 0x58) = iVar15" (pointer_expression "*(int *)(iVar26 + 0x58)" * (cast_expression "(int *)(iVar26 + 0x58)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar26 + 0x58)" ( (binary_expression "iVar26 + 0x58" identifier + number_literal) )))) = identifier) ;) (return_statement "return;" return ;) })) (expression_statement "pcVar18 = (char *)*piVar1;" (assignment_expression "pcVar18 = (char *)*piVar1" identifier = (cast_expression "(char *)*piVar1" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar1" * identifier))) ;) (expression_statement "cVar28 = *pcVar18;" (assignment_expression "cVar28 = *pcVar18" identifier = (pointer_expression "*pcVar18" * identifier)) ;) })) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * 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 (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE 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 (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * 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 IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) && (parenthesized_expression ( (binary_expression (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) ))))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (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 ( (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) && (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 = BOOL) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) }))) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (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 (pointer_expression * IDENT) + LIT) )))) == LIT) )) (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) ))))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression * IDENT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) && (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 = (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) % (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) )) + IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) }))) })) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (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 = BOOL) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) }))))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) <= IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (while_statement while (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + IDENT)) , (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence '))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * 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) )))) , (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) - (pointer_expression * IDENT)) ))) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) + (parenthesized_expression ( (binary_expression IDENT - IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (char_literal ' escape_sequence '))) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) (return_statement return ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) & IDENT) )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) <= (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) && (parenthesized_expression ( (binary_expression IDENT < IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) & IDENT) )))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) , (binary_expression IDENT == (binary_expression IDENT + LIT))) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) , (binary_expression (pointer_expression * IDENT) == (char_literal ' character '))) ))) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' character ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) <= IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) && (parenthesized_expression ( (comma_expression (assignment_expression (pointer_expression * IDENT) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) <= (binary_expression IDENT + LIT))) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' character ')) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (char_literal ' escape_sequence '))) ;) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT || (binary_expression (call_expression IDENT (argument_list ( IDENT , (char_literal ' escape_sequence ') ))) != (binary_expression IDENT < (char_literal ' escape_sequence ')))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT < IDENT)) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' character ')) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (binary_expression IDENT + LIT)) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = BOOL) , (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' character '))) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' character ')) ;) })) (goto_statement goto statement_identifier ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' character ')) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) )) - IDENT) )) + LIT) )) % (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) ))) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) + (parenthesized_expression ( (binary_expression IDENT - (pointer_expression * 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) )))) , IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) - (pointer_expression * IDENT)) ))) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression IDENT + LIT) + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' character ')) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) })) }))) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) ))))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;))) (goto_statement goto statement_identifier ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (char_literal ' character ')) )) || (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' character ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' character ')) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' character ')) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( IDENT ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (goto_statement goto statement_identifier ;) })))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' character ')) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' character ')) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * 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) )))) , (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) + LIT) , IDENT , IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) - (pointer_expression * IDENT)) ))) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (binary_expression IDENT + LIT) + (parenthesized_expression ( (binary_expression IDENT - IDENT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression (pointer_expression * IDENT) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' character ')) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) <= IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * IDENT) + LIT) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) + IDENT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - IDENT) )) + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_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 (pointer_expression * IDENT) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT != LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT <= IDENT) || (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) )) || (parenthesized_expression ( (unary_expression ! IDENT) ))) )) (goto_statement goto statement_identifier ;))) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) - LIT) )))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT - IDENT) ))) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT & IDENT) )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) ))))) ;) (do_statement do (compound_statement { (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) )))) )) && (parenthesized_expression ( (binary_expression IDENT != (char_literal ' character ')) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) }) while (parenthesized_expression ( BOOL )) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) = LIT) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) & IDENT) )))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( IDENT )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) })))) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) )))) <= IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression & IDENT) + IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence ')) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - IDENT) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) + (parenthesized_expression ( (binary_expression IDENT - (pointer_expression * 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) )))) , IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) + (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) - (pointer_expression * IDENT)) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression IDENT + LIT) + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) || (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' character ')) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (unary_expression - IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (unary_expression - IDENT)) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) + (parenthesized_expression ( (binary_expression IDENT - (pointer_expression * 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) )))) , IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) - (pointer_expression * IDENT)) ))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression IDENT + LIT) + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) || (binary_expression IDENT == LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))) + LIT) )))) == LIT) || (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 = BOOL) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT != LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) ))))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) || (parenthesized_expression ( (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) < IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (do_statement do (compound_statement { (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT - LIT) ))) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (pointer_expression * 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) )))) , (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) - (pointer_expression * IDENT)) ))) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression IDENT + LIT) + IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * 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 * IDENT)) ;) }) while (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (char_literal ' character ')) )) && (parenthesized_expression ( (binary_expression IDENT < IDENT) ))) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (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 { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' character ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) == IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (return_statement return ;) }))) (expression_statement (assignment_expression IDENT = (char_literal ' character ')) ;) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' character ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * 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 * IDENT)) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) = LIT) ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ]) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) })) }) while (parenthesized_expression ( BOOL )) ;) })))
(function_definition "void FUN_00014c50(undefined4 *param_1,undefined4 param_2)\n\n{\n  int *piVar1;\n  int *piVar2;\n  code *pcVar3;\n  int *piVar4;\n  uint *puVar5;\n  uint *puVar6;\n  undefined4 *puVar7;\n  int *piVar8;\n  byte bVar9;\n  byte *pbVar10;\n  byte *pbVar11;\n  char cVar12;\n  bool bVar13;\n  bool bVar14;\n  int iVar15;\n  int iVar16;\n  undefined4 uVar17;\n  char *pcVar18;\n  char *pcVar19;\n  undefined1 *puVar20;\n  uint uVar21;\n  int iVar22;\n  int iVar23;\n  uint uVar24;\n  undefined1 uVar25;\n  int iVar26;\n  char *pcVar27;\n  char cVar28;\n  void *__dest;\n  int unaff_EBP;\n  bool bVar29;\n  bool bVar30;\n  size_t local_84;\n  int local_80;\n  char *local_78;\n  int local_74;\n  int local_70;\n  int *local_6c;\n  char *local_68;\n  char *local_64;\n  int local_60;\n  int local_5c;\n  int local_54;\n  int local_4c;\n  uint local_48;\n  size_t local_40;\n  int local_28;\n  \n  FUN_00013b71();\n  FUN_00017e00();\n  if (*(char *)(*(int *)(unaff_EBP + 0x12caa) + 1) == '/') {\n    local_4c = unaff_EBP + 0xc5c8;\n    bVar14 = false;\n    bVar29 = false;\n    local_5c = 0x14;\n    local_48 = 3;\n    local_28 = 0;\n    local_84 = 0;\n    uVar25 = 0x2f;\nLAB_00014fd0:\n    local_6c = (int *)(&DAT_00012b16 + unaff_EBP);\n    piVar1 = (int *)(unaff_EBP + 0x12b52);\n    iVar15 = *piVar1;\n    local_60 = *(int *)(unaff_EBP + 0x12c46);\n    iVar16 = FUN_00018750();\n    iVar26 = *(int *)(unaff_EBP + 0x129c6);\n    if ((iVar26 == *(int *)(unaff_EBP + 0x129c2)) &&\n       (*(int *)(unaff_EBP + 0x129b6) == *(int *)(unaff_EBP + 0x129b2))) {\n      iVar26 = *local_6c;\n      if ((*(int *)(iVar26 + 0x54) == 0) || (*(int *)(unaff_EBP + 0x12c02) != 0)) {\n        local_74 = *(int *)(unaff_EBP + 0x12bfe);\n        if ((*(int *)(iVar26 + 0x74) < 1) &&\n           ((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))))) {\n          bVar13 = true;\n          local_80 = iVar16;\n          local_70 = iVar16 + -2;\n        }\n        else {\n          local_70 = FUN_00019aa0(*param_1);\n          local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);\n          if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }\n        }\n      }\n      else {\n        local_80 = 3;\n        bVar13 = true;\n        local_70 = 1;\n        local_74 = 0;\n      }\n    }\n    else {\n      if (*(int *)(*local_6c + 0x60) == 0) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0) {\n          local_70 = *(int *)(unaff_EBP + 0x12c7a);\n        }\n        else {\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }\n      }\n      else {\n        local_70 = *(int *)(unaff_EBP + 0x12c6e);\n      }\n      iVar23 = *(int *)(unaff_EBP + 0x129b6);\n      if (iVar23 == *(int *)(unaff_EBP + 0x129b2)) {\n        uVar17 = FUN_00019bf0();\n      }\n      else {\n        uVar17 = FUN_00019aa0(*param_1);\n        iVar26 = iVar23;\n      }\n      iVar26 = FUN_00019b60(uVar17,iVar26,0);\n      if (local_70 <= iVar26) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0) {\n          local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;\n        }\n        else {\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }\n      }\n      bVar13 = false;\n      bVar29 = false;\n      local_74 = *(int *)(unaff_EBP + 0x12bfe);\n      iVar26 = *local_6c;\n      local_80 = local_70 + 2;\n    }\n    if (local_4c == 0) {\n      if (local_84 == 0) {\n        local_4c = unaff_EBP + 0xc5d0;\n        bVar14 = true;\n        local_48 = 3;\n      }\n      else {\n        local_4c = unaff_EBP + 0xc5cc;\n        bVar14 = false;\n        local_48 = 3;\n      }\n    }\n    *(undefined4 *)(iVar26 + 0x24) = 0;\n    *(int *)(iVar26 + 0x58) = local_70;\n    puVar5 = (uint *)(unaff_EBP + 0x129a2);\n    puVar20 = (undefined1 *)*puVar5;\n    *puVar5 = (uint)(puVar20 + 1);\n    *puVar20 = 0x2f;\n    puVar20 = (undefined1 *)*puVar5;\n    *puVar5 = (uint)(puVar20 + 1);\n    *puVar20 = uVar25;\n    if (bVar29) {\n      puVar7 = (undefined4 *)(&DAT_00012b26 + unaff_EBP);\n      uVar17 = *puVar7;\n      *(undefined1 *)*puVar5 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      pcVar18 = (char *)FUN_00018720(uVar17);\n      if (*pcVar18 == '\n') {\n        pcVar18 = pcVar18 + 1;\n        *puVar7 = pcVar18;\n      }\n      else if (local_74 == 0) {\n        pcVar18 = (char *)*puVar7;\n      }\n      else {\n        *puVar7 = pcVar18;\n      }\n      if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n        FUN_00018c70();\n      }\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n      goto LAB_0001543c;\n    }\n    if (local_74 == 0) {\n      local_40 = 0;\n      local_54 = 0;\n      local_78 = (char *)0x0;\n    }\n    else {\n      puVar20 = (undefined1 *)*puVar5;\n      *puVar5 = (uint)(puVar20 + 1);\n      *puVar20 = 0x20;\n      local_80 = local_70 + 3;\n      FUN_00018e10();\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n    }\n    while (local_68 = &DAT_00012b1e + unaff_EBP, *local_68 == '\0') {\n      piVar2 = (int *)(unaff_EBP + 0x1299e);\n      puVar6 = (uint *)(&DAT_00012b26 + unaff_EBP);\n      local_64 = (char *)0x0;\n      piVar4 = (int *)(unaff_EBP + 0x129a6);\nLAB_00015228:\n      pcVar27 = local_78;\n      iVar26 = *piVar2;\n      pcVar18 = (char *)*puVar5;\n      if ((char *)(iVar26 + -1) <= pcVar18) {\n        iVar23 = *piVar4;\n        iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar22;\n        pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar4));\n        *puVar5 = (uint)pcVar18;\n        iVar26 = iVar22 + 0x18c + (iVar26 - iVar23);\n        *piVar4 = iVar22 + 1;\n        pcVar19 = (char *)*puVar6;\n        *piVar2 = iVar26;\n        cVar28 = *pcVar19;\n        cVar12 = cVar28 + -10;\n        bVar29 = cVar12 == '\0';\n        if (!bVar29) goto LAB_0001524d;\nLAB_0001531c:\n        if (local_5c == 0x14) {\nLAB_00015c4a:\n          iVar15 = *local_6c;\n          *(int *)(iVar15 + 0x58) = local_70;\n          *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n          *(int *)(iVar15 + 0x24) = local_54;\n          *pcVar18 = '\0';\n          return;\n        }\n        if (local_74 == 0) {\n          local_78 = (char *)0x0;\n          bVar29 = false;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        *puVar6 = (uint)(pcVar19 + 1);\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;\n        if (*(char **)pcVar3 <= pcVar19 + 1) {\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar5;\n        }\n        if ((local_78 < local_64) && (local_64 < pcVar18)) {\n          *puVar5 = (uint)local_64;\n        }\n        FUN_00018e10();\n        if (*(char *)*puVar6 == '\n') {\n          local_78 = (char *)0x0;\n          bVar29 = true;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        if (local_78 == (char *)0x0) {\n          bVar29 = true;\n          bVar30 = bVar14;\n          goto LAB_00015630;\n        }\n        if ((((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')) && (pcVar18[1] != '/')) {\n          pcVar18 = pcVar18 + 1;\n          *puVar6 = (uint)pcVar18;\n          if (*(char **)pcVar3 <= pcVar18) {\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }\n          if ((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))\n          {\n            FUN_00018c70();\n          }\n        }\n        pcVar18 = (char *)*puVar5;\n        if (pcVar18[-1] != ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n          local_64 = pcVar18;\n        }\n        goto LAB_0001521b;\n      }\n      pcVar19 = (char *)*puVar6;\n      cVar28 = *pcVar19;\n      cVar12 = cVar28 + -10;\n      bVar29 = cVar28 == '\n';\n      if (bVar29) goto LAB_0001531c;\nLAB_0001524d:\n      if (bVar29 || SBORROW1(cVar28,'\n') != cVar12 < '\0') {\n        if (cVar28 != '\t') goto LAB_000151b8;\nLAB_0001525c:\n        if (((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)) {\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }\n        if (cVar28 == ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n        }\n        else {\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }\nLAB_000151f8:\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)) {\n          FUN_00018c70();\n        }\nLAB_0001521b:\n        if (*local_68 != '\0') goto LAB_000159db;\n        goto LAB_00015228;\n      }\n      if (cVar28 == ' ') goto LAB_0001525c;\n      if ((cVar28 != '*') || (local_5c != 0x13)) goto LAB_000151b8;\n      if (pcVar19[1] == '/') {\n        if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }\n          if ((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')) {\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }\n        }\nLAB_00015cc8:\n        if ((char *)(iVar26 + -3) <= pcVar18) {\n          piVar1 = (int *)(unaff_EBP + 0x129a6);\n          iVar15 = *piVar1;\n          iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);\n          *(int *)(unaff_EBP + 0x129aa) = iVar16;\n          pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));\n          *piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);\n          *piVar1 = iVar16 + 1;\n        }\n        *puVar5 = (uint)(pcVar18 + 1);\n        *pcVar18 = '*';\n        puVar20 = (undefined1 *)*puVar5;\n        *puVar5 = (uint)(puVar20 + 1);\n        *puVar20 = 0x2f;\n        *(undefined1 *)*puVar5 = 0;\n        uVar24 = *puVar6;\n        *puVar6 = uVar24 + 2;\n        uVar24 = FUN_00018720(uVar24 + 2);\n        *puVar6 = uVar24;\n        if (*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= uVar24) {\n          FUN_00018c70();\n        }\n        iVar15 = *local_6c;\n        *(int *)(iVar15 + 0x58) = local_70;\n        *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n        *(int *)(iVar15 + 0x24) = local_54;\n        return;\n      }\n      if (*piVar1 + -1 == iVar15) {\n        piVar8 = (int *)(unaff_EBP + 0x129a6);\n        if (pcVar18 != (undefined1 *)*piVar8 + local_48) goto LAB_000151b8;\n        *(undefined1 *)*piVar8 = 0x20;\n        local_80 = (local_80 - local_48) + 2;\n        local_48 = 1;\n        local_4c = unaff_EBP + 0xc5d2;\n        *(undefined1 *)(*piVar8 + 1) = 0x2a;\n        local_78 = (char *)(*piVar8 + 2);\n        local_28 = 0;\n        *puVar5 = (uint)local_78;\n        local_54 = 1;\n        goto LAB_00015589;\n      }\nLAB_000151b8:\n      local_80 = local_80 + 1;\n      *puVar5 = (uint)(pcVar18 + 1);\n      *pcVar18 = *pcVar19;\n      bVar29 = local_74 != 0;\n      local_78 = pcVar18;\nLAB_000151d8:\n      if ((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar29)) goto LAB_000151f8;\n      if (local_64 < (char *)(*puVar5 - 1)) {\n        *local_64 = '\0';\n        uVar24 = *puVar5;\n        *puVar5 = (uint)local_64;\n        local_40 = uVar24 - (int)(local_64 + 1);\n        iVar26 = local_80 - local_40;\n        if ((int)(local_80 - local_40) <= local_60) {\n          iVar26 = local_60;\n        }\n        bVar30 = local_78 == (char *)0x0;\n        bVar29 = false;\n        local_78 = local_64 + 1;\n        local_60 = iVar26;\n        bVar30 = (bool)(bVar30 & bVar14);\n        goto LAB_00015630;\n      }\n      pcVar18 = (char *)*puVar6;\n      if (local_5c != 0x14) {\n        do {\n          pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2);\n          do {\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          } while (pcVar18 < pcVar27);\nLAB_00015b63:\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar6;\n        } while( true );\n      }\n      iVar26 = FUN_00018720(pcVar18);\n      *puVar6 = iVar26 - 1;\n      if (*(char *)(iVar26 + -1) == '\n') {\n        pcVar18 = (char *)*puVar5;\n        goto LAB_00015c4a;\n      }\nLAB_00015d49:\n      *(undefined1 *)*puVar5 = 0;\nLAB_000159db:\n      pcVar18 = local_78;\n      local_78 = (char *)0x0;\n      bVar29 = false;\n      bVar30 = (bool)(pcVar18 == (char *)0x0 & bVar14);\nLAB_00015630:\n      if ((bVar30) && (*piVar1 != iVar15)) {\n        puVar20 = *(undefined1 **)(unaff_EBP + 0x129a6);\n        *puVar5 = (uint)puVar20;\n      }\n      else {\n        puVar20 = (undefined1 *)*puVar5;\n      }\n      *puVar20 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      *(undefined4 *)(unaff_EBP + 0x1297e) = 0;\n      if (!bVar29) {\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n          FUN_00018c70();\n        }\n      }\nLAB_0001543c:\n      local_68 = &DAT_00012b1e + unaff_EBP;\n      if (*local_68 != '\0') break;\n      local_80 = local_70;\n      if (local_48 != 0) {\n        uVar24 = *puVar5;\n        iVar26 = *(int *)(unaff_EBP + 0x1299e);\n        if (iVar26 - local_48 <= uVar24) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_48 + 400 + (iVar26 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          uVar24 = iVar23 + 1 + (*puVar5 - *piVar2);\n          *puVar5 = uVar24;\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *piVar2 = iVar23 + 1;\n        }\n        if (local_48 != 0) {\n          uVar21 = 0;\n          do {\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          } while (uVar21 < local_48);\n        }\n        *puVar5 = *puVar5 + local_48;\n        local_80 = local_70 + local_48;\n      }\n      if (local_78 == (char *)0x0) {\n        FUN_00018e10();\n      }\n      else {\n        if ((*local_78 == ' ') || (*local_78 == '\t')) {\n          if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }\n        }\n        else {\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }\nLAB_000158f3:\n        __dest = (void *)*puVar5;\n        iVar23 = *(int *)(unaff_EBP + 0x1299e);\n        if ((void *)(iVar26 + iVar23) <= __dest) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_40 + 400 + (iVar23 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          __dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *puVar5 = (uint)__dest;\n          *piVar2 = iVar23 + 1;\n        }\n        memmove(__dest,local_78,local_84);\n        local_78 = (char *)*puVar5;\n        *puVar5 = (uint)(local_78 + local_84);\n        local_40 = 0;\n      }\n    }\n    iVar15 = *local_6c;\n    *(int *)(iVar15 + 0x58) = local_70;\n    *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n    *(int *)(iVar15 + 0x24) = local_54;\n    return;\n  }\n  piVar1 = (int *)(&DAT_00012b26 + unaff_EBP);\n  pbVar10 = (byte *)*piVar1;\n  bVar9 = *pbVar10;\n  if (bVar9 == 0x2a || bVar9 == 0x5f) {\n    pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);\n  }\n  else {\n    if (((bVar9 & 0xef) != 0x2d) &&\n       ((*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0 ||\n        (*(int *)(unaff_EBP + 0x12c02) != 0)))) {\n      bVar14 = true;\n      uVar25 = 0x2a;\n      local_5c = 0x13;\n      local_84 = *(size_t *)(FUN_00012bc0 + unaff_EBP + 2);\n      local_28 = *(int *)(unaff_EBP + 0x12c1a);\n      local_48 = 0;\n      local_4c = 0;\n      bVar29 = local_28 != 0;\n      goto LAB_00014fd0;\n    }\n    pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);\n  }\n  if ((pbVar10 < pbVar11) || (pbVar11 + *(int *)(unaff_EBP + 0x12b7a) < pbVar10)) {\n    iVar15 = FUN_00018750();\n    iVar15 = iVar15 + -2;\n  }\n  else {\n    iVar15 = *(int *)(unaff_EBP + 0x12b7e);\n  }\n  local_6c = (int *)(&DAT_00012b16 + unaff_EBP);\n  iVar26 = *local_6c;\n  *(int *)(iVar26 + 0x58) = iVar15;\n  *(undefined4 *)(iVar26 + 0x24) = 1;\n  if (*(int *)(unaff_EBP + 0x12c32) != 0) {\n    *(undefined4 *)(unaff_EBP + 0x1297e) = 1;\n  }\n  piVar2 = (int *)(unaff_EBP + 0x129a2);\n  local_68 = (char *)0x1;\n  puVar20 = (undefined1 *)*piVar2;\n  pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;\n  *piVar2 = (int)(puVar20 + 1);\n  *puVar20 = 0x2f;\n  puVar20 = (undefined1 *)*piVar2;\n  piVar4 = (int *)(unaff_EBP + 0x129a6);\n  *piVar2 = (int)(puVar20 + 1);\n  *puVar20 = 0x2a;\n  pcVar18 = (char *)*piVar1;\n  cVar28 = *pcVar18;\n  do {\n    do {\n      if (cVar28 == '\n') {\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n      }\n      pcVar27 = (char *)*piVar2;\n      iVar26 = *(int *)(unaff_EBP + 0x1299e);\n      if ((char *)(iVar26 - 1U) <= pcVar27) {\n        iVar26 = iVar26 - *piVar4;\n        iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar16;\n        pcVar27 = (char *)(iVar16 + 1 + (*piVar2 - *piVar4));\n        *(int *)(unaff_EBP + 0x1299e) = iVar16 + 0x18c + iVar26;\n        *piVar4 = iVar16 + 1;\n        pcVar18 = (char *)*piVar1;\n      }\n      *piVar1 = (int)(pcVar18 + 1);\n      *piVar2 = (int)(pcVar27 + 1);\n      *pcVar27 = *pcVar18;\n      pcVar18 = (char *)*piVar1;\n      pcVar27 = *(char **)pcVar3;\n      cVar28 = *pcVar18;\n    } while ((cVar28 != '*') && (pcVar18 < pcVar27));\n    if (pcVar27 < pcVar18) {\n      *piVar1 = (int)pcVar27;\n      cVar28 = *pcVar27;\n      pcVar18 = pcVar27;\n    }\n    if (*(int *)(unaff_EBP + 0x12bfa) == 0) {\nLAB_00014e50:\n      if (cVar28 == '*') {\nLAB_00014e59:\n        if (pcVar18[1] == '/') {\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }\n        cVar28 = '*';\n      }\n    }\n    else if (cVar28 == '*') {\n      if (pcVar18[-1] == '/') {\n        *(undefined1 *)(*piVar2 + -1) = 0x20;\n        *(undefined1 *)*piVar2 = 0x2a;\n        pcVar18 = (char *)*piVar1;\n        pcVar27 = *(char **)pcVar3;\n        cVar28 = *pcVar18;\n        goto LAB_00014e50;\n      }\n      goto LAB_00014e59;\n    }\n    if (pcVar18 == pcVar27) {\n      if (pcVar18[-1] == '\n') {\n        iVar26 = *piVar2;\n        *piVar2 = iVar26 + -1;\n        *(undefined1 *)(iVar26 + -1) = 0;\n        FUN_0001a130(1,param_1,param_2);\n        local_68 = (char *)((int)local_68 + 1);\n        *(undefined4 *)(*local_6c + 0x58) = 1;\n      }\n      FUN_00018c70();\n      if ((&DAT_00012b1e)[unaff_EBP] != '\0') {\n        puVar20 = (undefined1 *)*piVar2;\n        *piVar2 = (int)(puVar20 + 1);\n        *puVar20 = 0;\n        iVar26 = *local_6c;\n        piVar1 = (int *)(iVar26 + 0x20);\n        *piVar1 = *piVar1 + -1;\n        *(int *)(iVar26 + 0x58) = iVar15;\n        return;\n      }\n      pcVar18 = (char *)*piVar1;\n      cVar28 = *pcVar18;\n    }\n  } while( true );\n}" (primitive_type "void") (function_declarator "FUN_00014c50(undefined4 *param_1,undefined4 param_2)" (identifier "FUN_00014c50") (parameter_list "(undefined4 *param_1,undefined4 param_2)" (( "(") (parameter_declaration "undefined4 *param_1" (type_identifier "undefined4") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) () ")"))) (compound_statement "{\n  int *piVar1;\n  int *piVar2;\n  code *pcVar3;\n  int *piVar4;\n  uint *puVar5;\n  uint *puVar6;\n  undefined4 *puVar7;\n  int *piVar8;\n  byte bVar9;\n  byte *pbVar10;\n  byte *pbVar11;\n  char cVar12;\n  bool bVar13;\n  bool bVar14;\n  int iVar15;\n  int iVar16;\n  undefined4 uVar17;\n  char *pcVar18;\n  char *pcVar19;\n  undefined1 *puVar20;\n  uint uVar21;\n  int iVar22;\n  int iVar23;\n  uint uVar24;\n  undefined1 uVar25;\n  int iVar26;\n  char *pcVar27;\n  char cVar28;\n  void *__dest;\n  int unaff_EBP;\n  bool bVar29;\n  bool bVar30;\n  size_t local_84;\n  int local_80;\n  char *local_78;\n  int local_74;\n  int local_70;\n  int *local_6c;\n  char *local_68;\n  char *local_64;\n  int local_60;\n  int local_5c;\n  int local_54;\n  int local_4c;\n  uint local_48;\n  size_t local_40;\n  int local_28;\n  \n  FUN_00013b71();\n  FUN_00017e00();\n  if (*(char *)(*(int *)(unaff_EBP + 0x12caa) + 1) == '/') {\n    local_4c = unaff_EBP + 0xc5c8;\n    bVar14 = false;\n    bVar29 = false;\n    local_5c = 0x14;\n    local_48 = 3;\n    local_28 = 0;\n    local_84 = 0;\n    uVar25 = 0x2f;\nLAB_00014fd0:\n    local_6c = (int *)(&DAT_00012b16 + unaff_EBP);\n    piVar1 = (int *)(unaff_EBP + 0x12b52);\n    iVar15 = *piVar1;\n    local_60 = *(int *)(unaff_EBP + 0x12c46);\n    iVar16 = FUN_00018750();\n    iVar26 = *(int *)(unaff_EBP + 0x129c6);\n    if ((iVar26 == *(int *)(unaff_EBP + 0x129c2)) &&\n       (*(int *)(unaff_EBP + 0x129b6) == *(int *)(unaff_EBP + 0x129b2))) {\n      iVar26 = *local_6c;\n      if ((*(int *)(iVar26 + 0x54) == 0) || (*(int *)(unaff_EBP + 0x12c02) != 0)) {\n        local_74 = *(int *)(unaff_EBP + 0x12bfe);\n        if ((*(int *)(iVar26 + 0x74) < 1) &&\n           ((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))))) {\n          bVar13 = true;\n          local_80 = iVar16;\n          local_70 = iVar16 + -2;\n        }\n        else {\n          local_70 = FUN_00019aa0(*param_1);\n          local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);\n          if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }\n        }\n      }\n      else {\n        local_80 = 3;\n        bVar13 = true;\n        local_70 = 1;\n        local_74 = 0;\n      }\n    }\n    else {\n      if (*(int *)(*local_6c + 0x60) == 0) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0) {\n          local_70 = *(int *)(unaff_EBP + 0x12c7a);\n        }\n        else {\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }\n      }\n      else {\n        local_70 = *(int *)(unaff_EBP + 0x12c6e);\n      }\n      iVar23 = *(int *)(unaff_EBP + 0x129b6);\n      if (iVar23 == *(int *)(unaff_EBP + 0x129b2)) {\n        uVar17 = FUN_00019bf0();\n      }\n      else {\n        uVar17 = FUN_00019aa0(*param_1);\n        iVar26 = iVar23;\n      }\n      iVar26 = FUN_00019b60(uVar17,iVar26,0);\n      if (local_70 <= iVar26) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0) {\n          local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;\n        }\n        else {\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }\n      }\n      bVar13 = false;\n      bVar29 = false;\n      local_74 = *(int *)(unaff_EBP + 0x12bfe);\n      iVar26 = *local_6c;\n      local_80 = local_70 + 2;\n    }\n    if (local_4c == 0) {\n      if (local_84 == 0) {\n        local_4c = unaff_EBP + 0xc5d0;\n        bVar14 = true;\n        local_48 = 3;\n      }\n      else {\n        local_4c = unaff_EBP + 0xc5cc;\n        bVar14 = false;\n        local_48 = 3;\n      }\n    }\n    *(undefined4 *)(iVar26 + 0x24) = 0;\n    *(int *)(iVar26 + 0x58) = local_70;\n    puVar5 = (uint *)(unaff_EBP + 0x129a2);\n    puVar20 = (undefined1 *)*puVar5;\n    *puVar5 = (uint)(puVar20 + 1);\n    *puVar20 = 0x2f;\n    puVar20 = (undefined1 *)*puVar5;\n    *puVar5 = (uint)(puVar20 + 1);\n    *puVar20 = uVar25;\n    if (bVar29) {\n      puVar7 = (undefined4 *)(&DAT_00012b26 + unaff_EBP);\n      uVar17 = *puVar7;\n      *(undefined1 *)*puVar5 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      pcVar18 = (char *)FUN_00018720(uVar17);\n      if (*pcVar18 == '\n') {\n        pcVar18 = pcVar18 + 1;\n        *puVar7 = pcVar18;\n      }\n      else if (local_74 == 0) {\n        pcVar18 = (char *)*puVar7;\n      }\n      else {\n        *puVar7 = pcVar18;\n      }\n      if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n        FUN_00018c70();\n      }\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n      goto LAB_0001543c;\n    }\n    if (local_74 == 0) {\n      local_40 = 0;\n      local_54 = 0;\n      local_78 = (char *)0x0;\n    }\n    else {\n      puVar20 = (undefined1 *)*puVar5;\n      *puVar5 = (uint)(puVar20 + 1);\n      *puVar20 = 0x20;\n      local_80 = local_70 + 3;\n      FUN_00018e10();\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n    }\n    while (local_68 = &DAT_00012b1e + unaff_EBP, *local_68 == '\0') {\n      piVar2 = (int *)(unaff_EBP + 0x1299e);\n      puVar6 = (uint *)(&DAT_00012b26 + unaff_EBP);\n      local_64 = (char *)0x0;\n      piVar4 = (int *)(unaff_EBP + 0x129a6);\nLAB_00015228:\n      pcVar27 = local_78;\n      iVar26 = *piVar2;\n      pcVar18 = (char *)*puVar5;\n      if ((char *)(iVar26 + -1) <= pcVar18) {\n        iVar23 = *piVar4;\n        iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar22;\n        pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar4));\n        *puVar5 = (uint)pcVar18;\n        iVar26 = iVar22 + 0x18c + (iVar26 - iVar23);\n        *piVar4 = iVar22 + 1;\n        pcVar19 = (char *)*puVar6;\n        *piVar2 = iVar26;\n        cVar28 = *pcVar19;\n        cVar12 = cVar28 + -10;\n        bVar29 = cVar12 == '\0';\n        if (!bVar29) goto LAB_0001524d;\nLAB_0001531c:\n        if (local_5c == 0x14) {\nLAB_00015c4a:\n          iVar15 = *local_6c;\n          *(int *)(iVar15 + 0x58) = local_70;\n          *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n          *(int *)(iVar15 + 0x24) = local_54;\n          *pcVar18 = '\0';\n          return;\n        }\n        if (local_74 == 0) {\n          local_78 = (char *)0x0;\n          bVar29 = false;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        *puVar6 = (uint)(pcVar19 + 1);\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;\n        if (*(char **)pcVar3 <= pcVar19 + 1) {\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar5;\n        }\n        if ((local_78 < local_64) && (local_64 < pcVar18)) {\n          *puVar5 = (uint)local_64;\n        }\n        FUN_00018e10();\n        if (*(char *)*puVar6 == '\n') {\n          local_78 = (char *)0x0;\n          bVar29 = true;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        if (local_78 == (char *)0x0) {\n          bVar29 = true;\n          bVar30 = bVar14;\n          goto LAB_00015630;\n        }\n        if ((((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')) && (pcVar18[1] != '/')) {\n          pcVar18 = pcVar18 + 1;\n          *puVar6 = (uint)pcVar18;\n          if (*(char **)pcVar3 <= pcVar18) {\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }\n          if ((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))\n          {\n            FUN_00018c70();\n          }\n        }\n        pcVar18 = (char *)*puVar5;\n        if (pcVar18[-1] != ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n          local_64 = pcVar18;\n        }\n        goto LAB_0001521b;\n      }\n      pcVar19 = (char *)*puVar6;\n      cVar28 = *pcVar19;\n      cVar12 = cVar28 + -10;\n      bVar29 = cVar28 == '\n';\n      if (bVar29) goto LAB_0001531c;\nLAB_0001524d:\n      if (bVar29 || SBORROW1(cVar28,'\n') != cVar12 < '\0') {\n        if (cVar28 != '\t') goto LAB_000151b8;\nLAB_0001525c:\n        if (((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)) {\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }\n        if (cVar28 == ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n        }\n        else {\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }\nLAB_000151f8:\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)) {\n          FUN_00018c70();\n        }\nLAB_0001521b:\n        if (*local_68 != '\0') goto LAB_000159db;\n        goto LAB_00015228;\n      }\n      if (cVar28 == ' ') goto LAB_0001525c;\n      if ((cVar28 != '*') || (local_5c != 0x13)) goto LAB_000151b8;\n      if (pcVar19[1] == '/') {\n        if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }\n          if ((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')) {\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }\n        }\nLAB_00015cc8:\n        if ((char *)(iVar26 + -3) <= pcVar18) {\n          piVar1 = (int *)(unaff_EBP + 0x129a6);\n          iVar15 = *piVar1;\n          iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);\n          *(int *)(unaff_EBP + 0x129aa) = iVar16;\n          pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));\n          *piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);\n          *piVar1 = iVar16 + 1;\n        }\n        *puVar5 = (uint)(pcVar18 + 1);\n        *pcVar18 = '*';\n        puVar20 = (undefined1 *)*puVar5;\n        *puVar5 = (uint)(puVar20 + 1);\n        *puVar20 = 0x2f;\n        *(undefined1 *)*puVar5 = 0;\n        uVar24 = *puVar6;\n        *puVar6 = uVar24 + 2;\n        uVar24 = FUN_00018720(uVar24 + 2);\n        *puVar6 = uVar24;\n        if (*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= uVar24) {\n          FUN_00018c70();\n        }\n        iVar15 = *local_6c;\n        *(int *)(iVar15 + 0x58) = local_70;\n        *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n        *(int *)(iVar15 + 0x24) = local_54;\n        return;\n      }\n      if (*piVar1 + -1 == iVar15) {\n        piVar8 = (int *)(unaff_EBP + 0x129a6);\n        if (pcVar18 != (undefined1 *)*piVar8 + local_48) goto LAB_000151b8;\n        *(undefined1 *)*piVar8 = 0x20;\n        local_80 = (local_80 - local_48) + 2;\n        local_48 = 1;\n        local_4c = unaff_EBP + 0xc5d2;\n        *(undefined1 *)(*piVar8 + 1) = 0x2a;\n        local_78 = (char *)(*piVar8 + 2);\n        local_28 = 0;\n        *puVar5 = (uint)local_78;\n        local_54 = 1;\n        goto LAB_00015589;\n      }\nLAB_000151b8:\n      local_80 = local_80 + 1;\n      *puVar5 = (uint)(pcVar18 + 1);\n      *pcVar18 = *pcVar19;\n      bVar29 = local_74 != 0;\n      local_78 = pcVar18;\nLAB_000151d8:\n      if ((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar29)) goto LAB_000151f8;\n      if (local_64 < (char *)(*puVar5 - 1)) {\n        *local_64 = '\0';\n        uVar24 = *puVar5;\n        *puVar5 = (uint)local_64;\n        local_40 = uVar24 - (int)(local_64 + 1);\n        iVar26 = local_80 - local_40;\n        if ((int)(local_80 - local_40) <= local_60) {\n          iVar26 = local_60;\n        }\n        bVar30 = local_78 == (char *)0x0;\n        bVar29 = false;\n        local_78 = local_64 + 1;\n        local_60 = iVar26;\n        bVar30 = (bool)(bVar30 & bVar14);\n        goto LAB_00015630;\n      }\n      pcVar18 = (char *)*puVar6;\n      if (local_5c != 0x14) {\n        do {\n          pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2);\n          do {\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          } while (pcVar18 < pcVar27);\nLAB_00015b63:\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar6;\n        } while( true );\n      }\n      iVar26 = FUN_00018720(pcVar18);\n      *puVar6 = iVar26 - 1;\n      if (*(char *)(iVar26 + -1) == '\n') {\n        pcVar18 = (char *)*puVar5;\n        goto LAB_00015c4a;\n      }\nLAB_00015d49:\n      *(undefined1 *)*puVar5 = 0;\nLAB_000159db:\n      pcVar18 = local_78;\n      local_78 = (char *)0x0;\n      bVar29 = false;\n      bVar30 = (bool)(pcVar18 == (char *)0x0 & bVar14);\nLAB_00015630:\n      if ((bVar30) && (*piVar1 != iVar15)) {\n        puVar20 = *(undefined1 **)(unaff_EBP + 0x129a6);\n        *puVar5 = (uint)puVar20;\n      }\n      else {\n        puVar20 = (undefined1 *)*puVar5;\n      }\n      *puVar20 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      *(undefined4 *)(unaff_EBP + 0x1297e) = 0;\n      if (!bVar29) {\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n          FUN_00018c70();\n        }\n      }\nLAB_0001543c:\n      local_68 = &DAT_00012b1e + unaff_EBP;\n      if (*local_68 != '\0') break;\n      local_80 = local_70;\n      if (local_48 != 0) {\n        uVar24 = *puVar5;\n        iVar26 = *(int *)(unaff_EBP + 0x1299e);\n        if (iVar26 - local_48 <= uVar24) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_48 + 400 + (iVar26 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          uVar24 = iVar23 + 1 + (*puVar5 - *piVar2);\n          *puVar5 = uVar24;\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *piVar2 = iVar23 + 1;\n        }\n        if (local_48 != 0) {\n          uVar21 = 0;\n          do {\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          } while (uVar21 < local_48);\n        }\n        *puVar5 = *puVar5 + local_48;\n        local_80 = local_70 + local_48;\n      }\n      if (local_78 == (char *)0x0) {\n        FUN_00018e10();\n      }\n      else {\n        if ((*local_78 == ' ') || (*local_78 == '\t')) {\n          if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }\n        }\n        else {\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }\nLAB_000158f3:\n        __dest = (void *)*puVar5;\n        iVar23 = *(int *)(unaff_EBP + 0x1299e);\n        if ((void *)(iVar26 + iVar23) <= __dest) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_40 + 400 + (iVar23 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          __dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *puVar5 = (uint)__dest;\n          *piVar2 = iVar23 + 1;\n        }\n        memmove(__dest,local_78,local_84);\n        local_78 = (char *)*puVar5;\n        *puVar5 = (uint)(local_78 + local_84);\n        local_40 = 0;\n      }\n    }\n    iVar15 = *local_6c;\n    *(int *)(iVar15 + 0x58) = local_70;\n    *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n    *(int *)(iVar15 + 0x24) = local_54;\n    return;\n  }\n  piVar1 = (int *)(&DAT_00012b26 + unaff_EBP);\n  pbVar10 = (byte *)*piVar1;\n  bVar9 = *pbVar10;\n  if (bVar9 == 0x2a || bVar9 == 0x5f) {\n    pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);\n  }\n  else {\n    if (((bVar9 & 0xef) != 0x2d) &&\n       ((*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0 ||\n        (*(int *)(unaff_EBP + 0x12c02) != 0)))) {\n      bVar14 = true;\n      uVar25 = 0x2a;\n      local_5c = 0x13;\n      local_84 = *(size_t *)(FUN_00012bc0 + unaff_EBP + 2);\n      local_28 = *(int *)(unaff_EBP + 0x12c1a);\n      local_48 = 0;\n      local_4c = 0;\n      bVar29 = local_28 != 0;\n      goto LAB_00014fd0;\n    }\n    pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);\n  }\n  if ((pbVar10 < pbVar11) || (pbVar11 + *(int *)(unaff_EBP + 0x12b7a) < pbVar10)) {\n    iVar15 = FUN_00018750();\n    iVar15 = iVar15 + -2;\n  }\n  else {\n    iVar15 = *(int *)(unaff_EBP + 0x12b7e);\n  }\n  local_6c = (int *)(&DAT_00012b16 + unaff_EBP);\n  iVar26 = *local_6c;\n  *(int *)(iVar26 + 0x58) = iVar15;\n  *(undefined4 *)(iVar26 + 0x24) = 1;\n  if (*(int *)(unaff_EBP + 0x12c32) != 0) {\n    *(undefined4 *)(unaff_EBP + 0x1297e) = 1;\n  }\n  piVar2 = (int *)(unaff_EBP + 0x129a2);\n  local_68 = (char *)0x1;\n  puVar20 = (undefined1 *)*piVar2;\n  pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;\n  *piVar2 = (int)(puVar20 + 1);\n  *puVar20 = 0x2f;\n  puVar20 = (undefined1 *)*piVar2;\n  piVar4 = (int *)(unaff_EBP + 0x129a6);\n  *piVar2 = (int)(puVar20 + 1);\n  *puVar20 = 0x2a;\n  pcVar18 = (char *)*piVar1;\n  cVar28 = *pcVar18;\n  do {\n    do {\n      if (cVar28 == '\n') {\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n      }\n      pcVar27 = (char *)*piVar2;\n      iVar26 = *(int *)(unaff_EBP + 0x1299e);\n      if ((char *)(iVar26 - 1U) <= pcVar27) {\n        iVar26 = iVar26 - *piVar4;\n        iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar16;\n        pcVar27 = (char *)(iVar16 + 1 + (*piVar2 - *piVar4));\n        *(int *)(unaff_EBP + 0x1299e) = iVar16 + 0x18c + iVar26;\n        *piVar4 = iVar16 + 1;\n        pcVar18 = (char *)*piVar1;\n      }\n      *piVar1 = (int)(pcVar18 + 1);\n      *piVar2 = (int)(pcVar27 + 1);\n      *pcVar27 = *pcVar18;\n      pcVar18 = (char *)*piVar1;\n      pcVar27 = *(char **)pcVar3;\n      cVar28 = *pcVar18;\n    } while ((cVar28 != '*') && (pcVar18 < pcVar27));\n    if (pcVar27 < pcVar18) {\n      *piVar1 = (int)pcVar27;\n      cVar28 = *pcVar27;\n      pcVar18 = pcVar27;\n    }\n    if (*(int *)(unaff_EBP + 0x12bfa) == 0) {\nLAB_00014e50:\n      if (cVar28 == '*') {\nLAB_00014e59:\n        if (pcVar18[1] == '/') {\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }\n        cVar28 = '*';\n      }\n    }\n    else if (cVar28 == '*') {\n      if (pcVar18[-1] == '/') {\n        *(undefined1 *)(*piVar2 + -1) = 0x20;\n        *(undefined1 *)*piVar2 = 0x2a;\n        pcVar18 = (char *)*piVar1;\n        pcVar27 = *(char **)pcVar3;\n        cVar28 = *pcVar18;\n        goto LAB_00014e50;\n      }\n      goto LAB_00014e59;\n    }\n    if (pcVar18 == pcVar27) {\n      if (pcVar18[-1] == '\n') {\n        iVar26 = *piVar2;\n        *piVar2 = iVar26 + -1;\n        *(undefined1 *)(iVar26 + -1) = 0;\n        FUN_0001a130(1,param_1,param_2);\n        local_68 = (char *)((int)local_68 + 1);\n        *(undefined4 *)(*local_6c + 0x58) = 1;\n      }\n      FUN_00018c70();\n      if ((&DAT_00012b1e)[unaff_EBP] != '\0') {\n        puVar20 = (undefined1 *)*piVar2;\n        *piVar2 = (int)(puVar20 + 1);\n        *puVar20 = 0;\n        iVar26 = *local_6c;\n        piVar1 = (int *)(iVar26 + 0x20);\n        *piVar1 = *piVar1 + -1;\n        *(int *)(iVar26 + 0x58) = iVar15;\n        return;\n      }\n      pcVar18 = (char *)*piVar1;\n      cVar28 = *pcVar18;\n    }\n  } while( true );\n}" ({ "{") (declaration "int *piVar1;" (primitive_type "int") (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (declaration "code *pcVar3;" (type_identifier "code") (pointer_declarator "*pcVar3" (* "*") (identifier "pcVar3")) (; ";")) (declaration "int *piVar4;" (primitive_type "int") (pointer_declarator "*piVar4" (* "*") (identifier "piVar4")) (; ";")) (declaration "uint *puVar5;" (type_identifier "uint") (pointer_declarator "*puVar5" (* "*") (identifier "puVar5")) (; ";")) (declaration "uint *puVar6;" (type_identifier "uint") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "undefined4 *puVar7;" (type_identifier "undefined4") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "int *piVar8;" (primitive_type "int") (pointer_declarator "*piVar8" (* "*") (identifier "piVar8")) (; ";")) (declaration "byte bVar9;" (type_identifier "byte") (identifier "bVar9") (; ";")) (declaration "byte *pbVar10;" (type_identifier "byte") (pointer_declarator "*pbVar10" (* "*") (identifier "pbVar10")) (; ";")) (declaration "byte *pbVar11;" (type_identifier "byte") (pointer_declarator "*pbVar11" (* "*") (identifier "pbVar11")) (; ";")) (declaration "char cVar12;" (primitive_type "char") (identifier "cVar12") (; ";")) (declaration "bool bVar13;" (primitive_type "bool") (identifier "bVar13") (; ";")) (declaration "bool bVar14;" (primitive_type "bool") (identifier "bVar14") (; ";")) (declaration "int iVar15;" (primitive_type "int") (identifier "iVar15") (; ";")) (declaration "int iVar16;" (primitive_type "int") (identifier "iVar16") (; ";")) (declaration "undefined4 uVar17;" (type_identifier "undefined4") (identifier "uVar17") (; ";")) (declaration "char *pcVar18;" (primitive_type "char") (pointer_declarator "*pcVar18" (* "*") (identifier "pcVar18")) (; ";")) (declaration "char *pcVar19;" (primitive_type "char") (pointer_declarator "*pcVar19" (* "*") (identifier "pcVar19")) (; ";")) (declaration "undefined1 *puVar20;" (type_identifier "undefined1") (pointer_declarator "*puVar20" (* "*") (identifier "puVar20")) (; ";")) (declaration "uint uVar21;" (type_identifier "uint") (identifier "uVar21") (; ";")) (declaration "int iVar22;" (primitive_type "int") (identifier "iVar22") (; ";")) (declaration "int iVar23;" (primitive_type "int") (identifier "iVar23") (; ";")) (declaration "uint uVar24;" (type_identifier "uint") (identifier "uVar24") (; ";")) (declaration "undefined1 uVar25;" (type_identifier "undefined1") (identifier "uVar25") (; ";")) (declaration "int iVar26;" (primitive_type "int") (identifier "iVar26") (; ";")) (declaration "char *pcVar27;" (primitive_type "char") (pointer_declarator "*pcVar27" (* "*") (identifier "pcVar27")) (; ";")) (declaration "char cVar28;" (primitive_type "char") (identifier "cVar28") (; ";")) (declaration "void *__dest;" (primitive_type "void") (pointer_declarator "*__dest" (* "*") (identifier "__dest")) (; ";")) (declaration "int unaff_EBP;" (primitive_type "int") (identifier "unaff_EBP") (; ";")) (declaration "bool bVar29;" (primitive_type "bool") (identifier "bVar29") (; ";")) (declaration "bool bVar30;" (primitive_type "bool") (identifier "bVar30") (; ";")) (declaration "size_t local_84;" (primitive_type "size_t") (identifier "local_84") (; ";")) (declaration "int local_80;" (primitive_type "int") (identifier "local_80") (; ";")) (declaration "char *local_78;" (primitive_type "char") (pointer_declarator "*local_78" (* "*") (identifier "local_78")) (; ";")) (declaration "int local_74;" (primitive_type "int") (identifier "local_74") (; ";")) (declaration "int local_70;" (primitive_type "int") (identifier "local_70") (; ";")) (declaration "int *local_6c;" (primitive_type "int") (pointer_declarator "*local_6c" (* "*") (identifier "local_6c")) (; ";")) (declaration "char *local_68;" (primitive_type "char") (pointer_declarator "*local_68" (* "*") (identifier "local_68")) (; ";")) (declaration "char *local_64;" (primitive_type "char") (pointer_declarator "*local_64" (* "*") (identifier "local_64")) (; ";")) (declaration "int local_60;" (primitive_type "int") (identifier "local_60") (; ";")) (declaration "int local_5c;" (primitive_type "int") (identifier "local_5c") (; ";")) (declaration "int local_54;" (primitive_type "int") (identifier "local_54") (; ";")) (declaration "int local_4c;" (primitive_type "int") (identifier "local_4c") (; ";")) (declaration "uint local_48;" (type_identifier "uint") (identifier "local_48") (; ";")) (declaration "size_t local_40;" (primitive_type "size_t") (identifier "local_40") (; ";")) (declaration "int local_28;" (primitive_type "int") (identifier "local_28") (; ";")) (expression_statement "FUN_00013b71();" (call_expression "FUN_00013b71()" (identifier "FUN_00013b71") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "FUN_00017e00();" (call_expression "FUN_00017e00()" (identifier "FUN_00017e00") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (*(char *)(*(int *)(unaff_EBP + 0x12caa) + 1) == '/') {\n    local_4c = unaff_EBP + 0xc5c8;\n    bVar14 = false;\n    bVar29 = false;\n    local_5c = 0x14;\n    local_48 = 3;\n    local_28 = 0;\n    local_84 = 0;\n    uVar25 = 0x2f;\nLAB_00014fd0:\n    local_6c = (int *)(&DAT_00012b16 + unaff_EBP);\n    piVar1 = (int *)(unaff_EBP + 0x12b52);\n    iVar15 = *piVar1;\n    local_60 = *(int *)(unaff_EBP + 0x12c46);\n    iVar16 = FUN_00018750();\n    iVar26 = *(int *)(unaff_EBP + 0x129c6);\n    if ((iVar26 == *(int *)(unaff_EBP + 0x129c2)) &&\n       (*(int *)(unaff_EBP + 0x129b6) == *(int *)(unaff_EBP + 0x129b2))) {\n      iVar26 = *local_6c;\n      if ((*(int *)(iVar26 + 0x54) == 0) || (*(int *)(unaff_EBP + 0x12c02) != 0)) {\n        local_74 = *(int *)(unaff_EBP + 0x12bfe);\n        if ((*(int *)(iVar26 + 0x74) < 1) &&\n           ((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))))) {\n          bVar13 = true;\n          local_80 = iVar16;\n          local_70 = iVar16 + -2;\n        }\n        else {\n          local_70 = FUN_00019aa0(*param_1);\n          local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);\n          if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }\n        }\n      }\n      else {\n        local_80 = 3;\n        bVar13 = true;\n        local_70 = 1;\n        local_74 = 0;\n      }\n    }\n    else {\n      if (*(int *)(*local_6c + 0x60) == 0) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0) {\n          local_70 = *(int *)(unaff_EBP + 0x12c7a);\n        }\n        else {\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }\n      }\n      else {\n        local_70 = *(int *)(unaff_EBP + 0x12c6e);\n      }\n      iVar23 = *(int *)(unaff_EBP + 0x129b6);\n      if (iVar23 == *(int *)(unaff_EBP + 0x129b2)) {\n        uVar17 = FUN_00019bf0();\n      }\n      else {\n        uVar17 = FUN_00019aa0(*param_1);\n        iVar26 = iVar23;\n      }\n      iVar26 = FUN_00019b60(uVar17,iVar26,0);\n      if (local_70 <= iVar26) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0) {\n          local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;\n        }\n        else {\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }\n      }\n      bVar13 = false;\n      bVar29 = false;\n      local_74 = *(int *)(unaff_EBP + 0x12bfe);\n      iVar26 = *local_6c;\n      local_80 = local_70 + 2;\n    }\n    if (local_4c == 0) {\n      if (local_84 == 0) {\n        local_4c = unaff_EBP + 0xc5d0;\n        bVar14 = true;\n        local_48 = 3;\n      }\n      else {\n        local_4c = unaff_EBP + 0xc5cc;\n        bVar14 = false;\n        local_48 = 3;\n      }\n    }\n    *(undefined4 *)(iVar26 + 0x24) = 0;\n    *(int *)(iVar26 + 0x58) = local_70;\n    puVar5 = (uint *)(unaff_EBP + 0x129a2);\n    puVar20 = (undefined1 *)*puVar5;\n    *puVar5 = (uint)(puVar20 + 1);\n    *puVar20 = 0x2f;\n    puVar20 = (undefined1 *)*puVar5;\n    *puVar5 = (uint)(puVar20 + 1);\n    *puVar20 = uVar25;\n    if (bVar29) {\n      puVar7 = (undefined4 *)(&DAT_00012b26 + unaff_EBP);\n      uVar17 = *puVar7;\n      *(undefined1 *)*puVar5 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      pcVar18 = (char *)FUN_00018720(uVar17);\n      if (*pcVar18 == '\n') {\n        pcVar18 = pcVar18 + 1;\n        *puVar7 = pcVar18;\n      }\n      else if (local_74 == 0) {\n        pcVar18 = (char *)*puVar7;\n      }\n      else {\n        *puVar7 = pcVar18;\n      }\n      if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n        FUN_00018c70();\n      }\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n      goto LAB_0001543c;\n    }\n    if (local_74 == 0) {\n      local_40 = 0;\n      local_54 = 0;\n      local_78 = (char *)0x0;\n    }\n    else {\n      puVar20 = (undefined1 *)*puVar5;\n      *puVar5 = (uint)(puVar20 + 1);\n      *puVar20 = 0x20;\n      local_80 = local_70 + 3;\n      FUN_00018e10();\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n    }\n    while (local_68 = &DAT_00012b1e + unaff_EBP, *local_68 == '\0') {\n      piVar2 = (int *)(unaff_EBP + 0x1299e);\n      puVar6 = (uint *)(&DAT_00012b26 + unaff_EBP);\n      local_64 = (char *)0x0;\n      piVar4 = (int *)(unaff_EBP + 0x129a6);\nLAB_00015228:\n      pcVar27 = local_78;\n      iVar26 = *piVar2;\n      pcVar18 = (char *)*puVar5;\n      if ((char *)(iVar26 + -1) <= pcVar18) {\n        iVar23 = *piVar4;\n        iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar22;\n        pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar4));\n        *puVar5 = (uint)pcVar18;\n        iVar26 = iVar22 + 0x18c + (iVar26 - iVar23);\n        *piVar4 = iVar22 + 1;\n        pcVar19 = (char *)*puVar6;\n        *piVar2 = iVar26;\n        cVar28 = *pcVar19;\n        cVar12 = cVar28 + -10;\n        bVar29 = cVar12 == '\0';\n        if (!bVar29) goto LAB_0001524d;\nLAB_0001531c:\n        if (local_5c == 0x14) {\nLAB_00015c4a:\n          iVar15 = *local_6c;\n          *(int *)(iVar15 + 0x58) = local_70;\n          *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n          *(int *)(iVar15 + 0x24) = local_54;\n          *pcVar18 = '\0';\n          return;\n        }\n        if (local_74 == 0) {\n          local_78 = (char *)0x0;\n          bVar29 = false;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        *puVar6 = (uint)(pcVar19 + 1);\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;\n        if (*(char **)pcVar3 <= pcVar19 + 1) {\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar5;\n        }\n        if ((local_78 < local_64) && (local_64 < pcVar18)) {\n          *puVar5 = (uint)local_64;\n        }\n        FUN_00018e10();\n        if (*(char *)*puVar6 == '\n') {\n          local_78 = (char *)0x0;\n          bVar29 = true;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        if (local_78 == (char *)0x0) {\n          bVar29 = true;\n          bVar30 = bVar14;\n          goto LAB_00015630;\n        }\n        if ((((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')) && (pcVar18[1] != '/')) {\n          pcVar18 = pcVar18 + 1;\n          *puVar6 = (uint)pcVar18;\n          if (*(char **)pcVar3 <= pcVar18) {\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }\n          if ((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))\n          {\n            FUN_00018c70();\n          }\n        }\n        pcVar18 = (char *)*puVar5;\n        if (pcVar18[-1] != ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n          local_64 = pcVar18;\n        }\n        goto LAB_0001521b;\n      }\n      pcVar19 = (char *)*puVar6;\n      cVar28 = *pcVar19;\n      cVar12 = cVar28 + -10;\n      bVar29 = cVar28 == '\n';\n      if (bVar29) goto LAB_0001531c;\nLAB_0001524d:\n      if (bVar29 || SBORROW1(cVar28,'\n') != cVar12 < '\0') {\n        if (cVar28 != '\t') goto LAB_000151b8;\nLAB_0001525c:\n        if (((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)) {\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }\n        if (cVar28 == ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n        }\n        else {\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }\nLAB_000151f8:\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)) {\n          FUN_00018c70();\n        }\nLAB_0001521b:\n        if (*local_68 != '\0') goto LAB_000159db;\n        goto LAB_00015228;\n      }\n      if (cVar28 == ' ') goto LAB_0001525c;\n      if ((cVar28 != '*') || (local_5c != 0x13)) goto LAB_000151b8;\n      if (pcVar19[1] == '/') {\n        if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }\n          if ((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')) {\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }\n        }\nLAB_00015cc8:\n        if ((char *)(iVar26 + -3) <= pcVar18) {\n          piVar1 = (int *)(unaff_EBP + 0x129a6);\n          iVar15 = *piVar1;\n          iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);\n          *(int *)(unaff_EBP + 0x129aa) = iVar16;\n          pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));\n          *piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);\n          *piVar1 = iVar16 + 1;\n        }\n        *puVar5 = (uint)(pcVar18 + 1);\n        *pcVar18 = '*';\n        puVar20 = (undefined1 *)*puVar5;\n        *puVar5 = (uint)(puVar20 + 1);\n        *puVar20 = 0x2f;\n        *(undefined1 *)*puVar5 = 0;\n        uVar24 = *puVar6;\n        *puVar6 = uVar24 + 2;\n        uVar24 = FUN_00018720(uVar24 + 2);\n        *puVar6 = uVar24;\n        if (*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= uVar24) {\n          FUN_00018c70();\n        }\n        iVar15 = *local_6c;\n        *(int *)(iVar15 + 0x58) = local_70;\n        *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n        *(int *)(iVar15 + 0x24) = local_54;\n        return;\n      }\n      if (*piVar1 + -1 == iVar15) {\n        piVar8 = (int *)(unaff_EBP + 0x129a6);\n        if (pcVar18 != (undefined1 *)*piVar8 + local_48) goto LAB_000151b8;\n        *(undefined1 *)*piVar8 = 0x20;\n        local_80 = (local_80 - local_48) + 2;\n        local_48 = 1;\n        local_4c = unaff_EBP + 0xc5d2;\n        *(undefined1 *)(*piVar8 + 1) = 0x2a;\n        local_78 = (char *)(*piVar8 + 2);\n        local_28 = 0;\n        *puVar5 = (uint)local_78;\n        local_54 = 1;\n        goto LAB_00015589;\n      }\nLAB_000151b8:\n      local_80 = local_80 + 1;\n      *puVar5 = (uint)(pcVar18 + 1);\n      *pcVar18 = *pcVar19;\n      bVar29 = local_74 != 0;\n      local_78 = pcVar18;\nLAB_000151d8:\n      if ((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar29)) goto LAB_000151f8;\n      if (local_64 < (char *)(*puVar5 - 1)) {\n        *local_64 = '\0';\n        uVar24 = *puVar5;\n        *puVar5 = (uint)local_64;\n        local_40 = uVar24 - (int)(local_64 + 1);\n        iVar26 = local_80 - local_40;\n        if ((int)(local_80 - local_40) <= local_60) {\n          iVar26 = local_60;\n        }\n        bVar30 = local_78 == (char *)0x0;\n        bVar29 = false;\n        local_78 = local_64 + 1;\n        local_60 = iVar26;\n        bVar30 = (bool)(bVar30 & bVar14);\n        goto LAB_00015630;\n      }\n      pcVar18 = (char *)*puVar6;\n      if (local_5c != 0x14) {\n        do {\n          pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2);\n          do {\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          } while (pcVar18 < pcVar27);\nLAB_00015b63:\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar6;\n        } while( true );\n      }\n      iVar26 = FUN_00018720(pcVar18);\n      *puVar6 = iVar26 - 1;\n      if (*(char *)(iVar26 + -1) == '\n') {\n        pcVar18 = (char *)*puVar5;\n        goto LAB_00015c4a;\n      }\nLAB_00015d49:\n      *(undefined1 *)*puVar5 = 0;\nLAB_000159db:\n      pcVar18 = local_78;\n      local_78 = (char *)0x0;\n      bVar29 = false;\n      bVar30 = (bool)(pcVar18 == (char *)0x0 & bVar14);\nLAB_00015630:\n      if ((bVar30) && (*piVar1 != iVar15)) {\n        puVar20 = *(undefined1 **)(unaff_EBP + 0x129a6);\n        *puVar5 = (uint)puVar20;\n      }\n      else {\n        puVar20 = (undefined1 *)*puVar5;\n      }\n      *puVar20 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      *(undefined4 *)(unaff_EBP + 0x1297e) = 0;\n      if (!bVar29) {\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n          FUN_00018c70();\n        }\n      }\nLAB_0001543c:\n      local_68 = &DAT_00012b1e + unaff_EBP;\n      if (*local_68 != '\0') break;\n      local_80 = local_70;\n      if (local_48 != 0) {\n        uVar24 = *puVar5;\n        iVar26 = *(int *)(unaff_EBP + 0x1299e);\n        if (iVar26 - local_48 <= uVar24) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_48 + 400 + (iVar26 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          uVar24 = iVar23 + 1 + (*puVar5 - *piVar2);\n          *puVar5 = uVar24;\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *piVar2 = iVar23 + 1;\n        }\n        if (local_48 != 0) {\n          uVar21 = 0;\n          do {\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          } while (uVar21 < local_48);\n        }\n        *puVar5 = *puVar5 + local_48;\n        local_80 = local_70 + local_48;\n      }\n      if (local_78 == (char *)0x0) {\n        FUN_00018e10();\n      }\n      else {\n        if ((*local_78 == ' ') || (*local_78 == '\t')) {\n          if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }\n        }\n        else {\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }\nLAB_000158f3:\n        __dest = (void *)*puVar5;\n        iVar23 = *(int *)(unaff_EBP + 0x1299e);\n        if ((void *)(iVar26 + iVar23) <= __dest) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_40 + 400 + (iVar23 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          __dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *puVar5 = (uint)__dest;\n          *piVar2 = iVar23 + 1;\n        }\n        memmove(__dest,local_78,local_84);\n        local_78 = (char *)*puVar5;\n        *puVar5 = (uint)(local_78 + local_84);\n        local_40 = 0;\n      }\n    }\n    iVar15 = *local_6c;\n    *(int *)(iVar15 + 0x58) = local_70;\n    *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n    *(int *)(iVar15 + 0x24) = local_54;\n    return;\n  }" (if "if") (parenthesized_expression "(*(char *)(*(int *)(unaff_EBP + 0x12caa) + 1) == '/')" (( "(") (binary_expression "*(char *)(*(int *)(unaff_EBP + 0x12caa) + 1) == '/'" (pointer_expression "*(char *)(*(int *)(unaff_EBP + 0x12caa) + 1)" (* "*") (cast_expression "(char *)(*(int *)(unaff_EBP + 0x12caa) + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(unaff_EBP + 0x12caa) + 1)" (( "(") (binary_expression "*(int *)(unaff_EBP + 0x12caa) + 1" (pointer_expression "*(int *)(unaff_EBP + 0x12caa)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x12caa)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x12caa)" (( "(") (binary_expression "unaff_EBP + 0x12caa" (identifier "unaff_EBP") (+ "+") (number_literal "0x12caa")) () ")")))) (+ "+") (number_literal "1")) () ")")))) (== "==") (char_literal "'/'" (' "'") (character "/") (' "'"))) () ")")) (compound_statement "{\n    local_4c = unaff_EBP + 0xc5c8;\n    bVar14 = false;\n    bVar29 = false;\n    local_5c = 0x14;\n    local_48 = 3;\n    local_28 = 0;\n    local_84 = 0;\n    uVar25 = 0x2f;\nLAB_00014fd0:\n    local_6c = (int *)(&DAT_00012b16 + unaff_EBP);\n    piVar1 = (int *)(unaff_EBP + 0x12b52);\n    iVar15 = *piVar1;\n    local_60 = *(int *)(unaff_EBP + 0x12c46);\n    iVar16 = FUN_00018750();\n    iVar26 = *(int *)(unaff_EBP + 0x129c6);\n    if ((iVar26 == *(int *)(unaff_EBP + 0x129c2)) &&\n       (*(int *)(unaff_EBP + 0x129b6) == *(int *)(unaff_EBP + 0x129b2))) {\n      iVar26 = *local_6c;\n      if ((*(int *)(iVar26 + 0x54) == 0) || (*(int *)(unaff_EBP + 0x12c02) != 0)) {\n        local_74 = *(int *)(unaff_EBP + 0x12bfe);\n        if ((*(int *)(iVar26 + 0x74) < 1) &&\n           ((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))))) {\n          bVar13 = true;\n          local_80 = iVar16;\n          local_70 = iVar16 + -2;\n        }\n        else {\n          local_70 = FUN_00019aa0(*param_1);\n          local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);\n          if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }\n        }\n      }\n      else {\n        local_80 = 3;\n        bVar13 = true;\n        local_70 = 1;\n        local_74 = 0;\n      }\n    }\n    else {\n      if (*(int *)(*local_6c + 0x60) == 0) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0) {\n          local_70 = *(int *)(unaff_EBP + 0x12c7a);\n        }\n        else {\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }\n      }\n      else {\n        local_70 = *(int *)(unaff_EBP + 0x12c6e);\n      }\n      iVar23 = *(int *)(unaff_EBP + 0x129b6);\n      if (iVar23 == *(int *)(unaff_EBP + 0x129b2)) {\n        uVar17 = FUN_00019bf0();\n      }\n      else {\n        uVar17 = FUN_00019aa0(*param_1);\n        iVar26 = iVar23;\n      }\n      iVar26 = FUN_00019b60(uVar17,iVar26,0);\n      if (local_70 <= iVar26) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0) {\n          local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;\n        }\n        else {\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }\n      }\n      bVar13 = false;\n      bVar29 = false;\n      local_74 = *(int *)(unaff_EBP + 0x12bfe);\n      iVar26 = *local_6c;\n      local_80 = local_70 + 2;\n    }\n    if (local_4c == 0) {\n      if (local_84 == 0) {\n        local_4c = unaff_EBP + 0xc5d0;\n        bVar14 = true;\n        local_48 = 3;\n      }\n      else {\n        local_4c = unaff_EBP + 0xc5cc;\n        bVar14 = false;\n        local_48 = 3;\n      }\n    }\n    *(undefined4 *)(iVar26 + 0x24) = 0;\n    *(int *)(iVar26 + 0x58) = local_70;\n    puVar5 = (uint *)(unaff_EBP + 0x129a2);\n    puVar20 = (undefined1 *)*puVar5;\n    *puVar5 = (uint)(puVar20 + 1);\n    *puVar20 = 0x2f;\n    puVar20 = (undefined1 *)*puVar5;\n    *puVar5 = (uint)(puVar20 + 1);\n    *puVar20 = uVar25;\n    if (bVar29) {\n      puVar7 = (undefined4 *)(&DAT_00012b26 + unaff_EBP);\n      uVar17 = *puVar7;\n      *(undefined1 *)*puVar5 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      pcVar18 = (char *)FUN_00018720(uVar17);\n      if (*pcVar18 == '\n') {\n        pcVar18 = pcVar18 + 1;\n        *puVar7 = pcVar18;\n      }\n      else if (local_74 == 0) {\n        pcVar18 = (char *)*puVar7;\n      }\n      else {\n        *puVar7 = pcVar18;\n      }\n      if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n        FUN_00018c70();\n      }\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n      goto LAB_0001543c;\n    }\n    if (local_74 == 0) {\n      local_40 = 0;\n      local_54 = 0;\n      local_78 = (char *)0x0;\n    }\n    else {\n      puVar20 = (undefined1 *)*puVar5;\n      *puVar5 = (uint)(puVar20 + 1);\n      *puVar20 = 0x20;\n      local_80 = local_70 + 3;\n      FUN_00018e10();\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n    }\n    while (local_68 = &DAT_00012b1e + unaff_EBP, *local_68 == '\0') {\n      piVar2 = (int *)(unaff_EBP + 0x1299e);\n      puVar6 = (uint *)(&DAT_00012b26 + unaff_EBP);\n      local_64 = (char *)0x0;\n      piVar4 = (int *)(unaff_EBP + 0x129a6);\nLAB_00015228:\n      pcVar27 = local_78;\n      iVar26 = *piVar2;\n      pcVar18 = (char *)*puVar5;\n      if ((char *)(iVar26 + -1) <= pcVar18) {\n        iVar23 = *piVar4;\n        iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar22;\n        pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar4));\n        *puVar5 = (uint)pcVar18;\n        iVar26 = iVar22 + 0x18c + (iVar26 - iVar23);\n        *piVar4 = iVar22 + 1;\n        pcVar19 = (char *)*puVar6;\n        *piVar2 = iVar26;\n        cVar28 = *pcVar19;\n        cVar12 = cVar28 + -10;\n        bVar29 = cVar12 == '\0';\n        if (!bVar29) goto LAB_0001524d;\nLAB_0001531c:\n        if (local_5c == 0x14) {\nLAB_00015c4a:\n          iVar15 = *local_6c;\n          *(int *)(iVar15 + 0x58) = local_70;\n          *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n          *(int *)(iVar15 + 0x24) = local_54;\n          *pcVar18 = '\0';\n          return;\n        }\n        if (local_74 == 0) {\n          local_78 = (char *)0x0;\n          bVar29 = false;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        *puVar6 = (uint)(pcVar19 + 1);\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;\n        if (*(char **)pcVar3 <= pcVar19 + 1) {\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar5;\n        }\n        if ((local_78 < local_64) && (local_64 < pcVar18)) {\n          *puVar5 = (uint)local_64;\n        }\n        FUN_00018e10();\n        if (*(char *)*puVar6 == '\n') {\n          local_78 = (char *)0x0;\n          bVar29 = true;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        if (local_78 == (char *)0x0) {\n          bVar29 = true;\n          bVar30 = bVar14;\n          goto LAB_00015630;\n        }\n        if ((((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')) && (pcVar18[1] != '/')) {\n          pcVar18 = pcVar18 + 1;\n          *puVar6 = (uint)pcVar18;\n          if (*(char **)pcVar3 <= pcVar18) {\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }\n          if ((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))\n          {\n            FUN_00018c70();\n          }\n        }\n        pcVar18 = (char *)*puVar5;\n        if (pcVar18[-1] != ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n          local_64 = pcVar18;\n        }\n        goto LAB_0001521b;\n      }\n      pcVar19 = (char *)*puVar6;\n      cVar28 = *pcVar19;\n      cVar12 = cVar28 + -10;\n      bVar29 = cVar28 == '\n';\n      if (bVar29) goto LAB_0001531c;\nLAB_0001524d:\n      if (bVar29 || SBORROW1(cVar28,'\n') != cVar12 < '\0') {\n        if (cVar28 != '\t') goto LAB_000151b8;\nLAB_0001525c:\n        if (((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)) {\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }\n        if (cVar28 == ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n        }\n        else {\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }\nLAB_000151f8:\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)) {\n          FUN_00018c70();\n        }\nLAB_0001521b:\n        if (*local_68 != '\0') goto LAB_000159db;\n        goto LAB_00015228;\n      }\n      if (cVar28 == ' ') goto LAB_0001525c;\n      if ((cVar28 != '*') || (local_5c != 0x13)) goto LAB_000151b8;\n      if (pcVar19[1] == '/') {\n        if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }\n          if ((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')) {\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }\n        }\nLAB_00015cc8:\n        if ((char *)(iVar26 + -3) <= pcVar18) {\n          piVar1 = (int *)(unaff_EBP + 0x129a6);\n          iVar15 = *piVar1;\n          iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);\n          *(int *)(unaff_EBP + 0x129aa) = iVar16;\n          pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));\n          *piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);\n          *piVar1 = iVar16 + 1;\n        }\n        *puVar5 = (uint)(pcVar18 + 1);\n        *pcVar18 = '*';\n        puVar20 = (undefined1 *)*puVar5;\n        *puVar5 = (uint)(puVar20 + 1);\n        *puVar20 = 0x2f;\n        *(undefined1 *)*puVar5 = 0;\n        uVar24 = *puVar6;\n        *puVar6 = uVar24 + 2;\n        uVar24 = FUN_00018720(uVar24 + 2);\n        *puVar6 = uVar24;\n        if (*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= uVar24) {\n          FUN_00018c70();\n        }\n        iVar15 = *local_6c;\n        *(int *)(iVar15 + 0x58) = local_70;\n        *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n        *(int *)(iVar15 + 0x24) = local_54;\n        return;\n      }\n      if (*piVar1 + -1 == iVar15) {\n        piVar8 = (int *)(unaff_EBP + 0x129a6);\n        if (pcVar18 != (undefined1 *)*piVar8 + local_48) goto LAB_000151b8;\n        *(undefined1 *)*piVar8 = 0x20;\n        local_80 = (local_80 - local_48) + 2;\n        local_48 = 1;\n        local_4c = unaff_EBP + 0xc5d2;\n        *(undefined1 *)(*piVar8 + 1) = 0x2a;\n        local_78 = (char *)(*piVar8 + 2);\n        local_28 = 0;\n        *puVar5 = (uint)local_78;\n        local_54 = 1;\n        goto LAB_00015589;\n      }\nLAB_000151b8:\n      local_80 = local_80 + 1;\n      *puVar5 = (uint)(pcVar18 + 1);\n      *pcVar18 = *pcVar19;\n      bVar29 = local_74 != 0;\n      local_78 = pcVar18;\nLAB_000151d8:\n      if ((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar29)) goto LAB_000151f8;\n      if (local_64 < (char *)(*puVar5 - 1)) {\n        *local_64 = '\0';\n        uVar24 = *puVar5;\n        *puVar5 = (uint)local_64;\n        local_40 = uVar24 - (int)(local_64 + 1);\n        iVar26 = local_80 - local_40;\n        if ((int)(local_80 - local_40) <= local_60) {\n          iVar26 = local_60;\n        }\n        bVar30 = local_78 == (char *)0x0;\n        bVar29 = false;\n        local_78 = local_64 + 1;\n        local_60 = iVar26;\n        bVar30 = (bool)(bVar30 & bVar14);\n        goto LAB_00015630;\n      }\n      pcVar18 = (char *)*puVar6;\n      if (local_5c != 0x14) {\n        do {\n          pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2);\n          do {\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          } while (pcVar18 < pcVar27);\nLAB_00015b63:\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar6;\n        } while( true );\n      }\n      iVar26 = FUN_00018720(pcVar18);\n      *puVar6 = iVar26 - 1;\n      if (*(char *)(iVar26 + -1) == '\n') {\n        pcVar18 = (char *)*puVar5;\n        goto LAB_00015c4a;\n      }\nLAB_00015d49:\n      *(undefined1 *)*puVar5 = 0;\nLAB_000159db:\n      pcVar18 = local_78;\n      local_78 = (char *)0x0;\n      bVar29 = false;\n      bVar30 = (bool)(pcVar18 == (char *)0x0 & bVar14);\nLAB_00015630:\n      if ((bVar30) && (*piVar1 != iVar15)) {\n        puVar20 = *(undefined1 **)(unaff_EBP + 0x129a6);\n        *puVar5 = (uint)puVar20;\n      }\n      else {\n        puVar20 = (undefined1 *)*puVar5;\n      }\n      *puVar20 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      *(undefined4 *)(unaff_EBP + 0x1297e) = 0;\n      if (!bVar29) {\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n          FUN_00018c70();\n        }\n      }\nLAB_0001543c:\n      local_68 = &DAT_00012b1e + unaff_EBP;\n      if (*local_68 != '\0') break;\n      local_80 = local_70;\n      if (local_48 != 0) {\n        uVar24 = *puVar5;\n        iVar26 = *(int *)(unaff_EBP + 0x1299e);\n        if (iVar26 - local_48 <= uVar24) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_48 + 400 + (iVar26 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          uVar24 = iVar23 + 1 + (*puVar5 - *piVar2);\n          *puVar5 = uVar24;\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *piVar2 = iVar23 + 1;\n        }\n        if (local_48 != 0) {\n          uVar21 = 0;\n          do {\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          } while (uVar21 < local_48);\n        }\n        *puVar5 = *puVar5 + local_48;\n        local_80 = local_70 + local_48;\n      }\n      if (local_78 == (char *)0x0) {\n        FUN_00018e10();\n      }\n      else {\n        if ((*local_78 == ' ') || (*local_78 == '\t')) {\n          if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }\n        }\n        else {\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }\nLAB_000158f3:\n        __dest = (void *)*puVar5;\n        iVar23 = *(int *)(unaff_EBP + 0x1299e);\n        if ((void *)(iVar26 + iVar23) <= __dest) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_40 + 400 + (iVar23 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          __dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *puVar5 = (uint)__dest;\n          *piVar2 = iVar23 + 1;\n        }\n        memmove(__dest,local_78,local_84);\n        local_78 = (char *)*puVar5;\n        *puVar5 = (uint)(local_78 + local_84);\n        local_40 = 0;\n      }\n    }\n    iVar15 = *local_6c;\n    *(int *)(iVar15 + 0x58) = local_70;\n    *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n    *(int *)(iVar15 + 0x24) = local_54;\n    return;\n  }" ({ "{") (expression_statement "local_4c = unaff_EBP + 0xc5c8;" (assignment_expression "local_4c = unaff_EBP + 0xc5c8" (identifier "local_4c") (= "=") (binary_expression "unaff_EBP + 0xc5c8" (identifier "unaff_EBP") (+ "+") (number_literal "0xc5c8"))) (; ";")) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" (identifier "bVar14") (= "=") (false "false")) (; ";")) (expression_statement "bVar29 = false;" (assignment_expression "bVar29 = false" (identifier "bVar29") (= "=") (false "false")) (; ";")) (expression_statement "local_5c = 0x14;" (assignment_expression "local_5c = 0x14" (identifier "local_5c") (= "=") (number_literal "0x14")) (; ";")) (expression_statement "local_48 = 3;" (assignment_expression "local_48 = 3" (identifier "local_48") (= "=") (number_literal "3")) (; ";")) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" (identifier "local_28") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_84 = 0;" (assignment_expression "local_84 = 0" (identifier "local_84") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar25 = 0x2f;" (assignment_expression "uVar25 = 0x2f" (identifier "uVar25") (= "=") (number_literal "0x2f")) (; ";")) (labeled_statement "LAB_00014fd0:\n    local_6c = (int *)(&DAT_00012b16 + unaff_EBP);" (statement_identifier "LAB_00014fd0") (: ":") (expression_statement "local_6c = (int *)(&DAT_00012b16 + unaff_EBP);" (assignment_expression "local_6c = (int *)(&DAT_00012b16 + unaff_EBP)" (identifier "local_6c") (= "=") (cast_expression "(int *)(&DAT_00012b16 + unaff_EBP)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00012b16 + unaff_EBP)" (( "(") (binary_expression "&DAT_00012b16 + unaff_EBP" (pointer_expression "&DAT_00012b16" (& "&") (identifier "DAT_00012b16")) (+ "+") (identifier "unaff_EBP")) () ")")))) (; ";"))) (expression_statement "piVar1 = (int *)(unaff_EBP + 0x12b52);" (assignment_expression "piVar1 = (int *)(unaff_EBP + 0x12b52)" (identifier "piVar1") (= "=") (cast_expression "(int *)(unaff_EBP + 0x12b52)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x12b52)" (( "(") (binary_expression "unaff_EBP + 0x12b52" (identifier "unaff_EBP") (+ "+") (number_literal "0x12b52")) () ")")))) (; ";")) (expression_statement "iVar15 = *piVar1;" (assignment_expression "iVar15 = *piVar1" (identifier "iVar15") (= "=") (pointer_expression "*piVar1" (* "*") (identifier "piVar1"))) (; ";")) (expression_statement "local_60 = *(int *)(unaff_EBP + 0x12c46);" (assignment_expression "local_60 = *(int *)(unaff_EBP + 0x12c46)" (identifier "local_60") (= "=") (pointer_expression "*(int *)(unaff_EBP + 0x12c46)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x12c46)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x12c46)" (( "(") (binary_expression "unaff_EBP + 0x12c46" (identifier "unaff_EBP") (+ "+") (number_literal "0x12c46")) () ")"))))) (; ";")) (expression_statement "iVar16 = FUN_00018750();" (assignment_expression "iVar16 = FUN_00018750()" (identifier "iVar16") (= "=") (call_expression "FUN_00018750()" (identifier "FUN_00018750") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar26 = *(int *)(unaff_EBP + 0x129c6);" (assignment_expression "iVar26 = *(int *)(unaff_EBP + 0x129c6)" (identifier "iVar26") (= "=") (pointer_expression "*(int *)(unaff_EBP + 0x129c6)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x129c6)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x129c6)" (( "(") (binary_expression "unaff_EBP + 0x129c6" (identifier "unaff_EBP") (+ "+") (number_literal "0x129c6")) () ")"))))) (; ";")) (if_statement "if ((iVar26 == *(int *)(unaff_EBP + 0x129c2)) &&\n       (*(int *)(unaff_EBP + 0x129b6) == *(int *)(unaff_EBP + 0x129b2))) {\n      iVar26 = *local_6c;\n      if ((*(int *)(iVar26 + 0x54) == 0) || (*(int *)(unaff_EBP + 0x12c02) != 0)) {\n        local_74 = *(int *)(unaff_EBP + 0x12bfe);\n        if ((*(int *)(iVar26 + 0x74) < 1) &&\n           ((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))))) {\n          bVar13 = true;\n          local_80 = iVar16;\n          local_70 = iVar16 + -2;\n        }\n        else {\n          local_70 = FUN_00019aa0(*param_1);\n          local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);\n          if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }\n        }\n      }\n      else {\n        local_80 = 3;\n        bVar13 = true;\n        local_70 = 1;\n        local_74 = 0;\n      }\n    }\n    else {\n      if (*(int *)(*local_6c + 0x60) == 0) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0) {\n          local_70 = *(int *)(unaff_EBP + 0x12c7a);\n        }\n        else {\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }\n      }\n      else {\n        local_70 = *(int *)(unaff_EBP + 0x12c6e);\n      }\n      iVar23 = *(int *)(unaff_EBP + 0x129b6);\n      if (iVar23 == *(int *)(unaff_EBP + 0x129b2)) {\n        uVar17 = FUN_00019bf0();\n      }\n      else {\n        uVar17 = FUN_00019aa0(*param_1);\n        iVar26 = iVar23;\n      }\n      iVar26 = FUN_00019b60(uVar17,iVar26,0);\n      if (local_70 <= iVar26) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0) {\n          local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;\n        }\n        else {\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }\n      }\n      bVar13 = false;\n      bVar29 = false;\n      local_74 = *(int *)(unaff_EBP + 0x12bfe);\n      iVar26 = *local_6c;\n      local_80 = local_70 + 2;\n    }" (if "if") (parenthesized_expression "((iVar26 == *(int *)(unaff_EBP + 0x129c2)) &&\n       (*(int *)(unaff_EBP + 0x129b6) == *(int *)(unaff_EBP + 0x129b2)))" (( "(") (binary_expression "(iVar26 == *(int *)(unaff_EBP + 0x129c2)) &&\n       (*(int *)(unaff_EBP + 0x129b6) == *(int *)(unaff_EBP + 0x129b2))" (parenthesized_expression "(iVar26 == *(int *)(unaff_EBP + 0x129c2))" (( "(") (binary_expression "iVar26 == *(int *)(unaff_EBP + 0x129c2)" (identifier "iVar26") (== "==") (pointer_expression "*(int *)(unaff_EBP + 0x129c2)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x129c2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x129c2)" (( "(") (binary_expression "unaff_EBP + 0x129c2" (identifier "unaff_EBP") (+ "+") (number_literal "0x129c2")) () ")"))))) () ")")) (&& "&&") (parenthesized_expression "(*(int *)(unaff_EBP + 0x129b6) == *(int *)(unaff_EBP + 0x129b2))" (( "(") (binary_expression "*(int *)(unaff_EBP + 0x129b6) == *(int *)(unaff_EBP + 0x129b2)" (pointer_expression "*(int *)(unaff_EBP + 0x129b6)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x129b6)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x129b6)" (( "(") (binary_expression "unaff_EBP + 0x129b6" (identifier "unaff_EBP") (+ "+") (number_literal "0x129b6")) () ")")))) (== "==") (pointer_expression "*(int *)(unaff_EBP + 0x129b2)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x129b2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x129b2)" (( "(") (binary_expression "unaff_EBP + 0x129b2" (identifier "unaff_EBP") (+ "+") (number_literal "0x129b2")) () ")"))))) () ")"))) () ")")) (compound_statement "{\n      iVar26 = *local_6c;\n      if ((*(int *)(iVar26 + 0x54) == 0) || (*(int *)(unaff_EBP + 0x12c02) != 0)) {\n        local_74 = *(int *)(unaff_EBP + 0x12bfe);\n        if ((*(int *)(iVar26 + 0x74) < 1) &&\n           ((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))))) {\n          bVar13 = true;\n          local_80 = iVar16;\n          local_70 = iVar16 + -2;\n        }\n        else {\n          local_70 = FUN_00019aa0(*param_1);\n          local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);\n          if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }\n        }\n      }\n      else {\n        local_80 = 3;\n        bVar13 = true;\n        local_70 = 1;\n        local_74 = 0;\n      }\n    }" ({ "{") (expression_statement "iVar26 = *local_6c;" (assignment_expression "iVar26 = *local_6c" (identifier "iVar26") (= "=") (pointer_expression "*local_6c" (* "*") (identifier "local_6c"))) (; ";")) (if_statement "if ((*(int *)(iVar26 + 0x54) == 0) || (*(int *)(unaff_EBP + 0x12c02) != 0)) {\n        local_74 = *(int *)(unaff_EBP + 0x12bfe);\n        if ((*(int *)(iVar26 + 0x74) < 1) &&\n           ((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))))) {\n          bVar13 = true;\n          local_80 = iVar16;\n          local_70 = iVar16 + -2;\n        }\n        else {\n          local_70 = FUN_00019aa0(*param_1);\n          local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);\n          if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }\n        }\n      }\n      else {\n        local_80 = 3;\n        bVar13 = true;\n        local_70 = 1;\n        local_74 = 0;\n      }" (if "if") (parenthesized_expression "((*(int *)(iVar26 + 0x54) == 0) || (*(int *)(unaff_EBP + 0x12c02) != 0))" (( "(") (binary_expression "(*(int *)(iVar26 + 0x54) == 0) || (*(int *)(unaff_EBP + 0x12c02) != 0)" (parenthesized_expression "(*(int *)(iVar26 + 0x54) == 0)" (( "(") (binary_expression "*(int *)(iVar26 + 0x54) == 0" (pointer_expression "*(int *)(iVar26 + 0x54)" (* "*") (cast_expression "(int *)(iVar26 + 0x54)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + 0x54)" (( "(") (binary_expression "iVar26 + 0x54" (identifier "iVar26") (+ "+") (number_literal "0x54")) () ")")))) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*(int *)(unaff_EBP + 0x12c02) != 0)" (( "(") (binary_expression "*(int *)(unaff_EBP + 0x12c02) != 0" (pointer_expression "*(int *)(unaff_EBP + 0x12c02)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x12c02)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x12c02)" (( "(") (binary_expression "unaff_EBP + 0x12c02" (identifier "unaff_EBP") (+ "+") (number_literal "0x12c02")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        local_74 = *(int *)(unaff_EBP + 0x12bfe);\n        if ((*(int *)(iVar26 + 0x74) < 1) &&\n           ((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))))) {\n          bVar13 = true;\n          local_80 = iVar16;\n          local_70 = iVar16 + -2;\n        }\n        else {\n          local_70 = FUN_00019aa0(*param_1);\n          local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);\n          if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }\n        }\n      }" ({ "{") (expression_statement "local_74 = *(int *)(unaff_EBP + 0x12bfe);" (assignment_expression "local_74 = *(int *)(unaff_EBP + 0x12bfe)" (identifier "local_74") (= "=") (pointer_expression "*(int *)(unaff_EBP + 0x12bfe)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x12bfe)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x12bfe)" (( "(") (binary_expression "unaff_EBP + 0x12bfe" (identifier "unaff_EBP") (+ "+") (number_literal "0x12bfe")) () ")"))))) (; ";")) (if_statement "if ((*(int *)(iVar26 + 0x74) < 1) &&\n           ((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))))) {\n          bVar13 = true;\n          local_80 = iVar16;\n          local_70 = iVar16 + -2;\n        }\n        else {\n          local_70 = FUN_00019aa0(*param_1);\n          local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);\n          if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }\n        }" (if "if") (parenthesized_expression "((*(int *)(iVar26 + 0x74) < 1) &&\n           ((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0))))))" (( "(") (binary_expression "(*(int *)(iVar26 + 0x74) < 1) &&\n           ((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))))" (parenthesized_expression "(*(int *)(iVar26 + 0x74) < 1)" (( "(") (binary_expression "*(int *)(iVar26 + 0x74) < 1" (pointer_expression "*(int *)(iVar26 + 0x74)" (* "*") (cast_expression "(int *)(iVar26 + 0x74)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + 0x74)" (( "(") (binary_expression "iVar26 + 0x74" (identifier "iVar26") (+ "+") (number_literal "0x74")) () ")")))) (< "<") (number_literal "1")) () ")")) (&& "&&") (parenthesized_expression "((*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))))" (( "(") (parenthesized_expression "(*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0))))" (( "(") (binary_expression "*(int *)(iVar26 + 0x6c) == 0 ||\n            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))" (binary_expression "*(int *)(iVar26 + 0x6c) == 0" (pointer_expression "*(int *)(iVar26 + 0x6c)" (* "*") (cast_expression "(int *)(iVar26 + 0x6c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + 0x6c)" (( "(") (binary_expression "iVar26 + 0x6c" (identifier "iVar26") (+ "+") (number_literal "0x6c")) () ")")))) (== "==") (number_literal "0")) (|| "||") (parenthesized_expression "((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))" (( "(") (parenthesized_expression "(*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0))" (( "(") (binary_expression "*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)" (binary_expression "*(char *)(iVar26 + 0x68) != '\0'" (pointer_expression "*(char *)(iVar26 + 0x68)" (* "*") (cast_expression "(char *)(iVar26 + 0x68)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + 0x68)" (( "(") (binary_expression "iVar26 + 0x68" (identifier "iVar26") (+ "+") (number_literal "0x68")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (&& "&&") (parenthesized_expression "(*(int *)(iVar26 + 0x84) == 0)" (( "(") (binary_expression "*(int *)(iVar26 + 0x84) == 0" (pointer_expression "*(int *)(iVar26 + 0x84)" (* "*") (cast_expression "(int *)(iVar26 + 0x84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + 0x84)" (( "(") (binary_expression "iVar26 + 0x84" (identifier "iVar26") (+ "+") (number_literal "0x84")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n          bVar13 = true;\n          local_80 = iVar16;\n          local_70 = iVar16 + -2;\n        }" ({ "{") (expression_statement "bVar13 = true;" (assignment_expression "bVar13 = true" (identifier "bVar13") (= "=") (true "true")) (; ";")) (expression_statement "local_80 = iVar16;" (assignment_expression "local_80 = iVar16" (identifier "local_80") (= "=") (identifier "iVar16")) (; ";")) (expression_statement "local_70 = iVar16 + -2;" (assignment_expression "local_70 = iVar16 + -2" (identifier "local_70") (= "=") (binary_expression "iVar16 + -2" (identifier "iVar16") (+ "+") (number_literal "-2"))) (; ";")) (} "}")) (else_clause "else {\n          local_70 = FUN_00019aa0(*param_1);\n          local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);\n          if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }\n        }" (else "else") (compound_statement "{\n          local_70 = FUN_00019aa0(*param_1);\n          local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);\n          if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }\n        }" ({ "{") (expression_statement "local_70 = FUN_00019aa0(*param_1);" (assignment_expression "local_70 = FUN_00019aa0(*param_1)" (identifier "local_70") (= "=") (call_expression "FUN_00019aa0(*param_1)" (identifier "FUN_00019aa0") (argument_list "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")")))) (; ";")) (expression_statement "local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);" (assignment_expression "local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP)" (identifier "local_70") (= "=") (binary_expression "local_70 - *(int *)(&DAT_00012c5e + unaff_EBP)" (identifier "local_70") (- "-") (pointer_expression "*(int *)(&DAT_00012c5e + unaff_EBP)" (* "*") (cast_expression "(int *)(&DAT_00012c5e + unaff_EBP)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00012c5e + unaff_EBP)" (( "(") (binary_expression "&DAT_00012c5e + unaff_EBP" (pointer_expression "&DAT_00012c5e" (& "&") (identifier "DAT_00012c5e")) (+ "+") (identifier "unaff_EBP")) () ")")))))) (; ";")) (if_statement "if (local_70 < 0) {\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }\n          else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }" (if "if") (parenthesized_expression "(local_70 < 0)" (( "(") (binary_expression "local_70 < 0" (identifier "local_70") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n            local_80 = 3;\n            bVar13 = true;\n            iVar26 = *local_6c;\n            local_70 = 1;\n          }" ({ "{") (expression_statement "local_80 = 3;" (assignment_expression "local_80 = 3" (identifier "local_80") (= "=") (number_literal "3")) (; ";")) (expression_statement "bVar13 = true;" (assignment_expression "bVar13 = true" (identifier "bVar13") (= "=") (true "true")) (; ";")) (expression_statement "iVar26 = *local_6c;" (assignment_expression "iVar26 = *local_6c" (identifier "iVar26") (= "=") (pointer_expression "*local_6c" (* "*") (identifier "local_6c"))) (; ";")) (expression_statement "local_70 = 1;" (assignment_expression "local_70 = 1" (identifier "local_70") (= "=") (number_literal "1")) (; ";")) (} "}")) (else_clause "else {\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }" (else "else") (compound_statement "{\n            bVar13 = true;\n            local_80 = local_70 + 2;\n            iVar26 = *local_6c;\n          }" ({ "{") (expression_statement "bVar13 = true;" (assignment_expression "bVar13 = true" (identifier "bVar13") (= "=") (true "true")) (; ";")) (expression_statement "local_80 = local_70 + 2;" (assignment_expression "local_80 = local_70 + 2" (identifier "local_80") (= "=") (binary_expression "local_70 + 2" (identifier "local_70") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "iVar26 = *local_6c;" (assignment_expression "iVar26 = *local_6c" (identifier "iVar26") (= "=") (pointer_expression "*local_6c" (* "*") (identifier "local_6c"))) (; ";")) (} "}")))) (} "}")))) (} "}")) (else_clause "else {\n        local_80 = 3;\n        bVar13 = true;\n        local_70 = 1;\n        local_74 = 0;\n      }" (else "else") (compound_statement "{\n        local_80 = 3;\n        bVar13 = true;\n        local_70 = 1;\n        local_74 = 0;\n      }" ({ "{") (expression_statement "local_80 = 3;" (assignment_expression "local_80 = 3" (identifier "local_80") (= "=") (number_literal "3")) (; ";")) (expression_statement "bVar13 = true;" (assignment_expression "bVar13 = true" (identifier "bVar13") (= "=") (true "true")) (; ";")) (expression_statement "local_70 = 1;" (assignment_expression "local_70 = 1" (identifier "local_70") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" (identifier "local_74") (= "=") (number_literal "0")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n      if (*(int *)(*local_6c + 0x60) == 0) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0) {\n          local_70 = *(int *)(unaff_EBP + 0x12c7a);\n        }\n        else {\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }\n      }\n      else {\n        local_70 = *(int *)(unaff_EBP + 0x12c6e);\n      }\n      iVar23 = *(int *)(unaff_EBP + 0x129b6);\n      if (iVar23 == *(int *)(unaff_EBP + 0x129b2)) {\n        uVar17 = FUN_00019bf0();\n      }\n      else {\n        uVar17 = FUN_00019aa0(*param_1);\n        iVar26 = iVar23;\n      }\n      iVar26 = FUN_00019b60(uVar17,iVar26,0);\n      if (local_70 <= iVar26) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0) {\n          local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;\n        }\n        else {\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }\n      }\n      bVar13 = false;\n      bVar29 = false;\n      local_74 = *(int *)(unaff_EBP + 0x12bfe);\n      iVar26 = *local_6c;\n      local_80 = local_70 + 2;\n    }" (else "else") (compound_statement "{\n      if (*(int *)(*local_6c + 0x60) == 0) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0) {\n          local_70 = *(int *)(unaff_EBP + 0x12c7a);\n        }\n        else {\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }\n      }\n      else {\n        local_70 = *(int *)(unaff_EBP + 0x12c6e);\n      }\n      iVar23 = *(int *)(unaff_EBP + 0x129b6);\n      if (iVar23 == *(int *)(unaff_EBP + 0x129b2)) {\n        uVar17 = FUN_00019bf0();\n      }\n      else {\n        uVar17 = FUN_00019aa0(*param_1);\n        iVar26 = iVar23;\n      }\n      iVar26 = FUN_00019b60(uVar17,iVar26,0);\n      if (local_70 <= iVar26) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0) {\n          local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;\n        }\n        else {\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }\n      }\n      bVar13 = false;\n      bVar29 = false;\n      local_74 = *(int *)(unaff_EBP + 0x12bfe);\n      iVar26 = *local_6c;\n      local_80 = local_70 + 2;\n    }" ({ "{") (if_statement "if (*(int *)(*local_6c + 0x60) == 0) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0) {\n          local_70 = *(int *)(unaff_EBP + 0x12c7a);\n        }\n        else {\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }\n      }\n      else {\n        local_70 = *(int *)(unaff_EBP + 0x12c6e);\n      }" (if "if") (parenthesized_expression "(*(int *)(*local_6c + 0x60) == 0)" (( "(") (binary_expression "*(int *)(*local_6c + 0x60) == 0" (pointer_expression "*(int *)(*local_6c + 0x60)" (* "*") (cast_expression "(int *)(*local_6c + 0x60)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*local_6c + 0x60)" (( "(") (binary_expression "*local_6c + 0x60" (pointer_expression "*local_6c" (* "*") (identifier "local_6c")) (+ "+") (number_literal "0x60")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if (*(int *)(unaff_EBP + 0x1296a) == 0) {\n          local_70 = *(int *)(unaff_EBP + 0x12c7a);\n        }\n        else {\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }\n      }" ({ "{") (if_statement "if (*(int *)(unaff_EBP + 0x1296a) == 0) {\n          local_70 = *(int *)(unaff_EBP + 0x12c7a);\n        }\n        else {\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }" (if "if") (parenthesized_expression "(*(int *)(unaff_EBP + 0x1296a) == 0)" (( "(") (binary_expression "*(int *)(unaff_EBP + 0x1296a) == 0" (pointer_expression "*(int *)(unaff_EBP + 0x1296a)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x1296a)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x1296a)" (( "(") (binary_expression "unaff_EBP + 0x1296a" (identifier "unaff_EBP") (+ "+") (number_literal "0x1296a")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_70 = *(int *)(unaff_EBP + 0x12c7a);\n        }" ({ "{") (expression_statement "local_70 = *(int *)(unaff_EBP + 0x12c7a);" (assignment_expression "local_70 = *(int *)(unaff_EBP + 0x12c7a)" (identifier "local_70") (= "=") (pointer_expression "*(int *)(unaff_EBP + 0x12c7a)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x12c7a)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x12c7a)" (( "(") (binary_expression "unaff_EBP + 0x12c7a" (identifier "unaff_EBP") (+ "+") (number_literal "0x12c7a")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }" (else "else") (compound_statement "{\n          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);\n        }" ({ "{") (expression_statement "local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);" (assignment_expression "local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2)" (identifier "local_70") (= "=") (pointer_expression "*(int *)(FUN_00012c60 + unaff_EBP + 2)" (* "*") (cast_expression "(int *)(FUN_00012c60 + unaff_EBP + 2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(FUN_00012c60 + unaff_EBP + 2)" (( "(") (binary_expression "FUN_00012c60 + unaff_EBP + 2" (binary_expression "FUN_00012c60 + unaff_EBP" (identifier "FUN_00012c60") (+ "+") (identifier "unaff_EBP")) (+ "+") (number_literal "2")) () ")"))))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n        local_70 = *(int *)(unaff_EBP + 0x12c6e);\n      }" (else "else") (compound_statement "{\n        local_70 = *(int *)(unaff_EBP + 0x12c6e);\n      }" ({ "{") (expression_statement "local_70 = *(int *)(unaff_EBP + 0x12c6e);" (assignment_expression "local_70 = *(int *)(unaff_EBP + 0x12c6e)" (identifier "local_70") (= "=") (pointer_expression "*(int *)(unaff_EBP + 0x12c6e)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x12c6e)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x12c6e)" (( "(") (binary_expression "unaff_EBP + 0x12c6e" (identifier "unaff_EBP") (+ "+") (number_literal "0x12c6e")) () ")"))))) (; ";")) (} "}")))) (expression_statement "iVar23 = *(int *)(unaff_EBP + 0x129b6);" (assignment_expression "iVar23 = *(int *)(unaff_EBP + 0x129b6)" (identifier "iVar23") (= "=") (pointer_expression "*(int *)(unaff_EBP + 0x129b6)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x129b6)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x129b6)" (( "(") (binary_expression "unaff_EBP + 0x129b6" (identifier "unaff_EBP") (+ "+") (number_literal "0x129b6")) () ")"))))) (; ";")) (if_statement "if (iVar23 == *(int *)(unaff_EBP + 0x129b2)) {\n        uVar17 = FUN_00019bf0();\n      }\n      else {\n        uVar17 = FUN_00019aa0(*param_1);\n        iVar26 = iVar23;\n      }" (if "if") (parenthesized_expression "(iVar23 == *(int *)(unaff_EBP + 0x129b2))" (( "(") (binary_expression "iVar23 == *(int *)(unaff_EBP + 0x129b2)" (identifier "iVar23") (== "==") (pointer_expression "*(int *)(unaff_EBP + 0x129b2)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x129b2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x129b2)" (( "(") (binary_expression "unaff_EBP + 0x129b2" (identifier "unaff_EBP") (+ "+") (number_literal "0x129b2")) () ")"))))) () ")")) (compound_statement "{\n        uVar17 = FUN_00019bf0();\n      }" ({ "{") (expression_statement "uVar17 = FUN_00019bf0();" (assignment_expression "uVar17 = FUN_00019bf0()" (identifier "uVar17") (= "=") (call_expression "FUN_00019bf0()" (identifier "FUN_00019bf0") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")) (else_clause "else {\n        uVar17 = FUN_00019aa0(*param_1);\n        iVar26 = iVar23;\n      }" (else "else") (compound_statement "{\n        uVar17 = FUN_00019aa0(*param_1);\n        iVar26 = iVar23;\n      }" ({ "{") (expression_statement "uVar17 = FUN_00019aa0(*param_1);" (assignment_expression "uVar17 = FUN_00019aa0(*param_1)" (identifier "uVar17") (= "=") (call_expression "FUN_00019aa0(*param_1)" (identifier "FUN_00019aa0") (argument_list "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")")))) (; ";")) (expression_statement "iVar26 = iVar23;" (assignment_expression "iVar26 = iVar23" (identifier "iVar26") (= "=") (identifier "iVar23")) (; ";")) (} "}")))) (expression_statement "iVar26 = FUN_00019b60(uVar17,iVar26,0);" (assignment_expression "iVar26 = FUN_00019b60(uVar17,iVar26,0)" (identifier "iVar26") (= "=") (call_expression "FUN_00019b60(uVar17,iVar26,0)" (identifier "FUN_00019b60") (argument_list "(uVar17,iVar26,0)" (( "(") (identifier "uVar17") (, ",") (identifier "iVar26") (, ",") (number_literal "0") () ")")))) (; ";")) (if_statement "if (local_70 <= iVar26) {\n        if (*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0) {\n          local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;\n        }\n        else {\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }\n      }" (if "if") (parenthesized_expression "(local_70 <= iVar26)" (( "(") (binary_expression "local_70 <= iVar26" (identifier "local_70") (<= "<=") (identifier "iVar26")) () ")")) (compound_statement "{\n        if (*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0) {\n          local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;\n        }\n        else {\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }\n      }" ({ "{") (if_statement "if (*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0) {\n          local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;\n        }\n        else {\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }" (if "if") (parenthesized_expression "(*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0)" (( "(") (binary_expression "*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0" (binary_expression "*(int *)(unaff_EBP + 0x1296a) == 0" (pointer_expression "*(int *)(unaff_EBP + 0x1296a)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x1296a)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x1296a)" (( "(") (binary_expression "unaff_EBP + 0x1296a" (identifier "unaff_EBP") (+ "+") (number_literal "0x1296a")) () ")")))) (== "==") (number_literal "0")) (&& "&&") (binary_expression "*(int *)(unaff_EBP + 0x12ca6) == 0" (pointer_expression "*(int *)(unaff_EBP + 0x12ca6)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x12ca6)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x12ca6)" (( "(") (binary_expression "unaff_EBP + 0x12ca6" (identifier "unaff_EBP") (+ "+") (number_literal "0x12ca6")) () ")")))) (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n          local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;\n        }" ({ "{") (expression_statement "local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26;" (assignment_expression "local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26" (identifier "local_70") (= "=") (binary_expression "(*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))\n                     + iVar26" (parenthesized_expression "(*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))" (( "(") (binary_expression "*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2)" (pointer_expression "*(int *)(unaff_EBP + 0x12bb2)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x12bb2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x12bb2)" (( "(") (binary_expression "unaff_EBP + 0x12bb2" (identifier "unaff_EBP") (+ "+") (number_literal "0x12bb2")) () ")")))) (- "-") (binary_expression "(iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2)" (parenthesized_expression "(iVar26 + -1)" (( "(") (binary_expression "iVar26 + -1" (identifier "iVar26") (+ "+") (number_literal "-1")) () ")")) (% "%") (pointer_expression "*(int *)(unaff_EBP + 0x12bb2)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x12bb2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x12bb2)" (( "(") (binary_expression "unaff_EBP + 0x12bb2" (identifier "unaff_EBP") (+ "+") (number_literal "0x12bb2")) () ")")))))) () ")")) (+ "+") (identifier "iVar26"))) (; ";")) (} "}")) (else_clause "else {\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }" (else "else") (compound_statement "{\n          local_70 = iVar26 + 1;\n          *(int *)(unaff_EBP + 0x1296a) = 0;\n        }" ({ "{") (expression_statement "local_70 = iVar26 + 1;" (assignment_expression "local_70 = iVar26 + 1" (identifier "local_70") (= "=") (binary_expression "iVar26 + 1" (identifier "iVar26") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(int *)(unaff_EBP + 0x1296a) = 0;" (assignment_expression "*(int *)(unaff_EBP + 0x1296a) = 0" (pointer_expression "*(int *)(unaff_EBP + 0x1296a)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x1296a)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x1296a)" (( "(") (binary_expression "unaff_EBP + 0x1296a" (identifier "unaff_EBP") (+ "+") (number_literal "0x1296a")) () ")")))) (= "=") (number_literal "0")) (; ";")) (} "}")))) (} "}"))) (expression_statement "bVar13 = false;" (assignment_expression "bVar13 = false" (identifier "bVar13") (= "=") (false "false")) (; ";")) (expression_statement "bVar29 = false;" (assignment_expression "bVar29 = false" (identifier "bVar29") (= "=") (false "false")) (; ";")) (expression_statement "local_74 = *(int *)(unaff_EBP + 0x12bfe);" (assignment_expression "local_74 = *(int *)(unaff_EBP + 0x12bfe)" (identifier "local_74") (= "=") (pointer_expression "*(int *)(unaff_EBP + 0x12bfe)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x12bfe)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x12bfe)" (( "(") (binary_expression "unaff_EBP + 0x12bfe" (identifier "unaff_EBP") (+ "+") (number_literal "0x12bfe")) () ")"))))) (; ";")) (expression_statement "iVar26 = *local_6c;" (assignment_expression "iVar26 = *local_6c" (identifier "iVar26") (= "=") (pointer_expression "*local_6c" (* "*") (identifier "local_6c"))) (; ";")) (expression_statement "local_80 = local_70 + 2;" (assignment_expression "local_80 = local_70 + 2" (identifier "local_80") (= "=") (binary_expression "local_70 + 2" (identifier "local_70") (+ "+") (number_literal "2"))) (; ";")) (} "}")))) (if_statement "if (local_4c == 0) {\n      if (local_84 == 0) {\n        local_4c = unaff_EBP + 0xc5d0;\n        bVar14 = true;\n        local_48 = 3;\n      }\n      else {\n        local_4c = unaff_EBP + 0xc5cc;\n        bVar14 = false;\n        local_48 = 3;\n      }\n    }" (if "if") (parenthesized_expression "(local_4c == 0)" (( "(") (binary_expression "local_4c == 0" (identifier "local_4c") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (local_84 == 0) {\n        local_4c = unaff_EBP + 0xc5d0;\n        bVar14 = true;\n        local_48 = 3;\n      }\n      else {\n        local_4c = unaff_EBP + 0xc5cc;\n        bVar14 = false;\n        local_48 = 3;\n      }\n    }" ({ "{") (if_statement "if (local_84 == 0) {\n        local_4c = unaff_EBP + 0xc5d0;\n        bVar14 = true;\n        local_48 = 3;\n      }\n      else {\n        local_4c = unaff_EBP + 0xc5cc;\n        bVar14 = false;\n        local_48 = 3;\n      }" (if "if") (parenthesized_expression "(local_84 == 0)" (( "(") (binary_expression "local_84 == 0" (identifier "local_84") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        local_4c = unaff_EBP + 0xc5d0;\n        bVar14 = true;\n        local_48 = 3;\n      }" ({ "{") (expression_statement "local_4c = unaff_EBP + 0xc5d0;" (assignment_expression "local_4c = unaff_EBP + 0xc5d0" (identifier "local_4c") (= "=") (binary_expression "unaff_EBP + 0xc5d0" (identifier "unaff_EBP") (+ "+") (number_literal "0xc5d0"))) (; ";")) (expression_statement "bVar14 = true;" (assignment_expression "bVar14 = true" (identifier "bVar14") (= "=") (true "true")) (; ";")) (expression_statement "local_48 = 3;" (assignment_expression "local_48 = 3" (identifier "local_48") (= "=") (number_literal "3")) (; ";")) (} "}")) (else_clause "else {\n        local_4c = unaff_EBP + 0xc5cc;\n        bVar14 = false;\n        local_48 = 3;\n      }" (else "else") (compound_statement "{\n        local_4c = unaff_EBP + 0xc5cc;\n        bVar14 = false;\n        local_48 = 3;\n      }" ({ "{") (expression_statement "local_4c = unaff_EBP + 0xc5cc;" (assignment_expression "local_4c = unaff_EBP + 0xc5cc" (identifier "local_4c") (= "=") (binary_expression "unaff_EBP + 0xc5cc" (identifier "unaff_EBP") (+ "+") (number_literal "0xc5cc"))) (; ";")) (expression_statement "bVar14 = false;" (assignment_expression "bVar14 = false" (identifier "bVar14") (= "=") (false "false")) (; ";")) (expression_statement "local_48 = 3;" (assignment_expression "local_48 = 3" (identifier "local_48") (= "=") (number_literal "3")) (; ";")) (} "}")))) (} "}"))) (expression_statement "*(undefined4 *)(iVar26 + 0x24) = 0;" (assignment_expression "*(undefined4 *)(iVar26 + 0x24) = 0" (pointer_expression "*(undefined4 *)(iVar26 + 0x24)" (* "*") (cast_expression "(undefined4 *)(iVar26 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + 0x24)" (( "(") (binary_expression "iVar26 + 0x24" (identifier "iVar26") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(int *)(iVar26 + 0x58) = local_70;" (assignment_expression "*(int *)(iVar26 + 0x58) = local_70" (pointer_expression "*(int *)(iVar26 + 0x58)" (* "*") (cast_expression "(int *)(iVar26 + 0x58)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + 0x58)" (( "(") (binary_expression "iVar26 + 0x58" (identifier "iVar26") (+ "+") (number_literal "0x58")) () ")")))) (= "=") (identifier "local_70")) (; ";")) (expression_statement "puVar5 = (uint *)(unaff_EBP + 0x129a2);" (assignment_expression "puVar5 = (uint *)(unaff_EBP + 0x129a2)" (identifier "puVar5") (= "=") (cast_expression "(uint *)(unaff_EBP + 0x129a2)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x129a2)" (( "(") (binary_expression "unaff_EBP + 0x129a2" (identifier "unaff_EBP") (+ "+") (number_literal "0x129a2")) () ")")))) (; ";")) (expression_statement "puVar20 = (undefined1 *)*puVar5;" (assignment_expression "puVar20 = (undefined1 *)*puVar5" (identifier "puVar20") (= "=") (cast_expression "(undefined1 *)*puVar5" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")))) (; ";")) (expression_statement "*puVar5 = (uint)(puVar20 + 1);" (assignment_expression "*puVar5 = (uint)(puVar20 + 1)" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (call_expression "(uint)(puVar20 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(puVar20 + 1)" (( "(") (binary_expression "puVar20 + 1" (identifier "puVar20") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*puVar20 = 0x2f;" (assignment_expression "*puVar20 = 0x2f" (pointer_expression "*puVar20" (* "*") (identifier "puVar20")) (= "=") (number_literal "0x2f")) (; ";")) (expression_statement "puVar20 = (undefined1 *)*puVar5;" (assignment_expression "puVar20 = (undefined1 *)*puVar5" (identifier "puVar20") (= "=") (cast_expression "(undefined1 *)*puVar5" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")))) (; ";")) (expression_statement "*puVar5 = (uint)(puVar20 + 1);" (assignment_expression "*puVar5 = (uint)(puVar20 + 1)" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (call_expression "(uint)(puVar20 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(puVar20 + 1)" (( "(") (binary_expression "puVar20 + 1" (identifier "puVar20") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*puVar20 = uVar25;" (assignment_expression "*puVar20 = uVar25" (pointer_expression "*puVar20" (* "*") (identifier "puVar20")) (= "=") (identifier "uVar25")) (; ";")) (if_statement "if (bVar29) {\n      puVar7 = (undefined4 *)(&DAT_00012b26 + unaff_EBP);\n      uVar17 = *puVar7;\n      *(undefined1 *)*puVar5 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      pcVar18 = (char *)FUN_00018720(uVar17);\n      if (*pcVar18 == '\n') {\n        pcVar18 = pcVar18 + 1;\n        *puVar7 = pcVar18;\n      }\n      else if (local_74 == 0) {\n        pcVar18 = (char *)*puVar7;\n      }\n      else {\n        *puVar7 = pcVar18;\n      }\n      if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n        FUN_00018c70();\n      }\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n      goto LAB_0001543c;\n    }" (if "if") (parenthesized_expression "(bVar29)" (( "(") (identifier "bVar29") () ")")) (compound_statement "{\n      puVar7 = (undefined4 *)(&DAT_00012b26 + unaff_EBP);\n      uVar17 = *puVar7;\n      *(undefined1 *)*puVar5 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      pcVar18 = (char *)FUN_00018720(uVar17);\n      if (*pcVar18 == '\n') {\n        pcVar18 = pcVar18 + 1;\n        *puVar7 = pcVar18;\n      }\n      else if (local_74 == 0) {\n        pcVar18 = (char *)*puVar7;\n      }\n      else {\n        *puVar7 = pcVar18;\n      }\n      if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n        FUN_00018c70();\n      }\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n      goto LAB_0001543c;\n    }" ({ "{") (expression_statement "puVar7 = (undefined4 *)(&DAT_00012b26 + unaff_EBP);" (assignment_expression "puVar7 = (undefined4 *)(&DAT_00012b26 + unaff_EBP)" (identifier "puVar7") (= "=") (cast_expression "(undefined4 *)(&DAT_00012b26 + unaff_EBP)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00012b26 + unaff_EBP)" (( "(") (binary_expression "&DAT_00012b26 + unaff_EBP" (pointer_expression "&DAT_00012b26" (& "&") (identifier "DAT_00012b26")) (+ "+") (identifier "unaff_EBP")) () ")")))) (; ";")) (expression_statement "uVar17 = *puVar7;" (assignment_expression "uVar17 = *puVar7" (identifier "uVar17") (= "=") (pointer_expression "*puVar7" (* "*") (identifier "puVar7"))) (; ";")) (expression_statement "*(undefined1 *)*puVar5 = 0;" (assignment_expression "*(undefined1 *)*puVar5 = 0" (pointer_expression "*(undefined1 *)*puVar5" (* "*") (cast_expression "(undefined1 *)*puVar5" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_0001a130(1,param_1,param_2);" (call_expression "FUN_0001a130(1,param_1,param_2)" (identifier "FUN_0001a130") (argument_list "(1,param_1,param_2)" (( "(") (number_literal "1") (, ",") (identifier "param_1") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "pcVar18 = (char *)FUN_00018720(uVar17);" (assignment_expression "pcVar18 = (char *)FUN_00018720(uVar17)" (identifier "pcVar18") (= "=") (cast_expression "(char *)FUN_00018720(uVar17)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00018720(uVar17)" (identifier "FUN_00018720") (argument_list "(uVar17)" (( "(") (identifier "uVar17") () ")"))))) (; ";")) (if_statement "if (*pcVar18 == '\n') {\n        pcVar18 = pcVar18 + 1;\n        *puVar7 = pcVar18;\n      }\n      else if (local_74 == 0) {\n        pcVar18 = (char *)*puVar7;\n      }\n      else {\n        *puVar7 = pcVar18;\n      }" (if "if") (parenthesized_expression "(*pcVar18 == '\n')" (( "(") (binary_expression "*pcVar18 == '\n'" (pointer_expression "*pcVar18" (* "*") (identifier "pcVar18")) (== "==") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) () ")")) (compound_statement "{\n        pcVar18 = pcVar18 + 1;\n        *puVar7 = pcVar18;\n      }" ({ "{") (expression_statement "pcVar18 = pcVar18 + 1;" (assignment_expression "pcVar18 = pcVar18 + 1" (identifier "pcVar18") (= "=") (binary_expression "pcVar18 + 1" (identifier "pcVar18") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*puVar7 = pcVar18;" (assignment_expression "*puVar7 = pcVar18" (pointer_expression "*puVar7" (* "*") (identifier "puVar7")) (= "=") (identifier "pcVar18")) (; ";")) (} "}")) (else_clause "else if (local_74 == 0) {\n        pcVar18 = (char *)*puVar7;\n      }\n      else {\n        *puVar7 = pcVar18;\n      }" (else "else") (if_statement "if (local_74 == 0) {\n        pcVar18 = (char *)*puVar7;\n      }\n      else {\n        *puVar7 = pcVar18;\n      }" (if "if") (parenthesized_expression "(local_74 == 0)" (( "(") (binary_expression "local_74 == 0" (identifier "local_74") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        pcVar18 = (char *)*puVar7;\n      }" ({ "{") (expression_statement "pcVar18 = (char *)*puVar7;" (assignment_expression "pcVar18 = (char *)*puVar7" (identifier "pcVar18") (= "=") (cast_expression "(char *)*puVar7" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar7" (* "*") (identifier "puVar7")))) (; ";")) (} "}")) (else_clause "else {\n        *puVar7 = pcVar18;\n      }" (else "else") (compound_statement "{\n        *puVar7 = pcVar18;\n      }" ({ "{") (expression_statement "*puVar7 = pcVar18;" (assignment_expression "*puVar7 = pcVar18" (pointer_expression "*puVar7" (* "*") (identifier "puVar7")) (= "=") (identifier "pcVar18")) (; ";")) (} "}")))))) (if_statement "if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n        FUN_00018c70();\n      }" (if "if") (parenthesized_expression "(*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18)" (( "(") (binary_expression "*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18" (pointer_expression "*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)" (* "*") (cast_expression "(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(__i686_get_pc_thunk_bx + unaff_EBP + 2)" (( "(") (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP + 2" (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP" (identifier "__i686_get_pc_thunk_bx") (+ "+") (identifier "unaff_EBP")) (+ "+") (number_literal "2")) () ")")))) (<= "<=") (identifier "pcVar18")) () ")")) (compound_statement "{\n        FUN_00018c70();\n      }" ({ "{") (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" (identifier "FUN_00018c70") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "local_78 = (char *)0x0;" (assignment_expression "local_78 = (char *)0x0" (identifier "local_78") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" (identifier "local_40") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" (identifier "local_54") (= "=") (number_literal "0")) (; ";")) (goto_statement "goto LAB_0001543c;" (goto "goto") (statement_identifier "LAB_0001543c") (; ";")) (} "}"))) (if_statement "if (local_74 == 0) {\n      local_40 = 0;\n      local_54 = 0;\n      local_78 = (char *)0x0;\n    }\n    else {\n      puVar20 = (undefined1 *)*puVar5;\n      *puVar5 = (uint)(puVar20 + 1);\n      *puVar20 = 0x20;\n      local_80 = local_70 + 3;\n      FUN_00018e10();\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n    }" (if "if") (parenthesized_expression "(local_74 == 0)" (( "(") (binary_expression "local_74 == 0" (identifier "local_74") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      local_40 = 0;\n      local_54 = 0;\n      local_78 = (char *)0x0;\n    }" ({ "{") (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" (identifier "local_40") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" (identifier "local_54") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_78 = (char *)0x0;" (assignment_expression "local_78 = (char *)0x0" (identifier "local_78") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")) (else_clause "else {\n      puVar20 = (undefined1 *)*puVar5;\n      *puVar5 = (uint)(puVar20 + 1);\n      *puVar20 = 0x20;\n      local_80 = local_70 + 3;\n      FUN_00018e10();\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n    }" (else "else") (compound_statement "{\n      puVar20 = (undefined1 *)*puVar5;\n      *puVar5 = (uint)(puVar20 + 1);\n      *puVar20 = 0x20;\n      local_80 = local_70 + 3;\n      FUN_00018e10();\n      local_78 = (char *)0x0;\n      local_40 = 0;\n      local_54 = 0;\n    }" ({ "{") (expression_statement "puVar20 = (undefined1 *)*puVar5;" (assignment_expression "puVar20 = (undefined1 *)*puVar5" (identifier "puVar20") (= "=") (cast_expression "(undefined1 *)*puVar5" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")))) (; ";")) (expression_statement "*puVar5 = (uint)(puVar20 + 1);" (assignment_expression "*puVar5 = (uint)(puVar20 + 1)" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (call_expression "(uint)(puVar20 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(puVar20 + 1)" (( "(") (binary_expression "puVar20 + 1" (identifier "puVar20") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*puVar20 = 0x20;" (assignment_expression "*puVar20 = 0x20" (pointer_expression "*puVar20" (* "*") (identifier "puVar20")) (= "=") (number_literal "0x20")) (; ";")) (expression_statement "local_80 = local_70 + 3;" (assignment_expression "local_80 = local_70 + 3" (identifier "local_80") (= "=") (binary_expression "local_70 + 3" (identifier "local_70") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "FUN_00018e10();" (call_expression "FUN_00018e10()" (identifier "FUN_00018e10") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "local_78 = (char *)0x0;" (assignment_expression "local_78 = (char *)0x0" (identifier "local_78") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" (identifier "local_40") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_54 = 0;" (assignment_expression "local_54 = 0" (identifier "local_54") (= "=") (number_literal "0")) (; ";")) (} "}")))) (while_statement "while (local_68 = &DAT_00012b1e + unaff_EBP, *local_68 == '\0') {\n      piVar2 = (int *)(unaff_EBP + 0x1299e);\n      puVar6 = (uint *)(&DAT_00012b26 + unaff_EBP);\n      local_64 = (char *)0x0;\n      piVar4 = (int *)(unaff_EBP + 0x129a6);\nLAB_00015228:\n      pcVar27 = local_78;\n      iVar26 = *piVar2;\n      pcVar18 = (char *)*puVar5;\n      if ((char *)(iVar26 + -1) <= pcVar18) {\n        iVar23 = *piVar4;\n        iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar22;\n        pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar4));\n        *puVar5 = (uint)pcVar18;\n        iVar26 = iVar22 + 0x18c + (iVar26 - iVar23);\n        *piVar4 = iVar22 + 1;\n        pcVar19 = (char *)*puVar6;\n        *piVar2 = iVar26;\n        cVar28 = *pcVar19;\n        cVar12 = cVar28 + -10;\n        bVar29 = cVar12 == '\0';\n        if (!bVar29) goto LAB_0001524d;\nLAB_0001531c:\n        if (local_5c == 0x14) {\nLAB_00015c4a:\n          iVar15 = *local_6c;\n          *(int *)(iVar15 + 0x58) = local_70;\n          *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n          *(int *)(iVar15 + 0x24) = local_54;\n          *pcVar18 = '\0';\n          return;\n        }\n        if (local_74 == 0) {\n          local_78 = (char *)0x0;\n          bVar29 = false;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        *puVar6 = (uint)(pcVar19 + 1);\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;\n        if (*(char **)pcVar3 <= pcVar19 + 1) {\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar5;\n        }\n        if ((local_78 < local_64) && (local_64 < pcVar18)) {\n          *puVar5 = (uint)local_64;\n        }\n        FUN_00018e10();\n        if (*(char *)*puVar6 == '\n') {\n          local_78 = (char *)0x0;\n          bVar29 = true;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        if (local_78 == (char *)0x0) {\n          bVar29 = true;\n          bVar30 = bVar14;\n          goto LAB_00015630;\n        }\n        if ((((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')) && (pcVar18[1] != '/')) {\n          pcVar18 = pcVar18 + 1;\n          *puVar6 = (uint)pcVar18;\n          if (*(char **)pcVar3 <= pcVar18) {\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }\n          if ((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))\n          {\n            FUN_00018c70();\n          }\n        }\n        pcVar18 = (char *)*puVar5;\n        if (pcVar18[-1] != ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n          local_64 = pcVar18;\n        }\n        goto LAB_0001521b;\n      }\n      pcVar19 = (char *)*puVar6;\n      cVar28 = *pcVar19;\n      cVar12 = cVar28 + -10;\n      bVar29 = cVar28 == '\n';\n      if (bVar29) goto LAB_0001531c;\nLAB_0001524d:\n      if (bVar29 || SBORROW1(cVar28,'\n') != cVar12 < '\0') {\n        if (cVar28 != '\t') goto LAB_000151b8;\nLAB_0001525c:\n        if (((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)) {\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }\n        if (cVar28 == ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n        }\n        else {\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }\nLAB_000151f8:\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)) {\n          FUN_00018c70();\n        }\nLAB_0001521b:\n        if (*local_68 != '\0') goto LAB_000159db;\n        goto LAB_00015228;\n      }\n      if (cVar28 == ' ') goto LAB_0001525c;\n      if ((cVar28 != '*') || (local_5c != 0x13)) goto LAB_000151b8;\n      if (pcVar19[1] == '/') {\n        if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }\n          if ((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')) {\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }\n        }\nLAB_00015cc8:\n        if ((char *)(iVar26 + -3) <= pcVar18) {\n          piVar1 = (int *)(unaff_EBP + 0x129a6);\n          iVar15 = *piVar1;\n          iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);\n          *(int *)(unaff_EBP + 0x129aa) = iVar16;\n          pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));\n          *piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);\n          *piVar1 = iVar16 + 1;\n        }\n        *puVar5 = (uint)(pcVar18 + 1);\n        *pcVar18 = '*';\n        puVar20 = (undefined1 *)*puVar5;\n        *puVar5 = (uint)(puVar20 + 1);\n        *puVar20 = 0x2f;\n        *(undefined1 *)*puVar5 = 0;\n        uVar24 = *puVar6;\n        *puVar6 = uVar24 + 2;\n        uVar24 = FUN_00018720(uVar24 + 2);\n        *puVar6 = uVar24;\n        if (*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= uVar24) {\n          FUN_00018c70();\n        }\n        iVar15 = *local_6c;\n        *(int *)(iVar15 + 0x58) = local_70;\n        *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n        *(int *)(iVar15 + 0x24) = local_54;\n        return;\n      }\n      if (*piVar1 + -1 == iVar15) {\n        piVar8 = (int *)(unaff_EBP + 0x129a6);\n        if (pcVar18 != (undefined1 *)*piVar8 + local_48) goto LAB_000151b8;\n        *(undefined1 *)*piVar8 = 0x20;\n        local_80 = (local_80 - local_48) + 2;\n        local_48 = 1;\n        local_4c = unaff_EBP + 0xc5d2;\n        *(undefined1 *)(*piVar8 + 1) = 0x2a;\n        local_78 = (char *)(*piVar8 + 2);\n        local_28 = 0;\n        *puVar5 = (uint)local_78;\n        local_54 = 1;\n        goto LAB_00015589;\n      }\nLAB_000151b8:\n      local_80 = local_80 + 1;\n      *puVar5 = (uint)(pcVar18 + 1);\n      *pcVar18 = *pcVar19;\n      bVar29 = local_74 != 0;\n      local_78 = pcVar18;\nLAB_000151d8:\n      if ((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar29)) goto LAB_000151f8;\n      if (local_64 < (char *)(*puVar5 - 1)) {\n        *local_64 = '\0';\n        uVar24 = *puVar5;\n        *puVar5 = (uint)local_64;\n        local_40 = uVar24 - (int)(local_64 + 1);\n        iVar26 = local_80 - local_40;\n        if ((int)(local_80 - local_40) <= local_60) {\n          iVar26 = local_60;\n        }\n        bVar30 = local_78 == (char *)0x0;\n        bVar29 = false;\n        local_78 = local_64 + 1;\n        local_60 = iVar26;\n        bVar30 = (bool)(bVar30 & bVar14);\n        goto LAB_00015630;\n      }\n      pcVar18 = (char *)*puVar6;\n      if (local_5c != 0x14) {\n        do {\n          pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2);\n          do {\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          } while (pcVar18 < pcVar27);\nLAB_00015b63:\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar6;\n        } while( true );\n      }\n      iVar26 = FUN_00018720(pcVar18);\n      *puVar6 = iVar26 - 1;\n      if (*(char *)(iVar26 + -1) == '\n') {\n        pcVar18 = (char *)*puVar5;\n        goto LAB_00015c4a;\n      }\nLAB_00015d49:\n      *(undefined1 *)*puVar5 = 0;\nLAB_000159db:\n      pcVar18 = local_78;\n      local_78 = (char *)0x0;\n      bVar29 = false;\n      bVar30 = (bool)(pcVar18 == (char *)0x0 & bVar14);\nLAB_00015630:\n      if ((bVar30) && (*piVar1 != iVar15)) {\n        puVar20 = *(undefined1 **)(unaff_EBP + 0x129a6);\n        *puVar5 = (uint)puVar20;\n      }\n      else {\n        puVar20 = (undefined1 *)*puVar5;\n      }\n      *puVar20 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      *(undefined4 *)(unaff_EBP + 0x1297e) = 0;\n      if (!bVar29) {\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n          FUN_00018c70();\n        }\n      }\nLAB_0001543c:\n      local_68 = &DAT_00012b1e + unaff_EBP;\n      if (*local_68 != '\0') break;\n      local_80 = local_70;\n      if (local_48 != 0) {\n        uVar24 = *puVar5;\n        iVar26 = *(int *)(unaff_EBP + 0x1299e);\n        if (iVar26 - local_48 <= uVar24) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_48 + 400 + (iVar26 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          uVar24 = iVar23 + 1 + (*puVar5 - *piVar2);\n          *puVar5 = uVar24;\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *piVar2 = iVar23 + 1;\n        }\n        if (local_48 != 0) {\n          uVar21 = 0;\n          do {\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          } while (uVar21 < local_48);\n        }\n        *puVar5 = *puVar5 + local_48;\n        local_80 = local_70 + local_48;\n      }\n      if (local_78 == (char *)0x0) {\n        FUN_00018e10();\n      }\n      else {\n        if ((*local_78 == ' ') || (*local_78 == '\t')) {\n          if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }\n        }\n        else {\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }\nLAB_000158f3:\n        __dest = (void *)*puVar5;\n        iVar23 = *(int *)(unaff_EBP + 0x1299e);\n        if ((void *)(iVar26 + iVar23) <= __dest) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_40 + 400 + (iVar23 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          __dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *puVar5 = (uint)__dest;\n          *piVar2 = iVar23 + 1;\n        }\n        memmove(__dest,local_78,local_84);\n        local_78 = (char *)*puVar5;\n        *puVar5 = (uint)(local_78 + local_84);\n        local_40 = 0;\n      }\n    }" (while "while") (parenthesized_expression "(local_68 = &DAT_00012b1e + unaff_EBP, *local_68 == '\0')" (( "(") (comma_expression "local_68 = &DAT_00012b1e + unaff_EBP, *local_68 == '\0'" (assignment_expression "local_68 = &DAT_00012b1e + unaff_EBP" (identifier "local_68") (= "=") (binary_expression "&DAT_00012b1e + unaff_EBP" (pointer_expression "&DAT_00012b1e" (& "&") (identifier "DAT_00012b1e")) (+ "+") (identifier "unaff_EBP"))) (, ",") (binary_expression "*local_68 == '\0'" (pointer_expression "*local_68" (* "*") (identifier "local_68")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")")) (compound_statement "{\n      piVar2 = (int *)(unaff_EBP + 0x1299e);\n      puVar6 = (uint *)(&DAT_00012b26 + unaff_EBP);\n      local_64 = (char *)0x0;\n      piVar4 = (int *)(unaff_EBP + 0x129a6);\nLAB_00015228:\n      pcVar27 = local_78;\n      iVar26 = *piVar2;\n      pcVar18 = (char *)*puVar5;\n      if ((char *)(iVar26 + -1) <= pcVar18) {\n        iVar23 = *piVar4;\n        iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar22;\n        pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar4));\n        *puVar5 = (uint)pcVar18;\n        iVar26 = iVar22 + 0x18c + (iVar26 - iVar23);\n        *piVar4 = iVar22 + 1;\n        pcVar19 = (char *)*puVar6;\n        *piVar2 = iVar26;\n        cVar28 = *pcVar19;\n        cVar12 = cVar28 + -10;\n        bVar29 = cVar12 == '\0';\n        if (!bVar29) goto LAB_0001524d;\nLAB_0001531c:\n        if (local_5c == 0x14) {\nLAB_00015c4a:\n          iVar15 = *local_6c;\n          *(int *)(iVar15 + 0x58) = local_70;\n          *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n          *(int *)(iVar15 + 0x24) = local_54;\n          *pcVar18 = '\0';\n          return;\n        }\n        if (local_74 == 0) {\n          local_78 = (char *)0x0;\n          bVar29 = false;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        *puVar6 = (uint)(pcVar19 + 1);\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;\n        if (*(char **)pcVar3 <= pcVar19 + 1) {\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar5;\n        }\n        if ((local_78 < local_64) && (local_64 < pcVar18)) {\n          *puVar5 = (uint)local_64;\n        }\n        FUN_00018e10();\n        if (*(char *)*puVar6 == '\n') {\n          local_78 = (char *)0x0;\n          bVar29 = true;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        if (local_78 == (char *)0x0) {\n          bVar29 = true;\n          bVar30 = bVar14;\n          goto LAB_00015630;\n        }\n        if ((((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')) && (pcVar18[1] != '/')) {\n          pcVar18 = pcVar18 + 1;\n          *puVar6 = (uint)pcVar18;\n          if (*(char **)pcVar3 <= pcVar18) {\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }\n          if ((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))\n          {\n            FUN_00018c70();\n          }\n        }\n        pcVar18 = (char *)*puVar5;\n        if (pcVar18[-1] != ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n          local_64 = pcVar18;\n        }\n        goto LAB_0001521b;\n      }\n      pcVar19 = (char *)*puVar6;\n      cVar28 = *pcVar19;\n      cVar12 = cVar28 + -10;\n      bVar29 = cVar28 == '\n';\n      if (bVar29) goto LAB_0001531c;\nLAB_0001524d:\n      if (bVar29 || SBORROW1(cVar28,'\n') != cVar12 < '\0') {\n        if (cVar28 != '\t') goto LAB_000151b8;\nLAB_0001525c:\n        if (((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)) {\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }\n        if (cVar28 == ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n        }\n        else {\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }\nLAB_000151f8:\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)) {\n          FUN_00018c70();\n        }\nLAB_0001521b:\n        if (*local_68 != '\0') goto LAB_000159db;\n        goto LAB_00015228;\n      }\n      if (cVar28 == ' ') goto LAB_0001525c;\n      if ((cVar28 != '*') || (local_5c != 0x13)) goto LAB_000151b8;\n      if (pcVar19[1] == '/') {\n        if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }\n          if ((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')) {\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }\n        }\nLAB_00015cc8:\n        if ((char *)(iVar26 + -3) <= pcVar18) {\n          piVar1 = (int *)(unaff_EBP + 0x129a6);\n          iVar15 = *piVar1;\n          iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);\n          *(int *)(unaff_EBP + 0x129aa) = iVar16;\n          pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));\n          *piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);\n          *piVar1 = iVar16 + 1;\n        }\n        *puVar5 = (uint)(pcVar18 + 1);\n        *pcVar18 = '*';\n        puVar20 = (undefined1 *)*puVar5;\n        *puVar5 = (uint)(puVar20 + 1);\n        *puVar20 = 0x2f;\n        *(undefined1 *)*puVar5 = 0;\n        uVar24 = *puVar6;\n        *puVar6 = uVar24 + 2;\n        uVar24 = FUN_00018720(uVar24 + 2);\n        *puVar6 = uVar24;\n        if (*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= uVar24) {\n          FUN_00018c70();\n        }\n        iVar15 = *local_6c;\n        *(int *)(iVar15 + 0x58) = local_70;\n        *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n        *(int *)(iVar15 + 0x24) = local_54;\n        return;\n      }\n      if (*piVar1 + -1 == iVar15) {\n        piVar8 = (int *)(unaff_EBP + 0x129a6);\n        if (pcVar18 != (undefined1 *)*piVar8 + local_48) goto LAB_000151b8;\n        *(undefined1 *)*piVar8 = 0x20;\n        local_80 = (local_80 - local_48) + 2;\n        local_48 = 1;\n        local_4c = unaff_EBP + 0xc5d2;\n        *(undefined1 *)(*piVar8 + 1) = 0x2a;\n        local_78 = (char *)(*piVar8 + 2);\n        local_28 = 0;\n        *puVar5 = (uint)local_78;\n        local_54 = 1;\n        goto LAB_00015589;\n      }\nLAB_000151b8:\n      local_80 = local_80 + 1;\n      *puVar5 = (uint)(pcVar18 + 1);\n      *pcVar18 = *pcVar19;\n      bVar29 = local_74 != 0;\n      local_78 = pcVar18;\nLAB_000151d8:\n      if ((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar29)) goto LAB_000151f8;\n      if (local_64 < (char *)(*puVar5 - 1)) {\n        *local_64 = '\0';\n        uVar24 = *puVar5;\n        *puVar5 = (uint)local_64;\n        local_40 = uVar24 - (int)(local_64 + 1);\n        iVar26 = local_80 - local_40;\n        if ((int)(local_80 - local_40) <= local_60) {\n          iVar26 = local_60;\n        }\n        bVar30 = local_78 == (char *)0x0;\n        bVar29 = false;\n        local_78 = local_64 + 1;\n        local_60 = iVar26;\n        bVar30 = (bool)(bVar30 & bVar14);\n        goto LAB_00015630;\n      }\n      pcVar18 = (char *)*puVar6;\n      if (local_5c != 0x14) {\n        do {\n          pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2);\n          do {\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          } while (pcVar18 < pcVar27);\nLAB_00015b63:\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar6;\n        } while( true );\n      }\n      iVar26 = FUN_00018720(pcVar18);\n      *puVar6 = iVar26 - 1;\n      if (*(char *)(iVar26 + -1) == '\n') {\n        pcVar18 = (char *)*puVar5;\n        goto LAB_00015c4a;\n      }\nLAB_00015d49:\n      *(undefined1 *)*puVar5 = 0;\nLAB_000159db:\n      pcVar18 = local_78;\n      local_78 = (char *)0x0;\n      bVar29 = false;\n      bVar30 = (bool)(pcVar18 == (char *)0x0 & bVar14);\nLAB_00015630:\n      if ((bVar30) && (*piVar1 != iVar15)) {\n        puVar20 = *(undefined1 **)(unaff_EBP + 0x129a6);\n        *puVar5 = (uint)puVar20;\n      }\n      else {\n        puVar20 = (undefined1 *)*puVar5;\n      }\n      *puVar20 = 0;\n      FUN_0001a130(1,param_1,param_2);\n      *(undefined4 *)(unaff_EBP + 0x1297e) = 0;\n      if (!bVar29) {\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n          FUN_00018c70();\n        }\n      }\nLAB_0001543c:\n      local_68 = &DAT_00012b1e + unaff_EBP;\n      if (*local_68 != '\0') break;\n      local_80 = local_70;\n      if (local_48 != 0) {\n        uVar24 = *puVar5;\n        iVar26 = *(int *)(unaff_EBP + 0x1299e);\n        if (iVar26 - local_48 <= uVar24) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_48 + 400 + (iVar26 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          uVar24 = iVar23 + 1 + (*puVar5 - *piVar2);\n          *puVar5 = uVar24;\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *piVar2 = iVar23 + 1;\n        }\n        if (local_48 != 0) {\n          uVar21 = 0;\n          do {\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          } while (uVar21 < local_48);\n        }\n        *puVar5 = *puVar5 + local_48;\n        local_80 = local_70 + local_48;\n      }\n      if (local_78 == (char *)0x0) {\n        FUN_00018e10();\n      }\n      else {\n        if ((*local_78 == ' ') || (*local_78 == '\t')) {\n          if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }\n        }\n        else {\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }\nLAB_000158f3:\n        __dest = (void *)*puVar5;\n        iVar23 = *(int *)(unaff_EBP + 0x1299e);\n        if ((void *)(iVar26 + iVar23) <= __dest) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_40 + 400 + (iVar23 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          __dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *puVar5 = (uint)__dest;\n          *piVar2 = iVar23 + 1;\n        }\n        memmove(__dest,local_78,local_84);\n        local_78 = (char *)*puVar5;\n        *puVar5 = (uint)(local_78 + local_84);\n        local_40 = 0;\n      }\n    }" ({ "{") (expression_statement "piVar2 = (int *)(unaff_EBP + 0x1299e);" (assignment_expression "piVar2 = (int *)(unaff_EBP + 0x1299e)" (identifier "piVar2") (= "=") (cast_expression "(int *)(unaff_EBP + 0x1299e)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x1299e)" (( "(") (binary_expression "unaff_EBP + 0x1299e" (identifier "unaff_EBP") (+ "+") (number_literal "0x1299e")) () ")")))) (; ";")) (expression_statement "puVar6 = (uint *)(&DAT_00012b26 + unaff_EBP);" (assignment_expression "puVar6 = (uint *)(&DAT_00012b26 + unaff_EBP)" (identifier "puVar6") (= "=") (cast_expression "(uint *)(&DAT_00012b26 + unaff_EBP)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00012b26 + unaff_EBP)" (( "(") (binary_expression "&DAT_00012b26 + unaff_EBP" (pointer_expression "&DAT_00012b26" (& "&") (identifier "DAT_00012b26")) (+ "+") (identifier "unaff_EBP")) () ")")))) (; ";")) (expression_statement "local_64 = (char *)0x0;" (assignment_expression "local_64 = (char *)0x0" (identifier "local_64") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "piVar4 = (int *)(unaff_EBP + 0x129a6);" (assignment_expression "piVar4 = (int *)(unaff_EBP + 0x129a6)" (identifier "piVar4") (= "=") (cast_expression "(int *)(unaff_EBP + 0x129a6)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x129a6)" (( "(") (binary_expression "unaff_EBP + 0x129a6" (identifier "unaff_EBP") (+ "+") (number_literal "0x129a6")) () ")")))) (; ";")) (labeled_statement "LAB_00015228:\n      pcVar27 = local_78;" (statement_identifier "LAB_00015228") (: ":") (expression_statement "pcVar27 = local_78;" (assignment_expression "pcVar27 = local_78" (identifier "pcVar27") (= "=") (identifier "local_78")) (; ";"))) (expression_statement "iVar26 = *piVar2;" (assignment_expression "iVar26 = *piVar2" (identifier "iVar26") (= "=") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) (; ";")) (expression_statement "pcVar18 = (char *)*puVar5;" (assignment_expression "pcVar18 = (char *)*puVar5" (identifier "pcVar18") (= "=") (cast_expression "(char *)*puVar5" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")))) (; ";")) (if_statement "if ((char *)(iVar26 + -1) <= pcVar18) {\n        iVar23 = *piVar4;\n        iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar22;\n        pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar4));\n        *puVar5 = (uint)pcVar18;\n        iVar26 = iVar22 + 0x18c + (iVar26 - iVar23);\n        *piVar4 = iVar22 + 1;\n        pcVar19 = (char *)*puVar6;\n        *piVar2 = iVar26;\n        cVar28 = *pcVar19;\n        cVar12 = cVar28 + -10;\n        bVar29 = cVar12 == '\0';\n        if (!bVar29) goto LAB_0001524d;\nLAB_0001531c:\n        if (local_5c == 0x14) {\nLAB_00015c4a:\n          iVar15 = *local_6c;\n          *(int *)(iVar15 + 0x58) = local_70;\n          *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n          *(int *)(iVar15 + 0x24) = local_54;\n          *pcVar18 = '\0';\n          return;\n        }\n        if (local_74 == 0) {\n          local_78 = (char *)0x0;\n          bVar29 = false;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        *puVar6 = (uint)(pcVar19 + 1);\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;\n        if (*(char **)pcVar3 <= pcVar19 + 1) {\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar5;\n        }\n        if ((local_78 < local_64) && (local_64 < pcVar18)) {\n          *puVar5 = (uint)local_64;\n        }\n        FUN_00018e10();\n        if (*(char *)*puVar6 == '\n') {\n          local_78 = (char *)0x0;\n          bVar29 = true;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        if (local_78 == (char *)0x0) {\n          bVar29 = true;\n          bVar30 = bVar14;\n          goto LAB_00015630;\n        }\n        if ((((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')) && (pcVar18[1] != '/')) {\n          pcVar18 = pcVar18 + 1;\n          *puVar6 = (uint)pcVar18;\n          if (*(char **)pcVar3 <= pcVar18) {\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }\n          if ((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))\n          {\n            FUN_00018c70();\n          }\n        }\n        pcVar18 = (char *)*puVar5;\n        if (pcVar18[-1] != ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n          local_64 = pcVar18;\n        }\n        goto LAB_0001521b;\n      }" (if "if") (parenthesized_expression "((char *)(iVar26 + -1) <= pcVar18)" (( "(") (binary_expression "(char *)(iVar26 + -1) <= pcVar18" (cast_expression "(char *)(iVar26 + -1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + -1)" (( "(") (binary_expression "iVar26 + -1" (identifier "iVar26") (+ "+") (number_literal "-1")) () ")"))) (<= "<=") (identifier "pcVar18")) () ")")) (compound_statement "{\n        iVar23 = *piVar4;\n        iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar22;\n        pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar4));\n        *puVar5 = (uint)pcVar18;\n        iVar26 = iVar22 + 0x18c + (iVar26 - iVar23);\n        *piVar4 = iVar22 + 1;\n        pcVar19 = (char *)*puVar6;\n        *piVar2 = iVar26;\n        cVar28 = *pcVar19;\n        cVar12 = cVar28 + -10;\n        bVar29 = cVar12 == '\0';\n        if (!bVar29) goto LAB_0001524d;\nLAB_0001531c:\n        if (local_5c == 0x14) {\nLAB_00015c4a:\n          iVar15 = *local_6c;\n          *(int *)(iVar15 + 0x58) = local_70;\n          *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n          *(int *)(iVar15 + 0x24) = local_54;\n          *pcVar18 = '\0';\n          return;\n        }\n        if (local_74 == 0) {\n          local_78 = (char *)0x0;\n          bVar29 = false;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        *puVar6 = (uint)(pcVar19 + 1);\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;\n        if (*(char **)pcVar3 <= pcVar19 + 1) {\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar5;\n        }\n        if ((local_78 < local_64) && (local_64 < pcVar18)) {\n          *puVar5 = (uint)local_64;\n        }\n        FUN_00018e10();\n        if (*(char *)*puVar6 == '\n') {\n          local_78 = (char *)0x0;\n          bVar29 = true;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }\n        if (local_78 == (char *)0x0) {\n          bVar29 = true;\n          bVar30 = bVar14;\n          goto LAB_00015630;\n        }\n        if ((((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')) && (pcVar18[1] != '/')) {\n          pcVar18 = pcVar18 + 1;\n          *puVar6 = (uint)pcVar18;\n          if (*(char **)pcVar3 <= pcVar18) {\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }\n          if ((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))\n          {\n            FUN_00018c70();\n          }\n        }\n        pcVar18 = (char *)*puVar5;\n        if (pcVar18[-1] != ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n          local_64 = pcVar18;\n        }\n        goto LAB_0001521b;\n      }" ({ "{") (expression_statement "iVar23 = *piVar4;" (assignment_expression "iVar23 = *piVar4" (identifier "iVar23") (= "=") (pointer_expression "*piVar4" (* "*") (identifier "piVar4"))) (; ";")) (expression_statement "iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191);" (assignment_expression "iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191)" (identifier "iVar22") (= "=") (call_expression "FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191)" (identifier "FUN_00018620") (argument_list "(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191)" (( "(") (pointer_expression "*(int *)(unaff_EBP + 0x129aa)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x129aa)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x129aa)" (( "(") (binary_expression "unaff_EBP + 0x129aa" (identifier "unaff_EBP") (+ "+") (number_literal "0x129aa")) () ")")))) (, ",") (binary_expression "(iVar26 - iVar23) + 0x191" (parenthesized_expression "(iVar26 - iVar23)" (( "(") (binary_expression "iVar26 - iVar23" (identifier "iVar26") (- "-") (identifier "iVar23")) () ")")) (+ "+") (number_literal "0x191")) () ")")))) (; ";")) (expression_statement "*(int *)(unaff_EBP + 0x129aa) = iVar22;" (assignment_expression "*(int *)(unaff_EBP + 0x129aa) = iVar22" (pointer_expression "*(int *)(unaff_EBP + 0x129aa)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x129aa)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x129aa)" (( "(") (binary_expression "unaff_EBP + 0x129aa" (identifier "unaff_EBP") (+ "+") (number_literal "0x129aa")) () ")")))) (= "=") (identifier "iVar22")) (; ";")) (expression_statement "pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar4));" (assignment_expression "pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar4))" (identifier "pcVar18") (= "=") (cast_expression "(char *)(iVar22 + 1 + (*puVar5 - *piVar4))" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar22 + 1 + (*puVar5 - *piVar4))" (( "(") (binary_expression "iVar22 + 1 + (*puVar5 - *piVar4)" (binary_expression "iVar22 + 1" (identifier "iVar22") (+ "+") (number_literal "1")) (+ "+") (parenthesized_expression "(*puVar5 - *piVar4)" (( "(") (binary_expression "*puVar5 - *piVar4" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (- "-") (pointer_expression "*piVar4" (* "*") (identifier "piVar4"))) () ")"))) () ")")))) (; ";")) (expression_statement "*puVar5 = (uint)pcVar18;" (assignment_expression "*puVar5 = (uint)pcVar18" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (cast_expression "(uint)pcVar18" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pcVar18"))) (; ";")) (expression_statement "iVar26 = iVar22 + 0x18c + (iVar26 - iVar23);" (assignment_expression "iVar26 = iVar22 + 0x18c + (iVar26 - iVar23)" (identifier "iVar26") (= "=") (binary_expression "iVar22 + 0x18c + (iVar26 - iVar23)" (binary_expression "iVar22 + 0x18c" (identifier "iVar22") (+ "+") (number_literal "0x18c")) (+ "+") (parenthesized_expression "(iVar26 - iVar23)" (( "(") (binary_expression "iVar26 - iVar23" (identifier "iVar26") (- "-") (identifier "iVar23")) () ")")))) (; ";")) (expression_statement "*piVar4 = iVar22 + 1;" (assignment_expression "*piVar4 = iVar22 + 1" (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (= "=") (binary_expression "iVar22 + 1" (identifier "iVar22") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar19 = (char *)*puVar6;" (assignment_expression "pcVar19 = (char *)*puVar6" (identifier "pcVar19") (= "=") (cast_expression "(char *)*puVar6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar6" (* "*") (identifier "puVar6")))) (; ";")) (expression_statement "*piVar2 = iVar26;" (assignment_expression "*piVar2 = iVar26" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (identifier "iVar26")) (; ";")) (expression_statement "cVar28 = *pcVar19;" (assignment_expression "cVar28 = *pcVar19" (identifier "cVar28") (= "=") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19"))) (; ";")) (expression_statement "cVar12 = cVar28 + -10;" (assignment_expression "cVar12 = cVar28 + -10" (identifier "cVar12") (= "=") (binary_expression "cVar28 + -10" (identifier "cVar28") (+ "+") (number_literal "-10"))) (; ";")) (expression_statement "bVar29 = cVar12 == '\0';" (assignment_expression "bVar29 = cVar12 == '\0'" (identifier "bVar29") (= "=") (binary_expression "cVar12 == '\0'" (identifier "cVar12") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) (; ";")) (if_statement "if (!bVar29) goto LAB_0001524d;" (if "if") (parenthesized_expression "(!bVar29)" (( "(") (unary_expression "!bVar29" (! "!") (identifier "bVar29")) () ")")) (goto_statement "goto LAB_0001524d;" (goto "goto") (statement_identifier "LAB_0001524d") (; ";"))) (labeled_statement "LAB_0001531c:\n        if (local_5c == 0x14) {\nLAB_00015c4a:\n          iVar15 = *local_6c;\n          *(int *)(iVar15 + 0x58) = local_70;\n          *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n          *(int *)(iVar15 + 0x24) = local_54;\n          *pcVar18 = '\0';\n          return;\n        }" (statement_identifier "LAB_0001531c") (: ":") (if_statement "if (local_5c == 0x14) {\nLAB_00015c4a:\n          iVar15 = *local_6c;\n          *(int *)(iVar15 + 0x58) = local_70;\n          *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n          *(int *)(iVar15 + 0x24) = local_54;\n          *pcVar18 = '\0';\n          return;\n        }" (if "if") (parenthesized_expression "(local_5c == 0x14)" (( "(") (binary_expression "local_5c == 0x14" (identifier "local_5c") (== "==") (number_literal "0x14")) () ")")) (compound_statement "{\nLAB_00015c4a:\n          iVar15 = *local_6c;\n          *(int *)(iVar15 + 0x58) = local_70;\n          *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n          *(int *)(iVar15 + 0x24) = local_54;\n          *pcVar18 = '\0';\n          return;\n        }" ({ "{") (labeled_statement "LAB_00015c4a:\n          iVar15 = *local_6c;" (statement_identifier "LAB_00015c4a") (: ":") (expression_statement "iVar15 = *local_6c;" (assignment_expression "iVar15 = *local_6c" (identifier "iVar15") (= "=") (pointer_expression "*local_6c" (* "*") (identifier "local_6c"))) (; ";"))) (expression_statement "*(int *)(iVar15 + 0x58) = local_70;" (assignment_expression "*(int *)(iVar15 + 0x58) = local_70" (pointer_expression "*(int *)(iVar15 + 0x58)" (* "*") (cast_expression "(int *)(iVar15 + 0x58)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x58)" (( "(") (binary_expression "iVar15 + 0x58" (identifier "iVar15") (+ "+") (number_literal "0x58")) () ")")))) (= "=") (identifier "local_70")) (; ";")) (expression_statement "*(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;" (assignment_expression "*(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1" (pointer_expression "*(int *)(iVar15 + 0x20)" (* "*") (cast_expression "(int *)(iVar15 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x20)" (( "(") (binary_expression "iVar15 + 0x20" (identifier "iVar15") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (binary_expression "*(int *)(iVar15 + 0x20) + -1" (pointer_expression "*(int *)(iVar15 + 0x20)" (* "*") (cast_expression "(int *)(iVar15 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x20)" (( "(") (binary_expression "iVar15 + 0x20" (identifier "iVar15") (+ "+") (number_literal "0x20")) () ")")))) (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "*(int *)(iVar15 + 0x24) = local_54;" (assignment_expression "*(int *)(iVar15 + 0x24) = local_54" (pointer_expression "*(int *)(iVar15 + 0x24)" (* "*") (cast_expression "(int *)(iVar15 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x24)" (( "(") (binary_expression "iVar15 + 0x24" (identifier "iVar15") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (identifier "local_54")) (; ";")) (expression_statement "*pcVar18 = '\0';" (assignment_expression "*pcVar18 = '\0'" (pointer_expression "*pcVar18" (* "*") (identifier "pcVar18")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))) (if_statement "if (local_74 == 0) {\n          local_78 = (char *)0x0;\n          bVar29 = false;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }" (if "if") (parenthesized_expression "(local_74 == 0)" (( "(") (binary_expression "local_74 == 0" (identifier "local_74") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          local_78 = (char *)0x0;\n          bVar29 = false;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }" ({ "{") (expression_statement "local_78 = (char *)0x0;" (assignment_expression "local_78 = (char *)0x0" (identifier "local_78") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "bVar29 = false;" (assignment_expression "bVar29 = false" (identifier "bVar29") (= "=") (false "false")) (; ";")) (expression_statement "bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);" (assignment_expression "bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14)" (identifier "bVar30") (= "=") (cast_expression "(bool)(pcVar27 == (char *)0x0 & bVar14)" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (parenthesized_expression "(pcVar27 == (char *)0x0 & bVar14)" (( "(") (binary_expression "pcVar27 == (char *)0x0 & bVar14" (binary_expression "pcVar27 == (char *)0x0" (identifier "pcVar27") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (& "&") (identifier "bVar14")) () ")")))) (; ";")) (goto_statement "goto LAB_00015630;" (goto "goto") (statement_identifier "LAB_00015630") (; ";")) (} "}"))) (expression_statement "*puVar6 = (uint)(pcVar19 + 1);" (assignment_expression "*puVar6 = (uint)(pcVar19 + 1)" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (= "=") (call_expression "(uint)(pcVar19 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pcVar19 + 1)" (( "(") (binary_expression "pcVar19 + 1" (identifier "pcVar19") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;" (assignment_expression "*(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1" (pointer_expression "*(int *)(unaff_EBP + 0x1298a)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x1298a)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x1298a)" (( "(") (binary_expression "unaff_EBP + 0x1298a" (identifier "unaff_EBP") (+ "+") (number_literal "0x1298a")) () ")")))) (= "=") (binary_expression "*(int *)(unaff_EBP + 0x1298a) + 1" (pointer_expression "*(int *)(unaff_EBP + 0x1298a)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x1298a)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x1298a)" (( "(") (binary_expression "unaff_EBP + 0x1298a" (identifier "unaff_EBP") (+ "+") (number_literal "0x1298a")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;" (assignment_expression "pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2" (identifier "pcVar3") (= "=") (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP + 2" (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP" (identifier "__i686_get_pc_thunk_bx") (+ "+") (identifier "unaff_EBP")) (+ "+") (number_literal "2"))) (; ";")) (if_statement "if (*(char **)pcVar3 <= pcVar19 + 1) {\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar5;\n        }" (if "if") (parenthesized_expression "(*(char **)pcVar3 <= pcVar19 + 1)" (( "(") (binary_expression "*(char **)pcVar3 <= pcVar19 + 1" (pointer_expression "*(char **)pcVar3" (* "*") (cast_expression "(char **)pcVar3" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pcVar3"))) (<= "<=") (binary_expression "pcVar19 + 1" (identifier "pcVar19") (+ "+") (number_literal "1"))) () ")")) (compound_statement "{\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar5;\n        }" ({ "{") (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" (identifier "FUN_00018c70") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar18 = (char *)*puVar5;" (assignment_expression "pcVar18 = (char *)*puVar5" (identifier "pcVar18") (= "=") (cast_expression "(char *)*puVar5" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")))) (; ";")) (} "}"))) (if_statement "if ((local_78 < local_64) && (local_64 < pcVar18)) {\n          *puVar5 = (uint)local_64;\n        }" (if "if") (parenthesized_expression "((local_78 < local_64) && (local_64 < pcVar18))" (( "(") (binary_expression "(local_78 < local_64) && (local_64 < pcVar18)" (parenthesized_expression "(local_78 < local_64)" (( "(") (binary_expression "local_78 < local_64" (identifier "local_78") (< "<") (identifier "local_64")) () ")")) (&& "&&") (parenthesized_expression "(local_64 < pcVar18)" (( "(") (binary_expression "local_64 < pcVar18" (identifier "local_64") (< "<") (identifier "pcVar18")) () ")"))) () ")")) (compound_statement "{\n          *puVar5 = (uint)local_64;\n        }" ({ "{") (expression_statement "*puVar5 = (uint)local_64;" (assignment_expression "*puVar5 = (uint)local_64" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (cast_expression "(uint)local_64" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_64"))) (; ";")) (} "}"))) (expression_statement "FUN_00018e10();" (call_expression "FUN_00018e10()" (identifier "FUN_00018e10") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (*(char *)*puVar6 == '\n') {\n          local_78 = (char *)0x0;\n          bVar29 = true;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }" (if "if") (parenthesized_expression "(*(char *)*puVar6 == '\n')" (( "(") (binary_expression "*(char *)*puVar6 == '\n'" (pointer_expression "*(char *)*puVar6" (* "*") (cast_expression "(char *)*puVar6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar6" (* "*") (identifier "puVar6")))) (== "==") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) () ")")) (compound_statement "{\n          local_78 = (char *)0x0;\n          bVar29 = true;\n          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);\n          goto LAB_00015630;\n        }" ({ "{") (expression_statement "local_78 = (char *)0x0;" (assignment_expression "local_78 = (char *)0x0" (identifier "local_78") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "bVar29 = true;" (assignment_expression "bVar29 = true" (identifier "bVar29") (= "=") (true "true")) (; ";")) (expression_statement "bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);" (assignment_expression "bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14)" (identifier "bVar30") (= "=") (cast_expression "(bool)(pcVar27 == (char *)0x0 & bVar14)" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (parenthesized_expression "(pcVar27 == (char *)0x0 & bVar14)" (( "(") (binary_expression "pcVar27 == (char *)0x0 & bVar14" (binary_expression "pcVar27 == (char *)0x0" (identifier "pcVar27") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (& "&") (identifier "bVar14")) () ")")))) (; ";")) (goto_statement "goto LAB_00015630;" (goto "goto") (statement_identifier "LAB_00015630") (; ";")) (} "}"))) (if_statement "if (local_78 == (char *)0x0) {\n          bVar29 = true;\n          bVar30 = bVar14;\n          goto LAB_00015630;\n        }" (if "if") (parenthesized_expression "(local_78 == (char *)0x0)" (( "(") (binary_expression "local_78 == (char *)0x0" (identifier "local_78") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          bVar29 = true;\n          bVar30 = bVar14;\n          goto LAB_00015630;\n        }" ({ "{") (expression_statement "bVar29 = true;" (assignment_expression "bVar29 = true" (identifier "bVar29") (= "=") (true "true")) (; ";")) (expression_statement "bVar30 = bVar14;" (assignment_expression "bVar30 = bVar14" (identifier "bVar30") (= "=") (identifier "bVar14")) (; ";")) (goto_statement "goto LAB_00015630;" (goto "goto") (statement_identifier "LAB_00015630") (; ";")) (} "}"))) (if_statement "if ((((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')) && (pcVar18[1] != '/')) {\n          pcVar18 = pcVar18 + 1;\n          *puVar6 = (uint)pcVar18;\n          if (*(char **)pcVar3 <= pcVar18) {\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }\n          if ((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))\n          {\n            FUN_00018c70();\n          }\n        }" (if "if") (parenthesized_expression "((((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')) && (pcVar18[1] != '/'))" (( "(") (binary_expression "(((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')) && (pcVar18[1] != '/')" (parenthesized_expression "(((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*'))" (( "(") (binary_expression "((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&\n            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')" (parenthesized_expression "((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1))" (( "(") (binary_expression "(local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)" (parenthesized_expression "(local_54 == 0)" (( "(") (binary_expression "local_54 == 0" (identifier "local_54") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)" (( "(") (comma_expression "iVar26 = FUN_00018750(), iVar26 == iVar16 + -1" (assignment_expression "iVar26 = FUN_00018750()" (identifier "iVar26") (= "=") (call_expression "FUN_00018750()" (identifier "FUN_00018750") (argument_list "()" (( "(") () ")")))) (, ",") (binary_expression "iVar26 == iVar16 + -1" (identifier "iVar26") (== "==") (binary_expression "iVar16 + -1" (identifier "iVar16") (+ "+") (number_literal "-1")))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(pcVar18 = (char *)*puVar6, *pcVar18 == '*')" (( "(") (comma_expression "pcVar18 = (char *)*puVar6, *pcVar18 == '*'" (assignment_expression "pcVar18 = (char *)*puVar6" (identifier "pcVar18") (= "=") (cast_expression "(char *)*puVar6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar6" (* "*") (identifier "puVar6")))) (, ",") (binary_expression "*pcVar18 == '*'" (pointer_expression "*pcVar18" (* "*") (identifier "pcVar18")) (== "==") (char_literal "'*'" (' "'") (character "*") (' "'")))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(pcVar18[1] != '/')" (( "(") (binary_expression "pcVar18[1] != '/'" (subscript_expression "pcVar18[1]" (identifier "pcVar18") ([ "[") (number_literal "1") (] "]")) (!= "!=") (char_literal "'/'" (' "'") (character "/") (' "'"))) () ")"))) () ")")) (compound_statement "{\n          pcVar18 = pcVar18 + 1;\n          *puVar6 = (uint)pcVar18;\n          if (*(char **)pcVar3 <= pcVar18) {\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }\n          if ((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))\n          {\n            FUN_00018c70();\n          }\n        }" ({ "{") (expression_statement "pcVar18 = pcVar18 + 1;" (assignment_expression "pcVar18 = pcVar18 + 1" (identifier "pcVar18") (= "=") (binary_expression "pcVar18 + 1" (identifier "pcVar18") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*puVar6 = (uint)pcVar18;" (assignment_expression "*puVar6 = (uint)pcVar18" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (= "=") (cast_expression "(uint)pcVar18" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pcVar18"))) (; ";")) (if_statement "if (*(char **)pcVar3 <= pcVar18) {\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }" (if "if") (parenthesized_expression "(*(char **)pcVar3 <= pcVar18)" (( "(") (binary_expression "*(char **)pcVar3 <= pcVar18" (pointer_expression "*(char **)pcVar3" (* "*") (cast_expression "(char **)pcVar3" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pcVar3"))) (<= "<=") (identifier "pcVar18")) () ")")) (compound_statement "{\n            FUN_00018c70();\n            pcVar18 = (char *)*puVar6;\n          }" ({ "{") (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" (identifier "FUN_00018c70") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar18 = (char *)*puVar6;" (assignment_expression "pcVar18 = (char *)*puVar6" (identifier "pcVar18") (= "=") (cast_expression "(char *)*puVar6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar6" (* "*") (identifier "puVar6")))) (; ";")) (} "}"))) (if_statement "if ((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))\n          {\n            FUN_00018c70();\n          }" (if "if") (parenthesized_expression "((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))" (( "(") (binary_expression "(*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1)" (parenthesized_expression "(*pcVar18 == ' ')" (( "(") (binary_expression "*pcVar18 == ' '" (pointer_expression "*pcVar18" (* "*") (identifier "pcVar18")) (== "==") (char_literal "' '" (' "'") (character " ") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1)" (( "(") (comma_expression "*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1" (assignment_expression "*puVar6 = (uint)(pcVar18 + 1)" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (= "=") (call_expression "(uint)(pcVar18 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pcVar18 + 1)" (( "(") (binary_expression "pcVar18 + 1" (identifier "pcVar18") (+ "+") (number_literal "1")) () ")")))) (, ",") (binary_expression "*(char **)pcVar3 <= pcVar18 + 1" (pointer_expression "*(char **)pcVar3" (* "*") (cast_expression "(char **)pcVar3" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pcVar3"))) (<= "<=") (binary_expression "pcVar18 + 1" (identifier "pcVar18") (+ "+") (number_literal "1")))) () ")"))) () ")")) (compound_statement "{\n            FUN_00018c70();\n          }" ({ "{") (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" (identifier "FUN_00018c70") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "pcVar18 = (char *)*puVar5;" (assignment_expression "pcVar18 = (char *)*puVar5" (identifier "pcVar18") (= "=") (cast_expression "(char *)*puVar5" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")))) (; ";")) (if_statement "if (pcVar18[-1] != ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n          local_64 = pcVar18;\n        }" (if "if") (parenthesized_expression "(pcVar18[-1] != ' ')" (( "(") (binary_expression "pcVar18[-1] != ' '" (subscript_expression "pcVar18[-1]" (identifier "pcVar18") ([ "[") (number_literal "-1") (] "]")) (!= "!=") (char_literal "' '" (' "'") (character " ") (' "'"))) () ")")) (compound_statement "{\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n          local_64 = pcVar18;\n        }" ({ "{") (expression_statement "local_80 = local_80 + 1;" (assignment_expression "local_80 = local_80 + 1" (identifier "local_80") (= "=") (binary_expression "local_80 + 1" (identifier "local_80") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*puVar5 = (uint)(pcVar18 + 1);" (assignment_expression "*puVar5 = (uint)(pcVar18 + 1)" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (call_expression "(uint)(pcVar18 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pcVar18 + 1)" (( "(") (binary_expression "pcVar18 + 1" (identifier "pcVar18") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*pcVar18 = ' ';" (assignment_expression "*pcVar18 = ' '" (pointer_expression "*pcVar18" (* "*") (identifier "pcVar18")) (= "=") (char_literal "' '" (' "'") (character " ") (' "'"))) (; ";")) (expression_statement "local_64 = pcVar18;" (assignment_expression "local_64 = pcVar18" (identifier "local_64") (= "=") (identifier "pcVar18")) (; ";")) (} "}"))) (goto_statement "goto LAB_0001521b;" (goto "goto") (statement_identifier "LAB_0001521b") (; ";")) (} "}"))) (expression_statement "pcVar19 = (char *)*puVar6;" (assignment_expression "pcVar19 = (char *)*puVar6" (identifier "pcVar19") (= "=") (cast_expression "(char *)*puVar6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar6" (* "*") (identifier "puVar6")))) (; ";")) (expression_statement "cVar28 = *pcVar19;" (assignment_expression "cVar28 = *pcVar19" (identifier "cVar28") (= "=") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19"))) (; ";")) (expression_statement "cVar12 = cVar28 + -10;" (assignment_expression "cVar12 = cVar28 + -10" (identifier "cVar12") (= "=") (binary_expression "cVar28 + -10" (identifier "cVar28") (+ "+") (number_literal "-10"))) (; ";")) (expression_statement "bVar29 = cVar28 == '\n';" (assignment_expression "bVar29 = cVar28 == '\n'" (identifier "bVar29") (= "=") (binary_expression "cVar28 == '\n'" (identifier "cVar28") (== "==") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'")))) (; ";")) (if_statement "if (bVar29) goto LAB_0001531c;" (if "if") (parenthesized_expression "(bVar29)" (( "(") (identifier "bVar29") () ")")) (goto_statement "goto LAB_0001531c;" (goto "goto") (statement_identifier "LAB_0001531c") (; ";"))) (labeled_statement "LAB_0001524d:\n      if (bVar29 || SBORROW1(cVar28,'\n') != cVar12 < '\0') {\n        if (cVar28 != '\t') goto LAB_000151b8;\nLAB_0001525c:\n        if (((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)) {\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }\n        if (cVar28 == ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n        }\n        else {\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }\nLAB_000151f8:\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)) {\n          FUN_00018c70();\n        }\nLAB_0001521b:\n        if (*local_68 != '\0') goto LAB_000159db;\n        goto LAB_00015228;\n      }" (statement_identifier "LAB_0001524d") (: ":") (if_statement "if (bVar29 || SBORROW1(cVar28,'\n') != cVar12 < '\0') {\n        if (cVar28 != '\t') goto LAB_000151b8;\nLAB_0001525c:\n        if (((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)) {\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }\n        if (cVar28 == ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n        }\n        else {\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }\nLAB_000151f8:\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)) {\n          FUN_00018c70();\n        }\nLAB_0001521b:\n        if (*local_68 != '\0') goto LAB_000159db;\n        goto LAB_00015228;\n      }" (if "if") (parenthesized_expression "(bVar29 || SBORROW1(cVar28,'\n') != cVar12 < '\0')" (( "(") (binary_expression "bVar29 || SBORROW1(cVar28,'\n') != cVar12 < '\0'" (identifier "bVar29") (|| "||") (binary_expression "SBORROW1(cVar28,'\n') != cVar12 < '\0'" (call_expression "SBORROW1(cVar28,'\n')" (identifier "SBORROW1") (argument_list "(cVar28,'\n')" (( "(") (identifier "cVar28") (, ",") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'")) () ")"))) (!= "!=") (binary_expression "cVar12 < '\0'" (identifier "cVar12") (< "<") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))))) () ")")) (compound_statement "{\n        if (cVar28 != '\t') goto LAB_000151b8;\nLAB_0001525c:\n        if (((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)) {\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }\n        if (cVar28 == ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n        }\n        else {\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }\nLAB_000151f8:\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)) {\n          FUN_00018c70();\n        }\nLAB_0001521b:\n        if (*local_68 != '\0') goto LAB_000159db;\n        goto LAB_00015228;\n      }" ({ "{") (if_statement "if (cVar28 != '\t') goto LAB_000151b8;" (if "if") (parenthesized_expression "(cVar28 != '\t')" (( "(") (binary_expression "cVar28 != '\t'" (identifier "cVar28") (!= "!=") (char_literal "'\t'" (' "'") (escape_sequence "\t") (' "'"))) () ")")) (goto_statement "goto LAB_000151b8;" (goto "goto") (statement_identifier "LAB_000151b8") (; ";"))) (labeled_statement "LAB_0001525c:\n        if (((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)) {\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }" (statement_identifier "LAB_0001525c") (: ":") (if_statement "if (((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)) {\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }" (if "if") (parenthesized_expression "(((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0))" (( "(") (binary_expression "((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||\n           (pcVar27 = local_64, local_74 != 0)" (parenthesized_expression "((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78))" (( "(") (binary_expression "(local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)" (parenthesized_expression "(local_74 != 0)" (( "(") (binary_expression "local_74 != 0" (identifier "local_74") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(pcVar27 = pcVar18, local_64 < local_78)" (( "(") (comma_expression "pcVar27 = pcVar18, local_64 < local_78" (assignment_expression "pcVar27 = pcVar18" (identifier "pcVar27") (= "=") (identifier "pcVar18")) (, ",") (binary_expression "local_64 < local_78" (identifier "local_64") (< "<") (identifier "local_78"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(pcVar27 = local_64, local_74 != 0)" (( "(") (comma_expression "pcVar27 = local_64, local_74 != 0" (assignment_expression "pcVar27 = local_64" (identifier "pcVar27") (= "=") (identifier "local_64")) (, ",") (binary_expression "local_74 != 0" (identifier "local_74") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n          local_64 = pcVar27;\n          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }\n          goto LAB_000151d8;\n        }" ({ "{") (expression_statement "local_64 = pcVar27;" (assignment_expression "local_64 = pcVar27" (identifier "local_64") (= "=") (identifier "pcVar27")) (; ";")) (if_statement "if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))) {\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }" (if "if") (parenthesized_expression "(((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.'))))" (( "(") (binary_expression "((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||\n             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))" (parenthesized_expression "((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' '))" (( "(") (binary_expression "(*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')" (parenthesized_expression "(*(char **)(unaff_EBP + 0x129a6) == pcVar18)" (( "(") (binary_expression "*(char **)(unaff_EBP + 0x129a6) == pcVar18" (pointer_expression "*(char **)(unaff_EBP + 0x129a6)" (* "*") (cast_expression "(char **)(unaff_EBP + 0x129a6)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(unaff_EBP + 0x129a6)" (( "(") (binary_expression "unaff_EBP + 0x129a6" (identifier "unaff_EBP") (+ "+") (number_literal "0x129a6")) () ")")))) (== "==") (identifier "pcVar18")) () ")")) (|| "||") (parenthesized_expression "(pcVar18[-1] != ' ')" (( "(") (binary_expression "pcVar18[-1] != ' '" (subscript_expression "pcVar18[-1]" (identifier "pcVar18") ([ "[") (number_literal "-1") (] "]")) (!= "!=") (char_literal "' '" (' "'") (character " ") (' "'"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')))" (( "(") (parenthesized_expression "(*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.'))" (( "(") (binary_expression "*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||\n              (bVar29 = true, pcVar18[-2] == '.')" (binary_expression "*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1" (pointer_expression "*(char **)(unaff_EBP + 0x129a6)" (* "*") (cast_expression "(char **)(unaff_EBP + 0x129a6)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(unaff_EBP + 0x129a6)" (( "(") (binary_expression "unaff_EBP + 0x129a6" (identifier "unaff_EBP") (+ "+") (number_literal "0x129a6")) () ")")))) (== "==") (binary_expression "pcVar18 + -1" (identifier "pcVar18") (+ "+") (number_literal "-1"))) (|| "||") (parenthesized_expression "(bVar29 = true, pcVar18[-2] == '.')" (( "(") (comma_expression "bVar29 = true, pcVar18[-2] == '.'" (assignment_expression "bVar29 = true" (identifier "bVar29") (= "=") (true "true")) (, ",") (binary_expression "pcVar18[-2] == '.'" (subscript_expression "pcVar18[-2]" (identifier "pcVar18") ([ "[") (number_literal "-2") (] "]")) (== "==") (char_literal "'.'" (' "'") (character ".") (' "'")))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n            local_80 = local_80 + 1;\n            bVar29 = true;\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n          }" ({ "{") (expression_statement "local_80 = local_80 + 1;" (assignment_expression "local_80 = local_80 + 1" (identifier "local_80") (= "=") (binary_expression "local_80 + 1" (identifier "local_80") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar29 = true;" (assignment_expression "bVar29 = true" (identifier "bVar29") (= "=") (true "true")) (; ";")) (expression_statement "*puVar5 = (uint)(pcVar18 + 1);" (assignment_expression "*puVar5 = (uint)(pcVar18 + 1)" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (call_expression "(uint)(pcVar18 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pcVar18 + 1)" (( "(") (binary_expression "pcVar18 + 1" (identifier "pcVar18") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*pcVar18 = ' ';" (assignment_expression "*pcVar18 = ' '" (pointer_expression "*pcVar18" (* "*") (identifier "pcVar18")) (= "=") (char_literal "' '" (' "'") (character " ") (' "'"))) (; ";")) (} "}"))) (goto_statement "goto LAB_000151d8;" (goto "goto") (statement_identifier "LAB_000151d8") (; ";")) (} "}")))) (if_statement "if (cVar28 == ' ') {\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n        }\n        else {\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }" (if "if") (parenthesized_expression "(cVar28 == ' ')" (( "(") (binary_expression "cVar28 == ' '" (identifier "cVar28") (== "==") (char_literal "' '" (' "'") (character " ") (' "'"))) () ")")) (compound_statement "{\n          local_80 = local_80 + 1;\n          *puVar5 = (uint)(pcVar18 + 1);\n          *pcVar18 = ' ';\n        }" ({ "{") (expression_statement "local_80 = local_80 + 1;" (assignment_expression "local_80 = local_80 + 1" (identifier "local_80") (= "=") (binary_expression "local_80 + 1" (identifier "local_80") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*puVar5 = (uint)(pcVar18 + 1);" (assignment_expression "*puVar5 = (uint)(pcVar18 + 1)" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (call_expression "(uint)(pcVar18 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pcVar18 + 1)" (( "(") (binary_expression "pcVar18 + 1" (identifier "pcVar18") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*pcVar18 = ' ';" (assignment_expression "*pcVar18 = ' '" (pointer_expression "*pcVar18" (* "*") (identifier "pcVar18")) (= "=") (char_literal "' '" (' "'") (character " ") (' "'"))) (; ";")) (} "}")) (else_clause "else {\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }" (else "else") (compound_statement "{\n          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);\n          local_80 = local_80 + iVar23;\n          if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }\n          if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }\n        }" ({ "{") (expression_statement "iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);" (assignment_expression "iVar23 = *(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2)" (identifier "iVar23") (= "=") (binary_expression "*(int *)(unaff_EBP + 0x12bb2) -\n                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2)" (pointer_expression "*(int *)(unaff_EBP + 0x12bb2)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x12bb2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x12bb2)" (( "(") (binary_expression "unaff_EBP + 0x12bb2" (identifier "unaff_EBP") (+ "+") (number_literal "0x12bb2")) () ")")))) (- "-") (binary_expression "(((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2)" (parenthesized_expression "(((iVar16 + -2 + local_80) - local_70) + -1)" (( "(") (binary_expression "((iVar16 + -2 + local_80) - local_70) + -1" (parenthesized_expression "((iVar16 + -2 + local_80) - local_70)" (( "(") (binary_expression "(iVar16 + -2 + local_80) - local_70" (parenthesized_expression "(iVar16 + -2 + local_80)" (( "(") (binary_expression "iVar16 + -2 + local_80" (binary_expression "iVar16 + -2" (identifier "iVar16") (+ "+") (number_literal "-2")) (+ "+") (identifier "local_80")) () ")")) (- "-") (identifier "local_70")) () ")")) (+ "+") (number_literal "-1")) () ")")) (% "%") (pointer_expression "*(int *)(unaff_EBP + 0x12bb2)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x12bb2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x12bb2)" (( "(") (binary_expression "unaff_EBP + 0x12bb2" (identifier "unaff_EBP") (+ "+") (number_literal "0x12bb2")) () ")"))))))) (; ";")) (expression_statement "local_80 = local_80 + iVar23;" (assignment_expression "local_80 = local_80 + iVar23" (identifier "local_80") (= "=") (binary_expression "local_80 + iVar23" (identifier "local_80") (+ "+") (identifier "iVar23"))) (; ";")) (if_statement "if ((char *)(iVar26 - iVar23) <= pcVar18) {\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }" (if "if") (parenthesized_expression "((char *)(iVar26 - iVar23) <= pcVar18)" (( "(") (binary_expression "(char *)(iVar26 - iVar23) <= pcVar18" (cast_expression "(char *)(iVar26 - iVar23)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 - iVar23)" (( "(") (binary_expression "iVar26 - iVar23" (identifier "iVar26") (- "-") (identifier "iVar23")) () ")"))) (<= "<=") (identifier "pcVar18")) () ")")) (compound_statement "{\n            piVar8 = (int *)(unaff_EBP + 0x129a6);\n            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);\n            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n            *(int *)(unaff_EBP + 0x129aa) = iVar22;\n            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));\n            *puVar5 = (uint)pcVar18;\n            *piVar2 = iVar22 + -5 + iVar26;\n            *piVar8 = iVar22 + 1;\n          }" ({ "{") (expression_statement "piVar8 = (int *)(unaff_EBP + 0x129a6);" (assignment_expression "piVar8 = (int *)(unaff_EBP + 0x129a6)" (identifier "piVar8") (= "=") (cast_expression "(int *)(unaff_EBP + 0x129a6)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x129a6)" (( "(") (binary_expression "unaff_EBP + 0x129a6" (identifier "unaff_EBP") (+ "+") (number_literal "0x129a6")) () ")")))) (; ";")) (expression_statement "iVar26 = iVar23 + 400 + (iVar26 - *piVar8);" (assignment_expression "iVar26 = iVar23 + 400 + (iVar26 - *piVar8)" (identifier "iVar26") (= "=") (binary_expression "iVar23 + 400 + (iVar26 - *piVar8)" (binary_expression "iVar23 + 400" (identifier "iVar23") (+ "+") (number_literal "400")) (+ "+") (parenthesized_expression "(iVar26 - *piVar8)" (( "(") (binary_expression "iVar26 - *piVar8" (identifier "iVar26") (- "-") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) () ")")))) (; ";")) (expression_statement "iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);" (assignment_expression "iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26)" (identifier "iVar22") (= "=") (call_expression "FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26)" (identifier "FUN_00018620") (argument_list "(*(int *)(unaff_EBP + 0x129aa),iVar26)" (( "(") (pointer_expression "*(int *)(unaff_EBP + 0x129aa)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x129aa)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x129aa)" (( "(") (binary_expression "unaff_EBP + 0x129aa" (identifier "unaff_EBP") (+ "+") (number_literal "0x129aa")) () ")")))) (, ",") (identifier "iVar26") () ")")))) (; ";")) (expression_statement "*(int *)(unaff_EBP + 0x129aa) = iVar22;" (assignment_expression "*(int *)(unaff_EBP + 0x129aa) = iVar22" (pointer_expression "*(int *)(unaff_EBP + 0x129aa)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x129aa)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x129aa)" (( "(") (binary_expression "unaff_EBP + 0x129aa" (identifier "unaff_EBP") (+ "+") (number_literal "0x129aa")) () ")")))) (= "=") (identifier "iVar22")) (; ";")) (expression_statement "pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));" (assignment_expression "pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8))" (identifier "pcVar18") (= "=") (cast_expression "(char *)(iVar22 + 1 + (*puVar5 - *piVar8))" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar22 + 1 + (*puVar5 - *piVar8))" (( "(") (binary_expression "iVar22 + 1 + (*puVar5 - *piVar8)" (binary_expression "iVar22 + 1" (identifier "iVar22") (+ "+") (number_literal "1")) (+ "+") (parenthesized_expression "(*puVar5 - *piVar8)" (( "(") (binary_expression "*puVar5 - *piVar8" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (- "-") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) () ")"))) () ")")))) (; ";")) (expression_statement "*puVar5 = (uint)pcVar18;" (assignment_expression "*puVar5 = (uint)pcVar18" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (cast_expression "(uint)pcVar18" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pcVar18"))) (; ";")) (expression_statement "*piVar2 = iVar22 + -5 + iVar26;" (assignment_expression "*piVar2 = iVar22 + -5 + iVar26" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (binary_expression "iVar22 + -5 + iVar26" (binary_expression "iVar22 + -5" (identifier "iVar22") (+ "+") (number_literal "-5")) (+ "+") (identifier "iVar26"))) (; ";")) (expression_statement "*piVar8 = iVar22 + 1;" (assignment_expression "*piVar8 = iVar22 + 1" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (= "=") (binary_expression "iVar22 + 1" (identifier "iVar22") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if (iVar23 == 0) {\nLAB_00015589:\n            local_74 = 0;\n          }\n          else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }" (if "if") (parenthesized_expression "(iVar23 == 0)" (( "(") (binary_expression "iVar23 == 0" (identifier "iVar23") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00015589:\n            local_74 = 0;\n          }" ({ "{") (labeled_statement "LAB_00015589:\n            local_74 = 0;" (statement_identifier "LAB_00015589") (: ":") (expression_statement "local_74 = 0;" (assignment_expression "local_74 = 0" (identifier "local_74") (= "=") (number_literal "0")) (; ";"))) (} "}")) (else_clause "else {\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }" (else "else") (compound_statement "{\n            *puVar5 = (uint)(pcVar18 + 1);\n            iVar26 = iVar23 + -2;\n            *pcVar18 = ' ';\n            if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }\n          }" ({ "{") (expression_statement "*puVar5 = (uint)(pcVar18 + 1);" (assignment_expression "*puVar5 = (uint)(pcVar18 + 1)" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (call_expression "(uint)(pcVar18 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pcVar18 + 1)" (( "(") (binary_expression "pcVar18 + 1" (identifier "pcVar18") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "iVar26 = iVar23 + -2;" (assignment_expression "iVar26 = iVar23 + -2" (identifier "iVar26") (= "=") (binary_expression "iVar23 + -2" (identifier "iVar23") (+ "+") (number_literal "-2"))) (; ";")) (expression_statement "*pcVar18 = ' ';" (assignment_expression "*pcVar18 = ' '" (pointer_expression "*pcVar18" (* "*") (identifier "pcVar18")) (= "=") (char_literal "' '" (' "'") (character " ") (' "'"))) (; ";")) (if_statement "if (iVar23 != 1) {\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }" (if "if") (parenthesized_expression "(iVar23 != 1)" (( "(") (binary_expression "iVar23 != 1" (identifier "iVar23") (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n              do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);\n            }" ({ "{") (do_statement "do {\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              } while (iVar26 != -1);" (do "do") (compound_statement "{\n                puVar20 = (undefined1 *)*puVar5;\n                iVar26 = iVar26 + -1;\n                *puVar5 = (uint)(puVar20 + 1);\n                *puVar20 = 0x20;\n              }" ({ "{") (expression_statement "puVar20 = (undefined1 *)*puVar5;" (assignment_expression "puVar20 = (undefined1 *)*puVar5" (identifier "puVar20") (= "=") (cast_expression "(undefined1 *)*puVar5" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")))) (; ";")) (expression_statement "iVar26 = iVar26 + -1;" (assignment_expression "iVar26 = iVar26 + -1" (identifier "iVar26") (= "=") (binary_expression "iVar26 + -1" (identifier "iVar26") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "*puVar5 = (uint)(puVar20 + 1);" (assignment_expression "*puVar5 = (uint)(puVar20 + 1)" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (call_expression "(uint)(puVar20 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(puVar20 + 1)" (( "(") (binary_expression "puVar20 + 1" (identifier "puVar20") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*puVar20 = 0x20;" (assignment_expression "*puVar20 = 0x20" (pointer_expression "*puVar20" (* "*") (identifier "puVar20")) (= "=") (number_literal "0x20")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar26 != -1)" (( "(") (binary_expression "iVar26 != -1" (identifier "iVar26") (!= "!=") (number_literal "-1")) () ")")) (; ";")) (} "}"))) (} "}")))) (} "}")))) (labeled_statement "LAB_000151f8:\n        pcVar18 = (char *)*puVar6;" (statement_identifier "LAB_000151f8") (: ":") (expression_statement "pcVar18 = (char *)*puVar6;" (assignment_expression "pcVar18 = (char *)*puVar6" (identifier "pcVar18") (= "=") (cast_expression "(char *)*puVar6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar6" (* "*") (identifier "puVar6")))) (; ";"))) (if_statement "if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }" (if "if") (parenthesized_expression "(*pcVar18 == '\n')" (( "(") (binary_expression "*pcVar18 == '\n'" (pointer_expression "*pcVar18" (* "*") (identifier "pcVar18")) (== "==") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) () ")")) (compound_statement "{\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }" ({ "{") (expression_statement "*(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;" (assignment_expression "*(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1" (pointer_expression "*(int *)(unaff_EBP + 0x1298a)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x1298a)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x1298a)" (( "(") (binary_expression "unaff_EBP + 0x1298a" (identifier "unaff_EBP") (+ "+") (number_literal "0x1298a")) () ")")))) (= "=") (binary_expression "*(int *)(unaff_EBP + 0x1298a) + 1" (pointer_expression "*(int *)(unaff_EBP + 0x1298a)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x1298a)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x1298a)" (( "(") (binary_expression "unaff_EBP + 0x1298a" (identifier "unaff_EBP") (+ "+") (number_literal "0x1298a")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "pcVar18 = pcVar18 + 1;" (assignment_expression "pcVar18 = pcVar18 + 1" (identifier "pcVar18") (= "=") (binary_expression "pcVar18 + 1" (identifier "pcVar18") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*puVar6 = (uint)pcVar18;" (assignment_expression "*puVar6 = (uint)pcVar18" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (= "=") (cast_expression "(uint)pcVar18" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pcVar18"))) (; ";")) (if_statement "if (pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)) {\n          FUN_00018c70();\n        }" (if "if") (parenthesized_expression "(pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2))" (( "(") (binary_expression "pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)" (identifier "pcVar18") (== "==") (pointer_expression "*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)" (* "*") (cast_expression "(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(__i686_get_pc_thunk_bx + unaff_EBP + 2)" (( "(") (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP + 2" (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP" (identifier "__i686_get_pc_thunk_bx") (+ "+") (identifier "unaff_EBP")) (+ "+") (number_literal "2")) () ")"))))) () ")")) (compound_statement "{\n          FUN_00018c70();\n        }" ({ "{") (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" (identifier "FUN_00018c70") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (labeled_statement "LAB_0001521b:\n        if (*local_68 != '\0') goto LAB_000159db;" (statement_identifier "LAB_0001521b") (: ":") (if_statement "if (*local_68 != '\0') goto LAB_000159db;" (if "if") (parenthesized_expression "(*local_68 != '\0')" (( "(") (binary_expression "*local_68 != '\0'" (pointer_expression "*local_68" (* "*") (identifier "local_68")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_000159db;" (goto "goto") (statement_identifier "LAB_000159db") (; ";")))) (goto_statement "goto LAB_00015228;" (goto "goto") (statement_identifier "LAB_00015228") (; ";")) (} "}")))) (if_statement "if (cVar28 == ' ') goto LAB_0001525c;" (if "if") (parenthesized_expression "(cVar28 == ' ')" (( "(") (binary_expression "cVar28 == ' '" (identifier "cVar28") (== "==") (char_literal "' '" (' "'") (character " ") (' "'"))) () ")")) (goto_statement "goto LAB_0001525c;" (goto "goto") (statement_identifier "LAB_0001525c") (; ";"))) (if_statement "if ((cVar28 != '*') || (local_5c != 0x13)) goto LAB_000151b8;" (if "if") (parenthesized_expression "((cVar28 != '*') || (local_5c != 0x13))" (( "(") (binary_expression "(cVar28 != '*') || (local_5c != 0x13)" (parenthesized_expression "(cVar28 != '*')" (( "(") (binary_expression "cVar28 != '*'" (identifier "cVar28") (!= "!=") (char_literal "'*'" (' "'") (character "*") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(local_5c != 0x13)" (( "(") (binary_expression "local_5c != 0x13" (identifier "local_5c") (!= "!=") (number_literal "0x13")) () ")"))) () ")")) (goto_statement "goto LAB_000151b8;" (goto "goto") (statement_identifier "LAB_000151b8") (; ";"))) (if_statement "if (pcVar19[1] == '/') {\n        if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }\n          if ((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')) {\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }\n        }\nLAB_00015cc8:\n        if ((char *)(iVar26 + -3) <= pcVar18) {\n          piVar1 = (int *)(unaff_EBP + 0x129a6);\n          iVar15 = *piVar1;\n          iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);\n          *(int *)(unaff_EBP + 0x129aa) = iVar16;\n          pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));\n          *piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);\n          *piVar1 = iVar16 + 1;\n        }\n        *puVar5 = (uint)(pcVar18 + 1);\n        *pcVar18 = '*';\n        puVar20 = (undefined1 *)*puVar5;\n        *puVar5 = (uint)(puVar20 + 1);\n        *puVar20 = 0x2f;\n        *(undefined1 *)*puVar5 = 0;\n        uVar24 = *puVar6;\n        *puVar6 = uVar24 + 2;\n        uVar24 = FUN_00018720(uVar24 + 2);\n        *puVar6 = uVar24;\n        if (*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= uVar24) {\n          FUN_00018c70();\n        }\n        iVar15 = *local_6c;\n        *(int *)(iVar15 + 0x58) = local_70;\n        *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n        *(int *)(iVar15 + 0x24) = local_54;\n        return;\n      }" (if "if") (parenthesized_expression "(pcVar19[1] == '/')" (( "(") (binary_expression "pcVar19[1] == '/'" (subscript_expression "pcVar19[1]" (identifier "pcVar19") ([ "[") (number_literal "1") (] "]")) (== "==") (char_literal "'/'" (' "'") (character "/") (' "'"))) () ")")) (compound_statement "{\n        if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }\n          if ((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')) {\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }\n        }\nLAB_00015cc8:\n        if ((char *)(iVar26 + -3) <= pcVar18) {\n          piVar1 = (int *)(unaff_EBP + 0x129a6);\n          iVar15 = *piVar1;\n          iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);\n          *(int *)(unaff_EBP + 0x129aa) = iVar16;\n          pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));\n          *piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);\n          *piVar1 = iVar16 + 1;\n        }\n        *puVar5 = (uint)(pcVar18 + 1);\n        *pcVar18 = '*';\n        puVar20 = (undefined1 *)*puVar5;\n        *puVar5 = (uint)(puVar20 + 1);\n        *puVar20 = 0x2f;\n        *(undefined1 *)*puVar5 = 0;\n        uVar24 = *puVar6;\n        *puVar6 = uVar24 + 2;\n        uVar24 = FUN_00018720(uVar24 + 2);\n        *puVar6 = uVar24;\n        if (*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= uVar24) {\n          FUN_00018c70();\n        }\n        iVar15 = *local_6c;\n        *(int *)(iVar15 + 0x58) = local_70;\n        *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;\n        *(int *)(iVar15 + 0x24) = local_54;\n        return;\n      }" ({ "{") (if_statement "if (local_54 == 0) {\n          if (local_78 == (char *)0x0) {\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }\n          if ((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')) {\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }\n        }" (if "if") (parenthesized_expression "(local_54 == 0)" (( "(") (binary_expression "local_54 == 0" (identifier "local_54") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          if (local_78 == (char *)0x0) {\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }\n          if ((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')) {\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }\n        }" ({ "{") (if_statement "if (local_78 == (char *)0x0) {\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }\n          else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }" (if "if") (parenthesized_expression "(local_78 == (char *)0x0)" (( "(") (binary_expression "local_78 == (char *)0x0" (identifier "local_78") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            pcVar27 = *(char **)(unaff_EBP + 0x129a6);\n            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }\n          }" ({ "{") (expression_statement "pcVar27 = *(char **)(unaff_EBP + 0x129a6);" (assignment_expression "pcVar27 = *(char **)(unaff_EBP + 0x129a6)" (identifier "pcVar27") (= "=") (pointer_expression "*(char **)(unaff_EBP + 0x129a6)" (* "*") (cast_expression "(char **)(unaff_EBP + 0x129a6)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(unaff_EBP + 0x129a6)" (( "(") (binary_expression "unaff_EBP + 0x129a6" (identifier "unaff_EBP") (+ "+") (number_literal "0x129a6")) () ")"))))) (; ";")) (if_statement "if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }" (if "if") (parenthesized_expression "((pcVar27 == pcVar18) || (*pcVar27 != '/'))" (( "(") (binary_expression "(pcVar27 == pcVar18) || (*pcVar27 != '/')" (parenthesized_expression "(pcVar27 == pcVar18)" (( "(") (binary_expression "pcVar27 == pcVar18" (identifier "pcVar27") (== "==") (identifier "pcVar18")) () ")")) (|| "||") (parenthesized_expression "(*pcVar27 != '/')" (( "(") (binary_expression "*pcVar27 != '/'" (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) (!= "!=") (char_literal "'/'" (' "'") (character "/") (' "'"))) () ")"))) () ")")) (compound_statement "{\n              *puVar5 = (uint)(pcVar27 + 1);\n              *pcVar27 = ' ';\n              pcVar18 = (char *)*puVar5;\n              iVar26 = *piVar2;\n              goto LAB_00015cc8;\n            }" ({ "{") (expression_statement "*puVar5 = (uint)(pcVar27 + 1);" (assignment_expression "*puVar5 = (uint)(pcVar27 + 1)" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (call_expression "(uint)(pcVar27 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pcVar27 + 1)" (( "(") (binary_expression "pcVar27 + 1" (identifier "pcVar27") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*pcVar27 = ' ';" (assignment_expression "*pcVar27 = ' '" (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) (= "=") (char_literal "' '" (' "'") (character " ") (' "'"))) (; ";")) (expression_statement "pcVar18 = (char *)*puVar5;" (assignment_expression "pcVar18 = (char *)*puVar5" (identifier "pcVar18") (= "=") (cast_expression "(char *)*puVar5" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")))) (; ";")) (expression_statement "iVar26 = *piVar2;" (assignment_expression "iVar26 = *piVar2" (identifier "iVar26") (= "=") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) (; ";")) (goto_statement "goto LAB_00015cc8;" (goto "goto") (statement_identifier "LAB_00015cc8") (; ";")) (} "}"))) (} "}")) (else_clause "else if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }" (else "else") (if_statement "if ((local_28 != 0) && (bVar13)) {\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }" (if "if") (parenthesized_expression "((local_28 != 0) && (bVar13))" (( "(") (binary_expression "(local_28 != 0) && (bVar13)" (parenthesized_expression "(local_28 != 0)" (( "(") (binary_expression "local_28 != 0" (identifier "local_28") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(bVar13)" (( "(") (identifier "bVar13") () ")"))) () ")")) (compound_statement "{\n            *pcVar18 = '\0';\n            FUN_0001a130(1,param_1,param_2,local_78);\n            puVar20 = (undefined1 *)*puVar5;\n            *puVar5 = (uint)(puVar20 + 1);\n            *puVar20 = 0x20;\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n            goto LAB_00015cc8;\n          }" ({ "{") (expression_statement "*pcVar18 = '\0';" (assignment_expression "*pcVar18 = '\0'" (pointer_expression "*pcVar18" (* "*") (identifier "pcVar18")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "FUN_0001a130(1,param_1,param_2,local_78);" (call_expression "FUN_0001a130(1,param_1,param_2,local_78)" (identifier "FUN_0001a130") (argument_list "(1,param_1,param_2,local_78)" (( "(") (number_literal "1") (, ",") (identifier "param_1") (, ",") (identifier "param_2") (, ",") (identifier "local_78") () ")"))) (; ";")) (expression_statement "puVar20 = (undefined1 *)*puVar5;" (assignment_expression "puVar20 = (undefined1 *)*puVar5" (identifier "puVar20") (= "=") (cast_expression "(undefined1 *)*puVar5" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")))) (; ";")) (expression_statement "*puVar5 = (uint)(puVar20 + 1);" (assignment_expression "*puVar5 = (uint)(puVar20 + 1)" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (call_expression "(uint)(puVar20 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(puVar20 + 1)" (( "(") (binary_expression "puVar20 + 1" (identifier "puVar20") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*puVar20 = 0x20;" (assignment_expression "*puVar20 = 0x20" (pointer_expression "*puVar20" (* "*") (identifier "puVar20")) (= "=") (number_literal "0x20")) (; ";")) (expression_statement "pcVar18 = (char *)*puVar5;" (assignment_expression "pcVar18 = (char *)*puVar5" (identifier "pcVar18") (= "=") (cast_expression "(char *)*puVar5" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")))) (; ";")) (expression_statement "iVar26 = *piVar2;" (assignment_expression "iVar26 = *piVar2" (identifier "iVar26") (= "=") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) (; ";")) (goto_statement "goto LAB_00015cc8;" (goto "goto") (statement_identifier "LAB_00015cc8") (; ";")) (} "}"))))) (if_statement "if ((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')) {\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }" (if "if") (parenthesized_expression "((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t'))" (( "(") (binary_expression "(pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')" (parenthesized_expression "(pcVar18[-1] != ' ')" (( "(") (binary_expression "pcVar18[-1] != ' '" (subscript_expression "pcVar18[-1]" (identifier "pcVar18") ([ "[") (number_literal "-1") (] "]")) (!= "!=") (char_literal "' '" (' "'") (character " ") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(pcVar18[-1] != '\t')" (( "(") (binary_expression "pcVar18[-1] != '\t'" (subscript_expression "pcVar18[-1]" (identifier "pcVar18") ([ "[") (number_literal "-1") (] "]")) (!= "!=") (char_literal "'\t'" (' "'") (escape_sequence "\t") (' "'"))) () ")"))) () ")")) (compound_statement "{\n            *puVar5 = (uint)(pcVar18 + 1);\n            *pcVar18 = ' ';\n            pcVar18 = (char *)*puVar5;\n            iVar26 = *piVar2;\n          }" ({ "{") (expression_statement "*puVar5 = (uint)(pcVar18 + 1);" (assignment_expression "*puVar5 = (uint)(pcVar18 + 1)" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (call_expression "(uint)(pcVar18 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pcVar18 + 1)" (( "(") (binary_expression "pcVar18 + 1" (identifier "pcVar18") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*pcVar18 = ' ';" (assignment_expression "*pcVar18 = ' '" (pointer_expression "*pcVar18" (* "*") (identifier "pcVar18")) (= "=") (char_literal "' '" (' "'") (character " ") (' "'"))) (; ";")) (expression_statement "pcVar18 = (char *)*puVar5;" (assignment_expression "pcVar18 = (char *)*puVar5" (identifier "pcVar18") (= "=") (cast_expression "(char *)*puVar5" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")))) (; ";")) (expression_statement "iVar26 = *piVar2;" (assignment_expression "iVar26 = *piVar2" (identifier "iVar26") (= "=") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_00015cc8:\n        if ((char *)(iVar26 + -3) <= pcVar18) {\n          piVar1 = (int *)(unaff_EBP + 0x129a6);\n          iVar15 = *piVar1;\n          iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);\n          *(int *)(unaff_EBP + 0x129aa) = iVar16;\n          pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));\n          *piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);\n          *piVar1 = iVar16 + 1;\n        }" (statement_identifier "LAB_00015cc8") (: ":") (if_statement "if ((char *)(iVar26 + -3) <= pcVar18) {\n          piVar1 = (int *)(unaff_EBP + 0x129a6);\n          iVar15 = *piVar1;\n          iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);\n          *(int *)(unaff_EBP + 0x129aa) = iVar16;\n          pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));\n          *piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);\n          *piVar1 = iVar16 + 1;\n        }" (if "if") (parenthesized_expression "((char *)(iVar26 + -3) <= pcVar18)" (( "(") (binary_expression "(char *)(iVar26 + -3) <= pcVar18" (cast_expression "(char *)(iVar26 + -3)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + -3)" (( "(") (binary_expression "iVar26 + -3" (identifier "iVar26") (+ "+") (number_literal "-3")) () ")"))) (<= "<=") (identifier "pcVar18")) () ")")) (compound_statement "{\n          piVar1 = (int *)(unaff_EBP + 0x129a6);\n          iVar15 = *piVar1;\n          iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);\n          *(int *)(unaff_EBP + 0x129aa) = iVar16;\n          pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));\n          *piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);\n          *piVar1 = iVar16 + 1;\n        }" ({ "{") (expression_statement "piVar1 = (int *)(unaff_EBP + 0x129a6);" (assignment_expression "piVar1 = (int *)(unaff_EBP + 0x129a6)" (identifier "piVar1") (= "=") (cast_expression "(int *)(unaff_EBP + 0x129a6)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x129a6)" (( "(") (binary_expression "unaff_EBP + 0x129a6" (identifier "unaff_EBP") (+ "+") (number_literal "0x129a6")) () ")")))) (; ";")) (expression_statement "iVar15 = *piVar1;" (assignment_expression "iVar15 = *piVar1" (identifier "iVar15") (= "=") (pointer_expression "*piVar1" (* "*") (identifier "piVar1"))) (; ";")) (expression_statement "iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1);" (assignment_expression "iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1)" (identifier "iVar16") (= "=") (call_expression "FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1)" (identifier "FUN_00018620") (argument_list "(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,\n                                piVar1)" (( "(") (pointer_expression "*(int *)(unaff_EBP + 0x129aa)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x129aa)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x129aa)" (( "(") (binary_expression "unaff_EBP + 0x129aa" (identifier "unaff_EBP") (+ "+") (number_literal "0x129aa")) () ")")))) (, ",") (binary_expression "(iVar26 - iVar15) + 0x193" (parenthesized_expression "(iVar26 - iVar15)" (( "(") (binary_expression "iVar26 - iVar15" (identifier "iVar26") (- "-") (identifier "iVar15")) () ")")) (+ "+") (number_literal "0x193")) (, ",") (identifier "piVar1") (, ",") (identifier "piVar1") () ")")))) (; ";")) (expression_statement "*(int *)(unaff_EBP + 0x129aa) = iVar16;" (assignment_expression "*(int *)(unaff_EBP + 0x129aa) = iVar16" (pointer_expression "*(int *)(unaff_EBP + 0x129aa)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x129aa)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x129aa)" (( "(") (binary_expression "unaff_EBP + 0x129aa" (identifier "unaff_EBP") (+ "+") (number_literal "0x129aa")) () ")")))) (= "=") (identifier "iVar16")) (; ";")) (expression_statement "pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));" (assignment_expression "pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1))" (identifier "pcVar18") (= "=") (cast_expression "(char *)(iVar16 + 1 + (*puVar5 - *piVar1))" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 1 + (*puVar5 - *piVar1))" (( "(") (binary_expression "iVar16 + 1 + (*puVar5 - *piVar1)" (binary_expression "iVar16 + 1" (identifier "iVar16") (+ "+") (number_literal "1")) (+ "+") (parenthesized_expression "(*puVar5 - *piVar1)" (( "(") (binary_expression "*puVar5 - *piVar1" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (- "-") (pointer_expression "*piVar1" (* "*") (identifier "piVar1"))) () ")"))) () ")")))) (; ";")) (expression_statement "*piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);" (assignment_expression "*piVar2 = iVar16 + 0x18e + (iVar26 - iVar15)" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (binary_expression "iVar16 + 0x18e + (iVar26 - iVar15)" (binary_expression "iVar16 + 0x18e" (identifier "iVar16") (+ "+") (number_literal "0x18e")) (+ "+") (parenthesized_expression "(iVar26 - iVar15)" (( "(") (binary_expression "iVar26 - iVar15" (identifier "iVar26") (- "-") (identifier "iVar15")) () ")")))) (; ";")) (expression_statement "*piVar1 = iVar16 + 1;" (assignment_expression "*piVar1 = iVar16 + 1" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (= "=") (binary_expression "iVar16 + 1" (identifier "iVar16") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (expression_statement "*puVar5 = (uint)(pcVar18 + 1);" (assignment_expression "*puVar5 = (uint)(pcVar18 + 1)" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (call_expression "(uint)(pcVar18 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pcVar18 + 1)" (( "(") (binary_expression "pcVar18 + 1" (identifier "pcVar18") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*pcVar18 = '*';" (assignment_expression "*pcVar18 = '*'" (pointer_expression "*pcVar18" (* "*") (identifier "pcVar18")) (= "=") (char_literal "'*'" (' "'") (character "*") (' "'"))) (; ";")) (expression_statement "puVar20 = (undefined1 *)*puVar5;" (assignment_expression "puVar20 = (undefined1 *)*puVar5" (identifier "puVar20") (= "=") (cast_expression "(undefined1 *)*puVar5" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")))) (; ";")) (expression_statement "*puVar5 = (uint)(puVar20 + 1);" (assignment_expression "*puVar5 = (uint)(puVar20 + 1)" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (call_expression "(uint)(puVar20 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(puVar20 + 1)" (( "(") (binary_expression "puVar20 + 1" (identifier "puVar20") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*puVar20 = 0x2f;" (assignment_expression "*puVar20 = 0x2f" (pointer_expression "*puVar20" (* "*") (identifier "puVar20")) (= "=") (number_literal "0x2f")) (; ";")) (expression_statement "*(undefined1 *)*puVar5 = 0;" (assignment_expression "*(undefined1 *)*puVar5 = 0" (pointer_expression "*(undefined1 *)*puVar5" (* "*") (cast_expression "(undefined1 *)*puVar5" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar24 = *puVar6;" (assignment_expression "uVar24 = *puVar6" (identifier "uVar24") (= "=") (pointer_expression "*puVar6" (* "*") (identifier "puVar6"))) (; ";")) (expression_statement "*puVar6 = uVar24 + 2;" (assignment_expression "*puVar6 = uVar24 + 2" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (= "=") (binary_expression "uVar24 + 2" (identifier "uVar24") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "uVar24 = FUN_00018720(uVar24 + 2);" (assignment_expression "uVar24 = FUN_00018720(uVar24 + 2)" (identifier "uVar24") (= "=") (call_expression "FUN_00018720(uVar24 + 2)" (identifier "FUN_00018720") (argument_list "(uVar24 + 2)" (( "(") (binary_expression "uVar24 + 2" (identifier "uVar24") (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "*puVar6 = uVar24;" (assignment_expression "*puVar6 = uVar24" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (= "=") (identifier "uVar24")) (; ";")) (if_statement "if (*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= uVar24) {\n          FUN_00018c70();\n        }" (if "if") (parenthesized_expression "(*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= uVar24)" (( "(") (binary_expression "*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= uVar24" (pointer_expression "*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2)" (* "*") (cast_expression "(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(__i686_get_pc_thunk_bx + unaff_EBP + 2)" (( "(") (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP + 2" (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP" (identifier "__i686_get_pc_thunk_bx") (+ "+") (identifier "unaff_EBP")) (+ "+") (number_literal "2")) () ")")))) (<= "<=") (identifier "uVar24")) () ")")) (compound_statement "{\n          FUN_00018c70();\n        }" ({ "{") (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" (identifier "FUN_00018c70") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "iVar15 = *local_6c;" (assignment_expression "iVar15 = *local_6c" (identifier "iVar15") (= "=") (pointer_expression "*local_6c" (* "*") (identifier "local_6c"))) (; ";")) (expression_statement "*(int *)(iVar15 + 0x58) = local_70;" (assignment_expression "*(int *)(iVar15 + 0x58) = local_70" (pointer_expression "*(int *)(iVar15 + 0x58)" (* "*") (cast_expression "(int *)(iVar15 + 0x58)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x58)" (( "(") (binary_expression "iVar15 + 0x58" (identifier "iVar15") (+ "+") (number_literal "0x58")) () ")")))) (= "=") (identifier "local_70")) (; ";")) (expression_statement "*(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;" (assignment_expression "*(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1" (pointer_expression "*(int *)(iVar15 + 0x20)" (* "*") (cast_expression "(int *)(iVar15 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x20)" (( "(") (binary_expression "iVar15 + 0x20" (identifier "iVar15") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (binary_expression "*(int *)(iVar15 + 0x20) + -1" (pointer_expression "*(int *)(iVar15 + 0x20)" (* "*") (cast_expression "(int *)(iVar15 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x20)" (( "(") (binary_expression "iVar15 + 0x20" (identifier "iVar15") (+ "+") (number_literal "0x20")) () ")")))) (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "*(int *)(iVar15 + 0x24) = local_54;" (assignment_expression "*(int *)(iVar15 + 0x24) = local_54" (pointer_expression "*(int *)(iVar15 + 0x24)" (* "*") (cast_expression "(int *)(iVar15 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x24)" (( "(") (binary_expression "iVar15 + 0x24" (identifier "iVar15") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (identifier "local_54")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (*piVar1 + -1 == iVar15) {\n        piVar8 = (int *)(unaff_EBP + 0x129a6);\n        if (pcVar18 != (undefined1 *)*piVar8 + local_48) goto LAB_000151b8;\n        *(undefined1 *)*piVar8 = 0x20;\n        local_80 = (local_80 - local_48) + 2;\n        local_48 = 1;\n        local_4c = unaff_EBP + 0xc5d2;\n        *(undefined1 *)(*piVar8 + 1) = 0x2a;\n        local_78 = (char *)(*piVar8 + 2);\n        local_28 = 0;\n        *puVar5 = (uint)local_78;\n        local_54 = 1;\n        goto LAB_00015589;\n      }" (if "if") (parenthesized_expression "(*piVar1 + -1 == iVar15)" (( "(") (binary_expression "*piVar1 + -1 == iVar15" (binary_expression "*piVar1 + -1" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (+ "+") (number_literal "-1")) (== "==") (identifier "iVar15")) () ")")) (compound_statement "{\n        piVar8 = (int *)(unaff_EBP + 0x129a6);\n        if (pcVar18 != (undefined1 *)*piVar8 + local_48) goto LAB_000151b8;\n        *(undefined1 *)*piVar8 = 0x20;\n        local_80 = (local_80 - local_48) + 2;\n        local_48 = 1;\n        local_4c = unaff_EBP + 0xc5d2;\n        *(undefined1 *)(*piVar8 + 1) = 0x2a;\n        local_78 = (char *)(*piVar8 + 2);\n        local_28 = 0;\n        *puVar5 = (uint)local_78;\n        local_54 = 1;\n        goto LAB_00015589;\n      }" ({ "{") (expression_statement "piVar8 = (int *)(unaff_EBP + 0x129a6);" (assignment_expression "piVar8 = (int *)(unaff_EBP + 0x129a6)" (identifier "piVar8") (= "=") (cast_expression "(int *)(unaff_EBP + 0x129a6)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x129a6)" (( "(") (binary_expression "unaff_EBP + 0x129a6" (identifier "unaff_EBP") (+ "+") (number_literal "0x129a6")) () ")")))) (; ";")) (if_statement "if (pcVar18 != (undefined1 *)*piVar8 + local_48) goto LAB_000151b8;" (if "if") (parenthesized_expression "(pcVar18 != (undefined1 *)*piVar8 + local_48)" (( "(") (binary_expression "pcVar18 != (undefined1 *)*piVar8 + local_48" (identifier "pcVar18") (!= "!=") (binary_expression "(undefined1 *)*piVar8 + local_48" (cast_expression "(undefined1 *)*piVar8" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar8" (* "*") (identifier "piVar8"))) (+ "+") (identifier "local_48"))) () ")")) (goto_statement "goto LAB_000151b8;" (goto "goto") (statement_identifier "LAB_000151b8") (; ";"))) (expression_statement "*(undefined1 *)*piVar8 = 0x20;" (assignment_expression "*(undefined1 *)*piVar8 = 0x20" (pointer_expression "*(undefined1 *)*piVar8" (* "*") (cast_expression "(undefined1 *)*piVar8" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar8" (* "*") (identifier "piVar8")))) (= "=") (number_literal "0x20")) (; ";")) (expression_statement "local_80 = (local_80 - local_48) + 2;" (assignment_expression "local_80 = (local_80 - local_48) + 2" (identifier "local_80") (= "=") (binary_expression "(local_80 - local_48) + 2" (parenthesized_expression "(local_80 - local_48)" (( "(") (binary_expression "local_80 - local_48" (identifier "local_80") (- "-") (identifier "local_48")) () ")")) (+ "+") (number_literal "2"))) (; ";")) (expression_statement "local_48 = 1;" (assignment_expression "local_48 = 1" (identifier "local_48") (= "=") (number_literal "1")) (; ";")) (expression_statement "local_4c = unaff_EBP + 0xc5d2;" (assignment_expression "local_4c = unaff_EBP + 0xc5d2" (identifier "local_4c") (= "=") (binary_expression "unaff_EBP + 0xc5d2" (identifier "unaff_EBP") (+ "+") (number_literal "0xc5d2"))) (; ";")) (expression_statement "*(undefined1 *)(*piVar8 + 1) = 0x2a;" (assignment_expression "*(undefined1 *)(*piVar8 + 1) = 0x2a" (pointer_expression "*(undefined1 *)(*piVar8 + 1)" (* "*") (cast_expression "(undefined1 *)(*piVar8 + 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar8 + 1)" (( "(") (binary_expression "*piVar8 + 1" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (+ "+") (number_literal "1")) () ")")))) (= "=") (number_literal "0x2a")) (; ";")) (expression_statement "local_78 = (char *)(*piVar8 + 2);" (assignment_expression "local_78 = (char *)(*piVar8 + 2)" (identifier "local_78") (= "=") (cast_expression "(char *)(*piVar8 + 2)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar8 + 2)" (( "(") (binary_expression "*piVar8 + 2" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "local_28 = 0;" (assignment_expression "local_28 = 0" (identifier "local_28") (= "=") (number_literal "0")) (; ";")) (expression_statement "*puVar5 = (uint)local_78;" (assignment_expression "*puVar5 = (uint)local_78" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (cast_expression "(uint)local_78" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_78"))) (; ";")) (expression_statement "local_54 = 1;" (assignment_expression "local_54 = 1" (identifier "local_54") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00015589;" (goto "goto") (statement_identifier "LAB_00015589") (; ";")) (} "}"))) (labeled_statement "LAB_000151b8:\n      local_80 = local_80 + 1;" (statement_identifier "LAB_000151b8") (: ":") (expression_statement "local_80 = local_80 + 1;" (assignment_expression "local_80 = local_80 + 1" (identifier "local_80") (= "=") (binary_expression "local_80 + 1" (identifier "local_80") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "*puVar5 = (uint)(pcVar18 + 1);" (assignment_expression "*puVar5 = (uint)(pcVar18 + 1)" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (call_expression "(uint)(pcVar18 + 1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pcVar18 + 1)" (( "(") (binary_expression "pcVar18 + 1" (identifier "pcVar18") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*pcVar18 = *pcVar19;" (assignment_expression "*pcVar18 = *pcVar19" (pointer_expression "*pcVar18" (* "*") (identifier "pcVar18")) (= "=") (pointer_expression "*pcVar19" (* "*") (identifier "pcVar19"))) (; ";")) (expression_statement "bVar29 = local_74 != 0;" (assignment_expression "bVar29 = local_74 != 0" (identifier "bVar29") (= "=") (binary_expression "local_74 != 0" (identifier "local_74") (!= "!=") (number_literal "0"))) (; ";")) (expression_statement "local_78 = pcVar18;" (assignment_expression "local_78 = pcVar18" (identifier "local_78") (= "=") (identifier "pcVar18")) (; ";")) (labeled_statement "LAB_000151d8:\n      if ((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar29)) goto LAB_000151f8;" (statement_identifier "LAB_000151d8") (: ":") (if_statement "if ((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar29)) goto LAB_000151f8;" (if "if") (parenthesized_expression "((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar29))" (( "(") (binary_expression "(local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar29)" (parenthesized_expression "(local_80 <= local_60 || local_64 == (char *)0x0)" (( "(") (binary_expression "local_80 <= local_60 || local_64 == (char *)0x0" (binary_expression "local_80 <= local_60" (identifier "local_80") (<= "<=") (identifier "local_60")) (|| "||") (binary_expression "local_64 == (char *)0x0" (identifier "local_64") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")")) (|| "||") (parenthesized_expression "(!bVar29)" (( "(") (unary_expression "!bVar29" (! "!") (identifier "bVar29")) () ")"))) () ")")) (goto_statement "goto LAB_000151f8;" (goto "goto") (statement_identifier "LAB_000151f8") (; ";")))) (if_statement "if (local_64 < (char *)(*puVar5 - 1)) {\n        *local_64 = '\0';\n        uVar24 = *puVar5;\n        *puVar5 = (uint)local_64;\n        local_40 = uVar24 - (int)(local_64 + 1);\n        iVar26 = local_80 - local_40;\n        if ((int)(local_80 - local_40) <= local_60) {\n          iVar26 = local_60;\n        }\n        bVar30 = local_78 == (char *)0x0;\n        bVar29 = false;\n        local_78 = local_64 + 1;\n        local_60 = iVar26;\n        bVar30 = (bool)(bVar30 & bVar14);\n        goto LAB_00015630;\n      }" (if "if") (parenthesized_expression "(local_64 < (char *)(*puVar5 - 1))" (( "(") (binary_expression "local_64 < (char *)(*puVar5 - 1)" (identifier "local_64") (< "<") (cast_expression "(char *)(*puVar5 - 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*puVar5 - 1)" (( "(") (binary_expression "*puVar5 - 1" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (- "-") (number_literal "1")) () ")")))) () ")")) (compound_statement "{\n        *local_64 = '\0';\n        uVar24 = *puVar5;\n        *puVar5 = (uint)local_64;\n        local_40 = uVar24 - (int)(local_64 + 1);\n        iVar26 = local_80 - local_40;\n        if ((int)(local_80 - local_40) <= local_60) {\n          iVar26 = local_60;\n        }\n        bVar30 = local_78 == (char *)0x0;\n        bVar29 = false;\n        local_78 = local_64 + 1;\n        local_60 = iVar26;\n        bVar30 = (bool)(bVar30 & bVar14);\n        goto LAB_00015630;\n      }" ({ "{") (expression_statement "*local_64 = '\0';" (assignment_expression "*local_64 = '\0'" (pointer_expression "*local_64" (* "*") (identifier "local_64")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "uVar24 = *puVar5;" (assignment_expression "uVar24 = *puVar5" (identifier "uVar24") (= "=") (pointer_expression "*puVar5" (* "*") (identifier "puVar5"))) (; ";")) (expression_statement "*puVar5 = (uint)local_64;" (assignment_expression "*puVar5 = (uint)local_64" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (cast_expression "(uint)local_64" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_64"))) (; ";")) (expression_statement "local_40 = uVar24 - (int)(local_64 + 1);" (assignment_expression "local_40 = uVar24 - (int)(local_64 + 1)" (identifier "local_40") (= "=") (binary_expression "uVar24 - (int)(local_64 + 1)" (identifier "uVar24") (- "-") (cast_expression "(int)(local_64 + 1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(local_64 + 1)" (( "(") (binary_expression "local_64 + 1" (identifier "local_64") (+ "+") (number_literal "1")) () ")"))))) (; ";")) (expression_statement "iVar26 = local_80 - local_40;" (assignment_expression "iVar26 = local_80 - local_40" (identifier "iVar26") (= "=") (binary_expression "local_80 - local_40" (identifier "local_80") (- "-") (identifier "local_40"))) (; ";")) (if_statement "if ((int)(local_80 - local_40) <= local_60) {\n          iVar26 = local_60;\n        }" (if "if") (parenthesized_expression "((int)(local_80 - local_40) <= local_60)" (( "(") (binary_expression "(int)(local_80 - local_40) <= local_60" (cast_expression "(int)(local_80 - local_40)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(local_80 - local_40)" (( "(") (binary_expression "local_80 - local_40" (identifier "local_80") (- "-") (identifier "local_40")) () ")"))) (<= "<=") (identifier "local_60")) () ")")) (compound_statement "{\n          iVar26 = local_60;\n        }" ({ "{") (expression_statement "iVar26 = local_60;" (assignment_expression "iVar26 = local_60" (identifier "iVar26") (= "=") (identifier "local_60")) (; ";")) (} "}"))) (expression_statement "bVar30 = local_78 == (char *)0x0;" (assignment_expression "bVar30 = local_78 == (char *)0x0" (identifier "bVar30") (= "=") (binary_expression "local_78 == (char *)0x0" (identifier "local_78") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) (; ";")) (expression_statement "bVar29 = false;" (assignment_expression "bVar29 = false" (identifier "bVar29") (= "=") (false "false")) (; ";")) (expression_statement "local_78 = local_64 + 1;" (assignment_expression "local_78 = local_64 + 1" (identifier "local_78") (= "=") (binary_expression "local_64 + 1" (identifier "local_64") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_60 = iVar26;" (assignment_expression "local_60 = iVar26" (identifier "local_60") (= "=") (identifier "iVar26")) (; ";")) (expression_statement "bVar30 = (bool)(bVar30 & bVar14);" (assignment_expression "bVar30 = (bool)(bVar30 & bVar14)" (identifier "bVar30") (= "=") (cast_expression "(bool)(bVar30 & bVar14)" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (parenthesized_expression "(bVar30 & bVar14)" (( "(") (binary_expression "bVar30 & bVar14" (identifier "bVar30") (& "&") (identifier "bVar14")) () ")")))) (; ";")) (goto_statement "goto LAB_00015630;" (goto "goto") (statement_identifier "LAB_00015630") (; ";")) (} "}"))) (expression_statement "pcVar18 = (char *)*puVar6;" (assignment_expression "pcVar18 = (char *)*puVar6" (identifier "pcVar18") (= "=") (cast_expression "(char *)*puVar6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar6" (* "*") (identifier "puVar6")))) (; ";")) (if_statement "if (local_5c != 0x14) {\n        do {\n          pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2);\n          do {\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          } while (pcVar18 < pcVar27);\nLAB_00015b63:\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar6;\n        } while( true );\n      }" (if "if") (parenthesized_expression "(local_5c != 0x14)" (( "(") (binary_expression "local_5c != 0x14" (identifier "local_5c") (!= "!=") (number_literal "0x14")) () ")")) (compound_statement "{\n        do {\n          pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2);\n          do {\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          } while (pcVar18 < pcVar27);\nLAB_00015b63:\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar6;\n        } while( true );\n      }" ({ "{") (do_statement "do {\n          pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2);\n          do {\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          } while (pcVar18 < pcVar27);\nLAB_00015b63:\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar6;\n        } while( true );" (do "do") (compound_statement "{\n          pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2);\n          do {\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          } while (pcVar18 < pcVar27);\nLAB_00015b63:\n          FUN_00018c70();\n          pcVar18 = (char *)*puVar6;\n        }" ({ "{") (expression_statement "pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2);" (assignment_expression "pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)" (identifier "pcVar27") (= "=") (pointer_expression "*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)" (* "*") (cast_expression "(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(__i686_get_pc_thunk_bx + unaff_EBP + 2)" (( "(") (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP + 2" (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP" (identifier "__i686_get_pc_thunk_bx") (+ "+") (identifier "unaff_EBP")) (+ "+") (number_literal "2")) () ")"))))) (; ";")) (do_statement "do {\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          } while (pcVar18 < pcVar27);" (do "do") (compound_statement "{\n            while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }\n            pcVar18 = pcVar18 + 1;\n            *puVar6 = (uint)pcVar18;\n            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n          }" ({ "{") (while_statement "while( true ) {\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n              cVar28 = *pcVar18;\n              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }\n              if (cVar28 == '\n') break;\n              pcVar18 = pcVar18 + 1;\n              *puVar6 = (uint)pcVar18;\n              if (pcVar27 <= pcVar18) goto LAB_00015b63;\n            }" ({ "{") (expression_statement "cVar28 = *pcVar18;" (assignment_expression "cVar28 = *pcVar18" (identifier "cVar28") (= "=") (pointer_expression "*pcVar18" (* "*") (identifier "pcVar18"))) (; ";")) (if_statement "if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }" (if "if") (parenthesized_expression "((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' '))" (( "(") (binary_expression "(1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')" (parenthesized_expression "(1 < (byte)(cVar28 - 9U))" (( "(") (binary_expression "1 < (byte)(cVar28 - 9U)" (number_literal "1") (< "<") (call_expression "(byte)(cVar28 - 9U)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(cVar28 - 9U)" (( "(") (binary_expression "cVar28 - 9U" (identifier "cVar28") (- "-") (number_literal "9U")) () ")")))) () ")")) (&& "&&") (parenthesized_expression "(cVar28 != ' ')" (( "(") (binary_expression "cVar28 != ' '" (identifier "cVar28") (!= "!=") (char_literal "' '" (' "'") (character " ") (' "'"))) () ")"))) () ")")) (compound_statement "{\n                *puVar6 = (uint)(pcVar18 + -1);\n                goto LAB_00015d49;\n              }" ({ "{") (expression_statement "*puVar6 = (uint)(pcVar18 + -1);" (assignment_expression "*puVar6 = (uint)(pcVar18 + -1)" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (= "=") (call_expression "(uint)(pcVar18 + -1)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pcVar18 + -1)" (( "(") (binary_expression "pcVar18 + -1" (identifier "pcVar18") (+ "+") (number_literal "-1")) () ")")))) (; ";")) (goto_statement "goto LAB_00015d49;" (goto "goto") (statement_identifier "LAB_00015d49") (; ";")) (} "}"))) (if_statement "if (cVar28 == '\n') break;" (if "if") (parenthesized_expression "(cVar28 == '\n')" (( "(") (binary_expression "cVar28 == '\n'" (identifier "cVar28") (== "==") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "pcVar18 = pcVar18 + 1;" (assignment_expression "pcVar18 = pcVar18 + 1" (identifier "pcVar18") (= "=") (binary_expression "pcVar18 + 1" (identifier "pcVar18") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*puVar6 = (uint)pcVar18;" (assignment_expression "*puVar6 = (uint)pcVar18" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (= "=") (cast_expression "(uint)pcVar18" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pcVar18"))) (; ";")) (if_statement "if (pcVar27 <= pcVar18) goto LAB_00015b63;" (if "if") (parenthesized_expression "(pcVar27 <= pcVar18)" (( "(") (binary_expression "pcVar27 <= pcVar18" (identifier "pcVar27") (<= "<=") (identifier "pcVar18")) () ")")) (goto_statement "goto LAB_00015b63;" (goto "goto") (statement_identifier "LAB_00015b63") (; ";"))) (} "}"))) (expression_statement "pcVar18 = pcVar18 + 1;" (assignment_expression "pcVar18 = pcVar18 + 1" (identifier "pcVar18") (= "=") (binary_expression "pcVar18 + 1" (identifier "pcVar18") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*puVar6 = (uint)pcVar18;" (assignment_expression "*puVar6 = (uint)pcVar18" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (= "=") (cast_expression "(uint)pcVar18" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pcVar18"))) (; ";")) (expression_statement "*(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;" (assignment_expression "*(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1" (pointer_expression "*(int *)(unaff_EBP + 0x1298a)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x1298a)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x1298a)" (( "(") (binary_expression "unaff_EBP + 0x1298a" (identifier "unaff_EBP") (+ "+") (number_literal "0x1298a")) () ")")))) (= "=") (binary_expression "*(int *)(unaff_EBP + 0x1298a) + 1" (pointer_expression "*(int *)(unaff_EBP + 0x1298a)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x1298a)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x1298a)" (( "(") (binary_expression "unaff_EBP + 0x1298a" (identifier "unaff_EBP") (+ "+") (number_literal "0x1298a")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(pcVar18 < pcVar27)" (( "(") (binary_expression "pcVar18 < pcVar27" (identifier "pcVar18") (< "<") (identifier "pcVar27")) () ")")) (; ";")) (labeled_statement "LAB_00015b63:\n          FUN_00018c70();" (statement_identifier "LAB_00015b63") (: ":") (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" (identifier "FUN_00018c70") (argument_list "()" (( "(") () ")"))) (; ";"))) (expression_statement "pcVar18 = (char *)*puVar6;" (assignment_expression "pcVar18 = (char *)*puVar6" (identifier "pcVar18") (= "=") (cast_expression "(char *)*puVar6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar6" (* "*") (identifier "puVar6")))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (expression_statement "iVar26 = FUN_00018720(pcVar18);" (assignment_expression "iVar26 = FUN_00018720(pcVar18)" (identifier "iVar26") (= "=") (call_expression "FUN_00018720(pcVar18)" (identifier "FUN_00018720") (argument_list "(pcVar18)" (( "(") (identifier "pcVar18") () ")")))) (; ";")) (expression_statement "*puVar6 = iVar26 - 1;" (assignment_expression "*puVar6 = iVar26 - 1" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (= "=") (binary_expression "iVar26 - 1" (identifier "iVar26") (- "-") (number_literal "1"))) (; ";")) (if_statement "if (*(char *)(iVar26 + -1) == '\n') {\n        pcVar18 = (char *)*puVar5;\n        goto LAB_00015c4a;\n      }" (if "if") (parenthesized_expression "(*(char *)(iVar26 + -1) == '\n')" (( "(") (binary_expression "*(char *)(iVar26 + -1) == '\n'" (pointer_expression "*(char *)(iVar26 + -1)" (* "*") (cast_expression "(char *)(iVar26 + -1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + -1)" (( "(") (binary_expression "iVar26 + -1" (identifier "iVar26") (+ "+") (number_literal "-1")) () ")")))) (== "==") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) () ")")) (compound_statement "{\n        pcVar18 = (char *)*puVar5;\n        goto LAB_00015c4a;\n      }" ({ "{") (expression_statement "pcVar18 = (char *)*puVar5;" (assignment_expression "pcVar18 = (char *)*puVar5" (identifier "pcVar18") (= "=") (cast_expression "(char *)*puVar5" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")))) (; ";")) (goto_statement "goto LAB_00015c4a;" (goto "goto") (statement_identifier "LAB_00015c4a") (; ";")) (} "}"))) (labeled_statement "LAB_00015d49:\n      *(undefined1 *)*puVar5 = 0;" (statement_identifier "LAB_00015d49") (: ":") (expression_statement "*(undefined1 *)*puVar5 = 0;" (assignment_expression "*(undefined1 *)*puVar5 = 0" (pointer_expression "*(undefined1 *)*puVar5" (* "*") (cast_expression "(undefined1 *)*puVar5" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")))) (= "=") (number_literal "0")) (; ";"))) (labeled_statement "LAB_000159db:\n      pcVar18 = local_78;" (statement_identifier "LAB_000159db") (: ":") (expression_statement "pcVar18 = local_78;" (assignment_expression "pcVar18 = local_78" (identifier "pcVar18") (= "=") (identifier "local_78")) (; ";"))) (expression_statement "local_78 = (char *)0x0;" (assignment_expression "local_78 = (char *)0x0" (identifier "local_78") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "bVar29 = false;" (assignment_expression "bVar29 = false" (identifier "bVar29") (= "=") (false "false")) (; ";")) (expression_statement "bVar30 = (bool)(pcVar18 == (char *)0x0 & bVar14);" (assignment_expression "bVar30 = (bool)(pcVar18 == (char *)0x0 & bVar14)" (identifier "bVar30") (= "=") (cast_expression "(bool)(pcVar18 == (char *)0x0 & bVar14)" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (parenthesized_expression "(pcVar18 == (char *)0x0 & bVar14)" (( "(") (binary_expression "pcVar18 == (char *)0x0 & bVar14" (binary_expression "pcVar18 == (char *)0x0" (identifier "pcVar18") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (& "&") (identifier "bVar14")) () ")")))) (; ";")) (labeled_statement "LAB_00015630:\n      if ((bVar30) && (*piVar1 != iVar15)) {\n        puVar20 = *(undefined1 **)(unaff_EBP + 0x129a6);\n        *puVar5 = (uint)puVar20;\n      }\n      else {\n        puVar20 = (undefined1 *)*puVar5;\n      }" (statement_identifier "LAB_00015630") (: ":") (if_statement "if ((bVar30) && (*piVar1 != iVar15)) {\n        puVar20 = *(undefined1 **)(unaff_EBP + 0x129a6);\n        *puVar5 = (uint)puVar20;\n      }\n      else {\n        puVar20 = (undefined1 *)*puVar5;\n      }" (if "if") (parenthesized_expression "((bVar30) && (*piVar1 != iVar15))" (( "(") (binary_expression "(bVar30) && (*piVar1 != iVar15)" (parenthesized_expression "(bVar30)" (( "(") (identifier "bVar30") () ")")) (&& "&&") (parenthesized_expression "(*piVar1 != iVar15)" (( "(") (binary_expression "*piVar1 != iVar15" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (!= "!=") (identifier "iVar15")) () ")"))) () ")")) (compound_statement "{\n        puVar20 = *(undefined1 **)(unaff_EBP + 0x129a6);\n        *puVar5 = (uint)puVar20;\n      }" ({ "{") (expression_statement "puVar20 = *(undefined1 **)(unaff_EBP + 0x129a6);" (assignment_expression "puVar20 = *(undefined1 **)(unaff_EBP + 0x129a6)" (identifier "puVar20") (= "=") (pointer_expression "*(undefined1 **)(unaff_EBP + 0x129a6)" (* "*") (cast_expression "(undefined1 **)(unaff_EBP + 0x129a6)" (( "(") (type_descriptor "undefined1 **" (type_identifier "undefined1") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(unaff_EBP + 0x129a6)" (( "(") (binary_expression "unaff_EBP + 0x129a6" (identifier "unaff_EBP") (+ "+") (number_literal "0x129a6")) () ")"))))) (; ";")) (expression_statement "*puVar5 = (uint)puVar20;" (assignment_expression "*puVar5 = (uint)puVar20" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (cast_expression "(uint)puVar20" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "puVar20"))) (; ";")) (} "}")) (else_clause "else {\n        puVar20 = (undefined1 *)*puVar5;\n      }" (else "else") (compound_statement "{\n        puVar20 = (undefined1 *)*puVar5;\n      }" ({ "{") (expression_statement "puVar20 = (undefined1 *)*puVar5;" (assignment_expression "puVar20 = (undefined1 *)*puVar5" (identifier "puVar20") (= "=") (cast_expression "(undefined1 *)*puVar5" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")))) (; ";")) (} "}"))))) (expression_statement "*puVar20 = 0;" (assignment_expression "*puVar20 = 0" (pointer_expression "*puVar20" (* "*") (identifier "puVar20")) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_0001a130(1,param_1,param_2);" (call_expression "FUN_0001a130(1,param_1,param_2)" (identifier "FUN_0001a130") (argument_list "(1,param_1,param_2)" (( "(") (number_literal "1") (, ",") (identifier "param_1") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "*(undefined4 *)(unaff_EBP + 0x1297e) = 0;" (assignment_expression "*(undefined4 *)(unaff_EBP + 0x1297e) = 0" (pointer_expression "*(undefined4 *)(unaff_EBP + 0x1297e)" (* "*") (cast_expression "(undefined4 *)(unaff_EBP + 0x1297e)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x1297e)" (( "(") (binary_expression "unaff_EBP + 0x1297e" (identifier "unaff_EBP") (+ "+") (number_literal "0x1297e")) () ")")))) (= "=") (number_literal "0")) (; ";")) (if_statement "if (!bVar29) {\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n          FUN_00018c70();\n        }\n      }" (if "if") (parenthesized_expression "(!bVar29)" (( "(") (unary_expression "!bVar29" (! "!") (identifier "bVar29")) () ")")) (compound_statement "{\n        pcVar18 = (char *)*puVar6;\n        if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }\n        pcVar18 = pcVar18 + 1;\n        *puVar6 = (uint)pcVar18;\n        if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n          FUN_00018c70();\n        }\n      }" ({ "{") (expression_statement "pcVar18 = (char *)*puVar6;" (assignment_expression "pcVar18 = (char *)*puVar6" (identifier "pcVar18") (= "=") (cast_expression "(char *)*puVar6" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar6" (* "*") (identifier "puVar6")))) (; ";")) (if_statement "if (*pcVar18 == '\n') {\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }" (if "if") (parenthesized_expression "(*pcVar18 == '\n')" (( "(") (binary_expression "*pcVar18 == '\n'" (pointer_expression "*pcVar18" (* "*") (identifier "pcVar18")) (== "==") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) () ")")) (compound_statement "{\n          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n        }" ({ "{") (expression_statement "*(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;" (assignment_expression "*(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1" (pointer_expression "*(int *)(unaff_EBP + 0x1298a)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x1298a)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x1298a)" (( "(") (binary_expression "unaff_EBP + 0x1298a" (identifier "unaff_EBP") (+ "+") (number_literal "0x1298a")) () ")")))) (= "=") (binary_expression "*(int *)(unaff_EBP + 0x1298a) + 1" (pointer_expression "*(int *)(unaff_EBP + 0x1298a)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x1298a)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x1298a)" (( "(") (binary_expression "unaff_EBP + 0x1298a" (identifier "unaff_EBP") (+ "+") (number_literal "0x1298a")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "pcVar18 = pcVar18 + 1;" (assignment_expression "pcVar18 = pcVar18 + 1" (identifier "pcVar18") (= "=") (binary_expression "pcVar18 + 1" (identifier "pcVar18") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*puVar6 = (uint)pcVar18;" (assignment_expression "*puVar6 = (uint)pcVar18" (pointer_expression "*puVar6" (* "*") (identifier "puVar6")) (= "=") (cast_expression "(uint)pcVar18" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "pcVar18"))) (; ";")) (if_statement "if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {\n          FUN_00018c70();\n        }" (if "if") (parenthesized_expression "(*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18)" (( "(") (binary_expression "*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18" (pointer_expression "*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)" (* "*") (cast_expression "(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(__i686_get_pc_thunk_bx + unaff_EBP + 2)" (( "(") (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP + 2" (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP" (identifier "__i686_get_pc_thunk_bx") (+ "+") (identifier "unaff_EBP")) (+ "+") (number_literal "2")) () ")")))) (<= "<=") (identifier "pcVar18")) () ")")) (compound_statement "{\n          FUN_00018c70();\n        }" ({ "{") (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" (identifier "FUN_00018c70") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}"))) (labeled_statement "LAB_0001543c:\n      local_68 = &DAT_00012b1e + unaff_EBP;" (statement_identifier "LAB_0001543c") (: ":") (expression_statement "local_68 = &DAT_00012b1e + unaff_EBP;" (assignment_expression "local_68 = &DAT_00012b1e + unaff_EBP" (identifier "local_68") (= "=") (binary_expression "&DAT_00012b1e + unaff_EBP" (pointer_expression "&DAT_00012b1e" (& "&") (identifier "DAT_00012b1e")) (+ "+") (identifier "unaff_EBP"))) (; ";"))) (if_statement "if (*local_68 != '\0') break;" (if "if") (parenthesized_expression "(*local_68 != '\0')" (( "(") (binary_expression "*local_68 != '\0'" (pointer_expression "*local_68" (* "*") (identifier "local_68")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "local_80 = local_70;" (assignment_expression "local_80 = local_70" (identifier "local_80") (= "=") (identifier "local_70")) (; ";")) (if_statement "if (local_48 != 0) {\n        uVar24 = *puVar5;\n        iVar26 = *(int *)(unaff_EBP + 0x1299e);\n        if (iVar26 - local_48 <= uVar24) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_48 + 400 + (iVar26 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          uVar24 = iVar23 + 1 + (*puVar5 - *piVar2);\n          *puVar5 = uVar24;\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *piVar2 = iVar23 + 1;\n        }\n        if (local_48 != 0) {\n          uVar21 = 0;\n          do {\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          } while (uVar21 < local_48);\n        }\n        *puVar5 = *puVar5 + local_48;\n        local_80 = local_70 + local_48;\n      }" (if "if") (parenthesized_expression "(local_48 != 0)" (( "(") (binary_expression "local_48 != 0" (identifier "local_48") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar24 = *puVar5;\n        iVar26 = *(int *)(unaff_EBP + 0x1299e);\n        if (iVar26 - local_48 <= uVar24) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_48 + 400 + (iVar26 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          uVar24 = iVar23 + 1 + (*puVar5 - *piVar2);\n          *puVar5 = uVar24;\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *piVar2 = iVar23 + 1;\n        }\n        if (local_48 != 0) {\n          uVar21 = 0;\n          do {\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          } while (uVar21 < local_48);\n        }\n        *puVar5 = *puVar5 + local_48;\n        local_80 = local_70 + local_48;\n      }" ({ "{") (expression_statement "uVar24 = *puVar5;" (assignment_expression "uVar24 = *puVar5" (identifier "uVar24") (= "=") (pointer_expression "*puVar5" (* "*") (identifier "puVar5"))) (; ";")) (expression_statement "iVar26 = *(int *)(unaff_EBP + 0x1299e);" (assignment_expression "iVar26 = *(int *)(unaff_EBP + 0x1299e)" (identifier "iVar26") (= "=") (pointer_expression "*(int *)(unaff_EBP + 0x1299e)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x1299e)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x1299e)" (( "(") (binary_expression "unaff_EBP + 0x1299e" (identifier "unaff_EBP") (+ "+") (number_literal "0x1299e")) () ")"))))) (; ";")) (if_statement "if (iVar26 - local_48 <= uVar24) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_48 + 400 + (iVar26 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          uVar24 = iVar23 + 1 + (*puVar5 - *piVar2);\n          *puVar5 = uVar24;\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *piVar2 = iVar23 + 1;\n        }" (if "if") (parenthesized_expression "(iVar26 - local_48 <= uVar24)" (( "(") (binary_expression "iVar26 - local_48 <= uVar24" (binary_expression "iVar26 - local_48" (identifier "iVar26") (- "-") (identifier "local_48")) (<= "<=") (identifier "uVar24")) () ")")) (compound_statement "{\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_48 + 400 + (iVar26 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          uVar24 = iVar23 + 1 + (*puVar5 - *piVar2);\n          *puVar5 = uVar24;\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *piVar2 = iVar23 + 1;\n        }" ({ "{") (expression_statement "piVar2 = (int *)(unaff_EBP + 0x129a6);" (assignment_expression "piVar2 = (int *)(unaff_EBP + 0x129a6)" (identifier "piVar2") (= "=") (cast_expression "(int *)(unaff_EBP + 0x129a6)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x129a6)" (( "(") (binary_expression "unaff_EBP + 0x129a6" (identifier "unaff_EBP") (+ "+") (number_literal "0x129a6")) () ")")))) (; ";")) (expression_statement "iVar26 = local_48 + 400 + (iVar26 - *piVar2);" (assignment_expression "iVar26 = local_48 + 400 + (iVar26 - *piVar2)" (identifier "iVar26") (= "=") (binary_expression "local_48 + 400 + (iVar26 - *piVar2)" (binary_expression "local_48 + 400" (identifier "local_48") (+ "+") (number_literal "400")) (+ "+") (parenthesized_expression "(iVar26 - *piVar2)" (( "(") (binary_expression "iVar26 - *piVar2" (identifier "iVar26") (- "-") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) () ")")))) (; ";")) (expression_statement "iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);" (assignment_expression "iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26)" (identifier "iVar23") (= "=") (call_expression "FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26)" (identifier "FUN_00018620") (argument_list "(*(int *)(unaff_EBP + 0x129aa),iVar26)" (( "(") (pointer_expression "*(int *)(unaff_EBP + 0x129aa)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x129aa)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x129aa)" (( "(") (binary_expression "unaff_EBP + 0x129aa" (identifier "unaff_EBP") (+ "+") (number_literal "0x129aa")) () ")")))) (, ",") (identifier "iVar26") () ")")))) (; ";")) (expression_statement "*(int *)(unaff_EBP + 0x129aa) = iVar23;" (assignment_expression "*(int *)(unaff_EBP + 0x129aa) = iVar23" (pointer_expression "*(int *)(unaff_EBP + 0x129aa)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x129aa)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x129aa)" (( "(") (binary_expression "unaff_EBP + 0x129aa" (identifier "unaff_EBP") (+ "+") (number_literal "0x129aa")) () ")")))) (= "=") (identifier "iVar23")) (; ";")) (expression_statement "uVar24 = iVar23 + 1 + (*puVar5 - *piVar2);" (assignment_expression "uVar24 = iVar23 + 1 + (*puVar5 - *piVar2)" (identifier "uVar24") (= "=") (binary_expression "iVar23 + 1 + (*puVar5 - *piVar2)" (binary_expression "iVar23 + 1" (identifier "iVar23") (+ "+") (number_literal "1")) (+ "+") (parenthesized_expression "(*puVar5 - *piVar2)" (( "(") (binary_expression "*puVar5 - *piVar2" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (- "-") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) () ")")))) (; ";")) (expression_statement "*puVar5 = uVar24;" (assignment_expression "*puVar5 = uVar24" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (identifier "uVar24")) (; ";")) (expression_statement "*(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;" (assignment_expression "*(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26" (pointer_expression "*(int *)(unaff_EBP + 0x1299e)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x1299e)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x1299e)" (( "(") (binary_expression "unaff_EBP + 0x1299e" (identifier "unaff_EBP") (+ "+") (number_literal "0x1299e")) () ")")))) (= "=") (binary_expression "iVar23 + -5 + iVar26" (binary_expression "iVar23 + -5" (identifier "iVar23") (+ "+") (number_literal "-5")) (+ "+") (identifier "iVar26"))) (; ";")) (expression_statement "*piVar2 = iVar23 + 1;" (assignment_expression "*piVar2 = iVar23 + 1" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (binary_expression "iVar23 + 1" (identifier "iVar23") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if (local_48 != 0) {\n          uVar21 = 0;\n          do {\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          } while (uVar21 < local_48);\n        }" (if "if") (parenthesized_expression "(local_48 != 0)" (( "(") (binary_expression "local_48 != 0" (identifier "local_48") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          uVar21 = 0;\n          do {\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          } while (uVar21 < local_48);\n        }" ({ "{") (expression_statement "uVar21 = 0;" (assignment_expression "uVar21 = 0" (identifier "uVar21") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          } while (uVar21 < local_48);" (do "do") (compound_statement "{\n            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);\n            uVar21 = uVar21 + 1;\n          }" ({ "{") (expression_statement "*(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);" (assignment_expression "*(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21)" (pointer_expression "*(undefined1 *)(uVar24 + uVar21)" (* "*") (cast_expression "(undefined1 *)(uVar24 + uVar21)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar24 + uVar21)" (( "(") (binary_expression "uVar24 + uVar21" (identifier "uVar24") (+ "+") (identifier "uVar21")) () ")")))) (= "=") (pointer_expression "*(undefined1 *)(local_4c + uVar21)" (* "*") (cast_expression "(undefined1 *)(local_4c + uVar21)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_4c + uVar21)" (( "(") (binary_expression "local_4c + uVar21" (identifier "local_4c") (+ "+") (identifier "uVar21")) () ")"))))) (; ";")) (expression_statement "uVar21 = uVar21 + 1;" (assignment_expression "uVar21 = uVar21 + 1" (identifier "uVar21") (= "=") (binary_expression "uVar21 + 1" (identifier "uVar21") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar21 < local_48)" (( "(") (binary_expression "uVar21 < local_48" (identifier "uVar21") (< "<") (identifier "local_48")) () ")")) (; ";")) (} "}"))) (expression_statement "*puVar5 = *puVar5 + local_48;" (assignment_expression "*puVar5 = *puVar5 + local_48" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (binary_expression "*puVar5 + local_48" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (+ "+") (identifier "local_48"))) (; ";")) (expression_statement "local_80 = local_70 + local_48;" (assignment_expression "local_80 = local_70 + local_48" (identifier "local_80") (= "=") (binary_expression "local_70 + local_48" (identifier "local_70") (+ "+") (identifier "local_48"))) (; ";")) (} "}"))) (if_statement "if (local_78 == (char *)0x0) {\n        FUN_00018e10();\n      }\n      else {\n        if ((*local_78 == ' ') || (*local_78 == '\t')) {\n          if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }\n        }\n        else {\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }\nLAB_000158f3:\n        __dest = (void *)*puVar5;\n        iVar23 = *(int *)(unaff_EBP + 0x1299e);\n        if ((void *)(iVar26 + iVar23) <= __dest) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_40 + 400 + (iVar23 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          __dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *puVar5 = (uint)__dest;\n          *piVar2 = iVar23 + 1;\n        }\n        memmove(__dest,local_78,local_84);\n        local_78 = (char *)*puVar5;\n        *puVar5 = (uint)(local_78 + local_84);\n        local_40 = 0;\n      }" (if "if") (parenthesized_expression "(local_78 == (char *)0x0)" (( "(") (binary_expression "local_78 == (char *)0x0" (identifier "local_78") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        FUN_00018e10();\n      }" ({ "{") (expression_statement "FUN_00018e10();" (call_expression "FUN_00018e10()" (identifier "FUN_00018e10") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (else_clause "else {\n        if ((*local_78 == ' ') || (*local_78 == '\t')) {\n          if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }\n        }\n        else {\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }\nLAB_000158f3:\n        __dest = (void *)*puVar5;\n        iVar23 = *(int *)(unaff_EBP + 0x1299e);\n        if ((void *)(iVar26 + iVar23) <= __dest) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_40 + 400 + (iVar23 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          __dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *puVar5 = (uint)__dest;\n          *piVar2 = iVar23 + 1;\n        }\n        memmove(__dest,local_78,local_84);\n        local_78 = (char *)*puVar5;\n        *puVar5 = (uint)(local_78 + local_84);\n        local_40 = 0;\n      }" (else "else") (compound_statement "{\n        if ((*local_78 == ' ') || (*local_78 == '\t')) {\n          if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }\n        }\n        else {\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }\nLAB_000158f3:\n        __dest = (void *)*puVar5;\n        iVar23 = *(int *)(unaff_EBP + 0x1299e);\n        if ((void *)(iVar26 + iVar23) <= __dest) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_40 + 400 + (iVar23 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          __dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *puVar5 = (uint)__dest;\n          *piVar2 = iVar23 + 1;\n        }\n        memmove(__dest,local_78,local_84);\n        local_78 = (char *)*puVar5;\n        *puVar5 = (uint)(local_78 + local_84);\n        local_40 = 0;\n      }" ({ "{") (if_statement "if ((*local_78 == ' ') || (*local_78 == '\t')) {\n          if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }\n        }\n        else {\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }" (if "if") (parenthesized_expression "((*local_78 == ' ') || (*local_78 == '\t'))" (( "(") (binary_expression "(*local_78 == ' ') || (*local_78 == '\t')" (parenthesized_expression "(*local_78 == ' ')" (( "(") (binary_expression "*local_78 == ' '" (pointer_expression "*local_78" (* "*") (identifier "local_78")) (== "==") (char_literal "' '" (' "'") (character " ") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(*local_78 == '\t')" (( "(") (binary_expression "*local_78 == '\t'" (pointer_expression "*local_78" (* "*") (identifier "local_78")) (== "==") (char_literal "'\t'" (' "'") (escape_sequence "\t") (' "'"))) () ")"))) () ")")) (compound_statement "{\n          if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }\n        }" ({ "{") (if_statement "if (local_40 == 0) {\n            iVar26 = 0;\n            local_84 = 0;\n          }\n          else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }" (if "if") (parenthesized_expression "(local_40 == 0)" (( "(") (binary_expression "local_40 == 0" (identifier "local_40") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n            iVar26 = 0;\n            local_84 = 0;\n          }" ({ "{") (expression_statement "iVar26 = 0;" (assignment_expression "iVar26 = 0" (identifier "iVar26") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_84 = 0;" (assignment_expression "local_84 = 0" (identifier "local_84") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }" (else "else") (compound_statement "{\n            do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);\n            iVar26 = 0;\n            local_84 = 0;\n          }" ({ "{") (do_statement "do {\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            } while (local_40 != 0);" (do "do") (compound_statement "{\n              local_78 = local_78 + 1;\n              local_40 = local_40 - 1;\n              if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }\n            }" ({ "{") (expression_statement "local_78 = local_78 + 1;" (assignment_expression "local_78 = local_78 + 1" (identifier "local_78") (= "=") (binary_expression "local_78 + 1" (identifier "local_78") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "local_40 = local_40 - 1;" (assignment_expression "local_40 = local_40 - 1" (identifier "local_40") (= "=") (binary_expression "local_40 - 1" (identifier "local_40") (- "-") (number_literal "1"))) (; ";")) (if_statement "if ((*local_78 != ' ') && (*local_78 != '\t')) {\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }" (if "if") (parenthesized_expression "((*local_78 != ' ') && (*local_78 != '\t'))" (( "(") (binary_expression "(*local_78 != ' ') && (*local_78 != '\t')" (parenthesized_expression "(*local_78 != ' ')" (( "(") (binary_expression "*local_78 != ' '" (pointer_expression "*local_78" (* "*") (identifier "local_78")) (!= "!=") (char_literal "' '" (' "'") (character " ") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*local_78 != '\t')" (( "(") (binary_expression "*local_78 != '\t'" (pointer_expression "*local_78" (* "*") (identifier "local_78")) (!= "!=") (char_literal "'\t'" (' "'") (escape_sequence "\t") (' "'"))) () ")"))) () ")")) (compound_statement "{\n                local_80 = local_80 + local_40;\n                iVar26 = -local_40;\n                local_84 = local_40;\n                goto LAB_000158f3;\n              }" ({ "{") (expression_statement "local_80 = local_80 + local_40;" (assignment_expression "local_80 = local_80 + local_40" (identifier "local_80") (= "=") (binary_expression "local_80 + local_40" (identifier "local_80") (+ "+") (identifier "local_40"))) (; ";")) (expression_statement "iVar26 = -local_40;" (assignment_expression "iVar26 = -local_40" (identifier "iVar26") (= "=") (unary_expression "-local_40" (- "-") (identifier "local_40"))) (; ";")) (expression_statement "local_84 = local_40;" (assignment_expression "local_84 = local_40" (identifier "local_84") (= "=") (identifier "local_40")) (; ";")) (goto_statement "goto LAB_000158f3;" (goto "goto") (statement_identifier "LAB_000158f3") (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "(local_40 != 0)" (( "(") (binary_expression "local_40 != 0" (identifier "local_40") (!= "!=") (number_literal "0")) () ")")) (; ";")) (expression_statement "iVar26 = 0;" (assignment_expression "iVar26 = 0" (identifier "iVar26") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_84 = 0;" (assignment_expression "local_84 = 0" (identifier "local_84") (= "=") (number_literal "0")) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }" (else "else") (compound_statement "{\n          local_80 = local_80 + local_40;\n          local_84 = local_40;\n          iVar26 = -local_40;\n        }" ({ "{") (expression_statement "local_80 = local_80 + local_40;" (assignment_expression "local_80 = local_80 + local_40" (identifier "local_80") (= "=") (binary_expression "local_80 + local_40" (identifier "local_80") (+ "+") (identifier "local_40"))) (; ";")) (expression_statement "local_84 = local_40;" (assignment_expression "local_84 = local_40" (identifier "local_84") (= "=") (identifier "local_40")) (; ";")) (expression_statement "iVar26 = -local_40;" (assignment_expression "iVar26 = -local_40" (identifier "iVar26") (= "=") (unary_expression "-local_40" (- "-") (identifier "local_40"))) (; ";")) (} "}")))) (labeled_statement "LAB_000158f3:\n        __dest = (void *)*puVar5;" (statement_identifier "LAB_000158f3") (: ":") (expression_statement "__dest = (void *)*puVar5;" (assignment_expression "__dest = (void *)*puVar5" (identifier "__dest") (= "=") (cast_expression "(void *)*puVar5" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")))) (; ";"))) (expression_statement "iVar23 = *(int *)(unaff_EBP + 0x1299e);" (assignment_expression "iVar23 = *(int *)(unaff_EBP + 0x1299e)" (identifier "iVar23") (= "=") (pointer_expression "*(int *)(unaff_EBP + 0x1299e)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x1299e)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x1299e)" (( "(") (binary_expression "unaff_EBP + 0x1299e" (identifier "unaff_EBP") (+ "+") (number_literal "0x1299e")) () ")"))))) (; ";")) (if_statement "if ((void *)(iVar26 + iVar23) <= __dest) {\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_40 + 400 + (iVar23 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          __dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *puVar5 = (uint)__dest;\n          *piVar2 = iVar23 + 1;\n        }" (if "if") (parenthesized_expression "((void *)(iVar26 + iVar23) <= __dest)" (( "(") (binary_expression "(void *)(iVar26 + iVar23) <= __dest" (cast_expression "(void *)(iVar26 + iVar23)" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + iVar23)" (( "(") (binary_expression "iVar26 + iVar23" (identifier "iVar26") (+ "+") (identifier "iVar23")) () ")"))) (<= "<=") (identifier "__dest")) () ")")) (compound_statement "{\n          piVar2 = (int *)(unaff_EBP + 0x129a6);\n          iVar26 = local_40 + 400 + (iVar23 - *piVar2);\n          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);\n          *(int *)(unaff_EBP + 0x129aa) = iVar23;\n          __dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));\n          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;\n          *puVar5 = (uint)__dest;\n          *piVar2 = iVar23 + 1;\n        }" ({ "{") (expression_statement "piVar2 = (int *)(unaff_EBP + 0x129a6);" (assignment_expression "piVar2 = (int *)(unaff_EBP + 0x129a6)" (identifier "piVar2") (= "=") (cast_expression "(int *)(unaff_EBP + 0x129a6)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x129a6)" (( "(") (binary_expression "unaff_EBP + 0x129a6" (identifier "unaff_EBP") (+ "+") (number_literal "0x129a6")) () ")")))) (; ";")) (expression_statement "iVar26 = local_40 + 400 + (iVar23 - *piVar2);" (assignment_expression "iVar26 = local_40 + 400 + (iVar23 - *piVar2)" (identifier "iVar26") (= "=") (binary_expression "local_40 + 400 + (iVar23 - *piVar2)" (binary_expression "local_40 + 400" (identifier "local_40") (+ "+") (number_literal "400")) (+ "+") (parenthesized_expression "(iVar23 - *piVar2)" (( "(") (binary_expression "iVar23 - *piVar2" (identifier "iVar23") (- "-") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) () ")")))) (; ";")) (expression_statement "iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);" (assignment_expression "iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26)" (identifier "iVar23") (= "=") (call_expression "FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26)" (identifier "FUN_00018620") (argument_list "(*(int *)(unaff_EBP + 0x129aa),iVar26)" (( "(") (pointer_expression "*(int *)(unaff_EBP + 0x129aa)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x129aa)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x129aa)" (( "(") (binary_expression "unaff_EBP + 0x129aa" (identifier "unaff_EBP") (+ "+") (number_literal "0x129aa")) () ")")))) (, ",") (identifier "iVar26") () ")")))) (; ";")) (expression_statement "*(int *)(unaff_EBP + 0x129aa) = iVar23;" (assignment_expression "*(int *)(unaff_EBP + 0x129aa) = iVar23" (pointer_expression "*(int *)(unaff_EBP + 0x129aa)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x129aa)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x129aa)" (( "(") (binary_expression "unaff_EBP + 0x129aa" (identifier "unaff_EBP") (+ "+") (number_literal "0x129aa")) () ")")))) (= "=") (identifier "iVar23")) (; ";")) (expression_statement "__dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));" (assignment_expression "__dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2))" (identifier "__dest") (= "=") (cast_expression "(void *)(iVar23 + 1 + (*puVar5 - *piVar2))" (( "(") (type_descriptor "void *" (primitive_type "void") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar23 + 1 + (*puVar5 - *piVar2))" (( "(") (binary_expression "iVar23 + 1 + (*puVar5 - *piVar2)" (binary_expression "iVar23 + 1" (identifier "iVar23") (+ "+") (number_literal "1")) (+ "+") (parenthesized_expression "(*puVar5 - *piVar2)" (( "(") (binary_expression "*puVar5 - *piVar2" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (- "-") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) () ")"))) () ")")))) (; ";")) (expression_statement "*(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;" (assignment_expression "*(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26" (pointer_expression "*(int *)(unaff_EBP + 0x1299e)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x1299e)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x1299e)" (( "(") (binary_expression "unaff_EBP + 0x1299e" (identifier "unaff_EBP") (+ "+") (number_literal "0x1299e")) () ")")))) (= "=") (binary_expression "iVar23 + -5 + iVar26" (binary_expression "iVar23 + -5" (identifier "iVar23") (+ "+") (number_literal "-5")) (+ "+") (identifier "iVar26"))) (; ";")) (expression_statement "*puVar5 = (uint)__dest;" (assignment_expression "*puVar5 = (uint)__dest" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (cast_expression "(uint)__dest" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "__dest"))) (; ";")) (expression_statement "*piVar2 = iVar23 + 1;" (assignment_expression "*piVar2 = iVar23 + 1" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (binary_expression "iVar23 + 1" (identifier "iVar23") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "memmove(__dest,local_78,local_84);" (call_expression "memmove(__dest,local_78,local_84)" (identifier "memmove") (argument_list "(__dest,local_78,local_84)" (( "(") (identifier "__dest") (, ",") (identifier "local_78") (, ",") (identifier "local_84") () ")"))) (; ";")) (expression_statement "local_78 = (char *)*puVar5;" (assignment_expression "local_78 = (char *)*puVar5" (identifier "local_78") (= "=") (cast_expression "(char *)*puVar5" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar5" (* "*") (identifier "puVar5")))) (; ";")) (expression_statement "*puVar5 = (uint)(local_78 + local_84);" (assignment_expression "*puVar5 = (uint)(local_78 + local_84)" (pointer_expression "*puVar5" (* "*") (identifier "puVar5")) (= "=") (call_expression "(uint)(local_78 + local_84)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_78 + local_84)" (( "(") (binary_expression "local_78 + local_84" (identifier "local_78") (+ "+") (identifier "local_84")) () ")")))) (; ";")) (expression_statement "local_40 = 0;" (assignment_expression "local_40 = 0" (identifier "local_40") (= "=") (number_literal "0")) (; ";")) (} "}")))) (} "}"))) (expression_statement "iVar15 = *local_6c;" (assignment_expression "iVar15 = *local_6c" (identifier "iVar15") (= "=") (pointer_expression "*local_6c" (* "*") (identifier "local_6c"))) (; ";")) (expression_statement "*(int *)(iVar15 + 0x58) = local_70;" (assignment_expression "*(int *)(iVar15 + 0x58) = local_70" (pointer_expression "*(int *)(iVar15 + 0x58)" (* "*") (cast_expression "(int *)(iVar15 + 0x58)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x58)" (( "(") (binary_expression "iVar15 + 0x58" (identifier "iVar15") (+ "+") (number_literal "0x58")) () ")")))) (= "=") (identifier "local_70")) (; ";")) (expression_statement "*(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;" (assignment_expression "*(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1" (pointer_expression "*(int *)(iVar15 + 0x20)" (* "*") (cast_expression "(int *)(iVar15 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x20)" (( "(") (binary_expression "iVar15 + 0x20" (identifier "iVar15") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (binary_expression "*(int *)(iVar15 + 0x20) + -1" (pointer_expression "*(int *)(iVar15 + 0x20)" (* "*") (cast_expression "(int *)(iVar15 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x20)" (( "(") (binary_expression "iVar15 + 0x20" (identifier "iVar15") (+ "+") (number_literal "0x20")) () ")")))) (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "*(int *)(iVar15 + 0x24) = local_54;" (assignment_expression "*(int *)(iVar15 + 0x24) = local_54" (pointer_expression "*(int *)(iVar15 + 0x24)" (* "*") (cast_expression "(int *)(iVar15 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar15 + 0x24)" (( "(") (binary_expression "iVar15 + 0x24" (identifier "iVar15") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (identifier "local_54")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "piVar1 = (int *)(&DAT_00012b26 + unaff_EBP);" (assignment_expression "piVar1 = (int *)(&DAT_00012b26 + unaff_EBP)" (identifier "piVar1") (= "=") (cast_expression "(int *)(&DAT_00012b26 + unaff_EBP)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00012b26 + unaff_EBP)" (( "(") (binary_expression "&DAT_00012b26 + unaff_EBP" (pointer_expression "&DAT_00012b26" (& "&") (identifier "DAT_00012b26")) (+ "+") (identifier "unaff_EBP")) () ")")))) (; ";")) (expression_statement "pbVar10 = (byte *)*piVar1;" (assignment_expression "pbVar10 = (byte *)*piVar1" (identifier "pbVar10") (= "=") (cast_expression "(byte *)*piVar1" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar1" (* "*") (identifier "piVar1")))) (; ";")) (expression_statement "bVar9 = *pbVar10;" (assignment_expression "bVar9 = *pbVar10" (identifier "bVar9") (= "=") (pointer_expression "*pbVar10" (* "*") (identifier "pbVar10"))) (; ";")) (if_statement "if (bVar9 == 0x2a || bVar9 == 0x5f) {\n    pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);\n  }\n  else {\n    if (((bVar9 & 0xef) != 0x2d) &&\n       ((*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0 ||\n        (*(int *)(unaff_EBP + 0x12c02) != 0)))) {\n      bVar14 = true;\n      uVar25 = 0x2a;\n      local_5c = 0x13;\n      local_84 = *(size_t *)(FUN_00012bc0 + unaff_EBP + 2);\n      local_28 = *(int *)(unaff_EBP + 0x12c1a);\n      local_48 = 0;\n      local_4c = 0;\n      bVar29 = local_28 != 0;\n      goto LAB_00014fd0;\n    }\n    pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);\n  }" (if "if") (parenthesized_expression "(bVar9 == 0x2a || bVar9 == 0x5f)" (( "(") (binary_expression "bVar9 == 0x2a || bVar9 == 0x5f" (binary_expression "bVar9 == 0x2a" (identifier "bVar9") (== "==") (number_literal "0x2a")) (|| "||") (binary_expression "bVar9 == 0x5f" (identifier "bVar9") (== "==") (number_literal "0x5f"))) () ")")) (compound_statement "{\n    pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);\n  }" ({ "{") (expression_statement "pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);" (assignment_expression "pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP)" (identifier "pbVar11") (= "=") (pointer_expression "*(byte **)(&DAT_00012b6e + unaff_EBP)" (* "*") (cast_expression "(byte **)(&DAT_00012b6e + unaff_EBP)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(&DAT_00012b6e + unaff_EBP)" (( "(") (binary_expression "&DAT_00012b6e + unaff_EBP" (pointer_expression "&DAT_00012b6e" (& "&") (identifier "DAT_00012b6e")) (+ "+") (identifier "unaff_EBP")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n    if (((bVar9 & 0xef) != 0x2d) &&\n       ((*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0 ||\n        (*(int *)(unaff_EBP + 0x12c02) != 0)))) {\n      bVar14 = true;\n      uVar25 = 0x2a;\n      local_5c = 0x13;\n      local_84 = *(size_t *)(FUN_00012bc0 + unaff_EBP + 2);\n      local_28 = *(int *)(unaff_EBP + 0x12c1a);\n      local_48 = 0;\n      local_4c = 0;\n      bVar29 = local_28 != 0;\n      goto LAB_00014fd0;\n    }\n    pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);\n  }" (else "else") (compound_statement "{\n    if (((bVar9 & 0xef) != 0x2d) &&\n       ((*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0 ||\n        (*(int *)(unaff_EBP + 0x12c02) != 0)))) {\n      bVar14 = true;\n      uVar25 = 0x2a;\n      local_5c = 0x13;\n      local_84 = *(size_t *)(FUN_00012bc0 + unaff_EBP + 2);\n      local_28 = *(int *)(unaff_EBP + 0x12c1a);\n      local_48 = 0;\n      local_4c = 0;\n      bVar29 = local_28 != 0;\n      goto LAB_00014fd0;\n    }\n    pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);\n  }" ({ "{") (if_statement "if (((bVar9 & 0xef) != 0x2d) &&\n       ((*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0 ||\n        (*(int *)(unaff_EBP + 0x12c02) != 0)))) {\n      bVar14 = true;\n      uVar25 = 0x2a;\n      local_5c = 0x13;\n      local_84 = *(size_t *)(FUN_00012bc0 + unaff_EBP + 2);\n      local_28 = *(int *)(unaff_EBP + 0x12c1a);\n      local_48 = 0;\n      local_4c = 0;\n      bVar29 = local_28 != 0;\n      goto LAB_00014fd0;\n    }" (if "if") (parenthesized_expression "(((bVar9 & 0xef) != 0x2d) &&\n       ((*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0 ||\n        (*(int *)(unaff_EBP + 0x12c02) != 0))))" (( "(") (binary_expression "((bVar9 & 0xef) != 0x2d) &&\n       ((*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0 ||\n        (*(int *)(unaff_EBP + 0x12c02) != 0)))" (parenthesized_expression "((bVar9 & 0xef) != 0x2d)" (( "(") (binary_expression "(bVar9 & 0xef) != 0x2d" (parenthesized_expression "(bVar9 & 0xef)" (( "(") (binary_expression "bVar9 & 0xef" (identifier "bVar9") (& "&") (number_literal "0xef")) () ")")) (!= "!=") (number_literal "0x2d")) () ")")) (&& "&&") (parenthesized_expression "((*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0 ||\n        (*(int *)(unaff_EBP + 0x12c02) != 0)))" (( "(") (parenthesized_expression "(*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0 ||\n        (*(int *)(unaff_EBP + 0x12c02) != 0))" (( "(") (binary_expression "*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0 ||\n        (*(int *)(unaff_EBP + 0x12c02) != 0)" (binary_expression "*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0" (pointer_expression "*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54)" (* "*") (cast_expression "(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54)" (( "(") (binary_expression "*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54" (pointer_expression "*(int *)(&DAT_00012b16 + unaff_EBP)" (* "*") (cast_expression "(int *)(&DAT_00012b16 + unaff_EBP)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00012b16 + unaff_EBP)" (( "(") (binary_expression "&DAT_00012b16 + unaff_EBP" (pointer_expression "&DAT_00012b16" (& "&") (identifier "DAT_00012b16")) (+ "+") (identifier "unaff_EBP")) () ")")))) (+ "+") (number_literal "0x54")) () ")")))) (== "==") (number_literal "0")) (|| "||") (parenthesized_expression "(*(int *)(unaff_EBP + 0x12c02) != 0)" (( "(") (binary_expression "*(int *)(unaff_EBP + 0x12c02) != 0" (pointer_expression "*(int *)(unaff_EBP + 0x12c02)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x12c02)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x12c02)" (( "(") (binary_expression "unaff_EBP + 0x12c02" (identifier "unaff_EBP") (+ "+") (number_literal "0x12c02")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n      bVar14 = true;\n      uVar25 = 0x2a;\n      local_5c = 0x13;\n      local_84 = *(size_t *)(FUN_00012bc0 + unaff_EBP + 2);\n      local_28 = *(int *)(unaff_EBP + 0x12c1a);\n      local_48 = 0;\n      local_4c = 0;\n      bVar29 = local_28 != 0;\n      goto LAB_00014fd0;\n    }" ({ "{") (expression_statement "bVar14 = true;" (assignment_expression "bVar14 = true" (identifier "bVar14") (= "=") (true "true")) (; ";")) (expression_statement "uVar25 = 0x2a;" (assignment_expression "uVar25 = 0x2a" (identifier "uVar25") (= "=") (number_literal "0x2a")) (; ";")) (expression_statement "local_5c = 0x13;" (assignment_expression "local_5c = 0x13" (identifier "local_5c") (= "=") (number_literal "0x13")) (; ";")) (expression_statement "local_84 = *(size_t *)(FUN_00012bc0 + unaff_EBP + 2);" (assignment_expression "local_84 = *(size_t *)(FUN_00012bc0 + unaff_EBP + 2)" (identifier "local_84") (= "=") (pointer_expression "*(size_t *)(FUN_00012bc0 + unaff_EBP + 2)" (* "*") (cast_expression "(size_t *)(FUN_00012bc0 + unaff_EBP + 2)" (( "(") (type_descriptor "size_t *" (primitive_type "size_t") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(FUN_00012bc0 + unaff_EBP + 2)" (( "(") (binary_expression "FUN_00012bc0 + unaff_EBP + 2" (binary_expression "FUN_00012bc0 + unaff_EBP" (identifier "FUN_00012bc0") (+ "+") (identifier "unaff_EBP")) (+ "+") (number_literal "2")) () ")"))))) (; ";")) (expression_statement "local_28 = *(int *)(unaff_EBP + 0x12c1a);" (assignment_expression "local_28 = *(int *)(unaff_EBP + 0x12c1a)" (identifier "local_28") (= "=") (pointer_expression "*(int *)(unaff_EBP + 0x12c1a)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x12c1a)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x12c1a)" (( "(") (binary_expression "unaff_EBP + 0x12c1a" (identifier "unaff_EBP") (+ "+") (number_literal "0x12c1a")) () ")"))))) (; ";")) (expression_statement "local_48 = 0;" (assignment_expression "local_48 = 0" (identifier "local_48") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_4c = 0;" (assignment_expression "local_4c = 0" (identifier "local_4c") (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar29 = local_28 != 0;" (assignment_expression "bVar29 = local_28 != 0" (identifier "bVar29") (= "=") (binary_expression "local_28 != 0" (identifier "local_28") (!= "!=") (number_literal "0"))) (; ";")) (goto_statement "goto LAB_00014fd0;" (goto "goto") (statement_identifier "LAB_00014fd0") (; ";")) (} "}"))) (expression_statement "pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);" (assignment_expression "pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP)" (identifier "pbVar11") (= "=") (pointer_expression "*(byte **)(&DAT_00012b6e + unaff_EBP)" (* "*") (cast_expression "(byte **)(&DAT_00012b6e + unaff_EBP)" (( "(") (type_descriptor "byte **" (type_identifier "byte") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(&DAT_00012b6e + unaff_EBP)" (( "(") (binary_expression "&DAT_00012b6e + unaff_EBP" (pointer_expression "&DAT_00012b6e" (& "&") (identifier "DAT_00012b6e")) (+ "+") (identifier "unaff_EBP")) () ")"))))) (; ";")) (} "}")))) (if_statement "if ((pbVar10 < pbVar11) || (pbVar11 + *(int *)(unaff_EBP + 0x12b7a) < pbVar10)) {\n    iVar15 = FUN_00018750();\n    iVar15 = iVar15 + -2;\n  }\n  else {\n    iVar15 = *(int *)(unaff_EBP + 0x12b7e);\n  }" (if "if") (parenthesized_expression "((pbVar10 < pbVar11) || (pbVar11 + *(int *)(unaff_EBP + 0x12b7a) < pbVar10))" (( "(") (binary_expression "(pbVar10 < pbVar11) || (pbVar11 + *(int *)(unaff_EBP + 0x12b7a) < pbVar10)" (parenthesized_expression "(pbVar10 < pbVar11)" (( "(") (binary_expression "pbVar10 < pbVar11" (identifier "pbVar10") (< "<") (identifier "pbVar11")) () ")")) (|| "||") (parenthesized_expression "(pbVar11 + *(int *)(unaff_EBP + 0x12b7a) < pbVar10)" (( "(") (binary_expression "pbVar11 + *(int *)(unaff_EBP + 0x12b7a) < pbVar10" (binary_expression "pbVar11 + *(int *)(unaff_EBP + 0x12b7a)" (identifier "pbVar11") (+ "+") (pointer_expression "*(int *)(unaff_EBP + 0x12b7a)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x12b7a)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x12b7a)" (( "(") (binary_expression "unaff_EBP + 0x12b7a" (identifier "unaff_EBP") (+ "+") (number_literal "0x12b7a")) () ")"))))) (< "<") (identifier "pbVar10")) () ")"))) () ")")) (compound_statement "{\n    iVar15 = FUN_00018750();\n    iVar15 = iVar15 + -2;\n  }" ({ "{") (expression_statement "iVar15 = FUN_00018750();" (assignment_expression "iVar15 = FUN_00018750()" (identifier "iVar15") (= "=") (call_expression "FUN_00018750()" (identifier "FUN_00018750") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "iVar15 = iVar15 + -2;" (assignment_expression "iVar15 = iVar15 + -2" (identifier "iVar15") (= "=") (binary_expression "iVar15 + -2" (identifier "iVar15") (+ "+") (number_literal "-2"))) (; ";")) (} "}")) (else_clause "else {\n    iVar15 = *(int *)(unaff_EBP + 0x12b7e);\n  }" (else "else") (compound_statement "{\n    iVar15 = *(int *)(unaff_EBP + 0x12b7e);\n  }" ({ "{") (expression_statement "iVar15 = *(int *)(unaff_EBP + 0x12b7e);" (assignment_expression "iVar15 = *(int *)(unaff_EBP + 0x12b7e)" (identifier "iVar15") (= "=") (pointer_expression "*(int *)(unaff_EBP + 0x12b7e)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x12b7e)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x12b7e)" (( "(") (binary_expression "unaff_EBP + 0x12b7e" (identifier "unaff_EBP") (+ "+") (number_literal "0x12b7e")) () ")"))))) (; ";")) (} "}")))) (expression_statement "local_6c = (int *)(&DAT_00012b16 + unaff_EBP);" (assignment_expression "local_6c = (int *)(&DAT_00012b16 + unaff_EBP)" (identifier "local_6c") (= "=") (cast_expression "(int *)(&DAT_00012b16 + unaff_EBP)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(&DAT_00012b16 + unaff_EBP)" (( "(") (binary_expression "&DAT_00012b16 + unaff_EBP" (pointer_expression "&DAT_00012b16" (& "&") (identifier "DAT_00012b16")) (+ "+") (identifier "unaff_EBP")) () ")")))) (; ";")) (expression_statement "iVar26 = *local_6c;" (assignment_expression "iVar26 = *local_6c" (identifier "iVar26") (= "=") (pointer_expression "*local_6c" (* "*") (identifier "local_6c"))) (; ";")) (expression_statement "*(int *)(iVar26 + 0x58) = iVar15;" (assignment_expression "*(int *)(iVar26 + 0x58) = iVar15" (pointer_expression "*(int *)(iVar26 + 0x58)" (* "*") (cast_expression "(int *)(iVar26 + 0x58)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + 0x58)" (( "(") (binary_expression "iVar26 + 0x58" (identifier "iVar26") (+ "+") (number_literal "0x58")) () ")")))) (= "=") (identifier "iVar15")) (; ";")) (expression_statement "*(undefined4 *)(iVar26 + 0x24) = 1;" (assignment_expression "*(undefined4 *)(iVar26 + 0x24) = 1" (pointer_expression "*(undefined4 *)(iVar26 + 0x24)" (* "*") (cast_expression "(undefined4 *)(iVar26 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + 0x24)" (( "(") (binary_expression "iVar26 + 0x24" (identifier "iVar26") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (number_literal "1")) (; ";")) (if_statement "if (*(int *)(unaff_EBP + 0x12c32) != 0) {\n    *(undefined4 *)(unaff_EBP + 0x1297e) = 1;\n  }" (if "if") (parenthesized_expression "(*(int *)(unaff_EBP + 0x12c32) != 0)" (( "(") (binary_expression "*(int *)(unaff_EBP + 0x12c32) != 0" (pointer_expression "*(int *)(unaff_EBP + 0x12c32)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x12c32)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x12c32)" (( "(") (binary_expression "unaff_EBP + 0x12c32" (identifier "unaff_EBP") (+ "+") (number_literal "0x12c32")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    *(undefined4 *)(unaff_EBP + 0x1297e) = 1;\n  }" ({ "{") (expression_statement "*(undefined4 *)(unaff_EBP + 0x1297e) = 1;" (assignment_expression "*(undefined4 *)(unaff_EBP + 0x1297e) = 1" (pointer_expression "*(undefined4 *)(unaff_EBP + 0x1297e)" (* "*") (cast_expression "(undefined4 *)(unaff_EBP + 0x1297e)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x1297e)" (( "(") (binary_expression "unaff_EBP + 0x1297e" (identifier "unaff_EBP") (+ "+") (number_literal "0x1297e")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}"))) (expression_statement "piVar2 = (int *)(unaff_EBP + 0x129a2);" (assignment_expression "piVar2 = (int *)(unaff_EBP + 0x129a2)" (identifier "piVar2") (= "=") (cast_expression "(int *)(unaff_EBP + 0x129a2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x129a2)" (( "(") (binary_expression "unaff_EBP + 0x129a2" (identifier "unaff_EBP") (+ "+") (number_literal "0x129a2")) () ")")))) (; ";")) (expression_statement "local_68 = (char *)0x1;" (assignment_expression "local_68 = (char *)0x1" (identifier "local_68") (= "=") (cast_expression "(char *)0x1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) (; ";")) (expression_statement "puVar20 = (undefined1 *)*piVar2;" (assignment_expression "puVar20 = (undefined1 *)*piVar2" (identifier "puVar20") (= "=") (cast_expression "(undefined1 *)*piVar2" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar2" (* "*") (identifier "piVar2")))) (; ";")) (expression_statement "pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;" (assignment_expression "pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2" (identifier "pcVar3") (= "=") (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP + 2" (binary_expression "__i686_get_pc_thunk_bx + unaff_EBP" (identifier "__i686_get_pc_thunk_bx") (+ "+") (identifier "unaff_EBP")) (+ "+") (number_literal "2"))) (; ";")) (expression_statement "*piVar2 = (int)(puVar20 + 1);" (assignment_expression "*piVar2 = (int)(puVar20 + 1)" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (cast_expression "(int)(puVar20 + 1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(puVar20 + 1)" (( "(") (binary_expression "puVar20 + 1" (identifier "puVar20") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*puVar20 = 0x2f;" (assignment_expression "*puVar20 = 0x2f" (pointer_expression "*puVar20" (* "*") (identifier "puVar20")) (= "=") (number_literal "0x2f")) (; ";")) (expression_statement "puVar20 = (undefined1 *)*piVar2;" (assignment_expression "puVar20 = (undefined1 *)*piVar2" (identifier "puVar20") (= "=") (cast_expression "(undefined1 *)*piVar2" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar2" (* "*") (identifier "piVar2")))) (; ";")) (expression_statement "piVar4 = (int *)(unaff_EBP + 0x129a6);" (assignment_expression "piVar4 = (int *)(unaff_EBP + 0x129a6)" (identifier "piVar4") (= "=") (cast_expression "(int *)(unaff_EBP + 0x129a6)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x129a6)" (( "(") (binary_expression "unaff_EBP + 0x129a6" (identifier "unaff_EBP") (+ "+") (number_literal "0x129a6")) () ")")))) (; ";")) (expression_statement "*piVar2 = (int)(puVar20 + 1);" (assignment_expression "*piVar2 = (int)(puVar20 + 1)" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (cast_expression "(int)(puVar20 + 1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(puVar20 + 1)" (( "(") (binary_expression "puVar20 + 1" (identifier "puVar20") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*puVar20 = 0x2a;" (assignment_expression "*puVar20 = 0x2a" (pointer_expression "*puVar20" (* "*") (identifier "puVar20")) (= "=") (number_literal "0x2a")) (; ";")) (expression_statement "pcVar18 = (char *)*piVar1;" (assignment_expression "pcVar18 = (char *)*piVar1" (identifier "pcVar18") (= "=") (cast_expression "(char *)*piVar1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar1" (* "*") (identifier "piVar1")))) (; ";")) (expression_statement "cVar28 = *pcVar18;" (assignment_expression "cVar28 = *pcVar18" (identifier "cVar28") (= "=") (pointer_expression "*pcVar18" (* "*") (identifier "pcVar18"))) (; ";")) (do_statement "do {\n    do {\n      if (cVar28 == '\n') {\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n      }\n      pcVar27 = (char *)*piVar2;\n      iVar26 = *(int *)(unaff_EBP + 0x1299e);\n      if ((char *)(iVar26 - 1U) <= pcVar27) {\n        iVar26 = iVar26 - *piVar4;\n        iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar16;\n        pcVar27 = (char *)(iVar16 + 1 + (*piVar2 - *piVar4));\n        *(int *)(unaff_EBP + 0x1299e) = iVar16 + 0x18c + iVar26;\n        *piVar4 = iVar16 + 1;\n        pcVar18 = (char *)*piVar1;\n      }\n      *piVar1 = (int)(pcVar18 + 1);\n      *piVar2 = (int)(pcVar27 + 1);\n      *pcVar27 = *pcVar18;\n      pcVar18 = (char *)*piVar1;\n      pcVar27 = *(char **)pcVar3;\n      cVar28 = *pcVar18;\n    } while ((cVar28 != '*') && (pcVar18 < pcVar27));\n    if (pcVar27 < pcVar18) {\n      *piVar1 = (int)pcVar27;\n      cVar28 = *pcVar27;\n      pcVar18 = pcVar27;\n    }\n    if (*(int *)(unaff_EBP + 0x12bfa) == 0) {\nLAB_00014e50:\n      if (cVar28 == '*') {\nLAB_00014e59:\n        if (pcVar18[1] == '/') {\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }\n        cVar28 = '*';\n      }\n    }\n    else if (cVar28 == '*') {\n      if (pcVar18[-1] == '/') {\n        *(undefined1 *)(*piVar2 + -1) = 0x20;\n        *(undefined1 *)*piVar2 = 0x2a;\n        pcVar18 = (char *)*piVar1;\n        pcVar27 = *(char **)pcVar3;\n        cVar28 = *pcVar18;\n        goto LAB_00014e50;\n      }\n      goto LAB_00014e59;\n    }\n    if (pcVar18 == pcVar27) {\n      if (pcVar18[-1] == '\n') {\n        iVar26 = *piVar2;\n        *piVar2 = iVar26 + -1;\n        *(undefined1 *)(iVar26 + -1) = 0;\n        FUN_0001a130(1,param_1,param_2);\n        local_68 = (char *)((int)local_68 + 1);\n        *(undefined4 *)(*local_6c + 0x58) = 1;\n      }\n      FUN_00018c70();\n      if ((&DAT_00012b1e)[unaff_EBP] != '\0') {\n        puVar20 = (undefined1 *)*piVar2;\n        *piVar2 = (int)(puVar20 + 1);\n        *puVar20 = 0;\n        iVar26 = *local_6c;\n        piVar1 = (int *)(iVar26 + 0x20);\n        *piVar1 = *piVar1 + -1;\n        *(int *)(iVar26 + 0x58) = iVar15;\n        return;\n      }\n      pcVar18 = (char *)*piVar1;\n      cVar28 = *pcVar18;\n    }\n  } while( true );" (do "do") (compound_statement "{\n    do {\n      if (cVar28 == '\n') {\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n      }\n      pcVar27 = (char *)*piVar2;\n      iVar26 = *(int *)(unaff_EBP + 0x1299e);\n      if ((char *)(iVar26 - 1U) <= pcVar27) {\n        iVar26 = iVar26 - *piVar4;\n        iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar16;\n        pcVar27 = (char *)(iVar16 + 1 + (*piVar2 - *piVar4));\n        *(int *)(unaff_EBP + 0x1299e) = iVar16 + 0x18c + iVar26;\n        *piVar4 = iVar16 + 1;\n        pcVar18 = (char *)*piVar1;\n      }\n      *piVar1 = (int)(pcVar18 + 1);\n      *piVar2 = (int)(pcVar27 + 1);\n      *pcVar27 = *pcVar18;\n      pcVar18 = (char *)*piVar1;\n      pcVar27 = *(char **)pcVar3;\n      cVar28 = *pcVar18;\n    } while ((cVar28 != '*') && (pcVar18 < pcVar27));\n    if (pcVar27 < pcVar18) {\n      *piVar1 = (int)pcVar27;\n      cVar28 = *pcVar27;\n      pcVar18 = pcVar27;\n    }\n    if (*(int *)(unaff_EBP + 0x12bfa) == 0) {\nLAB_00014e50:\n      if (cVar28 == '*') {\nLAB_00014e59:\n        if (pcVar18[1] == '/') {\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }\n        cVar28 = '*';\n      }\n    }\n    else if (cVar28 == '*') {\n      if (pcVar18[-1] == '/') {\n        *(undefined1 *)(*piVar2 + -1) = 0x20;\n        *(undefined1 *)*piVar2 = 0x2a;\n        pcVar18 = (char *)*piVar1;\n        pcVar27 = *(char **)pcVar3;\n        cVar28 = *pcVar18;\n        goto LAB_00014e50;\n      }\n      goto LAB_00014e59;\n    }\n    if (pcVar18 == pcVar27) {\n      if (pcVar18[-1] == '\n') {\n        iVar26 = *piVar2;\n        *piVar2 = iVar26 + -1;\n        *(undefined1 *)(iVar26 + -1) = 0;\n        FUN_0001a130(1,param_1,param_2);\n        local_68 = (char *)((int)local_68 + 1);\n        *(undefined4 *)(*local_6c + 0x58) = 1;\n      }\n      FUN_00018c70();\n      if ((&DAT_00012b1e)[unaff_EBP] != '\0') {\n        puVar20 = (undefined1 *)*piVar2;\n        *piVar2 = (int)(puVar20 + 1);\n        *puVar20 = 0;\n        iVar26 = *local_6c;\n        piVar1 = (int *)(iVar26 + 0x20);\n        *piVar1 = *piVar1 + -1;\n        *(int *)(iVar26 + 0x58) = iVar15;\n        return;\n      }\n      pcVar18 = (char *)*piVar1;\n      cVar28 = *pcVar18;\n    }\n  }" ({ "{") (do_statement "do {\n      if (cVar28 == '\n') {\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n      }\n      pcVar27 = (char *)*piVar2;\n      iVar26 = *(int *)(unaff_EBP + 0x1299e);\n      if ((char *)(iVar26 - 1U) <= pcVar27) {\n        iVar26 = iVar26 - *piVar4;\n        iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar16;\n        pcVar27 = (char *)(iVar16 + 1 + (*piVar2 - *piVar4));\n        *(int *)(unaff_EBP + 0x1299e) = iVar16 + 0x18c + iVar26;\n        *piVar4 = iVar16 + 1;\n        pcVar18 = (char *)*piVar1;\n      }\n      *piVar1 = (int)(pcVar18 + 1);\n      *piVar2 = (int)(pcVar27 + 1);\n      *pcVar27 = *pcVar18;\n      pcVar18 = (char *)*piVar1;\n      pcVar27 = *(char **)pcVar3;\n      cVar28 = *pcVar18;\n    } while ((cVar28 != '*') && (pcVar18 < pcVar27));" (do "do") (compound_statement "{\n      if (cVar28 == '\n') {\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n      }\n      pcVar27 = (char *)*piVar2;\n      iVar26 = *(int *)(unaff_EBP + 0x1299e);\n      if ((char *)(iVar26 - 1U) <= pcVar27) {\n        iVar26 = iVar26 - *piVar4;\n        iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar16;\n        pcVar27 = (char *)(iVar16 + 1 + (*piVar2 - *piVar4));\n        *(int *)(unaff_EBP + 0x1299e) = iVar16 + 0x18c + iVar26;\n        *piVar4 = iVar16 + 1;\n        pcVar18 = (char *)*piVar1;\n      }\n      *piVar1 = (int)(pcVar18 + 1);\n      *piVar2 = (int)(pcVar27 + 1);\n      *pcVar27 = *pcVar18;\n      pcVar18 = (char *)*piVar1;\n      pcVar27 = *(char **)pcVar3;\n      cVar28 = *pcVar18;\n    }" ({ "{") (if_statement "if (cVar28 == '\n') {\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n      }" (if "if") (parenthesized_expression "(cVar28 == '\n')" (( "(") (binary_expression "cVar28 == '\n'" (identifier "cVar28") (== "==") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) () ")")) (compound_statement "{\n        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;\n      }" ({ "{") (expression_statement "*(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;" (assignment_expression "*(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1" (pointer_expression "*(int *)(unaff_EBP + 0x1298a)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x1298a)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x1298a)" (( "(") (binary_expression "unaff_EBP + 0x1298a" (identifier "unaff_EBP") (+ "+") (number_literal "0x1298a")) () ")")))) (= "=") (binary_expression "*(int *)(unaff_EBP + 0x1298a) + 1" (pointer_expression "*(int *)(unaff_EBP + 0x1298a)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x1298a)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x1298a)" (( "(") (binary_expression "unaff_EBP + 0x1298a" (identifier "unaff_EBP") (+ "+") (number_literal "0x1298a")) () ")")))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "pcVar27 = (char *)*piVar2;" (assignment_expression "pcVar27 = (char *)*piVar2" (identifier "pcVar27") (= "=") (cast_expression "(char *)*piVar2" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar2" (* "*") (identifier "piVar2")))) (; ";")) (expression_statement "iVar26 = *(int *)(unaff_EBP + 0x1299e);" (assignment_expression "iVar26 = *(int *)(unaff_EBP + 0x1299e)" (identifier "iVar26") (= "=") (pointer_expression "*(int *)(unaff_EBP + 0x1299e)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x1299e)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x1299e)" (( "(") (binary_expression "unaff_EBP + 0x1299e" (identifier "unaff_EBP") (+ "+") (number_literal "0x1299e")) () ")"))))) (; ";")) (if_statement "if ((char *)(iVar26 - 1U) <= pcVar27) {\n        iVar26 = iVar26 - *piVar4;\n        iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar16;\n        pcVar27 = (char *)(iVar16 + 1 + (*piVar2 - *piVar4));\n        *(int *)(unaff_EBP + 0x1299e) = iVar16 + 0x18c + iVar26;\n        *piVar4 = iVar16 + 1;\n        pcVar18 = (char *)*piVar1;\n      }" (if "if") (parenthesized_expression "((char *)(iVar26 - 1U) <= pcVar27)" (( "(") (binary_expression "(char *)(iVar26 - 1U) <= pcVar27" (cast_expression "(char *)(iVar26 - 1U)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 - 1U)" (( "(") (binary_expression "iVar26 - 1U" (identifier "iVar26") (- "-") (number_literal "1U")) () ")"))) (<= "<=") (identifier "pcVar27")) () ")")) (compound_statement "{\n        iVar26 = iVar26 - *piVar4;\n        iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191);\n        *(int *)(unaff_EBP + 0x129aa) = iVar16;\n        pcVar27 = (char *)(iVar16 + 1 + (*piVar2 - *piVar4));\n        *(int *)(unaff_EBP + 0x1299e) = iVar16 + 0x18c + iVar26;\n        *piVar4 = iVar16 + 1;\n        pcVar18 = (char *)*piVar1;\n      }" ({ "{") (expression_statement "iVar26 = iVar26 - *piVar4;" (assignment_expression "iVar26 = iVar26 - *piVar4" (identifier "iVar26") (= "=") (binary_expression "iVar26 - *piVar4" (identifier "iVar26") (- "-") (pointer_expression "*piVar4" (* "*") (identifier "piVar4")))) (; ";")) (expression_statement "iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191);" (assignment_expression "iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191)" (identifier "iVar16") (= "=") (call_expression "FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191)" (identifier "FUN_00018620") (argument_list "(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191)" (( "(") (pointer_expression "*(int *)(unaff_EBP + 0x129aa)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x129aa)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x129aa)" (( "(") (binary_expression "unaff_EBP + 0x129aa" (identifier "unaff_EBP") (+ "+") (number_literal "0x129aa")) () ")")))) (, ",") (binary_expression "iVar26 + 0x191" (identifier "iVar26") (+ "+") (number_literal "0x191")) () ")")))) (; ";")) (expression_statement "*(int *)(unaff_EBP + 0x129aa) = iVar16;" (assignment_expression "*(int *)(unaff_EBP + 0x129aa) = iVar16" (pointer_expression "*(int *)(unaff_EBP + 0x129aa)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x129aa)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x129aa)" (( "(") (binary_expression "unaff_EBP + 0x129aa" (identifier "unaff_EBP") (+ "+") (number_literal "0x129aa")) () ")")))) (= "=") (identifier "iVar16")) (; ";")) (expression_statement "pcVar27 = (char *)(iVar16 + 1 + (*piVar2 - *piVar4));" (assignment_expression "pcVar27 = (char *)(iVar16 + 1 + (*piVar2 - *piVar4))" (identifier "pcVar27") (= "=") (cast_expression "(char *)(iVar16 + 1 + (*piVar2 - *piVar4))" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar16 + 1 + (*piVar2 - *piVar4))" (( "(") (binary_expression "iVar16 + 1 + (*piVar2 - *piVar4)" (binary_expression "iVar16 + 1" (identifier "iVar16") (+ "+") (number_literal "1")) (+ "+") (parenthesized_expression "(*piVar2 - *piVar4)" (( "(") (binary_expression "*piVar2 - *piVar4" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (- "-") (pointer_expression "*piVar4" (* "*") (identifier "piVar4"))) () ")"))) () ")")))) (; ";")) (expression_statement "*(int *)(unaff_EBP + 0x1299e) = iVar16 + 0x18c + iVar26;" (assignment_expression "*(int *)(unaff_EBP + 0x1299e) = iVar16 + 0x18c + iVar26" (pointer_expression "*(int *)(unaff_EBP + 0x1299e)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x1299e)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x1299e)" (( "(") (binary_expression "unaff_EBP + 0x1299e" (identifier "unaff_EBP") (+ "+") (number_literal "0x1299e")) () ")")))) (= "=") (binary_expression "iVar16 + 0x18c + iVar26" (binary_expression "iVar16 + 0x18c" (identifier "iVar16") (+ "+") (number_literal "0x18c")) (+ "+") (identifier "iVar26"))) (; ";")) (expression_statement "*piVar4 = iVar16 + 1;" (assignment_expression "*piVar4 = iVar16 + 1" (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (= "=") (binary_expression "iVar16 + 1" (identifier "iVar16") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "pcVar18 = (char *)*piVar1;" (assignment_expression "pcVar18 = (char *)*piVar1" (identifier "pcVar18") (= "=") (cast_expression "(char *)*piVar1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar1" (* "*") (identifier "piVar1")))) (; ";")) (} "}"))) (expression_statement "*piVar1 = (int)(pcVar18 + 1);" (assignment_expression "*piVar1 = (int)(pcVar18 + 1)" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (= "=") (cast_expression "(int)(pcVar18 + 1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pcVar18 + 1)" (( "(") (binary_expression "pcVar18 + 1" (identifier "pcVar18") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*piVar2 = (int)(pcVar27 + 1);" (assignment_expression "*piVar2 = (int)(pcVar27 + 1)" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (cast_expression "(int)(pcVar27 + 1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pcVar27 + 1)" (( "(") (binary_expression "pcVar27 + 1" (identifier "pcVar27") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*pcVar27 = *pcVar18;" (assignment_expression "*pcVar27 = *pcVar18" (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) (= "=") (pointer_expression "*pcVar18" (* "*") (identifier "pcVar18"))) (; ";")) (expression_statement "pcVar18 = (char *)*piVar1;" (assignment_expression "pcVar18 = (char *)*piVar1" (identifier "pcVar18") (= "=") (cast_expression "(char *)*piVar1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar1" (* "*") (identifier "piVar1")))) (; ";")) (expression_statement "pcVar27 = *(char **)pcVar3;" (assignment_expression "pcVar27 = *(char **)pcVar3" (identifier "pcVar27") (= "=") (pointer_expression "*(char **)pcVar3" (* "*") (cast_expression "(char **)pcVar3" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pcVar3")))) (; ";")) (expression_statement "cVar28 = *pcVar18;" (assignment_expression "cVar28 = *pcVar18" (identifier "cVar28") (= "=") (pointer_expression "*pcVar18" (* "*") (identifier "pcVar18"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "((cVar28 != '*') && (pcVar18 < pcVar27))" (( "(") (binary_expression "(cVar28 != '*') && (pcVar18 < pcVar27)" (parenthesized_expression "(cVar28 != '*')" (( "(") (binary_expression "cVar28 != '*'" (identifier "cVar28") (!= "!=") (char_literal "'*'" (' "'") (character "*") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(pcVar18 < pcVar27)" (( "(") (binary_expression "pcVar18 < pcVar27" (identifier "pcVar18") (< "<") (identifier "pcVar27")) () ")"))) () ")")) (; ";")) (if_statement "if (pcVar27 < pcVar18) {\n      *piVar1 = (int)pcVar27;\n      cVar28 = *pcVar27;\n      pcVar18 = pcVar27;\n    }" (if "if") (parenthesized_expression "(pcVar27 < pcVar18)" (( "(") (binary_expression "pcVar27 < pcVar18" (identifier "pcVar27") (< "<") (identifier "pcVar18")) () ")")) (compound_statement "{\n      *piVar1 = (int)pcVar27;\n      cVar28 = *pcVar27;\n      pcVar18 = pcVar27;\n    }" ({ "{") (expression_statement "*piVar1 = (int)pcVar27;" (assignment_expression "*piVar1 = (int)pcVar27" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (= "=") (cast_expression "(int)pcVar27" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pcVar27"))) (; ";")) (expression_statement "cVar28 = *pcVar27;" (assignment_expression "cVar28 = *pcVar27" (identifier "cVar28") (= "=") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27"))) (; ";")) (expression_statement "pcVar18 = pcVar27;" (assignment_expression "pcVar18 = pcVar27" (identifier "pcVar18") (= "=") (identifier "pcVar27")) (; ";")) (} "}"))) (if_statement "if (*(int *)(unaff_EBP + 0x12bfa) == 0) {\nLAB_00014e50:\n      if (cVar28 == '*') {\nLAB_00014e59:\n        if (pcVar18[1] == '/') {\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }\n        cVar28 = '*';\n      }\n    }\n    else if (cVar28 == '*') {\n      if (pcVar18[-1] == '/') {\n        *(undefined1 *)(*piVar2 + -1) = 0x20;\n        *(undefined1 *)*piVar2 = 0x2a;\n        pcVar18 = (char *)*piVar1;\n        pcVar27 = *(char **)pcVar3;\n        cVar28 = *pcVar18;\n        goto LAB_00014e50;\n      }\n      goto LAB_00014e59;\n    }" (if "if") (parenthesized_expression "(*(int *)(unaff_EBP + 0x12bfa) == 0)" (( "(") (binary_expression "*(int *)(unaff_EBP + 0x12bfa) == 0" (pointer_expression "*(int *)(unaff_EBP + 0x12bfa)" (* "*") (cast_expression "(int *)(unaff_EBP + 0x12bfa)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(unaff_EBP + 0x12bfa)" (( "(") (binary_expression "unaff_EBP + 0x12bfa" (identifier "unaff_EBP") (+ "+") (number_literal "0x12bfa")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00014e50:\n      if (cVar28 == '*') {\nLAB_00014e59:\n        if (pcVar18[1] == '/') {\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }\n        cVar28 = '*';\n      }\n    }" ({ "{") (labeled_statement "LAB_00014e50:\n      if (cVar28 == '*') {\nLAB_00014e59:\n        if (pcVar18[1] == '/') {\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }\n        cVar28 = '*';\n      }" (statement_identifier "LAB_00014e50") (: ":") (if_statement "if (cVar28 == '*') {\nLAB_00014e59:\n        if (pcVar18[1] == '/') {\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }\n        cVar28 = '*';\n      }" (if "if") (parenthesized_expression "(cVar28 == '*')" (( "(") (binary_expression "cVar28 == '*'" (identifier "cVar28") (== "==") (char_literal "'*'" (' "'") (character "*") (' "'"))) () ")")) (compound_statement "{\nLAB_00014e59:\n        if (pcVar18[1] == '/') {\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }\n        cVar28 = '*';\n      }" ({ "{") (labeled_statement "LAB_00014e59:\n        if (pcVar18[1] == '/') {\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }" (statement_identifier "LAB_00014e59") (: ":") (if_statement "if (pcVar18[1] == '/') {\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }" (if "if") (parenthesized_expression "(pcVar18[1] == '/')" (( "(") (binary_expression "pcVar18[1] == '/'" (subscript_expression "pcVar18[1]" (identifier "pcVar18") ([ "[") (number_literal "1") (] "]")) (== "==") (char_literal "'/'" (' "'") (character "/") (' "'"))) () ")")) (compound_statement "{\n          if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }\n          *piVar1 = (int)(pcVar18 + 2);\n          if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2a;\n          puVar20 = (undefined1 *)*piVar2;\n          *piVar2 = (int)(puVar20 + 1);\n          *puVar20 = 0x2f;\n          *(undefined1 *)*piVar2 = 0;\n          iVar26 = *local_6c;\n          piVar1 = (int *)(iVar26 + 0x20);\n          *piVar1 = *piVar1 + -1;\n          iVar16 = 1;\n          if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }\n          *(int *)(iVar26 + 0x58) = iVar16;\n          return;\n        }" ({ "{") (if_statement "if (pcVar18 == pcVar27) {\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }" (if "if") (parenthesized_expression "(pcVar18 == pcVar27)" (( "(") (binary_expression "pcVar18 == pcVar27" (identifier "pcVar18") (== "==") (identifier "pcVar27")) () ")")) (compound_statement "{\n            FUN_00018c70();\n            pcVar18 = (char *)*piVar1;\n            pcVar27 = *(char **)pcVar3;\n          }" ({ "{") (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" (identifier "FUN_00018c70") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "pcVar18 = (char *)*piVar1;" (assignment_expression "pcVar18 = (char *)*piVar1" (identifier "pcVar18") (= "=") (cast_expression "(char *)*piVar1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar1" (* "*") (identifier "piVar1")))) (; ";")) (expression_statement "pcVar27 = *(char **)pcVar3;" (assignment_expression "pcVar27 = *(char **)pcVar3" (identifier "pcVar27") (= "=") (pointer_expression "*(char **)pcVar3" (* "*") (cast_expression "(char **)pcVar3" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pcVar3")))) (; ";")) (} "}"))) (expression_statement "*piVar1 = (int)(pcVar18 + 2);" (assignment_expression "*piVar1 = (int)(pcVar18 + 2)" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (= "=") (cast_expression "(int)(pcVar18 + 2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pcVar18 + 2)" (( "(") (binary_expression "pcVar18 + 2" (identifier "pcVar18") (+ "+") (number_literal "2")) () ")")))) (; ";")) (if_statement "if (pcVar18 + 2 == pcVar27) {\n            FUN_00018c70();\n          }" (if "if") (parenthesized_expression "(pcVar18 + 2 == pcVar27)" (( "(") (binary_expression "pcVar18 + 2 == pcVar27" (binary_expression "pcVar18 + 2" (identifier "pcVar18") (+ "+") (number_literal "2")) (== "==") (identifier "pcVar27")) () ")")) (compound_statement "{\n            FUN_00018c70();\n          }" ({ "{") (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" (identifier "FUN_00018c70") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar20 = (undefined1 *)*piVar2;" (assignment_expression "puVar20 = (undefined1 *)*piVar2" (identifier "puVar20") (= "=") (cast_expression "(undefined1 *)*piVar2" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar2" (* "*") (identifier "piVar2")))) (; ";")) (expression_statement "*piVar2 = (int)(puVar20 + 1);" (assignment_expression "*piVar2 = (int)(puVar20 + 1)" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (cast_expression "(int)(puVar20 + 1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(puVar20 + 1)" (( "(") (binary_expression "puVar20 + 1" (identifier "puVar20") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*puVar20 = 0x2a;" (assignment_expression "*puVar20 = 0x2a" (pointer_expression "*puVar20" (* "*") (identifier "puVar20")) (= "=") (number_literal "0x2a")) (; ";")) (expression_statement "puVar20 = (undefined1 *)*piVar2;" (assignment_expression "puVar20 = (undefined1 *)*piVar2" (identifier "puVar20") (= "=") (cast_expression "(undefined1 *)*piVar2" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar2" (* "*") (identifier "piVar2")))) (; ";")) (expression_statement "*piVar2 = (int)(puVar20 + 1);" (assignment_expression "*piVar2 = (int)(puVar20 + 1)" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (cast_expression "(int)(puVar20 + 1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(puVar20 + 1)" (( "(") (binary_expression "puVar20 + 1" (identifier "puVar20") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*puVar20 = 0x2f;" (assignment_expression "*puVar20 = 0x2f" (pointer_expression "*puVar20" (* "*") (identifier "puVar20")) (= "=") (number_literal "0x2f")) (; ";")) (expression_statement "*(undefined1 *)*piVar2 = 0;" (assignment_expression "*(undefined1 *)*piVar2 = 0" (pointer_expression "*(undefined1 *)*piVar2" (* "*") (cast_expression "(undefined1 *)*piVar2" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar2" (* "*") (identifier "piVar2")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar26 = *local_6c;" (assignment_expression "iVar26 = *local_6c" (identifier "iVar26") (= "=") (pointer_expression "*local_6c" (* "*") (identifier "local_6c"))) (; ";")) (expression_statement "piVar1 = (int *)(iVar26 + 0x20);" (assignment_expression "piVar1 = (int *)(iVar26 + 0x20)" (identifier "piVar1") (= "=") (cast_expression "(int *)(iVar26 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + 0x20)" (( "(") (binary_expression "iVar26 + 0x20" (identifier "iVar26") (+ "+") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "*piVar1 = *piVar1 + -1;" (assignment_expression "*piVar1 = *piVar1 + -1" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (= "=") (binary_expression "*piVar1 + -1" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "iVar16 = 1;" (assignment_expression "iVar16 = 1" (identifier "iVar16") (= "=") (number_literal "1")) (; ";")) (if_statement "if (local_68 == (char *)0x1) {\n            iVar16 = iVar15;\n          }" (if "if") (parenthesized_expression "(local_68 == (char *)0x1)" (( "(") (binary_expression "local_68 == (char *)0x1" (identifier "local_68") (== "==") (cast_expression "(char *)0x1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1"))) () ")")) (compound_statement "{\n            iVar16 = iVar15;\n          }" ({ "{") (expression_statement "iVar16 = iVar15;" (assignment_expression "iVar16 = iVar15" (identifier "iVar16") (= "=") (identifier "iVar15")) (; ";")) (} "}"))) (expression_statement "*(int *)(iVar26 + 0x58) = iVar16;" (assignment_expression "*(int *)(iVar26 + 0x58) = iVar16" (pointer_expression "*(int *)(iVar26 + 0x58)" (* "*") (cast_expression "(int *)(iVar26 + 0x58)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + 0x58)" (( "(") (binary_expression "iVar26 + 0x58" (identifier "iVar26") (+ "+") (number_literal "0x58")) () ")")))) (= "=") (identifier "iVar16")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))) (expression_statement "cVar28 = '*';" (assignment_expression "cVar28 = '*'" (identifier "cVar28") (= "=") (char_literal "'*'" (' "'") (character "*") (' "'"))) (; ";")) (} "}")))) (} "}")) (else_clause "else if (cVar28 == '*') {\n      if (pcVar18[-1] == '/') {\n        *(undefined1 *)(*piVar2 + -1) = 0x20;\n        *(undefined1 *)*piVar2 = 0x2a;\n        pcVar18 = (char *)*piVar1;\n        pcVar27 = *(char **)pcVar3;\n        cVar28 = *pcVar18;\n        goto LAB_00014e50;\n      }\n      goto LAB_00014e59;\n    }" (else "else") (if_statement "if (cVar28 == '*') {\n      if (pcVar18[-1] == '/') {\n        *(undefined1 *)(*piVar2 + -1) = 0x20;\n        *(undefined1 *)*piVar2 = 0x2a;\n        pcVar18 = (char *)*piVar1;\n        pcVar27 = *(char **)pcVar3;\n        cVar28 = *pcVar18;\n        goto LAB_00014e50;\n      }\n      goto LAB_00014e59;\n    }" (if "if") (parenthesized_expression "(cVar28 == '*')" (( "(") (binary_expression "cVar28 == '*'" (identifier "cVar28") (== "==") (char_literal "'*'" (' "'") (character "*") (' "'"))) () ")")) (compound_statement "{\n      if (pcVar18[-1] == '/') {\n        *(undefined1 *)(*piVar2 + -1) = 0x20;\n        *(undefined1 *)*piVar2 = 0x2a;\n        pcVar18 = (char *)*piVar1;\n        pcVar27 = *(char **)pcVar3;\n        cVar28 = *pcVar18;\n        goto LAB_00014e50;\n      }\n      goto LAB_00014e59;\n    }" ({ "{") (if_statement "if (pcVar18[-1] == '/') {\n        *(undefined1 *)(*piVar2 + -1) = 0x20;\n        *(undefined1 *)*piVar2 = 0x2a;\n        pcVar18 = (char *)*piVar1;\n        pcVar27 = *(char **)pcVar3;\n        cVar28 = *pcVar18;\n        goto LAB_00014e50;\n      }" (if "if") (parenthesized_expression "(pcVar18[-1] == '/')" (( "(") (binary_expression "pcVar18[-1] == '/'" (subscript_expression "pcVar18[-1]" (identifier "pcVar18") ([ "[") (number_literal "-1") (] "]")) (== "==") (char_literal "'/'" (' "'") (character "/") (' "'"))) () ")")) (compound_statement "{\n        *(undefined1 *)(*piVar2 + -1) = 0x20;\n        *(undefined1 *)*piVar2 = 0x2a;\n        pcVar18 = (char *)*piVar1;\n        pcVar27 = *(char **)pcVar3;\n        cVar28 = *pcVar18;\n        goto LAB_00014e50;\n      }" ({ "{") (expression_statement "*(undefined1 *)(*piVar2 + -1) = 0x20;" (assignment_expression "*(undefined1 *)(*piVar2 + -1) = 0x20" (pointer_expression "*(undefined1 *)(*piVar2 + -1)" (* "*") (cast_expression "(undefined1 *)(*piVar2 + -1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*piVar2 + -1)" (( "(") (binary_expression "*piVar2 + -1" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (+ "+") (number_literal "-1")) () ")")))) (= "=") (number_literal "0x20")) (; ";")) (expression_statement "*(undefined1 *)*piVar2 = 0x2a;" (assignment_expression "*(undefined1 *)*piVar2 = 0x2a" (pointer_expression "*(undefined1 *)*piVar2" (* "*") (cast_expression "(undefined1 *)*piVar2" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar2" (* "*") (identifier "piVar2")))) (= "=") (number_literal "0x2a")) (; ";")) (expression_statement "pcVar18 = (char *)*piVar1;" (assignment_expression "pcVar18 = (char *)*piVar1" (identifier "pcVar18") (= "=") (cast_expression "(char *)*piVar1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar1" (* "*") (identifier "piVar1")))) (; ";")) (expression_statement "pcVar27 = *(char **)pcVar3;" (assignment_expression "pcVar27 = *(char **)pcVar3" (identifier "pcVar27") (= "=") (pointer_expression "*(char **)pcVar3" (* "*") (cast_expression "(char **)pcVar3" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "pcVar3")))) (; ";")) (expression_statement "cVar28 = *pcVar18;" (assignment_expression "cVar28 = *pcVar18" (identifier "cVar28") (= "=") (pointer_expression "*pcVar18" (* "*") (identifier "pcVar18"))) (; ";")) (goto_statement "goto LAB_00014e50;" (goto "goto") (statement_identifier "LAB_00014e50") (; ";")) (} "}"))) (goto_statement "goto LAB_00014e59;" (goto "goto") (statement_identifier "LAB_00014e59") (; ";")) (} "}"))))) (if_statement "if (pcVar18 == pcVar27) {\n      if (pcVar18[-1] == '\n') {\n        iVar26 = *piVar2;\n        *piVar2 = iVar26 + -1;\n        *(undefined1 *)(iVar26 + -1) = 0;\n        FUN_0001a130(1,param_1,param_2);\n        local_68 = (char *)((int)local_68 + 1);\n        *(undefined4 *)(*local_6c + 0x58) = 1;\n      }\n      FUN_00018c70();\n      if ((&DAT_00012b1e)[unaff_EBP] != '\0') {\n        puVar20 = (undefined1 *)*piVar2;\n        *piVar2 = (int)(puVar20 + 1);\n        *puVar20 = 0;\n        iVar26 = *local_6c;\n        piVar1 = (int *)(iVar26 + 0x20);\n        *piVar1 = *piVar1 + -1;\n        *(int *)(iVar26 + 0x58) = iVar15;\n        return;\n      }\n      pcVar18 = (char *)*piVar1;\n      cVar28 = *pcVar18;\n    }" (if "if") (parenthesized_expression "(pcVar18 == pcVar27)" (( "(") (binary_expression "pcVar18 == pcVar27" (identifier "pcVar18") (== "==") (identifier "pcVar27")) () ")")) (compound_statement "{\n      if (pcVar18[-1] == '\n') {\n        iVar26 = *piVar2;\n        *piVar2 = iVar26 + -1;\n        *(undefined1 *)(iVar26 + -1) = 0;\n        FUN_0001a130(1,param_1,param_2);\n        local_68 = (char *)((int)local_68 + 1);\n        *(undefined4 *)(*local_6c + 0x58) = 1;\n      }\n      FUN_00018c70();\n      if ((&DAT_00012b1e)[unaff_EBP] != '\0') {\n        puVar20 = (undefined1 *)*piVar2;\n        *piVar2 = (int)(puVar20 + 1);\n        *puVar20 = 0;\n        iVar26 = *local_6c;\n        piVar1 = (int *)(iVar26 + 0x20);\n        *piVar1 = *piVar1 + -1;\n        *(int *)(iVar26 + 0x58) = iVar15;\n        return;\n      }\n      pcVar18 = (char *)*piVar1;\n      cVar28 = *pcVar18;\n    }" ({ "{") (if_statement "if (pcVar18[-1] == '\n') {\n        iVar26 = *piVar2;\n        *piVar2 = iVar26 + -1;\n        *(undefined1 *)(iVar26 + -1) = 0;\n        FUN_0001a130(1,param_1,param_2);\n        local_68 = (char *)((int)local_68 + 1);\n        *(undefined4 *)(*local_6c + 0x58) = 1;\n      }" (if "if") (parenthesized_expression "(pcVar18[-1] == '\n')" (( "(") (binary_expression "pcVar18[-1] == '\n'" (subscript_expression "pcVar18[-1]" (identifier "pcVar18") ([ "[") (number_literal "-1") (] "]")) (== "==") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) () ")")) (compound_statement "{\n        iVar26 = *piVar2;\n        *piVar2 = iVar26 + -1;\n        *(undefined1 *)(iVar26 + -1) = 0;\n        FUN_0001a130(1,param_1,param_2);\n        local_68 = (char *)((int)local_68 + 1);\n        *(undefined4 *)(*local_6c + 0x58) = 1;\n      }" ({ "{") (expression_statement "iVar26 = *piVar2;" (assignment_expression "iVar26 = *piVar2" (identifier "iVar26") (= "=") (pointer_expression "*piVar2" (* "*") (identifier "piVar2"))) (; ";")) (expression_statement "*piVar2 = iVar26 + -1;" (assignment_expression "*piVar2 = iVar26 + -1" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (binary_expression "iVar26 + -1" (identifier "iVar26") (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "*(undefined1 *)(iVar26 + -1) = 0;" (assignment_expression "*(undefined1 *)(iVar26 + -1) = 0" (pointer_expression "*(undefined1 *)(iVar26 + -1)" (* "*") (cast_expression "(undefined1 *)(iVar26 + -1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + -1)" (( "(") (binary_expression "iVar26 + -1" (identifier "iVar26") (+ "+") (number_literal "-1")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_0001a130(1,param_1,param_2);" (call_expression "FUN_0001a130(1,param_1,param_2)" (identifier "FUN_0001a130") (argument_list "(1,param_1,param_2)" (( "(") (number_literal "1") (, ",") (identifier "param_1") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "local_68 = (char *)((int)local_68 + 1);" (assignment_expression "local_68 = (char *)((int)local_68 + 1)" (identifier "local_68") (= "=") (cast_expression "(char *)((int)local_68 + 1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)local_68 + 1)" (( "(") (binary_expression "(int)local_68 + 1" (cast_expression "(int)local_68" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_68")) (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(*local_6c + 0x58) = 1;" (assignment_expression "*(undefined4 *)(*local_6c + 0x58) = 1" (pointer_expression "*(undefined4 *)(*local_6c + 0x58)" (* "*") (cast_expression "(undefined4 *)(*local_6c + 0x58)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*local_6c + 0x58)" (( "(") (binary_expression "*local_6c + 0x58" (pointer_expression "*local_6c" (* "*") (identifier "local_6c")) (+ "+") (number_literal "0x58")) () ")")))) (= "=") (number_literal "1")) (; ";")) (} "}"))) (expression_statement "FUN_00018c70();" (call_expression "FUN_00018c70()" (identifier "FUN_00018c70") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if ((&DAT_00012b1e)[unaff_EBP] != '\0') {\n        puVar20 = (undefined1 *)*piVar2;\n        *piVar2 = (int)(puVar20 + 1);\n        *puVar20 = 0;\n        iVar26 = *local_6c;\n        piVar1 = (int *)(iVar26 + 0x20);\n        *piVar1 = *piVar1 + -1;\n        *(int *)(iVar26 + 0x58) = iVar15;\n        return;\n      }" (if "if") (parenthesized_expression "((&DAT_00012b1e)[unaff_EBP] != '\0')" (( "(") (binary_expression "(&DAT_00012b1e)[unaff_EBP] != '\0'" (subscript_expression "(&DAT_00012b1e)[unaff_EBP]" (parenthesized_expression "(&DAT_00012b1e)" (( "(") (pointer_expression "&DAT_00012b1e" (& "&") (identifier "DAT_00012b1e")) () ")")) ([ "[") (identifier "unaff_EBP") (] "]")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        puVar20 = (undefined1 *)*piVar2;\n        *piVar2 = (int)(puVar20 + 1);\n        *puVar20 = 0;\n        iVar26 = *local_6c;\n        piVar1 = (int *)(iVar26 + 0x20);\n        *piVar1 = *piVar1 + -1;\n        *(int *)(iVar26 + 0x58) = iVar15;\n        return;\n      }" ({ "{") (expression_statement "puVar20 = (undefined1 *)*piVar2;" (assignment_expression "puVar20 = (undefined1 *)*piVar2" (identifier "puVar20") (= "=") (cast_expression "(undefined1 *)*piVar2" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar2" (* "*") (identifier "piVar2")))) (; ";")) (expression_statement "*piVar2 = (int)(puVar20 + 1);" (assignment_expression "*piVar2 = (int)(puVar20 + 1)" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (= "=") (cast_expression "(int)(puVar20 + 1)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(puVar20 + 1)" (( "(") (binary_expression "puVar20 + 1" (identifier "puVar20") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "*puVar20 = 0;" (assignment_expression "*puVar20 = 0" (pointer_expression "*puVar20" (* "*") (identifier "puVar20")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar26 = *local_6c;" (assignment_expression "iVar26 = *local_6c" (identifier "iVar26") (= "=") (pointer_expression "*local_6c" (* "*") (identifier "local_6c"))) (; ";")) (expression_statement "piVar1 = (int *)(iVar26 + 0x20);" (assignment_expression "piVar1 = (int *)(iVar26 + 0x20)" (identifier "piVar1") (= "=") (cast_expression "(int *)(iVar26 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + 0x20)" (( "(") (binary_expression "iVar26 + 0x20" (identifier "iVar26") (+ "+") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "*piVar1 = *piVar1 + -1;" (assignment_expression "*piVar1 = *piVar1 + -1" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (= "=") (binary_expression "*piVar1 + -1" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (+ "+") (number_literal "-1"))) (; ";")) (expression_statement "*(int *)(iVar26 + 0x58) = iVar15;" (assignment_expression "*(int *)(iVar26 + 0x58) = iVar15" (pointer_expression "*(int *)(iVar26 + 0x58)" (* "*") (cast_expression "(int *)(iVar26 + 0x58)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar26 + 0x58)" (( "(") (binary_expression "iVar26 + 0x58" (identifier "iVar26") (+ "+") (number_literal "0x58")) () ")")))) (= "=") (identifier "iVar15")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "pcVar18 = (char *)*piVar1;" (assignment_expression "pcVar18 = (char *)*piVar1" (identifier "pcVar18") (= "=") (cast_expression "(char *)*piVar1" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar1" (* "*") (identifier "piVar1")))) (; ";")) (expression_statement "cVar28 = *pcVar18;" (assignment_expression "cVar28 = *pcVar18" (identifier "cVar28") (= "=") (pointer_expression "*pcVar18" (* "*") (identifier "pcVar18"))) (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bp replaced with injection: get_pc_thunk.bp */
/* WARNING: Unknown calling convention */

void function_1(int *paren_targ,type_1 *pbreak_line)

{
  int *piVar1;
  type_2 var_2;
  char var_34;
  bool bVar4;
  bool var_37;
  type_3 *ppVar6;
  char *var_36;
  int var_5;
  int var_22;
  int var_28;
  int var_47;
  type_4 var_51;
  char *var_12;
  char var_7;
  bool bVar15;
  bool var_50;
  char *pcVar17;
  size_t var_30;
  int var_41;
  char *var_38;
  int var_32;
  int var_24;
  int var_15;
  char *var_39;
  int var_48;
  int var_35;
  int var_40;
  type_5 *var_29;
  type_4 var_46;
  size_t var_49;
  int var_44;
  
  var_1();
  var_5 = var_45;
  if (token[1] == '/') {
    var_29 = &DAT_0002121e;
    var_37 = false;
    bVar15 = false;
    var_35 = 0x14;
    var_46 = 3;
    var_44 = 0;
    var_30 = 0;
    var_7 = '/';
  }
  else {
    var_2 = *var_3;
    if (((var_2 == 0x2a || var_2 == 0x5f) || ((var_2 & 0xef) == 0x2d)) ||
       ((parser_state_tos->col_1 != 0 && (settings.format_col1_comments == 0)))) {
      if ((var_3 < save_com.ptr) ||
         (var_5 = save_com.start_column, save_com.ptr + save_com.len < var_3)) {
        var_5 = var_4();
        var_5 = var_5 + -2;
      }
      ppVar6 = parser_state_tos;
      parser_state_tos->com_col = var_5;
      ppVar6->box_com = 1;
      if (settings.blanklines_before_blockcomments != 0) {
        prefix_blankline_requested = 1;
      }
      var_15 = 1;
      var_12 = var_6 + 1;
      *var_6 = '/';
      var_6 = var_12;
      var_12 = var_6 + 1;
      *var_6 = '*';
      var_6 = var_12;
      var_7 = *var_3;
      do {
        do {
          pcVar17 = var_43;
          var_12 = var_9;
          if (var_7 == '\n') {
            var_8 = var_8 + 1;
          }
          if (var_9 + -1 <= var_6) {
            var_11 = (char *)var_10(var_11,(type_4)(var_9 + (0x191 - (int)var_43)));
            var_9 = var_11 + (int)(var_12 + (0x18c - (int)pcVar17));
            var_6 = var_11 + (int)(var_6 + (1 - (int)var_43));
            var_43 = var_11 + 1;
          }
          var_7 = *var_3;
          var_12 = var_6 + 1;
          var_3 = var_3 + 1;
          *var_6 = var_7;
          var_6 = var_12;
          var_7 = *var_3;
        } while ((var_7 != '*') && (var_3 < var_13));
        if (var_13 < var_3) {
          var_3 = var_13;
          var_7 = *var_13;
        }
        if (settings.fix_nested_comments == 0) {
LAB_00014e50:
          if (var_7 == '*') {
LAB_00014e59:
            if (var_3[1] == '/') {
              if (var_3 == var_13) {
                var_14();
              }
              var_3 = var_3 + 2;
              if (var_3 == var_13) {
                var_14();
              }
              var_12 = var_6 + 1;
              *var_6 = '*';
              var_6 = var_12;
              var_12 = var_6 + 1;
              *var_6 = '/';
              var_6 = var_12;
              *var_6 = '\0';
              ppVar6 = parser_state_tos;
              parser_state_tos->tos = parser_state_tos->tos + -1;
              var_22 = 1;
              if (var_15 == 1) {
                var_22 = var_5;
              }
              ppVar6->com_col = var_22;
              return;
            }
            var_7 = '*';
          }
        }
        else if (var_7 == '*') {
          if (var_3[-1] == '/') {
            var_6[-1] = ' ';
            *var_6 = '*';
            var_7 = *var_3;
            goto LAB_00014e50;
          }
          goto LAB_00014e59;
        }
        if (var_3 == var_13) {
          if (var_3[-1] == '\n') {
            var_12 = var_6 + -1;
            var_6 = var_6 + -1;
            *var_12 = '\0';
            var_16(1,paren_targ,pbreak_line);
            var_15 = var_15 + 1;
            parser_state_tos->com_col = 1;
          }
          var_14();
          if (var_17 != '\0') {
            var_12 = var_6 + 1;
            *var_6 = '\0';
            var_6 = var_12;
            ppVar6 = parser_state_tos;
            parser_state_tos->tos = parser_state_tos->tos + -1;
            ppVar6->com_col = var_5;
            return;
          }
          var_7 = *var_3;
        }
      } while( true );
    }
    var_37 = true;
    var_7 = '*';
    var_35 = 0x13;
    var_30 = settings.star_comment_cont;
    var_44 = settings.comment_delimiter_on_blankline;
    var_46 = 0;
    var_29 = (type_5 *)0x0;
    bVar15 = settings.comment_delimiter_on_blankline != 0;
  }
  var_48 = settings.comment_max_col;
  var_22 = var_4();
  pcVar17 = var_18;
  var_12 = var_20;
  if ((var_18 == var_19) && (var_20 == var_21)) {
    if ((parser_state_tos->col_1 == 0) || (settings.format_col1_comments != 0)) {
      var_32 = settings.format_comments;
      if ((parser_state_tos->ind_level < 1) &&
         ((parser_state_tos->in_stmt == 0 ||
          ((parser_state_tos->in_decl != '\0' && (parser_state_tos->paren_level == 0)))))) {
        bVar4 = true;
        var_41 = var_22;
        var_24 = var_22 + -2;
      }
      else {
        var_24 = var_23(*paren_targ);
        var_24 = var_24 - settings.unindent_displace;
        if (var_24 < 0) {
          var_41 = 3;
          bVar4 = true;
          var_24 = 1;
        }
        else {
          bVar4 = true;
          var_41 = var_24 + 2;
        }
      }
    }
    else {
      var_41 = 3;
      bVar4 = true;
      var_24 = 1;
      var_32 = 0;
    }
  }
  else {
    if (parser_state_tos->decl_on_line == 0) {
      if (var_25 == 0) {
        var_24 = settings.com_ind;
      }
      else {
        var_24 = settings.else_endif_col;
      }
    }
    else {
      var_24 = settings.decl_com_ind;
    }
    if (var_20 == var_21) {
      var_28 = var_26();
    }
    else {
      var_28 = var_23(*paren_targ);
      pcVar17 = var_12;
    }
    var_28 = var_27(var_28,pcVar17,0);
    if (var_24 <= var_28) {
      if (var_25 == 0 && settings.dont_tab_align_comments == 0) {
        var_24 = (settings.tabsize - (var_28 + -1) % settings.tabsize) + var_28;
      }
      else {
        var_24 = var_28 + 1;
        var_25 = 0;
      }
    }
    bVar4 = false;
    bVar15 = false;
    var_32 = settings.format_comments;
    var_41 = var_24 + 2;
  }
  ppVar6 = parser_state_tos;
  if (var_29 == (type_5 *)0x0) {
    if (var_30 == 0) {
      var_29 = &DAT_00021226;
      var_37 = true;
      var_46 = 3;
    }
    else {
      var_29 = &DAT_00021222;
      var_37 = false;
      var_46 = 3;
    }
  }
  parser_state_tos->box_com = 0;
  ppVar6->com_col = var_24;
  var_12 = var_6 + 1;
  *var_6 = '/';
  var_6 = var_12;
  var_12 = var_6 + 1;
  *var_6 = var_7;
  var_6 = var_12;
  var_12 = var_3;
  if (bVar15) {
    *var_6 = '\0';
    var_16(1,paren_targ,pbreak_line);
    var_12 = var_31(var_12);
    if (*var_12 == '\n') {
      var_12 = var_12 + 1;
    }
    else if (var_32 == 0) {
      var_12 = var_3;
    }
    var_3 = var_12;
    if (var_13 <= var_3) {
      var_14();
    }
    var_38 = (char *)0x0;
    var_49 = 0;
    var_40 = 0;
    goto LAB_0001543c;
  }
  if (var_32 == 0) {
    var_49 = 0;
    var_40 = 0;
    var_38 = (char *)0x0;
  }
  else {
    var_12 = var_6 + 1;
    *var_6 = ' ';
    var_6 = var_12;
    var_41 = var_24 + 3;
    var_33();
    var_38 = (char *)0x0;
    var_49 = 0;
    var_40 = 0;
  }
  while (var_17 == '\0') {
    var_39 = (char *)0x0;
LAB_00015228:
    var_36 = var_38;
    pcVar17 = var_43;
    var_12 = var_9;
    if (var_9 + -1 <= var_6) {
      var_11 = (char *)var_10(var_11,(type_4)(var_9 + (0x191 - (int)var_43)));
      var_6 = var_11 + (int)(var_6 + (1 - (int)var_43));
      var_9 = var_11 + (int)(var_12 + (0x18c - (int)pcVar17));
      var_43 = var_11 + 1;
      var_7 = *var_3;
      var_34 = var_7 + -10;
      bVar15 = var_34 == '\0';
      if (!bVar15) goto LAB_0001524d;
LAB_0001531c:
      if (var_35 == 0x14) goto LAB_00015c4a;
      if (var_32 == 0) {
        var_38 = (char *)0x0;
        bVar15 = false;
        var_50 = (bool)(var_36 == (char *)0x0 & var_37);
        goto LAB_00015630;
      }
      var_3 = var_3 + 1;
      var_8 = var_8 + 1;
      if (var_13 <= var_3) {
        var_14();
      }
      if ((var_38 < var_39) && (var_39 < var_6)) {
        var_6 = var_39;
      }
      var_33();
      if (*var_3 == '\n') {
        var_38 = (char *)0x0;
        bVar15 = true;
        var_50 = (bool)(var_36 == (char *)0x0 & var_37);
        goto LAB_00015630;
      }
      if (var_38 == (char *)0x0) {
        bVar15 = true;
        var_50 = var_37;
        goto LAB_00015630;
      }
      if ((((var_40 == 0) && (var_28 = var_4(), var_28 == var_22 + -1)) &&
          (*var_3 == '*')) && (var_3[1] != '/')) {
        var_3 = var_3 + 1;
        if (var_13 <= var_3) {
          var_14();
        }
        if ((*var_3 == ' ') && (var_3 = var_3 + 1, var_13 <= var_3)) {
          var_14();
        }
      }
      var_12 = var_6;
      if (var_6[-1] != ' ') {
        var_41 = var_41 + 1;
        pcVar17 = var_6 + 1;
        *var_6 = ' ';
        var_6 = pcVar17;
        var_39 = var_12;
      }
      goto LAB_0001521b;
    }
    var_7 = *var_3;
    var_34 = var_7 + -10;
    bVar15 = var_7 == '\n';
    if (bVar15) goto LAB_0001531c;
LAB_0001524d:
    var_12 = var_6;
    if (!bVar15 && var_42(var_7,'\n') == var_34 < '\0') {
      if (var_7 == ' ') goto LAB_0001525c;
      if ((var_7 != '*') || (var_35 != 0x13)) {
LAB_000151b8:
        var_41 = var_41 + 1;
        pcVar17 = var_6 + 1;
        *var_6 = *var_3;
        var_6 = pcVar17;
        bVar15 = var_32 != 0;
        var_38 = var_12;
        goto LAB_000151d8;
      }
      if (var_3[1] == '/') {
        if (var_40 == 0) {
          if (var_38 == (char *)0x0) {
            if ((var_43 == var_6) || (*var_43 != '/')) {
              var_6 = var_43 + 1;
              *var_43 = ' ';
              goto LAB_00015cc8;
            }
          }
          else if ((var_44 != 0) && (bVar4)) {
            *var_6 = '\0';
            var_16(1,paren_targ,pbreak_line);
            var_12 = var_6 + 1;
            *var_6 = ' ';
            var_6 = var_12;
            goto LAB_00015cc8;
          }
          if ((var_6[-1] != ' ') && (var_6[-1] != '\t')) {
            var_12 = var_6 + 1;
            *var_6 = ' ';
            var_6 = var_12;
          }
        }
LAB_00015cc8:
        pcVar17 = var_43;
        var_12 = var_9;
        if (var_9 + -3 <= var_6) {
          var_11 = (char *)var_10(var_11,(type_4)(var_9 + (0x193 - (int)var_43)));
          var_6 = var_11 + (int)(var_6 + (1 - (int)var_43));
          var_9 = var_11 + (int)(var_12 + (0x18e - (int)pcVar17));
          var_43 = var_11 + 1;
        }
        var_12 = var_6 + 1;
        *var_6 = '*';
        var_6 = var_12;
        var_12 = var_6 + 1;
        *var_6 = '/';
        var_6 = var_12;
        *var_6 = '\0';
        var_3 = var_3 + 2;
        var_3 = var_31(var_3);
        if (var_13 <= var_3) {
          var_14();
        }
        ppVar6 = parser_state_tos;
        parser_state_tos->com_col = var_24;
        piVar1 = &ppVar6->tos;
        *piVar1 = *piVar1 + -1;
        ppVar6->box_com = var_40;
        return;
      }
      if ((var_45 + -1 != var_5) || (var_6 != var_43 + var_46)) goto LAB_000151b8;
      *var_43 = ' ';
      var_41 = (var_41 - var_46) + 2;
      var_46 = 1;
      var_29 = &DAT_00021228;
      var_43[1] = '*';
      var_38 = var_43 + 2;
      var_44 = 0;
      var_40 = 1;
      var_6 = var_38;
LAB_00015589:
      var_32 = 0;
LAB_000151f8:
      if (*var_3 == '\n') {
        var_8 = var_8 + 1;
      }
      var_3 = var_3 + 1;
      if (var_3 == var_13) {
        var_14();
      }
LAB_0001521b:
      if (var_17 != '\0') goto LAB_000159db;
      goto LAB_00015228;
    }
    if (var_7 != '\t') goto LAB_000151b8;
LAB_0001525c:
    if (((var_32 == 0) || (var_12 = var_6, var_38 <= var_39)) &&
       (var_12 = var_39, var_32 == 0)) {
      if (var_7 == ' ') {
        var_41 = var_41 + 1;
        var_12 = var_6 + 1;
        *var_6 = ' ';
        var_6 = var_12;
      }
      else {
        var_28 = settings.tabsize - (((var_22 + -2 + var_41) - var_24) + -1) % settings.tabsize;
        var_41 = var_41 + var_28;
        if (var_9 + -var_28 <= var_6) {
          var_12 = var_9 + ((var_28 + 400) - (int)var_43);
          var_11 = (char *)var_10(var_11,(type_4)var_12);
          var_6 = var_11 + (int)(var_6 + (1 - (int)var_43));
          var_9 = var_11 + (int)(var_12 + -5);
          var_43 = var_11 + 1;
        }
        if (var_28 == 0) goto LAB_00015589;
        var_47 = var_28 + -2;
        var_12 = var_6 + 1;
        *var_6 = ' ';
        var_6 = var_12;
        if (var_28 != 1) {
          do {
            var_47 = var_47 + -1;
            var_12 = var_6 + 1;
            *var_6 = ' ';
            var_6 = var_12;
          } while (var_47 != -1);
        }
      }
      goto LAB_000151f8;
    }
    var_39 = var_12;
    if (((var_43 == var_6) || (var_6[-1] != ' ')) ||
       ((var_43 == var_6 + -1 || (bVar15 = true, var_6[-2] == '.')))) {
      var_41 = var_41 + 1;
      bVar15 = true;
      var_12 = var_6 + 1;
      *var_6 = ' ';
      var_6 = var_12;
    }
LAB_000151d8:
    if ((var_41 <= var_48 || var_39 == (char *)0x0) || (!bVar15)) goto LAB_000151f8;
    if (var_39 < var_6 + -1) {
      *var_39 = '\0';
      var_12 = var_6;
      var_6 = var_39;
      var_49 = (int)var_12 - (int)(var_39 + 1);
      var_28 = var_41 - var_49;
      if ((int)(var_41 - var_49) <= var_48) {
        var_28 = var_48;
      }
      var_50 = var_38 == (char *)0x0;
      bVar15 = false;
      var_38 = var_39 + 1;
      var_48 = var_28;
      var_50 = (bool)(var_50 & var_37);
      goto LAB_00015630;
    }
    if (var_35 == 0x14) {
      var_12 = var_31(var_3);
      var_3 = var_12 + -1;
      if (var_12[-1] == '\n') {
LAB_00015c4a:
        ppVar6 = parser_state_tos;
        var_12 = var_6;
        parser_state_tos->com_col = var_24;
        piVar1 = &ppVar6->tos;
        *piVar1 = *piVar1 + -1;
        ppVar6->box_com = var_40;
        *var_12 = '\0';
        return;
      }
    }
    else {
      while ((var_12 = var_3, var_7 = *var_12, (type_2)(var_7 - 9U) < 2 || (var_7 == ' '))) {
        if (var_7 == '\n') {
          var_8 = var_8 + 1;
        }
        var_3 = var_12 + 1;
        if (var_13 <= var_12 + 1) {
          var_3 = var_12 + 1;
          var_14();
        }
      }
      var_3 = var_12 + -1;
    }
    *var_6 = '\0';
LAB_000159db:
    var_12 = var_38;
    var_38 = (char *)0x0;
    bVar15 = false;
    var_50 = (bool)(var_12 == (char *)0x0 & var_37);
LAB_00015630:
    if ((var_50) && (var_45 != var_5)) {
      var_6 = var_43;
    }
    *var_6 = '\0';
    var_16(1,paren_targ,pbreak_line);
    prefix_blankline_requested = 0;
    if (!bVar15) {
      if (*var_3 == '\n') {
        var_8 = var_8 + 1;
      }
      var_3 = var_3 + 1;
      if (var_13 <= var_3) {
        var_14();
      }
    }
LAB_0001543c:
    if (var_17 != '\0') break;
    var_41 = var_24;
    if (var_46 != 0) {
      if (var_9 + -var_46 <= var_6) {
        var_12 = var_9 + ((var_46 + 400) - (int)var_43);
        var_11 = (char *)var_10(var_11,(type_4)var_12);
        var_6 = var_11 + (int)(var_6 + (1 - (int)var_43));
        var_9 = var_11 + (int)(var_12 + -5);
        var_43 = var_11 + 1;
      }
      var_12 = var_6;
      if (var_46 != 0) {
        var_51 = 0;
        do {
          var_12[var_51] = var_29[var_51];
          var_51 = var_51 + 1;
        } while (var_51 < var_46);
      }
      var_6 = var_6 + var_46;
      var_41 = var_24 + var_46;
    }
    if (var_38 == (char *)0x0) {
      var_33();
    }
    else {
      if ((*var_38 == ' ') || (*var_38 == '\t')) {
        if (var_49 == 0) {
          var_28 = 0;
          var_30 = 0;
        }
        else {
          do {
            var_38 = var_38 + 1;
            var_49 = var_49 - 1;
            if ((*var_38 != ' ') && (*var_38 != '\t')) {
              var_41 = var_41 + var_49;
              var_28 = -var_49;
              var_30 = var_49;
              goto LAB_000158f3;
            }
          } while (var_49 != 0);
          var_28 = 0;
          var_30 = 0;
        }
      }
      else {
        var_41 = var_41 + var_49;
        var_30 = var_49;
        var_28 = -var_49;
      }
LAB_000158f3:
      if (var_9 + var_28 <= var_6) {
        var_12 = var_9 + ((var_49 + 400) - (int)var_43);
        var_11 = (char *)var_10(var_11,(type_4)var_12);
        var_9 = var_11 + (int)(var_12 + -5);
        var_6 = var_11 + (int)(var_6 + (1 - (int)var_43));
        var_43 = var_11 + 1;
      }
      var_52(var_6,var_38,var_30);
      var_38 = var_6;
      var_6 = var_6 + var_30;
      var_49 = 0;
    }
  }
  ppVar6 = parser_state_tos;
  parser_state_tos->com_col = var_24;
  piVar1 = &ppVar6->tos;
  *piVar1 = *piVar1 + -1;
  ppVar6->box_com = var_40;
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) 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: (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: (primitive_type) declarator: (pointer_declarator 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: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) 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: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) 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))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (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: (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: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (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: (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: (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))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (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 (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: (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))))))) (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 (parenthesized_expression (binary_expression left: (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 (parenthesized_expression (binary_expression left: (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: (char_literal (escape_sequence))) right: (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: (true))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)))))))) (if_statement condition: (parenthesized_expression (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: (true))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (true))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (true))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (number_literal))) consequence: (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: (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)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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)))))))))) (expression_statement (assignment_expression left: (identifier) right: (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))))))) (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)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (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: (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: (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: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (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: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_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)))))))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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: (true))) (expression_statement (assignment_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)))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (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))))) right: (number_literal))) (expression_statement (assignment_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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier)))) 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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))))) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_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: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (while_statement condition: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence))))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (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))))) (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal)))))) (expression_statement (assignment_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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (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: (char_literal (escape_sequence))))) (if_statement condition: (parenthesized_expression (unary_expression argument: (identifier))) 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 (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_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: (identifier))) (expression_statement (assignment_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: (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)))) (expression_statement (assignment_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: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) (return_statement)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))) right: (identifier)))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_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: (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)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (true))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))) right: (identifier)))))) (goto_statement label: (statement_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: (true))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (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: (identifier) arguments: (argument_list))) right: (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character))))))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (character)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (pointer_expression argument: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))) right: (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (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: (char_literal (escape_sequence))))) (if_statement condition: (parenthesized_expression (identifier)) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (call_expression function: (identifier) arguments: (argument_list (identifier) (char_literal (escape_sequence)))) right: (binary_expression left: (identifier) right: (char_literal (escape_sequence)))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (identifier)) right: (binary_expression left: (identifier) right: (identifier)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (character)))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (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: (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (true)) right: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (character)))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (true))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))))) (goto_statement label: (statement_identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character))))) alternative: (else_clause (compound_statement (expression_statement (assignment_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: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) right: (identifier))) right: (number_literal))) right: (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))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (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))))) (identifier))))) (expression_statement (assignment_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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_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: (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)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (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: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) consequence: (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (character)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (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: (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (goto_statement label: (statement_identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (character)))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (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))))) (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal)) (identifier) (identifier))))) (expression_statement (assignment_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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (identifier)) right: (number_literal))))) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_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: (identifier))) (expression_statement (assignment_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: (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)))) (expression_statement (assignment_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: (identifier))) (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) right: (identifier)))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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: (pointer_expression argument: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) right: (parenthesized_expression (unary_expression argument: (identifier))))) consequence: (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (do_statement body: (compound_statement (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: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))))))) (do_statement body: (compound_statement (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (number_literal) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_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: (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))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) condition: (parenthesized_expression (true))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (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: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))) right: (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (false))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))) right: (identifier)))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (identifier)) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier) (identifier)))) (expression_statement (assignment_expression left: (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))))) right: (number_literal))) (if_statement condition: (parenthesized_expression (unary_expression argument: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_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: (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)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))))) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (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))))) (identifier))))) (expression_statement (assignment_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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (expression_statement (assignment_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: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_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 (call_expression function: (identifier) arguments: (argument_list)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (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: (number_literal)))) alternative: (else_clause (compound_statement (do_statement 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: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (unary_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (goto_statement label: (statement_identifier))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (unary_expression argument: (identifier))))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (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))))) (identifier))))) (expression_statement (assignment_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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))))))) (expression_statement (assignment_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: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_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: (identifier))) (expression_statement (assignment_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: (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)))) (expression_statement (assignment_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: (identifier))) (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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: (pointer_expression argument: (identifier)) right: (identifier))))) right: (number_literal))))) right: (number_literal)) right: (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: (true))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (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: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (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: (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)))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_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: (identifier))) (expression_statement (assignment_expression left: (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))))) right: (number_literal))) (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: (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))))) right: (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (do_statement body: (compound_statement (do_statement body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_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: (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)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (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))))) (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))))))) (expression_statement (assignment_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: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (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: (identifier))))) condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (character)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (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: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (identifier))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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: (identifier))))) (expression_statement (assignment_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: (identifier))) (return_statement)))) (expression_statement (assignment_expression left: (identifier) right: (char_literal (character)))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (character)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier)))) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (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: (identifier)))) (goto_statement label: (statement_identifier)))) (goto_statement label: (statement_identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (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))))) right: (number_literal))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (parenthesized_expression (pointer_expression argument: (identifier))) index: (identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_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: (identifier))) (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))))) condition: (parenthesized_expression (true))))))

void MASKED(undefined4 *param_1,undefined4 param_2)

{
  int *piVar1;
  int *piVar2;
  code *pcVar3;
  int *piVar4;
  uint *puVar5;
  uint *puVar6;
  undefined4 *puVar7;
  int *piVar8;
  byte bVar9;
  byte *pbVar10;
  byte *pbVar11;
  char cVar12;
  bool bVar13;
  bool bVar14;
  int iVar15;
  int iVar16;
  undefined4 uVar17;
  char *pcVar18;
  char *pcVar19;
  undefined1 *puVar20;
  uint uVar21;
  int iVar22;
  int iVar23;
  uint uVar24;
  undefined1 uVar25;
  int iVar26;
  char *pcVar27;
  char cVar28;
  void *__dest;
  int unaff_EBP;
  bool bVar29;
  bool bVar30;
  size_t local_84;
  int local_80;
  char *local_78;
  int local_74;
  int local_70;
  int *local_6c;
  char *local_68;
  char *local_64;
  int local_60;
  int local_5c;
  int local_54;
  int local_4c;
  uint local_48;
  size_t local_40;
  int local_28;
  
  FUN_00013b71();
  FUN_00017e00();
  if (*(char *)(*(int *)(unaff_EBP + 0x12caa) + 1) == '/') {
    local_4c = unaff_EBP + 0xc5c8;
    bVar14 = false;
    bVar29 = false;
    local_5c = 0x14;
    local_48 = 3;
    local_28 = 0;
    local_84 = 0;
    uVar25 = 0x2f;
LAB_00014fd0:
    local_6c = (int *)(&DAT_00012b16 + unaff_EBP);
    piVar1 = (int *)(unaff_EBP + 0x12b52);
    iVar15 = *piVar1;
    local_60 = *(int *)(unaff_EBP + 0x12c46);
    iVar16 = FUN_00018750();
    iVar26 = *(int *)(unaff_EBP + 0x129c6);
    if ((iVar26 == *(int *)(unaff_EBP + 0x129c2)) &&
       (*(int *)(unaff_EBP + 0x129b6) == *(int *)(unaff_EBP + 0x129b2))) {
      iVar26 = *local_6c;
      if ((*(int *)(iVar26 + 0x54) == 0) || (*(int *)(unaff_EBP + 0x12c02) != 0)) {
        local_74 = *(int *)(unaff_EBP + 0x12bfe);
        if ((*(int *)(iVar26 + 0x74) < 1) &&
           ((*(int *)(iVar26 + 0x6c) == 0 ||
            ((*(char *)(iVar26 + 0x68) != '\0' && (*(int *)(iVar26 + 0x84) == 0)))))) {
          bVar13 = true;
          local_80 = iVar16;
          local_70 = iVar16 + -2;
        }
        else {
          local_70 = FUN_00019aa0(*param_1);
          local_70 = local_70 - *(int *)(&DAT_00012c5e + unaff_EBP);
          if (local_70 < 0) {
            local_80 = 3;
            bVar13 = true;
            iVar26 = *local_6c;
            local_70 = 1;
          }
          else {
            bVar13 = true;
            local_80 = local_70 + 2;
            iVar26 = *local_6c;
          }
        }
      }
      else {
        local_80 = 3;
        bVar13 = true;
        local_70 = 1;
        local_74 = 0;
      }
    }
    else {
      if (*(int *)(*local_6c + 0x60) == 0) {
        if (*(int *)(unaff_EBP + 0x1296a) == 0) {
          local_70 = *(int *)(unaff_EBP + 0x12c7a);
        }
        else {
          local_70 = *(int *)(FUN_00012c60 + unaff_EBP + 2);
        }
      }
      else {
        local_70 = *(int *)(unaff_EBP + 0x12c6e);
      }
      iVar23 = *(int *)(unaff_EBP + 0x129b6);
      if (iVar23 == *(int *)(unaff_EBP + 0x129b2)) {
        uVar17 = FUN_00019bf0();
      }
      else {
        uVar17 = FUN_00019aa0(*param_1);
        iVar26 = iVar23;
      }
      iVar26 = FUN_00019b60(uVar17,iVar26,0);
      if (local_70 <= iVar26) {
        if (*(int *)(unaff_EBP + 0x1296a) == 0 && *(int *)(unaff_EBP + 0x12ca6) == 0) {
          local_70 = (*(int *)(unaff_EBP + 0x12bb2) - (iVar26 + -1) % *(int *)(unaff_EBP + 0x12bb2))
                     + iVar26;
        }
        else {
          local_70 = iVar26 + 1;
          *(int *)(unaff_EBP + 0x1296a) = 0;
        }
      }
      bVar13 = false;
      bVar29 = false;
      local_74 = *(int *)(unaff_EBP + 0x12bfe);
      iVar26 = *local_6c;
      local_80 = local_70 + 2;
    }
    if (local_4c == 0) {
      if (local_84 == 0) {
        local_4c = unaff_EBP + 0xc5d0;
        bVar14 = true;
        local_48 = 3;
      }
      else {
        local_4c = unaff_EBP + 0xc5cc;
        bVar14 = false;
        local_48 = 3;
      }
    }
    *(undefined4 *)(iVar26 + 0x24) = 0;
    *(int *)(iVar26 + 0x58) = local_70;
    puVar5 = (uint *)(unaff_EBP + 0x129a2);
    puVar20 = (undefined1 *)*puVar5;
    *puVar5 = (uint)(puVar20 + 1);
    *puVar20 = 0x2f;
    puVar20 = (undefined1 *)*puVar5;
    *puVar5 = (uint)(puVar20 + 1);
    *puVar20 = uVar25;
    if (bVar29) {
      puVar7 = (undefined4 *)(&DAT_00012b26 + unaff_EBP);
      uVar17 = *puVar7;
      *(undefined1 *)*puVar5 = 0;
      FUN_0001a130(1,param_1,param_2);
      pcVar18 = (char *)FUN_00018720(uVar17);
      if (*pcVar18 == '\n') {
        pcVar18 = pcVar18 + 1;
        *puVar7 = pcVar18;
      }
      else if (local_74 == 0) {
        pcVar18 = (char *)*puVar7;
      }
      else {
        *puVar7 = pcVar18;
      }
      if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {
        FUN_00018c70();
      }
      local_78 = (char *)0x0;
      local_40 = 0;
      local_54 = 0;
      goto LAB_0001543c;
    }
    if (local_74 == 0) {
      local_40 = 0;
      local_54 = 0;
      local_78 = (char *)0x0;
    }
    else {
      puVar20 = (undefined1 *)*puVar5;
      *puVar5 = (uint)(puVar20 + 1);
      *puVar20 = 0x20;
      local_80 = local_70 + 3;
      FUN_00018e10();
      local_78 = (char *)0x0;
      local_40 = 0;
      local_54 = 0;
    }
    while (local_68 = &DAT_00012b1e + unaff_EBP, *local_68 == '\0') {
      piVar2 = (int *)(unaff_EBP + 0x1299e);
      puVar6 = (uint *)(&DAT_00012b26 + unaff_EBP);
      local_64 = (char *)0x0;
      piVar4 = (int *)(unaff_EBP + 0x129a6);
LAB_00015228:
      pcVar27 = local_78;
      iVar26 = *piVar2;
      pcVar18 = (char *)*puVar5;
      if ((char *)(iVar26 + -1) <= pcVar18) {
        iVar23 = *piVar4;
        iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar23) + 0x191);
        *(int *)(unaff_EBP + 0x129aa) = iVar22;
        pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar4));
        *puVar5 = (uint)pcVar18;
        iVar26 = iVar22 + 0x18c + (iVar26 - iVar23);
        *piVar4 = iVar22 + 1;
        pcVar19 = (char *)*puVar6;
        *piVar2 = iVar26;
        cVar28 = *pcVar19;
        cVar12 = cVar28 + -10;
        bVar29 = cVar12 == '\0';
        if (!bVar29) goto LAB_0001524d;
LAB_0001531c:
        if (local_5c == 0x14) {
LAB_00015c4a:
          iVar15 = *local_6c;
          *(int *)(iVar15 + 0x58) = local_70;
          *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;
          *(int *)(iVar15 + 0x24) = local_54;
          *pcVar18 = '\0';
          return;
        }
        if (local_74 == 0) {
          local_78 = (char *)0x0;
          bVar29 = false;
          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);
          goto LAB_00015630;
        }
        *puVar6 = (uint)(pcVar19 + 1);
        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;
        pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;
        if (*(char **)pcVar3 <= pcVar19 + 1) {
          FUN_00018c70();
          pcVar18 = (char *)*puVar5;
        }
        if ((local_78 < local_64) && (local_64 < pcVar18)) {
          *puVar5 = (uint)local_64;
        }
        FUN_00018e10();
        if (*(char *)*puVar6 == '\n') {
          local_78 = (char *)0x0;
          bVar29 = true;
          bVar30 = (bool)(pcVar27 == (char *)0x0 & bVar14);
          goto LAB_00015630;
        }
        if (local_78 == (char *)0x0) {
          bVar29 = true;
          bVar30 = bVar14;
          goto LAB_00015630;
        }
        if ((((local_54 == 0) && (iVar26 = FUN_00018750(), iVar26 == iVar16 + -1)) &&
            (pcVar18 = (char *)*puVar6, *pcVar18 == '*')) && (pcVar18[1] != '/')) {
          pcVar18 = pcVar18 + 1;
          *puVar6 = (uint)pcVar18;
          if (*(char **)pcVar3 <= pcVar18) {
            FUN_00018c70();
            pcVar18 = (char *)*puVar6;
          }
          if ((*pcVar18 == ' ') && (*puVar6 = (uint)(pcVar18 + 1), *(char **)pcVar3 <= pcVar18 + 1))
          {
            FUN_00018c70();
          }
        }
        pcVar18 = (char *)*puVar5;
        if (pcVar18[-1] != ' ') {
          local_80 = local_80 + 1;
          *puVar5 = (uint)(pcVar18 + 1);
          *pcVar18 = ' ';
          local_64 = pcVar18;
        }
        goto LAB_0001521b;
      }
      pcVar19 = (char *)*puVar6;
      cVar28 = *pcVar19;
      cVar12 = cVar28 + -10;
      bVar29 = cVar28 == '\n';
      if (bVar29) goto LAB_0001531c;
LAB_0001524d:
      if (bVar29 || SBORROW1(cVar28,'\n') != cVar12 < '\0') {
        if (cVar28 != '\t') goto LAB_000151b8;
LAB_0001525c:
        if (((local_74 != 0) && (pcVar27 = pcVar18, local_64 < local_78)) ||
           (pcVar27 = local_64, local_74 != 0)) {
          local_64 = pcVar27;
          if (((*(char **)(unaff_EBP + 0x129a6) == pcVar18) || (pcVar18[-1] != ' ')) ||
             ((*(char **)(unaff_EBP + 0x129a6) == pcVar18 + -1 ||
              (bVar29 = true, pcVar18[-2] == '.')))) {
            local_80 = local_80 + 1;
            bVar29 = true;
            *puVar5 = (uint)(pcVar18 + 1);
            *pcVar18 = ' ';
          }
          goto LAB_000151d8;
        }
        if (cVar28 == ' ') {
          local_80 = local_80 + 1;
          *puVar5 = (uint)(pcVar18 + 1);
          *pcVar18 = ' ';
        }
        else {
          iVar23 = *(int *)(unaff_EBP + 0x12bb2) -
                   (((iVar16 + -2 + local_80) - local_70) + -1) % *(int *)(unaff_EBP + 0x12bb2);
          local_80 = local_80 + iVar23;
          if ((char *)(iVar26 - iVar23) <= pcVar18) {
            piVar8 = (int *)(unaff_EBP + 0x129a6);
            iVar26 = iVar23 + 400 + (iVar26 - *piVar8);
            iVar22 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);
            *(int *)(unaff_EBP + 0x129aa) = iVar22;
            pcVar18 = (char *)(iVar22 + 1 + (*puVar5 - *piVar8));
            *puVar5 = (uint)pcVar18;
            *piVar2 = iVar22 + -5 + iVar26;
            *piVar8 = iVar22 + 1;
          }
          if (iVar23 == 0) {
LAB_00015589:
            local_74 = 0;
          }
          else {
            *puVar5 = (uint)(pcVar18 + 1);
            iVar26 = iVar23 + -2;
            *pcVar18 = ' ';
            if (iVar23 != 1) {
              do {
                puVar20 = (undefined1 *)*puVar5;
                iVar26 = iVar26 + -1;
                *puVar5 = (uint)(puVar20 + 1);
                *puVar20 = 0x20;
              } while (iVar26 != -1);
            }
          }
        }
LAB_000151f8:
        pcVar18 = (char *)*puVar6;
        if (*pcVar18 == '\n') {
          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;
        }
        pcVar18 = pcVar18 + 1;
        *puVar6 = (uint)pcVar18;
        if (pcVar18 == *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2)) {
          FUN_00018c70();
        }
LAB_0001521b:
        if (*local_68 != '\0') goto LAB_000159db;
        goto LAB_00015228;
      }
      if (cVar28 == ' ') goto LAB_0001525c;
      if ((cVar28 != '*') || (local_5c != 0x13)) goto LAB_000151b8;
      if (pcVar19[1] == '/') {
        if (local_54 == 0) {
          if (local_78 == (char *)0x0) {
            pcVar27 = *(char **)(unaff_EBP + 0x129a6);
            if ((pcVar27 == pcVar18) || (*pcVar27 != '/')) {
              *puVar5 = (uint)(pcVar27 + 1);
              *pcVar27 = ' ';
              pcVar18 = (char *)*puVar5;
              iVar26 = *piVar2;
              goto LAB_00015cc8;
            }
          }
          else if ((local_28 != 0) && (bVar13)) {
            *pcVar18 = '\0';
            FUN_0001a130(1,param_1,param_2,local_78);
            puVar20 = (undefined1 *)*puVar5;
            *puVar5 = (uint)(puVar20 + 1);
            *puVar20 = 0x20;
            pcVar18 = (char *)*puVar5;
            iVar26 = *piVar2;
            goto LAB_00015cc8;
          }
          if ((pcVar18[-1] != ' ') && (pcVar18[-1] != '\t')) {
            *puVar5 = (uint)(pcVar18 + 1);
            *pcVar18 = ' ';
            pcVar18 = (char *)*puVar5;
            iVar26 = *piVar2;
          }
        }
LAB_00015cc8:
        if ((char *)(iVar26 + -3) <= pcVar18) {
          piVar1 = (int *)(unaff_EBP + 0x129a6);
          iVar15 = *piVar1;
          iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),(iVar26 - iVar15) + 0x193,piVar1,
                                piVar1);
          *(int *)(unaff_EBP + 0x129aa) = iVar16;
          pcVar18 = (char *)(iVar16 + 1 + (*puVar5 - *piVar1));
          *piVar2 = iVar16 + 0x18e + (iVar26 - iVar15);
          *piVar1 = iVar16 + 1;
        }
        *puVar5 = (uint)(pcVar18 + 1);
        *pcVar18 = '*';
        puVar20 = (undefined1 *)*puVar5;
        *puVar5 = (uint)(puVar20 + 1);
        *puVar20 = 0x2f;
        *(undefined1 *)*puVar5 = 0;
        uVar24 = *puVar6;
        *puVar6 = uVar24 + 2;
        uVar24 = FUN_00018720(uVar24 + 2);
        *puVar6 = uVar24;
        if (*(uint *)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= uVar24) {
          FUN_00018c70();
        }
        iVar15 = *local_6c;
        *(int *)(iVar15 + 0x58) = local_70;
        *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;
        *(int *)(iVar15 + 0x24) = local_54;
        return;
      }
      if (*piVar1 + -1 == iVar15) {
        piVar8 = (int *)(unaff_EBP + 0x129a6);
        if (pcVar18 != (undefined1 *)*piVar8 + local_48) goto LAB_000151b8;
        *(undefined1 *)*piVar8 = 0x20;
        local_80 = (local_80 - local_48) + 2;
        local_48 = 1;
        local_4c = unaff_EBP + 0xc5d2;
        *(undefined1 *)(*piVar8 + 1) = 0x2a;
        local_78 = (char *)(*piVar8 + 2);
        local_28 = 0;
        *puVar5 = (uint)local_78;
        local_54 = 1;
        goto LAB_00015589;
      }
LAB_000151b8:
      local_80 = local_80 + 1;
      *puVar5 = (uint)(pcVar18 + 1);
      *pcVar18 = *pcVar19;
      bVar29 = local_74 != 0;
      local_78 = pcVar18;
LAB_000151d8:
      if ((local_80 <= local_60 || local_64 == (char *)0x0) || (!bVar29)) goto LAB_000151f8;
      if (local_64 < (char *)(*puVar5 - 1)) {
        *local_64 = '\0';
        uVar24 = *puVar5;
        *puVar5 = (uint)local_64;
        local_40 = uVar24 - (int)(local_64 + 1);
        iVar26 = local_80 - local_40;
        if ((int)(local_80 - local_40) <= local_60) {
          iVar26 = local_60;
        }
        bVar30 = local_78 == (char *)0x0;
        bVar29 = false;
        local_78 = local_64 + 1;
        local_60 = iVar26;
        bVar30 = (bool)(bVar30 & bVar14);
        goto LAB_00015630;
      }
      pcVar18 = (char *)*puVar6;
      if (local_5c != 0x14) {
        do {
          pcVar27 = *(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2);
          do {
            while( true ) {
              cVar28 = *pcVar18;
              if ((1 < (byte)(cVar28 - 9U)) && (cVar28 != ' ')) {
                *puVar6 = (uint)(pcVar18 + -1);
                goto LAB_00015d49;
              }
              if (cVar28 == '\n') break;
              pcVar18 = pcVar18 + 1;
              *puVar6 = (uint)pcVar18;
              if (pcVar27 <= pcVar18) goto LAB_00015b63;
            }
            pcVar18 = pcVar18 + 1;
            *puVar6 = (uint)pcVar18;
            *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;
          } while (pcVar18 < pcVar27);
LAB_00015b63:
          FUN_00018c70();
          pcVar18 = (char *)*puVar6;
        } while( true );
      }
      iVar26 = FUN_00018720(pcVar18);
      *puVar6 = iVar26 - 1;
      if (*(char *)(iVar26 + -1) == '\n') {
        pcVar18 = (char *)*puVar5;
        goto LAB_00015c4a;
      }
LAB_00015d49:
      *(undefined1 *)*puVar5 = 0;
LAB_000159db:
      pcVar18 = local_78;
      local_78 = (char *)0x0;
      bVar29 = false;
      bVar30 = (bool)(pcVar18 == (char *)0x0 & bVar14);
LAB_00015630:
      if ((bVar30) && (*piVar1 != iVar15)) {
        puVar20 = *(undefined1 **)(unaff_EBP + 0x129a6);
        *puVar5 = (uint)puVar20;
      }
      else {
        puVar20 = (undefined1 *)*puVar5;
      }
      *puVar20 = 0;
      FUN_0001a130(1,param_1,param_2);
      *(undefined4 *)(unaff_EBP + 0x1297e) = 0;
      if (!bVar29) {
        pcVar18 = (char *)*puVar6;
        if (*pcVar18 == '\n') {
          *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;
        }
        pcVar18 = pcVar18 + 1;
        *puVar6 = (uint)pcVar18;
        if (*(char **)(__i686_get_pc_thunk_bx + unaff_EBP + 2) <= pcVar18) {
          FUN_00018c70();
        }
      }
LAB_0001543c:
      local_68 = &DAT_00012b1e + unaff_EBP;
      if (*local_68 != '\0') break;
      local_80 = local_70;
      if (local_48 != 0) {
        uVar24 = *puVar5;
        iVar26 = *(int *)(unaff_EBP + 0x1299e);
        if (iVar26 - local_48 <= uVar24) {
          piVar2 = (int *)(unaff_EBP + 0x129a6);
          iVar26 = local_48 + 400 + (iVar26 - *piVar2);
          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);
          *(int *)(unaff_EBP + 0x129aa) = iVar23;
          uVar24 = iVar23 + 1 + (*puVar5 - *piVar2);
          *puVar5 = uVar24;
          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;
          *piVar2 = iVar23 + 1;
        }
        if (local_48 != 0) {
          uVar21 = 0;
          do {
            *(undefined1 *)(uVar24 + uVar21) = *(undefined1 *)(local_4c + uVar21);
            uVar21 = uVar21 + 1;
          } while (uVar21 < local_48);
        }
        *puVar5 = *puVar5 + local_48;
        local_80 = local_70 + local_48;
      }
      if (local_78 == (char *)0x0) {
        FUN_00018e10();
      }
      else {
        if ((*local_78 == ' ') || (*local_78 == '\t')) {
          if (local_40 == 0) {
            iVar26 = 0;
            local_84 = 0;
          }
          else {
            do {
              local_78 = local_78 + 1;
              local_40 = local_40 - 1;
              if ((*local_78 != ' ') && (*local_78 != '\t')) {
                local_80 = local_80 + local_40;
                iVar26 = -local_40;
                local_84 = local_40;
                goto LAB_000158f3;
              }
            } while (local_40 != 0);
            iVar26 = 0;
            local_84 = 0;
          }
        }
        else {
          local_80 = local_80 + local_40;
          local_84 = local_40;
          iVar26 = -local_40;
        }
LAB_000158f3:
        __dest = (void *)*puVar5;
        iVar23 = *(int *)(unaff_EBP + 0x1299e);
        if ((void *)(iVar26 + iVar23) <= __dest) {
          piVar2 = (int *)(unaff_EBP + 0x129a6);
          iVar26 = local_40 + 400 + (iVar23 - *piVar2);
          iVar23 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26);
          *(int *)(unaff_EBP + 0x129aa) = iVar23;
          __dest = (void *)(iVar23 + 1 + (*puVar5 - *piVar2));
          *(int *)(unaff_EBP + 0x1299e) = iVar23 + -5 + iVar26;
          *puVar5 = (uint)__dest;
          *piVar2 = iVar23 + 1;
        }
        memmove(__dest,local_78,local_84);
        local_78 = (char *)*puVar5;
        *puVar5 = (uint)(local_78 + local_84);
        local_40 = 0;
      }
    }
    iVar15 = *local_6c;
    *(int *)(iVar15 + 0x58) = local_70;
    *(int *)(iVar15 + 0x20) = *(int *)(iVar15 + 0x20) + -1;
    *(int *)(iVar15 + 0x24) = local_54;
    return;
  }
  piVar1 = (int *)(&DAT_00012b26 + unaff_EBP);
  pbVar10 = (byte *)*piVar1;
  bVar9 = *pbVar10;
  if (bVar9 == 0x2a || bVar9 == 0x5f) {
    pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);
  }
  else {
    if (((bVar9 & 0xef) != 0x2d) &&
       ((*(int *)(*(int *)(&DAT_00012b16 + unaff_EBP) + 0x54) == 0 ||
        (*(int *)(unaff_EBP + 0x12c02) != 0)))) {
      bVar14 = true;
      uVar25 = 0x2a;
      local_5c = 0x13;
      local_84 = *(size_t *)(FUN_00012bc0 + unaff_EBP + 2);
      local_28 = *(int *)(unaff_EBP + 0x12c1a);
      local_48 = 0;
      local_4c = 0;
      bVar29 = local_28 != 0;
      goto LAB_00014fd0;
    }
    pbVar11 = *(byte **)(&DAT_00012b6e + unaff_EBP);
  }
  if ((pbVar10 < pbVar11) || (pbVar11 + *(int *)(unaff_EBP + 0x12b7a) < pbVar10)) {
    iVar15 = FUN_00018750();
    iVar15 = iVar15 + -2;
  }
  else {
    iVar15 = *(int *)(unaff_EBP + 0x12b7e);
  }
  local_6c = (int *)(&DAT_00012b16 + unaff_EBP);
  iVar26 = *local_6c;
  *(int *)(iVar26 + 0x58) = iVar15;
  *(undefined4 *)(iVar26 + 0x24) = 1;
  if (*(int *)(unaff_EBP + 0x12c32) != 0) {
    *(undefined4 *)(unaff_EBP + 0x1297e) = 1;
  }
  piVar2 = (int *)(unaff_EBP + 0x129a2);
  local_68 = (char *)0x1;
  puVar20 = (undefined1 *)*piVar2;
  pcVar3 = __i686_get_pc_thunk_bx + unaff_EBP + 2;
  *piVar2 = (int)(puVar20 + 1);
  *puVar20 = 0x2f;
  puVar20 = (undefined1 *)*piVar2;
  piVar4 = (int *)(unaff_EBP + 0x129a6);
  *piVar2 = (int)(puVar20 + 1);
  *puVar20 = 0x2a;
  pcVar18 = (char *)*piVar1;
  cVar28 = *pcVar18;
  do {
    do {
      if (cVar28 == '\n') {
        *(int *)(unaff_EBP + 0x1298a) = *(int *)(unaff_EBP + 0x1298a) + 1;
      }
      pcVar27 = (char *)*piVar2;
      iVar26 = *(int *)(unaff_EBP + 0x1299e);
      if ((char *)(iVar26 - 1U) <= pcVar27) {
        iVar26 = iVar26 - *piVar4;
        iVar16 = FUN_00018620(*(int *)(unaff_EBP + 0x129aa),iVar26 + 0x191);
        *(int *)(unaff_EBP + 0x129aa) = iVar16;
        pcVar27 = (char *)(iVar16 + 1 + (*piVar2 - *piVar4));
        *(int *)(unaff_EBP + 0x1299e) = iVar16 + 0x18c + iVar26;
        *piVar4 = iVar16 + 1;
        pcVar18 = (char *)*piVar1;
      }
      *piVar1 = (int)(pcVar18 + 1);
      *piVar2 = (int)(pcVar27 + 1);
      *pcVar27 = *pcVar18;
      pcVar18 = (char *)*piVar1;
      pcVar27 = *(char **)pcVar3;
      cVar28 = *pcVar18;
    } while ((cVar28 != '*') && (pcVar18 < pcVar27));
    if (pcVar27 < pcVar18) {
      *piVar1 = (int)pcVar27;
      cVar28 = *pcVar27;
      pcVar18 = pcVar27;
    }
    if (*(int *)(unaff_EBP + 0x12bfa) == 0) {
LAB_00014e50:
      if (cVar28 == '*') {
LAB_00014e59:
        if (pcVar18[1] == '/') {
          if (pcVar18 == pcVar27) {
            FUN_00018c70();
            pcVar18 = (char *)*piVar1;
            pcVar27 = *(char **)pcVar3;
          }
          *piVar1 = (int)(pcVar18 + 2);
          if (pcVar18 + 2 == pcVar27) {
            FUN_00018c70();
          }
          puVar20 = (undefined1 *)*piVar2;
          *piVar2 = (int)(puVar20 + 1);
          *puVar20 = 0x2a;
          puVar20 = (undefined1 *)*piVar2;
          *piVar2 = (int)(puVar20 + 1);
          *puVar20 = 0x2f;
          *(undefined1 *)*piVar2 = 0;
          iVar26 = *local_6c;
          piVar1 = (int *)(iVar26 + 0x20);
          *piVar1 = *piVar1 + -1;
          iVar16 = 1;
          if (local_68 == (char *)0x1) {
            iVar16 = iVar15;
          }
          *(int *)(iVar26 + 0x58) = iVar16;
          return;
        }
        cVar28 = '*';
      }
    }
    else if (cVar28 == '*') {
      if (pcVar18[-1] == '/') {
        *(undefined1 *)(*piVar2 + -1) = 0x20;
        *(undefined1 *)*piVar2 = 0x2a;
        pcVar18 = (char *)*piVar1;
        pcVar27 = *(char **)pcVar3;
        cVar28 = *pcVar18;
        goto LAB_00014e50;
      }
      goto LAB_00014e59;
    }
    if (pcVar18 == pcVar27) {
      if (pcVar18[-1] == '\n') {
        iVar26 = *piVar2;
        *piVar2 = iVar26 + -1;
        *(undefined1 *)(iVar26 + -1) = 0;
        FUN_0001a130(1,param_1,param_2);
        local_68 = (char *)((int)local_68 + 1);
        *(undefined4 *)(*local_6c + 0x58) = 1;
      }
      FUN_00018c70();
      if ((&DAT_00012b1e)[unaff_EBP] != '\0') {
        puVar20 = (undefined1 *)*piVar2;
        *piVar2 = (int)(puVar20 + 1);
        *puVar20 = 0;
        iVar26 = *local_6c;
        piVar1 = (int *)(iVar26 + 0x20);
        *piVar1 = *piVar1 + -1;
        *(int *)(iVar26 + 0x58) = iVar15;
        return;
      }
      pcVar18 = (char *)*piVar1;
      cVar28 = *pcVar18;
    }
  } while( true );
}

