
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */

int __regparm3 shell_getc(int remove_quoted_newline)

{
  bool bVar1;
  undefined4 *puVar2;
  undefined *puVar3;
  uint uVar4;
  STRING_SAVER *__ptr;
  int iVar5;
  char *pcVar6;
  byte bVar7;
  size_t sVar8;
  int local_44;
  byte local_38;
  
  puVar2 = (undefined4 *)PTR_stdin_00171f40;
  if (shell_input_line == (char *)0x0) {
    line_number = line_number + 1;
    bVar1 = false;
    goto joined_r0x00035c60;
  }
  bVar1 = false;
  bVar7 = shell_input_line[shell_input_line_index];
  sVar8 = shell_input_line_index;
  if ((bVar7 == 0) && (pushed_string_list == (STRING_SAVER *)0x0)) {
    line_number = line_number + 1;
    if (shell_input_line_size < 0x8000) goto joined_r0x00035c60;
    free(shell_input_line);
    shell_input_line = (char *)0x0;
    shell_input_line_size = 0;
    puVar2 = (undefined4 *)PTR_stdin_00171f40;
    goto joined_r0x00035c60;
  }
LAB_00035a68:
  shell_input_line_index = sVar8;
  sVar8 = shell_input_line_index;
  if (bVar7 != 0) goto LAB_00035b58;
  if (pushed_string_list != (STRING_SAVER *)0x0) {
    local_44 = pushed_string_list->flags;
    if (((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000U) == 0)) &&
        (shell_input_line_index != 0)) &&
       (((shell_input_line[shell_input_line_index - 1] != 10 &&
         (((&sh_syntaxtab)[(byte)shell_input_line[shell_input_line_index - 1]] & 0x2001) == 0)) &&
        ((dstack.delimiter_depth == 0 ||
         ((dstack.delimiters[dstack.delimiter_depth + -1] != '\'' &&
          (dstack.delimiters[dstack.delimiter_depth + -1] != '\"')))))))) {
      parser_state = parser_state | 0x200000;
      return 0x20;
    }
    while (local_44 != 4) {
      parser_state = parser_state & 0xffdfffff;
      __ptr = pushed_string_list;
      if (shell_input_line != (char *)0x0) {
        free(shell_input_line);
        __ptr = pushed_string_list;
      }
      shell_input_line = __ptr->saved_line;
      shell_input_line_index = __ptr->saved_line_index;
      shell_input_line_size = __ptr->saved_line_size;
      shell_input_line_terminator = __ptr->saved_line_terminator;
      uVar4 = parser_state & 0xfffffffd;
      if (__ptr->expand_alias != 0) {
        uVar4 = parser_state | 2;
      }
      pushed_string_list = __ptr->next;
      parser_state = uVar4;
      if (__ptr->expander != (alias_t *)0x0) {
        pcVar6 = &__ptr->expander->flags;
        *pcVar6 = *pcVar6 & 0xfd;
      }
      free(__ptr);
      set_line_mbstate();
      bVar7 = shell_input_line[shell_input_line_index];
      sVar8 = shell_input_line_index;
      if (bVar7 == 0) break;
LAB_00035b58:
      shell_input_line_index = sVar8 + 1;
      if ((bVar7 != 0x5c) || ((remove_quoted_newline & 1U) == 0)) {
        if (bVar7 != 0) {
          return (uint)bVar7;
        }
        break;
      }
      if ((shell_input_line[shell_input_line_index] != '\n') ||
         ((1 < shell_input_line_index && (shell_input_line_property[sVar8] == '\0')))) {
        return 0x5c;
      }
      if ((interactive == 0) || (1 < bash_input.type - st_stdin)) {
LAB_00035bbb:
        line_number = line_number + 1;
        puVar2 = (undefined4 *)PTR_stdin_00171f40;
        if (pushed_string_list == (STRING_SAVER *)0x0) goto joined_r0x00035c60;
      }
      else {
        if ((pushed_string_list == (STRING_SAVER *)0x0) ||
           (pushed_string_list->expander == (alias_t *)0x0)) {
          prompt_again();
          goto LAB_00035bbb;
        }
        line_number = line_number + 1;
      }
      puVar2 = (undefined4 *)PTR_stdin_00171f40;
      if (pushed_string_list->expander == (alias_t *)0x0) goto joined_r0x00035c60;
      bVar7 = shell_input_line[shell_input_line_index + 1];
      sVar8 = shell_input_line_index + 1;
      if (bVar7 != 0) goto LAB_00035a68;
      local_44 = pushed_string_list->flags;
    }
  }
  if (shell_input_line_terminator == -1) {
    uVar4 = 0xffffffff;
    if (shell_input_line_index != 0) {
      uVar4 = 10;
    }
  }
  else {
    if ((((bash_input.type == st_string) && (*bash_input.location.string != '\0')) &&
        (pushed_string_list != (STRING_SAVER *)0x0)) &&
       ((pushed_string_list->flags == 4 && (shell_input_line_terminator == 0)))) {
      shell_input_line_index = 0;
      shell_input_line_terminator = 0;
      puVar2 = (undefined4 *)PTR_stdin_00171f40;
joined_r0x00035c60:
      if (terminating_signal != 0) {
        termsig_handler(terminating_signal);
      }
      if (interrupt_state != 0) {
        throw_to_top_level();
      }
      shell_input_line_terminator = 0;
      if (interactive_shell == 0) {
LAB_00035e18:
        notify_and_cleanup();
        puVar3 = PTR_stderr_00171e54;
        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input.type - st_stdin < 2)) {
          fputs(current_decoded_prompt,*(FILE **)PTR_stderr_00171e54);
          fflush(*(FILE **)puVar3);
        }
joined_r0x00035e4b:
        if (bash_input.type == st_stream) {
          clearerr((FILE *)*puVar2);
        }
      }
      else {
        if (interactive == 0) goto joined_r0x00035e4b;
        if (bash_input.type - st_stdin < 2) goto LAB_00035e18;
      }
      sVar8 = 0;
      do {
        iVar5 = (*(code *)bash_input.getter)();
        while( true ) {
          if (terminating_signal != 0) {
            termsig_handler(terminating_signal);
          }
          if (interrupt_state != 0) {
            throw_to_top_level();
          }
          if (iVar5 == 0) break;
          if (shell_input_line_size < 0xffffff00) {
            if (shell_input_line_size <= sVar8 + 2) {
              do {
                shell_input_line_size = shell_input_line_size + 0x100;
              } while (shell_input_line_size <= sVar8 + 2);
              shell_input_line = (char *)xrealloc(shell_input_line,shell_input_line_size);
            }
          }
          else if (shell_input_line_size != 0xffffffff) {
            shell_input_line_size = 0xffffffff;
            shell_input_line = (char *)xrealloc(shell_input_line,0xffffffff);
          }
          pcVar6 = shell_input_line + sVar8;
          if (iVar5 == -1) {
            if (bash_input.type == st_stream) {
              clearerr(*(FILE **)PTR_stdin_00171f40);
            }
            if (sVar8 == 0) {
              shell_input_line_terminator = -1;
            }
            *pcVar6 = '\0';
            bVar7 = 1;
            goto LAB_00035cff;
          }
          *pcVar6 = (char)iVar5;
          if (iVar5 == 10) {
            *pcVar6 = '\0';
            bVar7 = 0;
            current_command_line_count = current_command_line_count + 1;
            goto LAB_00035cff;
          }
          bVar1 = iVar5 == 0x5c && !bVar1;
          iVar5 = (*(code *)bash_input.getter)();
          sVar8 = sVar8 + 1;
        }
      } while (bash_input.type != st_string);
      if (sVar8 == 0) {
        shell_input_line_terminator = -1;
      }
      shell_input_line[sVar8] = '\0';
      bVar7 = 1;
LAB_00035cff:
      shell_input_line_index = 0;
      shell_input_line_len = sVar8;
      set_line_mbstate();
      if (remember_on_history == 0) goto joined_r0x00035d82;
      if (shell_input_line != (char *)0x0) {
        if (*shell_input_line == '\0') {
          if (current_command_line_count < 2) {
            if (echo_input_at_read != 0) goto LAB_00036218;
            goto LAB_00036178;
          }
          if (((dstack.delimiter_depth != 0) &&
              (dstack.delimiters[dstack.delimiter_depth + -1] != '\0')) ||
             ((pcVar6 = history_delimiting_chars(shell_input_line), pcVar6 != (char *)0x0 &&
              (*pcVar6 == ';')))) {
            maybe_add_history(shell_input_line);
          }
        }
        else {
          if (dstack.delimiter_depth == 0) {
LAB_00035f8e:
            history_quoting_state = 0;
          }
          else if (dstack.delimiters[dstack.delimiter_depth + -1] == '\'') {
            history_quoting_state = 0x27;
          }
          else {
            if (dstack.delimiters[dstack.delimiter_depth + -1] != '\"') goto LAB_00035f8e;
            history_quoting_state = 0x22;
          }
          pcVar6 = pre_process_line(shell_input_line,1,1);
          history_quoting_state = 0;
          if (pcVar6 != shell_input_line) {
            free(shell_input_line);
            shell_input_line = pcVar6;
            if (pcVar6 == (char *)0x0) {
              shell_input_line_len = 0;
LAB_000362e0:
              current_command_line_count = current_command_line_count + -1;
              shell_input_line_size = 0;
            }
            else {
              shell_input_line_size = strlen(pcVar6);
              shell_input_line_len = shell_input_line_size;
              if (shell_input_line_size == 0) goto LAB_000362e0;
            }
            set_line_mbstate();
          }
        }
joined_r0x00035d82:
        if (shell_input_line != (char *)0x0) goto LAB_000362a8;
      }
      shell_input_line_size = 0;
      prompt_string_pointer = &current_prompt_string;
      if (((interactive != 0) && (bash_input.type - st_stdin < 2)) &&
         ((pushed_string_list == (STRING_SAVER *)0x0 ||
          (pushed_string_list->expander == (alias_t *)0x0)))) {
        prompt_again();
      }
      goto joined_r0x00035c60;
    }
    uVar4 = 0;
  }
  return uVar4;
LAB_000362a8:
  if (echo_input_at_read == 0) {
LAB_00036178:
    if (shell_input_line_terminator == -1) goto LAB_000361c3;
  }
  else {
    if (*shell_input_line != '\0') {
      if (shell_eof_token == 0) {
LAB_00036231:
        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,shell_input_line);
      }
      goto LAB_00036178;
    }
LAB_00036218:
    if (shell_input_line_terminator == -1) goto LAB_000361c3;
    if (shell_eof_token == 0) goto LAB_00036231;
  }
  if ((shell_input_line_size < 0xfffffffc) && (shell_input_line_size < shell_input_line_len + 3)) {
    sVar8 = shell_input_line_size + 3;
    shell_input_line_size = shell_input_line_size + 2;
    shell_input_line = (char *)xrealloc(shell_input_line,sVar8);
  }
  pcVar6 = shell_input_line;
  sVar8 = shell_input_line_len;
  if (((bash_input.type == st_string) &&
      (((pushed_string_list == (STRING_SAVER *)0x0 ||
        (pushed_string_list->expander == (alias_t *)0x0)) && (bVar1)))) &&
     (local_38 = (byte)remove_quoted_newline, (local_38 & bVar7) != 0)) {
    shell_input_line[shell_input_line_len] = '\\';
  }
  else {
    shell_input_line[shell_input_line_len] = '\n';
  }
  pcVar6[sVar8 + 1] = '\0';
  set_line_mbstate();
LAB_000361c3:
  bVar7 = shell_input_line[shell_input_line_index];
  sVar8 = shell_input_line_index;
  goto LAB_00035a68;
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */

uint __regparm3 FUN_00035a20(byte param_1)

{
  byte *pbVar1;
  char cVar2;
  bool bVar3;
  undefined *puVar4;
  uint uVar5;
  undefined4 *puVar6;
  int iVar7;
  char *pcVar8;
  byte bVar9;
  size_t sVar10;
  int local_44;
  
  puVar6 = (undefined4 *)PTR_stdin_00171f40;
  if (DAT_00176b74 == (char *)0x0) {
    line_number = line_number + 1;
    bVar3 = false;
    goto joined_r0x00035c60;
  }
  bVar3 = false;
  bVar9 = DAT_00176b74[DAT_00176b70];
  uVar5 = DAT_00176b70;
  if ((bVar9 == 0) && (pushed_string_list == (undefined4 *)0x0)) {
    line_number = line_number + 1;
    if (DAT_00176b6c < 0x8000) goto joined_r0x00035c60;
    free(DAT_00176b74);
    DAT_00176b74 = (char *)0x0;
    DAT_00176b6c = 0;
    puVar6 = (undefined4 *)PTR_stdin_00171f40;
    goto joined_r0x00035c60;
  }
LAB_00035a68:
  DAT_00176b70 = uVar5;
  if (bVar9 != 0) goto LAB_00035b58;
  if (pushed_string_list != (undefined4 *)0x0) {
    local_44 = pushed_string_list[7];
    if (((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000) == 0)) &&
        (DAT_00176b70 != 0)) &&
       (((DAT_00176b74[DAT_00176b70 - 1] != 10 &&
         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)) &&
        ((DAT_001768ac == 0 ||
         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')))))))) {
      parser_state = parser_state | 0x200000;
      return 0x20;
    }
    while (local_44 != 4) {
      parser_state = parser_state & 0xffdfffff;
      puVar6 = pushed_string_list;
      if (DAT_00176b74 != (char *)0x0) {
        free(DAT_00176b74);
        puVar6 = pushed_string_list;
      }
      DAT_00176b74 = (char *)puVar6[2];
      DAT_00176b70 = puVar6[5];
      DAT_00176b6c = puVar6[4];
      DAT_00176b64 = puVar6[6];
      uVar5 = parser_state & 0xfffffffd;
      if (puVar6[1] != 0) {
        uVar5 = parser_state | 2;
      }
      pushed_string_list = (undefined4 *)*puVar6;
      parser_state = uVar5;
      if (puVar6[3] != 0) {
        pbVar1 = (byte *)(puVar6[3] + 8);
        *pbVar1 = *pbVar1 & 0xfd;
      }
      free(puVar6);
      FUN_00033160();
      bVar9 = DAT_00176b74[DAT_00176b70];
      if (bVar9 == 0) break;
LAB_00035b58:
      DAT_00176b70 = DAT_00176b70 + 1;
      if ((bVar9 != 0x5c) || ((param_1 & 1) == 0)) {
        if (bVar9 != 0) {
          return (uint)bVar9;
        }
        break;
      }
      if ((DAT_00176b74[DAT_00176b70] != '\n') ||
         ((1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0')))) {
        return 0x5c;
      }
      if ((interactive == 0) || (1 < bash_input - 1U)) {
LAB_00035bbb:
        line_number = line_number + 1;
        puVar6 = (undefined4 *)PTR_stdin_00171f40;
        if (pushed_string_list == (undefined4 *)0x0) goto joined_r0x00035c60;
      }
      else {
        if ((pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0)) {
          FUN_000354c0();
          goto LAB_00035bbb;
        }
        line_number = line_number + 1;
      }
      puVar6 = (undefined4 *)PTR_stdin_00171f40;
      if (pushed_string_list[3] == 0) goto joined_r0x00035c60;
      bVar9 = DAT_00176b74[DAT_00176b70 + 1];
      uVar5 = DAT_00176b70 + 1;
      if (bVar9 != 0) goto LAB_00035a68;
      local_44 = pushed_string_list[7];
    }
  }
  if (DAT_00176b64 == -1) {
    uVar5 = 0xffffffff;
    if (DAT_00176b70 != 0) {
      uVar5 = 10;
    }
  }
  else {
    if ((((bash_input == 3) && (*DAT_0017ac84 != '\0')) && (pushed_string_list != (undefined4 *)0x0)
        ) && ((pushed_string_list[7] == 4 && (DAT_00176b64 == 0)))) {
      DAT_00176b70 = 0;
      DAT_00176b64 = 0;
      puVar6 = (undefined4 *)PTR_stdin_00171f40;
joined_r0x00035c60:
      if (terminating_signal != 0) {
        termsig_handler(terminating_signal);
      }
      if (interrupt_state != 0) {
        throw_to_top_level();
      }
      DAT_00176b64 = 0;
      if (interactive_shell == 0) {
LAB_00035e18:
        notify_and_cleanup();
        puVar4 = PTR_stderr_00171e54;
        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2)) {
          fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);
          fflush(*(FILE **)puVar4);
        }
joined_r0x00035e4b:
        if (bash_input == 2) {
          clearerr((FILE *)*puVar6);
        }
      }
      else {
        if (interactive == 0) goto joined_r0x00035e4b;
        if (bash_input - 1U < 2) goto LAB_00035e18;
      }
      sVar10 = 0;
      do {
        iVar7 = (*DAT_0017ac88)();
        while( true ) {
          if (terminating_signal != 0) {
            termsig_handler(terminating_signal);
          }
          if (interrupt_state != 0) {
            throw_to_top_level();
          }
          if (iVar7 == 0) break;
          if (DAT_00176b6c < 0xffffff00) {
            if (DAT_00176b6c <= sVar10 + 2) {
              do {
                DAT_00176b6c = DAT_00176b6c + 0x100;
              } while (DAT_00176b6c <= sVar10 + 2);
              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);
            }
          }
          else if (DAT_00176b6c != 0xffffffff) {
            DAT_00176b6c = 0xffffffff;
            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);
          }
          pcVar8 = DAT_00176b74 + sVar10;
          if (iVar7 == -1) {
            if (bash_input == 2) {
              clearerr(*(FILE **)PTR_stdin_00171f40);
            }
            if (sVar10 == 0) {
              DAT_00176b64 = -1;
            }
            *pcVar8 = '\0';
            bVar9 = 1;
            goto LAB_00035cff;
          }
          *pcVar8 = (char)iVar7;
          if (iVar7 == 10) {
            *pcVar8 = '\0';
            bVar9 = 0;
            current_command_line_count = current_command_line_count + 1;
            goto LAB_00035cff;
          }
          bVar3 = iVar7 == 0x5c && !bVar3;
          iVar7 = (*DAT_0017ac88)();
          sVar10 = sVar10 + 1;
        }
      } while (bash_input != 3);
      if (sVar10 == 0) {
        DAT_00176b64 = -1;
      }
      DAT_00176b74[sVar10] = '\0';
      bVar9 = 1;
LAB_00035cff:
      DAT_00176b70 = 0;
      DAT_00176b68 = sVar10;
      FUN_00033160();
      if (remember_on_history == 0) goto joined_r0x00035d82;
      if (DAT_00176b74 != (char *)0x0) {
        if (*DAT_00176b74 == '\0') {
          if (current_command_line_count < 2) {
            if (echo_input_at_read != 0) goto LAB_00036218;
            goto LAB_00036178;
          }
          if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||
             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&
              (*pcVar8 == ';')))) {
            maybe_add_history(DAT_00176b74);
          }
        }
        else {
          if (DAT_001768ac == 0) {
LAB_00035f8e:
            history_quoting_state = 0;
          }
          else {
            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);
            if (cVar2 == '\'') {
              history_quoting_state = 0x27;
            }
            else {
              if (cVar2 != '\"') goto LAB_00035f8e;
              history_quoting_state = 0x22;
            }
          }
          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);
          history_quoting_state = 0;
          if (pcVar8 != DAT_00176b74) {
            free(DAT_00176b74);
            DAT_00176b74 = pcVar8;
            if (pcVar8 == (char *)0x0) {
              DAT_00176b68 = 0;
LAB_000362e0:
              current_command_line_count = current_command_line_count + -1;
              DAT_00176b6c = 0;
            }
            else {
              DAT_00176b6c = strlen(pcVar8);
              DAT_00176b68 = DAT_00176b6c;
              if (DAT_00176b6c == 0) goto LAB_000362e0;
            }
            FUN_00033160();
          }
        }
joined_r0x00035d82:
        if (DAT_00176b74 != (char *)0x0) goto LAB_000362a8;
      }
      DAT_00176b6c = 0;
      prompt_string_pointer = &current_prompt_string;
      if (((interactive != 0) && (bash_input - 1U < 2)) &&
         ((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)))) {
        FUN_000354c0();
      }
      goto joined_r0x00035c60;
    }
    uVar5 = 0;
  }
  return uVar5;
LAB_000362a8:
  if (echo_input_at_read == 0) {
LAB_00036178:
    if (DAT_00176b64 == -1) goto LAB_000361c3;
  }
  else {
    if (*DAT_00176b74 != '\0') {
      if (shell_eof_token == 0) {
LAB_00036231:
        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);
      }
      goto LAB_00036178;
    }
LAB_00036218:
    if (DAT_00176b64 == -1) goto LAB_000361c3;
    if (shell_eof_token == 0) goto LAB_00036231;
  }
  if ((DAT_00176b6c < 0xfffffffc) && (DAT_00176b6c < DAT_00176b68 + 3)) {
    iVar7 = DAT_00176b6c + 3;
    DAT_00176b6c = DAT_00176b6c + 2;
    DAT_00176b74 = (char *)xrealloc(DAT_00176b74,iVar7);
  }
  pcVar8 = DAT_00176b74;
  sVar10 = DAT_00176b68;
  if (((bash_input == 3) &&
      (((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)) && (bVar3)))) &&
     ((param_1 & bVar9) != 0)) {
    DAT_00176b74[DAT_00176b68] = '\\';
  }
  else {
    DAT_00176b74[DAT_00176b68] = '\n';
  }
  pcVar8[sVar10 + 1] = '\0';
  FUN_00033160();
LAB_000361c3:
  bVar9 = DAT_00176b74[DAT_00176b70];
  uVar5 = DAT_00176b70;
  goto LAB_00035a68;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x000312b0
ADD EBX,0x13c5d7
SUB ESP,0x3c
MOV dword ptr [ESP + 0x14],EAX
MOV EDX,dword ptr [EBX + 0x4b74]
TEST EDX,EDX
JZ 0x00035bf8
MOV EDI,dword ptr [EBX + 0x4b70]
MOV dword ptr [ESP + 0x10],0x0
MOVZX ECX,byte ptr [EDX + EDI*0x1]
TEST CL,CL
JZ 0x000360b0
LEA ESI,[EBX + 0x8c50]
MOV dword ptr [ESP + 0xc],ESI
TEST CL,CL
JNZ 0x00035b58
MOV EAX,dword ptr [EBX + 0x48b4]
TEST EAX,EAX
JZ 0x00035a94
MOV ECX,dword ptr [EAX + 0x1c]
LEA EBP,[ECX + -0x2]
MOV dword ptr [ESP + 0x8],ECX
AND EBP,0xfffffffd
JNZ 0x00036030
CMP dword ptr [ESP + 0x8],0x4
JNZ 0x00035ac0
MOV EAX,dword ptr [EBX + 0x4b64]
CMP EAX,-0x1
JZ 0x000363a0
LEA EDI,[EBX + 0x8c7c]
CMP dword ptr [EDI],0x3
JZ 0x00036362
XOR EAX,EAX
ADD ESP,0x3c
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV ECX,dword ptr [ESI]
AND ECX,0xffdfffff
MOV dword ptr [ESI],ECX
TEST EDX,EDX
JZ 0x00035ae2
SUB ESP,0xc
PUSH EDX
CALL 0x0002e200
MOV EAX,dword ptr [EBX + 0x48b4]
MOV ECX,dword ptr [ESI]
ADD ESP,0x10
MOV EDX,dword ptr [EAX + 0x8]
MOV EDI,dword ptr [EAX + 0x4]
MOV dword ptr [EBX + 0x4b74],EDX
MOV EDX,dword ptr [EAX + 0x14]
MOV dword ptr [EBX + 0x4b70],EDX
MOV EDX,dword ptr [EAX + 0x10]
MOV dword ptr [EBX + 0x4b6c],EDX
MOV EDX,dword ptr [EAX + 0x18]
MOV dword ptr [EBX + 0x4b64],EDX
MOV EDX,ECX
AND EDX,0xfffffffd
TEST EDI,EDI
JZ 0x00035b17
OR ECX,0x2
MOV EDX,ECX
MOV dword ptr [ESI],EDX
MOV EDX,dword ptr [EAX]
MOV dword ptr [EBX + 0x48b4],EDX
MOV EDX,dword ptr [EAX + 0xc]
TEST EDX,EDX
JZ 0x00035b2c
AND byte ptr [EDX + 0x8],0xfd
SUB ESP,0xc
PUSH EAX
CALL 0x0002e200
CALL 0x00033160
MOV EDX,dword ptr [EBX + 0x4b74]
MOV EDI,dword ptr [EBX + 0x4b70]
ADD ESP,0x10
MOVZX ECX,byte ptr [EDX + EDI*0x1]
TEST CL,CL
JZ 0x00035a94
LEA ESI,[ESI]
ADD EDI,0x1
MOV dword ptr [EBX + 0x4b70],EDI
CMP CL,0x5c
JNZ 0x000363b5
TEST byte ptr [ESP + 0x14],0x1
JZ 0x000363b5
CMP byte ptr [EDX + EDI*0x1],0xa
JNZ 0x000362f0
CMP EDI,0x1
JBE 0x00035b95
MOV EAX,dword ptr [EBX + 0x4bc4]
CMP byte ptr [EAX + EDI*0x1 + -0x1],0x0
JZ 0x000362f0
LEA EDX,[EBX + 0x484c]
MOV EAX,dword ptr [EBX + 0x48b4]
MOV EDX,dword ptr [EDX]
TEST EDX,EDX
JZ 0x00035bbb
LEA EDX,[EBX + 0x8c7c]
MOV EDX,dword ptr [EDX]
SUB EDX,0x1
CMP EDX,0x1
JBE 0x000361d8
ADD dword ptr [EBX + 0x48c0],0x1
TEST EAX,EAX
JZ 0x00035c10
MOV EDI,dword ptr [EAX + 0xc]
TEST EDI,EDI
JZ 0x00035c10
MOV ECX,dword ptr [EBX + 0x4b70]
MOV EDX,dword ptr [EBX + 0x4b74]
LEA EDI,[ECX + 0x1]
MOVZX ECX,byte ptr [EDX + ECX*0x1 + 0x1]
TEST CL,CL
JZ 0x00036020
MOV dword ptr [EBX + 0x4b70],EDI
JMP 0x00035a68
ADD dword ptr [EBX + 0x48c0],0x1
MOV dword ptr [ESP + 0x10],0x0
LEA ESI,[ESI]
NOP
LEA EDI,[EBX + 0x8c7c]
LEA EAX,[EBX + 0x72c0]
MOV dword ptr [ESP + 0x8],EAX
LEA EAX,[EBX + 0x72cc]
MOV dword ptr [ESP + 0xc],EAX
LEA EAX,[EBX + 0x4848]
MOV dword ptr [ESP + 0x18],EAX
LEA EAX,[EBX + 0x73e4]
MOV dword ptr [ESP + 0x1c],EAX
MOV EAX,dword ptr [EBX + 0xffffff40]
MOV dword ptr [ESP + 0x24],EAX
LEA EAX,[EBX + 0x481c]
MOV dword ptr [ESP + 0x20],EAX
LEA ESI,[ESI]
MOV EAX,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JNZ 0x00035de8
MOV EAX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JNZ 0x00035e08
MOV dword ptr [EBX + 0x4b64],0x0
MOV EAX,dword ptr [ESP + 0x18]
MOV EBP,dword ptr [EAX]
TEST EBP,EBP
JZ 0x00035e18
LEA EDX,[EBX + 0x484c]
MOV EAX,dword ptr [EDI]
MOV ESI,dword ptr [EDX]
TEST ESI,ESI
JZ 0x00035e48
SUB EAX,0x1
CMP EAX,0x1
JBE 0x00035e18
LEA ESI,[ESI]
XOR EBP,EBP
CALL dword ptr [EDI + 0xc]
MOV ESI,EAX
MOV EAX,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JNZ 0x00035f1a
MOV EAX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JNZ 0x00035f3a
TEST ESI,ESI
JNZ 0x00035e70
CMP dword ptr [EDI],0x3
JNZ 0x00035cb2
TEST EBP,EBP
JNZ 0x00035cee
MOV dword ptr [EBX + 0x4b64],0xffffffff
MOV EAX,dword ptr [EBX + 0x4b74]
MOV EDX,EBP
MOV byte ptr [EAX + EBP*0x1],0x0
MOV EBP,0x1
MOV dword ptr [EBX + 0x4b68],EDX
MOV dword ptr [EBX + 0x4b70],0x0
CALL 0x00033160
MOV EAX,dword ptr [ESP + 0x1c]
MOV EDX,dword ptr [EBX + 0x4b74]
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JZ 0x00035d80
TEST EDX,EDX
JZ 0x00035d88
CMP byte ptr [EDX],0x0
JNZ 0x00035f80
LEA EAX,[EBX + 0x8c58]
CMP dword ptr [EAX],0x1
JLE 0x00036168
MOV EAX,dword ptr [EBX + 0x48ac]
TEST EAX,EAX
JZ 0x00035d5b
MOV ECX,dword ptr [EBX + 0x48a8]
CMP byte ptr [ECX + EAX*0x1 + -0x1],0x0
JNZ 0x0003628e
SUB ESP,0xc
PUSH EDX
CALL 0x00034330
ADD ESP,0x10
MOV EDX,dword ptr [EBX + 0x4b74]
TEST EAX,EAX
JZ 0x00035d80
CMP byte ptr [EAX],0x3b
JZ 0x0003628e
LEA ESI,[ESI]
TEST EDX,EDX
JNZ 0x000362a8
MOV dword ptr [EBX + 0x4b6c],0x0
LEA EAX,[EBX + 0x8c70]
MOV dword ptr [EBX + 0x48d8],EAX
LEA EAX,[EBX + 0x484c]
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JZ 0x00035c58
MOV EAX,dword ptr [EDI]
SUB EAX,0x1
CMP EAX,0x1
JA 0x00035c58
MOV EAX,dword ptr [EBX + 0x48b4]
TEST EAX,EAX
JZ 0x00035dd1
MOV EBP,dword ptr [EAX + 0xc]
TEST EBP,EBP
JNZ 0x00035c58
CALL 0x000354c0
MOV EAX,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JZ 0x00035c66
LEA ESI,[ESI]
MOV EAX,dword ptr [ESP + 0x8]
SUB ESP,0xc
MOV EAX,dword ptr [EAX]
PUSH EAX
CALL 0x0008fbd0
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JZ 0x00035c74
CALL 0x0008f8b0
JMP 0x00035c74
CALL 0x0006bf20
MOV EAX,dword ptr [ESP + 0x20]
MOV ECX,dword ptr [EAX]
MOV EAX,dword ptr [EDI]
TEST ECX,ECX
JZ 0x00035e48
LEA EDX,[EBX + 0x484c]
MOV EDX,dword ptr [EDX]
TEST EDX,EDX
JZ 0x00035e48
LEA EDX,[EAX + -0x1]
CMP EDX,0x1
JBE 0x00036130
LEA ESI,[ESI]
CMP EAX,0x2
JNZ 0x00035cb0
SUB ESP,0xc
MOV EAX,dword ptr [ESP + 0x30]
PUSH dword ptr [EAX]
CALL 0x0002eb50
ADD ESP,0x10
JMP 0x00035cb0
MOV EDX,dword ptr [EBX + 0x4b6c]
MOV EAX,dword ptr [EBX + 0x4b74]
CMP EDX,0xfffffeff
JBE 0x00035f48
CMP EDX,-0x1
JZ 0x00035eab
MOV dword ptr [EBX + 0x4b6c],0xffffffff
SUB ESP,0x8
PUSH -0x1
PUSH EAX
CALL 0x000ad760
ADD ESP,0x10
MOV dword ptr [EBX + 0x4b74],EAX
MOV EDX,EBP
ADD EAX,EBP
CMP ESI,-0x1
JNZ 0x00035ee0
CMP dword ptr [EDI],0x2
JZ 0x0003630e
TEST EBP,EBP
JNZ 0x00035ecb
MOV dword ptr [EBX + 0x4b64],0xffffffff
MOV byte ptr [EAX],0x0
MOV EBP,0x1
JMP 0x00035cff
MOV ECX,ESI
ADD EBP,0x1
MOV byte ptr [EAX],CL
CMP ESI,0xa
JZ 0x000361f0
MOV EAX,dword ptr [ESP + 0x10]
TEST EAX,EAX
SETZ AL
XOR EDX,EDX
CMP ESI,0x5c
SETZ DL
AND EDX,EAX
MOV dword ptr [ESP + 0x10],EDX
CALL dword ptr [EDI + 0xc]
MOV ESI,EAX
MOV EAX,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JZ 0x00035cc5
MOV EAX,dword ptr [ESP + 0x8]
SUB ESP,0xc
MOV EAX,dword ptr [EAX]
PUSH EAX
CALL 0x0008fbd0
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JZ 0x00035cd3
CALL 0x0008f8b0
JMP 0x00035cd3
LEA ECX,[EBP + 0x2]
CMP EDX,ECX
JA 0x00035eab
LEA ESI,[ESI]
NOP
ADD EDX,0x100
CMP ECX,EDX
JNC 0x00035f58
SUB ESP,0x8
MOV dword ptr [EBX + 0x4b6c],EDX
PUSH EDX
PUSH EAX
CALL 0x000ad760
ADD ESP,0x10
MOV dword ptr [EBX + 0x4b74],EAX
JMP 0x00035eab
MOV EAX,dword ptr [EBX + 0x48ac]
TEST EAX,EAX
JNZ 0x00036100
LEA ESI,[EBX + 0x8af0]
MOV dword ptr [ESI],0x0
SUB ESP,0x4
PUSH 0x1
PUSH 0x1
PUSH EDX
CALL 0x0009b4c0
MOV EDX,dword ptr [EBX + 0x4b74]
ADD ESP,0x10
MOV dword ptr [ESI],0x0
MOV dword ptr [ESP + 0x28],EAX
CMP EAX,EDX
JZ 0x00035d80
SUB ESP,0xc
PUSH EDX
CALL 0x0002e200
MOV EAX,dword ptr [ESP + 0x38]
ADD ESP,0x10
MOV dword ptr [EBX + 0x4b74],EAX
TEST EAX,EAX
JZ 0x000362d6
SUB ESP,0xc
PUSH EAX
CALL 0x0002e760
ADD ESP,0x10
MOV dword ptr [EBX + 0x4b68],EAX
TEST EAX,EAX
JZ 0x000362e0
MOV dword ptr [EBX + 0x4b6c],EAX
CALL 0x00033160
MOV EDX,dword ptr [EBX + 0x4b74]
TEST EDX,EDX
JZ 0x00035d88
JMP 0x000362a8
MOV ECX,dword ptr [EAX + 0x1c]
MOV dword ptr [ESP + 0x8],ECX
JMP 0x00035a8d
MOV ECX,dword ptr [ESP + 0xc]
MOV EBP,dword ptr [ECX]
TEST EBP,0x300000
JNZ 0x00035a8d
TEST EDI,EDI
JZ 0x00035a8d
MOVZX EDI,byte ptr [EDX + EDI*0x1 + -0x1]
MOV ECX,EDI
CMP CL,0xa
JZ 0x00035a8d
MOVZX EDI,CL
LEA ECX,[EBX + 0xb80]
TEST dword ptr [ECX + EDI*0x4],0x2001
JNZ 0x00035a8d
MOV EDI,dword ptr [EBX + 0x48ac]
TEST EDI,EDI
JZ 0x00036099
MOV ECX,dword ptr [EBX + 0x48a8]
MOVZX EDI,byte ptr [ECX + EDI*0x1 + -0x1]
MOV ECX,EDI
CMP CL,0x27
JZ 0x00035a8d
CMP CL,0x22
JZ 0x00035a8d
MOV EAX,EBP
MOV ESI,dword ptr [ESP + 0xc]
OR EAX,0x200000
MOV dword ptr [ESI],EAX
MOV EAX,0x20
JMP 0x00035ab4
MOV EAX,dword ptr [EBX + 0x48b4]
TEST EAX,EAX
JNZ 0x00035a5e
ADD dword ptr [EBX + 0x48c0],0x1
CMP dword ptr [EBX + 0x4b6c],0x7fff
JBE 0x00035c10
SUB ESP,0xc
PUSH EDX
CALL 0x0002e200
ADD ESP,0x10
LEA EDI,[EBX + 0x8c7c]
MOV dword ptr [EBX + 0x4b74],0x0
MOV dword ptr [EBX + 0x4b6c],0x0
JMP 0x00035c16
MOV ECX,dword ptr [EBX + 0x48a8]
MOVZX EAX,byte ptr [ECX + EAX*0x1 + -0x1]
CMP AL,0x27
JZ 0x000362fd
CMP AL,0x22
JNZ 0x00035f8e
LEA ESI,[EBX + 0x8af0]
MOV dword ptr [ESI],0x22
JMP 0x00035f9a
MOV ESI,dword ptr [EBX + 0xfffffe54]
SUB ESP,0x8
PUSH dword ptr [ESI]
PUSH dword ptr [EBX + 0x4b54]
CALL 0x0002ed00
POP EAX
PUSH dword ptr [ESI]
CALL 0x0002e180
MOV EAX,dword ptr [EDI]
ADD ESP,0x10
CMP EAX,0x2
JNZ 0x00035cb0
JMP 0x00035e51
LEA EAX,[EBX + 0x5e98]
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JNZ 0x00036218
CMP dword ptr [EBX + 0x4b64],-0x1
JZ 0x000361c3
MOV ECX,dword ptr [EBX + 0x4b6c]
MOV EAX,dword ptr [EBX + 0x4b68]
CMP ECX,-0x5
JA 0x0003619d
LEA ESI,[EAX + 0x3]
CMP ECX,ESI
JC 0x00036336
LEA ESI,[EDX + EAX*0x1]
CMP dword ptr [EDI],0x3
MOV dword ptr [ESP + 0x8],ESI
JZ 0x00036256
LEA ESI,[EDX + EAX*0x1]
MOV byte ptr [ESI],0xa
MOV byte ptr [EDX + EAX*0x1 + 0x1],0x0
CALL 0x00033160
MOV EDX,dword ptr [EBX + 0x4b74]
MOV EDI,dword ptr [EBX + 0x4b70]
MOVZX ECX,byte ptr [EDX + EDI*0x1]
JMP 0x00035a5e
TEST EAX,EAX
JZ 0x00036208
MOV EBP,dword ptr [EAX + 0xc]
TEST EBP,EBP
JZ 0x00036208
ADD dword ptr [EBX + 0x48c0],0x1
JMP 0x00035bc6
MOV byte ptr [EAX],0x0
LEA EAX,[EBX + 0x8c58]
XOR EBP,EBP
ADD dword ptr [EAX],0x1
JMP 0x00035cff
CALL 0x000354c0
MOV EAX,dword ptr [EBX + 0x48b4]
JMP 0x00035bbb
CMP dword ptr [EBX + 0x4b64],-0x1
JZ 0x000361c3
LEA EAX,[EBX + 0x8c5c]
MOV ECX,dword ptr [EAX]
TEST ECX,ECX
JNZ 0x00036181
LEA EAX,[EBX + 0xfffb3177]
PUSH EDX
PUSH EAX
MOV EAX,dword ptr [EBX + 0xfffffe54]
PUSH 0x1
PUSH dword ptr [EAX]
CALL 0x0002ec00
MOV EDX,dword ptr [EBX + 0x4b74]
ADD ESP,0x10
JMP 0x00036178
MOV ESI,dword ptr [EBX + 0x48b4]
TEST ESI,ESI
JZ 0x0003626b
MOV ESI,dword ptr [ESI + 0xc]
TEST ESI,ESI
JNZ 0x000361ad
MOV ECX,dword ptr [ESP + 0x10]
TEST ECX,ECX
JZ 0x000361ad
MOV ECX,EBP
TEST byte ptr [ESP + 0x14],CL
JZ 0x000361ad
LEA ESI,[EDX + EAX*0x1]
MOV byte ptr [ESI],0x5c
JMP 0x000361b3
SUB ESP,0xc
PUSH EDX
CALL 0x0009b330
MOV EDX,dword ptr [EBX + 0x4b74]
ADD ESP,0x10
TEST EDX,EDX
JZ 0x00035d88
LEA EAX,[EBX + 0x5e98]
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JZ 0x00036178
CMP byte ptr [EDX],0x0
JZ 0x00036218
LEA EAX,[EBX + 0x8c5c]
MOV EAX,dword ptr [EAX]
TEST EAX,EAX
JNZ 0x00036178
JMP 0x00036231
MOV dword ptr [EBX + 0x4b68],0x0
LEA EAX,[EBX + 0x8c58]
SUB dword ptr [EAX],0x1
XOR EAX,EAX
JMP 0x00035ffa
ADD ESP,0x3c
MOV EAX,0x5c
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA ESI,[EBX + 0x8af0]
MOV dword ptr [ESI],0x27
JMP 0x00035f9a
MOV ECX,dword ptr [EBX + 0xffffff40]
MOV dword ptr [ESP + 0x2c],EAX
SUB ESP,0xc
MOV dword ptr [ESP + 0x34],EDX
PUSH dword ptr [ECX]
CALL 0x0002eb50
ADD ESP,0x10
MOV EAX,dword ptr [ESP + 0x2c]
MOV EDX,dword ptr [ESP + 0x28]
JMP 0x00035ebd
SUB ESP,0x8
LEA EAX,[ECX + 0x2]
ADD ECX,0x3
PUSH ECX
PUSH EDX
MOV dword ptr [EBX + 0x4b6c],EAX
CALL 0x000ad760
ADD ESP,0x10
MOV EDX,EAX
MOV dword ptr [EBX + 0x4b74],EAX
MOV EAX,dword ptr [EBX + 0x4b68]
JMP 0x0003619d
MOV EDX,dword ptr [EDI + 0x8]
CMP byte ptr [EDX],0x0
JZ 0x00035ab2
MOV EDX,dword ptr [EBX + 0x48b4]
TEST EDX,EDX
JZ 0x00035ab2
CMP dword ptr [EDX + 0x1c],0x4
JNZ 0x00035ab2
TEST EAX,EAX
JNZ 0x00035ab2
MOV dword ptr [EBX + 0x4b70],0x0
JMP 0x00035c16
MOV EBX,dword ptr [EBX + 0x4b70]
MOV EDX,0xa
TEST EBX,EBX
CMOVNZ EAX,EDX
JMP 0x00035ab4
MOVZX EAX,CL
TEST CL,CL
JZ 0x00035a94
JMP 0x00035ab4
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Type propagation algorithm not settling */\n\nuint __regparm3 FUN_00035a20(byte param_1)\n\n{\n  byte *pbVar1;\n  char cVar2;\n  bool bVar3;\n  undefined *puVar4;\n  uint uVar5;\n  undefined4 *puVar6;\n  int iVar7;\n  char *pcVar8;\n  byte bVar9;\n  size_t sVar10;\n  int local_44;\n  \n  puVar6 = (undefined4 *)PTR_stdin_00171f40;\n  if (DAT_00176b74 == (char *)0x0) {\n    line_number = line_number + 1;\n    bVar3 = false;\n    goto joined_r0x00035c60;\n  }\n  bVar3 = false;\n  bVar9 = DAT_00176b74[DAT_00176b70];\n  uVar5 = DAT_00176b70;\n  if ((bVar9 == 0) && (pushed_string_list == (undefined4 *)0x0)) {\n    line_number = line_number + 1;\n    if (DAT_00176b6c < 0x8000) goto joined_r0x00035c60;\n    free(DAT_00176b74);\n    DAT_00176b74 = (char *)0x0;\n    DAT_00176b6c = 0;\n    puVar6 = (undefined4 *)PTR_stdin_00171f40;\n    goto joined_r0x00035c60;\n  }\nLAB_00035a68:\n  DAT_00176b70 = uVar5;\n  if (bVar9 != 0) goto LAB_00035b58;\n  if (pushed_string_list != (undefined4 *)0x0) {\n    local_44 = pushed_string_list[7];\n    if (((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000) == 0)) &&\n        (DAT_00176b70 != 0)) &&\n       (((DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)) &&\n        ((DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')))))))) {\n      parser_state = parser_state | 0x200000;\n      return 0x20;\n    }\n    while (local_44 != 4) {\n      parser_state = parser_state & 0xffdfffff;\n      puVar6 = pushed_string_list;\n      if (DAT_00176b74 != (char *)0x0) {\n        free(DAT_00176b74);\n        puVar6 = pushed_string_list;\n      }\n      DAT_00176b74 = (char *)puVar6[2];\n      DAT_00176b70 = puVar6[5];\n      DAT_00176b6c = puVar6[4];\n      DAT_00176b64 = puVar6[6];\n      uVar5 = parser_state & 0xfffffffd;\n      if (puVar6[1] != 0) {\n        uVar5 = parser_state | 2;\n      }\n      pushed_string_list = (undefined4 *)*puVar6;\n      parser_state = uVar5;\n      if (puVar6[3] != 0) {\n        pbVar1 = (byte *)(puVar6[3] + 8);\n        *pbVar1 = *pbVar1 & 0xfd;\n      }\n      free(puVar6);\n      FUN_00033160();\n      bVar9 = DAT_00176b74[DAT_00176b70];\n      if (bVar9 == 0) break;\nLAB_00035b58:\n      DAT_00176b70 = DAT_00176b70 + 1;\n      if ((bVar9 != 0x5c) || ((param_1 & 1) == 0)) {\n        if (bVar9 != 0) {\n          return (uint)bVar9;\n        }\n        break;\n      }\n      if ((DAT_00176b74[DAT_00176b70] != '\n') ||\n         ((1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0')))) {\n        return 0x5c;\n      }\n      if ((interactive == 0) || (1 < bash_input - 1U)) {\nLAB_00035bbb:\n        line_number = line_number + 1;\n        puVar6 = (undefined4 *)PTR_stdin_00171f40;\n        if (pushed_string_list == (undefined4 *)0x0) goto joined_r0x00035c60;\n      }\n      else {\n        if ((pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0)) {\n          FUN_000354c0();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\n      if (pushed_string_list[3] == 0) goto joined_r0x00035c60;\n      bVar9 = DAT_00176b74[DAT_00176b70 + 1];\n      uVar5 = DAT_00176b70 + 1;\n      if (bVar9 != 0) goto LAB_00035a68;\n      local_44 = pushed_string_list[7];\n    }\n  }\n  if (DAT_00176b64 == -1) {\n    uVar5 = 0xffffffff;\n    if (DAT_00176b70 != 0) {\n      uVar5 = 10;\n    }\n  }\n  else {\n    if ((((bash_input == 3) && (*DAT_0017ac84 != '\0')) && (pushed_string_list != (undefined4 *)0x0)\n        ) && ((pushed_string_list[7] == 4 && (DAT_00176b64 == 0)))) {\n      DAT_00176b70 = 0;\n      DAT_00176b64 = 0;\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\njoined_r0x00035c60:\n      if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }\n      if (interrupt_state != 0) {\n        throw_to_top_level();\n      }\n      DAT_00176b64 = 0;\n      if (interactive_shell == 0) {\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar4 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2)) {\n          fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar4);\n        }\njoined_r0x00035e4b:\n        if (bash_input == 2) {\n          clearerr((FILE *)*puVar6);\n        }\n      }\n      else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input - 1U < 2) goto LAB_00035e18;\n      }\n      sVar10 = 0;\n      do {\n        iVar7 = (*DAT_0017ac88)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar7 == 0) break;\n          if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }\n          pcVar8 = DAT_00176b74 + sVar10;\n          if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar8 = (char)iVar7;\n          if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar3 = iVar7 == 0x5c && !bVar3;\n          iVar7 = (*DAT_0017ac88)();\n          sVar10 = sVar10 + 1;\n        }\n      } while (bash_input != 3);\n      if (sVar10 == 0) {\n        DAT_00176b64 = -1;\n      }\n      DAT_00176b74[sVar10] = '\0';\n      bVar9 = 1;\nLAB_00035cff:\n      DAT_00176b70 = 0;\n      DAT_00176b68 = sVar10;\n      FUN_00033160();\n      if (remember_on_history == 0) goto joined_r0x00035d82;\n      if (DAT_00176b74 != (char *)0x0) {\n        if (*DAT_00176b74 == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }\n        }\n        else {\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }\njoined_r0x00035d82:\n        if (DAT_00176b74 != (char *)0x0) goto LAB_000362a8;\n      }\n      DAT_00176b6c = 0;\n      prompt_string_pointer = &current_prompt_string;\n      if (((interactive != 0) && (bash_input - 1U < 2)) &&\n         ((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)))) {\n        FUN_000354c0();\n      }\n      goto joined_r0x00035c60;\n    }\n    uVar5 = 0;\n  }\n  return uVar5;\nLAB_000362a8:\n  if (echo_input_at_read == 0) {\nLAB_00036178:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;\n  }\n  else {\n    if (*DAT_00176b74 != '\0') {\n      if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);\n      }\n      goto LAB_00036178;\n    }\nLAB_00036218:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;\n    if (shell_eof_token == 0) goto LAB_00036231;\n  }\n  if ((DAT_00176b6c < 0xfffffffc) && (DAT_00176b6c < DAT_00176b68 + 3)) {\n    iVar7 = DAT_00176b6c + 3;\n    DAT_00176b6c = DAT_00176b6c + 2;\n    DAT_00176b74 = (char *)xrealloc(DAT_00176b74,iVar7);\n  }\n  pcVar8 = DAT_00176b74;\n  sVar10 = DAT_00176b68;\n  if (((bash_input == 3) &&\n      (((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)) && (bVar3)))) &&\n     ((param_1 & bVar9) != 0)) {\n    DAT_00176b74[DAT_00176b68] = '\\';\n  }\n  else {\n    DAT_00176b74[DAT_00176b68] = '\n';\n  }\n  pcVar8[sVar10 + 1] = '\0';\n  FUN_00033160();\nLAB_000361c3:\n  bVar9 = DAT_00176b74[DAT_00176b70];\n  uVar5 = DAT_00176b70;\n  goto LAB_00035a68;\n}\n\n" comment comment (function_definition "uint __regparm3 FUN_00035a20(byte param_1)\n\n{\n  byte *pbVar1;\n  char cVar2;\n  bool bVar3;\n  undefined *puVar4;\n  uint uVar5;\n  undefined4 *puVar6;\n  int iVar7;\n  char *pcVar8;\n  byte bVar9;\n  size_t sVar10;\n  int local_44;\n  \n  puVar6 = (undefined4 *)PTR_stdin_00171f40;\n  if (DAT_00176b74 == (char *)0x0) {\n    line_number = line_number + 1;\n    bVar3 = false;\n    goto joined_r0x00035c60;\n  }\n  bVar3 = false;\n  bVar9 = DAT_00176b74[DAT_00176b70];\n  uVar5 = DAT_00176b70;\n  if ((bVar9 == 0) && (pushed_string_list == (undefined4 *)0x0)) {\n    line_number = line_number + 1;\n    if (DAT_00176b6c < 0x8000) goto joined_r0x00035c60;\n    free(DAT_00176b74);\n    DAT_00176b74 = (char *)0x0;\n    DAT_00176b6c = 0;\n    puVar6 = (undefined4 *)PTR_stdin_00171f40;\n    goto joined_r0x00035c60;\n  }\nLAB_00035a68:\n  DAT_00176b70 = uVar5;\n  if (bVar9 != 0) goto LAB_00035b58;\n  if (pushed_string_list != (undefined4 *)0x0) {\n    local_44 = pushed_string_list[7];\n    if (((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000) == 0)) &&\n        (DAT_00176b70 != 0)) &&\n       (((DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)) &&\n        ((DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')))))))) {\n      parser_state = parser_state | 0x200000;\n      return 0x20;\n    }\n    while (local_44 != 4) {\n      parser_state = parser_state & 0xffdfffff;\n      puVar6 = pushed_string_list;\n      if (DAT_00176b74 != (char *)0x0) {\n        free(DAT_00176b74);\n        puVar6 = pushed_string_list;\n      }\n      DAT_00176b74 = (char *)puVar6[2];\n      DAT_00176b70 = puVar6[5];\n      DAT_00176b6c = puVar6[4];\n      DAT_00176b64 = puVar6[6];\n      uVar5 = parser_state & 0xfffffffd;\n      if (puVar6[1] != 0) {\n        uVar5 = parser_state | 2;\n      }\n      pushed_string_list = (undefined4 *)*puVar6;\n      parser_state = uVar5;\n      if (puVar6[3] != 0) {\n        pbVar1 = (byte *)(puVar6[3] + 8);\n        *pbVar1 = *pbVar1 & 0xfd;\n      }\n      free(puVar6);\n      FUN_00033160();\n      bVar9 = DAT_00176b74[DAT_00176b70];\n      if (bVar9 == 0) break;\nLAB_00035b58:\n      DAT_00176b70 = DAT_00176b70 + 1;\n      if ((bVar9 != 0x5c) || ((param_1 & 1) == 0)) {\n        if (bVar9 != 0) {\n          return (uint)bVar9;\n        }\n        break;\n      }\n      if ((DAT_00176b74[DAT_00176b70] != '\n') ||\n         ((1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0')))) {\n        return 0x5c;\n      }\n      if ((interactive == 0) || (1 < bash_input - 1U)) {\nLAB_00035bbb:\n        line_number = line_number + 1;\n        puVar6 = (undefined4 *)PTR_stdin_00171f40;\n        if (pushed_string_list == (undefined4 *)0x0) goto joined_r0x00035c60;\n      }\n      else {\n        if ((pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0)) {\n          FUN_000354c0();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\n      if (pushed_string_list[3] == 0) goto joined_r0x00035c60;\n      bVar9 = DAT_00176b74[DAT_00176b70 + 1];\n      uVar5 = DAT_00176b70 + 1;\n      if (bVar9 != 0) goto LAB_00035a68;\n      local_44 = pushed_string_list[7];\n    }\n  }\n  if (DAT_00176b64 == -1) {\n    uVar5 = 0xffffffff;\n    if (DAT_00176b70 != 0) {\n      uVar5 = 10;\n    }\n  }\n  else {\n    if ((((bash_input == 3) && (*DAT_0017ac84 != '\0')) && (pushed_string_list != (undefined4 *)0x0)\n        ) && ((pushed_string_list[7] == 4 && (DAT_00176b64 == 0)))) {\n      DAT_00176b70 = 0;\n      DAT_00176b64 = 0;\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\njoined_r0x00035c60:\n      if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }\n      if (interrupt_state != 0) {\n        throw_to_top_level();\n      }\n      DAT_00176b64 = 0;\n      if (interactive_shell == 0) {\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar4 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2)) {\n          fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar4);\n        }\njoined_r0x00035e4b:\n        if (bash_input == 2) {\n          clearerr((FILE *)*puVar6);\n        }\n      }\n      else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input - 1U < 2) goto LAB_00035e18;\n      }\n      sVar10 = 0;\n      do {\n        iVar7 = (*DAT_0017ac88)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar7 == 0) break;\n          if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }\n          pcVar8 = DAT_00176b74 + sVar10;\n          if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar8 = (char)iVar7;\n          if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar3 = iVar7 == 0x5c && !bVar3;\n          iVar7 = (*DAT_0017ac88)();\n          sVar10 = sVar10 + 1;\n        }\n      } while (bash_input != 3);\n      if (sVar10 == 0) {\n        DAT_00176b64 = -1;\n      }\n      DAT_00176b74[sVar10] = '\0';\n      bVar9 = 1;\nLAB_00035cff:\n      DAT_00176b70 = 0;\n      DAT_00176b68 = sVar10;\n      FUN_00033160();\n      if (remember_on_history == 0) goto joined_r0x00035d82;\n      if (DAT_00176b74 != (char *)0x0) {\n        if (*DAT_00176b74 == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }\n        }\n        else {\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }\njoined_r0x00035d82:\n        if (DAT_00176b74 != (char *)0x0) goto LAB_000362a8;\n      }\n      DAT_00176b6c = 0;\n      prompt_string_pointer = &current_prompt_string;\n      if (((interactive != 0) && (bash_input - 1U < 2)) &&\n         ((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)))) {\n        FUN_000354c0();\n      }\n      goto joined_r0x00035c60;\n    }\n    uVar5 = 0;\n  }\n  return uVar5;\nLAB_000362a8:\n  if (echo_input_at_read == 0) {\nLAB_00036178:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;\n  }\n  else {\n    if (*DAT_00176b74 != '\0') {\n      if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);\n      }\n      goto LAB_00036178;\n    }\nLAB_00036218:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;\n    if (shell_eof_token == 0) goto LAB_00036231;\n  }\n  if ((DAT_00176b6c < 0xfffffffc) && (DAT_00176b6c < DAT_00176b68 + 3)) {\n    iVar7 = DAT_00176b6c + 3;\n    DAT_00176b6c = DAT_00176b6c + 2;\n    DAT_00176b74 = (char *)xrealloc(DAT_00176b74,iVar7);\n  }\n  pcVar8 = DAT_00176b74;\n  sVar10 = DAT_00176b68;\n  if (((bash_input == 3) &&\n      (((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)) && (bVar3)))) &&\n     ((param_1 & bVar9) != 0)) {\n    DAT_00176b74[DAT_00176b68] = '\\';\n  }\n  else {\n    DAT_00176b74[DAT_00176b68] = '\n';\n  }\n  pcVar8[sVar10 + 1] = '\0';\n  FUN_00033160();\nLAB_000361c3:\n  bVar9 = DAT_00176b74[DAT_00176b70];\n  uVar5 = DAT_00176b70;\n  goto LAB_00035a68;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_00035a20(byte param_1)" identifier (parameter_list "(byte param_1)" ( (parameter_declaration "byte param_1" type_identifier identifier) ))) (compound_statement "{\n  byte *pbVar1;\n  char cVar2;\n  bool bVar3;\n  undefined *puVar4;\n  uint uVar5;\n  undefined4 *puVar6;\n  int iVar7;\n  char *pcVar8;\n  byte bVar9;\n  size_t sVar10;\n  int local_44;\n  \n  puVar6 = (undefined4 *)PTR_stdin_00171f40;\n  if (DAT_00176b74 == (char *)0x0) {\n    line_number = line_number + 1;\n    bVar3 = false;\n    goto joined_r0x00035c60;\n  }\n  bVar3 = false;\n  bVar9 = DAT_00176b74[DAT_00176b70];\n  uVar5 = DAT_00176b70;\n  if ((bVar9 == 0) && (pushed_string_list == (undefined4 *)0x0)) {\n    line_number = line_number + 1;\n    if (DAT_00176b6c < 0x8000) goto joined_r0x00035c60;\n    free(DAT_00176b74);\n    DAT_00176b74 = (char *)0x0;\n    DAT_00176b6c = 0;\n    puVar6 = (undefined4 *)PTR_stdin_00171f40;\n    goto joined_r0x00035c60;\n  }\nLAB_00035a68:\n  DAT_00176b70 = uVar5;\n  if (bVar9 != 0) goto LAB_00035b58;\n  if (pushed_string_list != (undefined4 *)0x0) {\n    local_44 = pushed_string_list[7];\n    if (((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000) == 0)) &&\n        (DAT_00176b70 != 0)) &&\n       (((DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)) &&\n        ((DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')))))))) {\n      parser_state = parser_state | 0x200000;\n      return 0x20;\n    }\n    while (local_44 != 4) {\n      parser_state = parser_state & 0xffdfffff;\n      puVar6 = pushed_string_list;\n      if (DAT_00176b74 != (char *)0x0) {\n        free(DAT_00176b74);\n        puVar6 = pushed_string_list;\n      }\n      DAT_00176b74 = (char *)puVar6[2];\n      DAT_00176b70 = puVar6[5];\n      DAT_00176b6c = puVar6[4];\n      DAT_00176b64 = puVar6[6];\n      uVar5 = parser_state & 0xfffffffd;\n      if (puVar6[1] != 0) {\n        uVar5 = parser_state | 2;\n      }\n      pushed_string_list = (undefined4 *)*puVar6;\n      parser_state = uVar5;\n      if (puVar6[3] != 0) {\n        pbVar1 = (byte *)(puVar6[3] + 8);\n        *pbVar1 = *pbVar1 & 0xfd;\n      }\n      free(puVar6);\n      FUN_00033160();\n      bVar9 = DAT_00176b74[DAT_00176b70];\n      if (bVar9 == 0) break;\nLAB_00035b58:\n      DAT_00176b70 = DAT_00176b70 + 1;\n      if ((bVar9 != 0x5c) || ((param_1 & 1) == 0)) {\n        if (bVar9 != 0) {\n          return (uint)bVar9;\n        }\n        break;\n      }\n      if ((DAT_00176b74[DAT_00176b70] != '\n') ||\n         ((1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0')))) {\n        return 0x5c;\n      }\n      if ((interactive == 0) || (1 < bash_input - 1U)) {\nLAB_00035bbb:\n        line_number = line_number + 1;\n        puVar6 = (undefined4 *)PTR_stdin_00171f40;\n        if (pushed_string_list == (undefined4 *)0x0) goto joined_r0x00035c60;\n      }\n      else {\n        if ((pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0)) {\n          FUN_000354c0();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\n      if (pushed_string_list[3] == 0) goto joined_r0x00035c60;\n      bVar9 = DAT_00176b74[DAT_00176b70 + 1];\n      uVar5 = DAT_00176b70 + 1;\n      if (bVar9 != 0) goto LAB_00035a68;\n      local_44 = pushed_string_list[7];\n    }\n  }\n  if (DAT_00176b64 == -1) {\n    uVar5 = 0xffffffff;\n    if (DAT_00176b70 != 0) {\n      uVar5 = 10;\n    }\n  }\n  else {\n    if ((((bash_input == 3) && (*DAT_0017ac84 != '\0')) && (pushed_string_list != (undefined4 *)0x0)\n        ) && ((pushed_string_list[7] == 4 && (DAT_00176b64 == 0)))) {\n      DAT_00176b70 = 0;\n      DAT_00176b64 = 0;\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\njoined_r0x00035c60:\n      if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }\n      if (interrupt_state != 0) {\n        throw_to_top_level();\n      }\n      DAT_00176b64 = 0;\n      if (interactive_shell == 0) {\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar4 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2)) {\n          fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar4);\n        }\njoined_r0x00035e4b:\n        if (bash_input == 2) {\n          clearerr((FILE *)*puVar6);\n        }\n      }\n      else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input - 1U < 2) goto LAB_00035e18;\n      }\n      sVar10 = 0;\n      do {\n        iVar7 = (*DAT_0017ac88)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar7 == 0) break;\n          if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }\n          pcVar8 = DAT_00176b74 + sVar10;\n          if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar8 = (char)iVar7;\n          if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar3 = iVar7 == 0x5c && !bVar3;\n          iVar7 = (*DAT_0017ac88)();\n          sVar10 = sVar10 + 1;\n        }\n      } while (bash_input != 3);\n      if (sVar10 == 0) {\n        DAT_00176b64 = -1;\n      }\n      DAT_00176b74[sVar10] = '\0';\n      bVar9 = 1;\nLAB_00035cff:\n      DAT_00176b70 = 0;\n      DAT_00176b68 = sVar10;\n      FUN_00033160();\n      if (remember_on_history == 0) goto joined_r0x00035d82;\n      if (DAT_00176b74 != (char *)0x0) {\n        if (*DAT_00176b74 == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }\n        }\n        else {\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }\njoined_r0x00035d82:\n        if (DAT_00176b74 != (char *)0x0) goto LAB_000362a8;\n      }\n      DAT_00176b6c = 0;\n      prompt_string_pointer = &current_prompt_string;\n      if (((interactive != 0) && (bash_input - 1U < 2)) &&\n         ((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)))) {\n        FUN_000354c0();\n      }\n      goto joined_r0x00035c60;\n    }\n    uVar5 = 0;\n  }\n  return uVar5;\nLAB_000362a8:\n  if (echo_input_at_read == 0) {\nLAB_00036178:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;\n  }\n  else {\n    if (*DAT_00176b74 != '\0') {\n      if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);\n      }\n      goto LAB_00036178;\n    }\nLAB_00036218:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;\n    if (shell_eof_token == 0) goto LAB_00036231;\n  }\n  if ((DAT_00176b6c < 0xfffffffc) && (DAT_00176b6c < DAT_00176b68 + 3)) {\n    iVar7 = DAT_00176b6c + 3;\n    DAT_00176b6c = DAT_00176b6c + 2;\n    DAT_00176b74 = (char *)xrealloc(DAT_00176b74,iVar7);\n  }\n  pcVar8 = DAT_00176b74;\n  sVar10 = DAT_00176b68;\n  if (((bash_input == 3) &&\n      (((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)) && (bVar3)))) &&\n     ((param_1 & bVar9) != 0)) {\n    DAT_00176b74[DAT_00176b68] = '\\';\n  }\n  else {\n    DAT_00176b74[DAT_00176b68] = '\n';\n  }\n  pcVar8[sVar10 + 1] = '\0';\n  FUN_00033160();\nLAB_000361c3:\n  bVar9 = DAT_00176b74[DAT_00176b70];\n  uVar5 = DAT_00176b70;\n  goto LAB_00035a68;\n}" { (declaration "byte *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "byte bVar9;" type_identifier identifier ;) (declaration "size_t sVar10;" primitive_type identifier ;) (declaration "int local_44;" primitive_type identifier ;) (expression_statement "puVar6 = (undefined4 *)PTR_stdin_00171f40;" (assignment_expression "puVar6 = (undefined4 *)PTR_stdin_00171f40" identifier = (cast_expression "(undefined4 *)PTR_stdin_00171f40" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (DAT_00176b74 == (char *)0x0) {\n    line_number = line_number + 1;\n    bVar3 = false;\n    goto joined_r0x00035c60;\n  }" if (parenthesized_expression "(DAT_00176b74 == (char *)0x0)" ( (binary_expression "DAT_00176b74 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    line_number = line_number + 1;\n    bVar3 = false;\n    goto joined_r0x00035c60;\n  }" { (expression_statement "line_number = line_number + 1;" (assignment_expression "line_number = line_number + 1" identifier = (binary_expression "line_number + 1" identifier + number_literal)) ;) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (goto_statement "goto joined_r0x00035c60;" goto statement_identifier ;) })) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (expression_statement "bVar9 = DAT_00176b74[DAT_00176b70];" (assignment_expression "bVar9 = DAT_00176b74[DAT_00176b70]" identifier = (subscript_expression "DAT_00176b74[DAT_00176b70]" identifier [ identifier ])) ;) (expression_statement "uVar5 = DAT_00176b70;" (assignment_expression "uVar5 = DAT_00176b70" identifier = identifier) ;) (if_statement "if ((bVar9 == 0) && (pushed_string_list == (undefined4 *)0x0)) {\n    line_number = line_number + 1;\n    if (DAT_00176b6c < 0x8000) goto joined_r0x00035c60;\n    free(DAT_00176b74);\n    DAT_00176b74 = (char *)0x0;\n    DAT_00176b6c = 0;\n    puVar6 = (undefined4 *)PTR_stdin_00171f40;\n    goto joined_r0x00035c60;\n  }" if (parenthesized_expression "((bVar9 == 0) && (pushed_string_list == (undefined4 *)0x0))" ( (binary_expression "(bVar9 == 0) && (pushed_string_list == (undefined4 *)0x0)" (parenthesized_expression "(bVar9 == 0)" ( (binary_expression "bVar9 == 0" identifier == number_literal) )) && (parenthesized_expression "(pushed_string_list == (undefined4 *)0x0)" ( (binary_expression "pushed_string_list == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n    line_number = line_number + 1;\n    if (DAT_00176b6c < 0x8000) goto joined_r0x00035c60;\n    free(DAT_00176b74);\n    DAT_00176b74 = (char *)0x0;\n    DAT_00176b6c = 0;\n    puVar6 = (undefined4 *)PTR_stdin_00171f40;\n    goto joined_r0x00035c60;\n  }" { (expression_statement "line_number = line_number + 1;" (assignment_expression "line_number = line_number + 1" identifier = (binary_expression "line_number + 1" identifier + number_literal)) ;) (if_statement "if (DAT_00176b6c < 0x8000) goto joined_r0x00035c60;" if (parenthesized_expression "(DAT_00176b6c < 0x8000)" ( (binary_expression "DAT_00176b6c < 0x8000" identifier < number_literal) )) (goto_statement "goto joined_r0x00035c60;" goto statement_identifier ;)) (expression_statement "free(DAT_00176b74);" (call_expression "free(DAT_00176b74)" identifier (argument_list "(DAT_00176b74)" ( identifier ))) ;) (expression_statement "DAT_00176b74 = (char *)0x0;" (assignment_expression "DAT_00176b74 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "DAT_00176b6c = 0;" (assignment_expression "DAT_00176b6c = 0" identifier = number_literal) ;) (expression_statement "puVar6 = (undefined4 *)PTR_stdin_00171f40;" (assignment_expression "puVar6 = (undefined4 *)PTR_stdin_00171f40" identifier = (cast_expression "(undefined4 *)PTR_stdin_00171f40" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto joined_r0x00035c60;" goto statement_identifier ;) })) (labeled_statement "LAB_00035a68:\n  DAT_00176b70 = uVar5;" statement_identifier : (expression_statement "DAT_00176b70 = uVar5;" (assignment_expression "DAT_00176b70 = uVar5" identifier = identifier) ;)) (if_statement "if (bVar9 != 0) goto LAB_00035b58;" if (parenthesized_expression "(bVar9 != 0)" ( (binary_expression "bVar9 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00035b58;" goto statement_identifier ;)) (if_statement "if (pushed_string_list != (undefined4 *)0x0) {\n    local_44 = pushed_string_list[7];\n    if (((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000) == 0)) &&\n        (DAT_00176b70 != 0)) &&\n       (((DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)) &&\n        ((DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')))))))) {\n      parser_state = parser_state | 0x200000;\n      return 0x20;\n    }\n    while (local_44 != 4) {\n      parser_state = parser_state & 0xffdfffff;\n      puVar6 = pushed_string_list;\n      if (DAT_00176b74 != (char *)0x0) {\n        free(DAT_00176b74);\n        puVar6 = pushed_string_list;\n      }\n      DAT_00176b74 = (char *)puVar6[2];\n      DAT_00176b70 = puVar6[5];\n      DAT_00176b6c = puVar6[4];\n      DAT_00176b64 = puVar6[6];\n      uVar5 = parser_state & 0xfffffffd;\n      if (puVar6[1] != 0) {\n        uVar5 = parser_state | 2;\n      }\n      pushed_string_list = (undefined4 *)*puVar6;\n      parser_state = uVar5;\n      if (puVar6[3] != 0) {\n        pbVar1 = (byte *)(puVar6[3] + 8);\n        *pbVar1 = *pbVar1 & 0xfd;\n      }\n      free(puVar6);\n      FUN_00033160();\n      bVar9 = DAT_00176b74[DAT_00176b70];\n      if (bVar9 == 0) break;\nLAB_00035b58:\n      DAT_00176b70 = DAT_00176b70 + 1;\n      if ((bVar9 != 0x5c) || ((param_1 & 1) == 0)) {\n        if (bVar9 != 0) {\n          return (uint)bVar9;\n        }\n        break;\n      }\n      if ((DAT_00176b74[DAT_00176b70] != '\n') ||\n         ((1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0')))) {\n        return 0x5c;\n      }\n      if ((interactive == 0) || (1 < bash_input - 1U)) {\nLAB_00035bbb:\n        line_number = line_number + 1;\n        puVar6 = (undefined4 *)PTR_stdin_00171f40;\n        if (pushed_string_list == (undefined4 *)0x0) goto joined_r0x00035c60;\n      }\n      else {\n        if ((pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0)) {\n          FUN_000354c0();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\n      if (pushed_string_list[3] == 0) goto joined_r0x00035c60;\n      bVar9 = DAT_00176b74[DAT_00176b70 + 1];\n      uVar5 = DAT_00176b70 + 1;\n      if (bVar9 != 0) goto LAB_00035a68;\n      local_44 = pushed_string_list[7];\n    }\n  }" if (parenthesized_expression "(pushed_string_list != (undefined4 *)0x0)" ( (binary_expression "pushed_string_list != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_44 = pushed_string_list[7];\n    if (((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000) == 0)) &&\n        (DAT_00176b70 != 0)) &&\n       (((DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)) &&\n        ((DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')))))))) {\n      parser_state = parser_state | 0x200000;\n      return 0x20;\n    }\n    while (local_44 != 4) {\n      parser_state = parser_state & 0xffdfffff;\n      puVar6 = pushed_string_list;\n      if (DAT_00176b74 != (char *)0x0) {\n        free(DAT_00176b74);\n        puVar6 = pushed_string_list;\n      }\n      DAT_00176b74 = (char *)puVar6[2];\n      DAT_00176b70 = puVar6[5];\n      DAT_00176b6c = puVar6[4];\n      DAT_00176b64 = puVar6[6];\n      uVar5 = parser_state & 0xfffffffd;\n      if (puVar6[1] != 0) {\n        uVar5 = parser_state | 2;\n      }\n      pushed_string_list = (undefined4 *)*puVar6;\n      parser_state = uVar5;\n      if (puVar6[3] != 0) {\n        pbVar1 = (byte *)(puVar6[3] + 8);\n        *pbVar1 = *pbVar1 & 0xfd;\n      }\n      free(puVar6);\n      FUN_00033160();\n      bVar9 = DAT_00176b74[DAT_00176b70];\n      if (bVar9 == 0) break;\nLAB_00035b58:\n      DAT_00176b70 = DAT_00176b70 + 1;\n      if ((bVar9 != 0x5c) || ((param_1 & 1) == 0)) {\n        if (bVar9 != 0) {\n          return (uint)bVar9;\n        }\n        break;\n      }\n      if ((DAT_00176b74[DAT_00176b70] != '\n') ||\n         ((1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0')))) {\n        return 0x5c;\n      }\n      if ((interactive == 0) || (1 < bash_input - 1U)) {\nLAB_00035bbb:\n        line_number = line_number + 1;\n        puVar6 = (undefined4 *)PTR_stdin_00171f40;\n        if (pushed_string_list == (undefined4 *)0x0) goto joined_r0x00035c60;\n      }\n      else {\n        if ((pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0)) {\n          FUN_000354c0();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\n      if (pushed_string_list[3] == 0) goto joined_r0x00035c60;\n      bVar9 = DAT_00176b74[DAT_00176b70 + 1];\n      uVar5 = DAT_00176b70 + 1;\n      if (bVar9 != 0) goto LAB_00035a68;\n      local_44 = pushed_string_list[7];\n    }\n  }" { (expression_statement "local_44 = pushed_string_list[7];" (assignment_expression "local_44 = pushed_string_list[7]" identifier = (subscript_expression "pushed_string_list[7]" identifier [ number_literal ])) ;) (if_statement "if (((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000) == 0)) &&\n        (DAT_00176b70 != 0)) &&\n       (((DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)) &&\n        ((DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')))))))) {\n      parser_state = parser_state | 0x200000;\n      return 0x20;\n    }" if (parenthesized_expression "(((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000) == 0)) &&\n        (DAT_00176b70 != 0)) &&\n       (((DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)) &&\n        ((DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"'))))))))" ( (binary_expression "((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000) == 0)) &&\n        (DAT_00176b70 != 0)) &&\n       (((DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)) &&\n        ((DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')))))))" (parenthesized_expression "((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000) == 0)) &&\n        (DAT_00176b70 != 0))" ( (binary_expression "(((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000) == 0)) &&\n        (DAT_00176b70 != 0)" (parenthesized_expression "(((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000) == 0))" ( (binary_expression "((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000) == 0)" (parenthesized_expression "((local_44 - 2U & 0xfffffffd) != 0)" ( (binary_expression "(local_44 - 2U & 0xfffffffd) != 0" (parenthesized_expression "(local_44 - 2U & 0xfffffffd)" ( (binary_expression "local_44 - 2U & 0xfffffffd" (binary_expression "local_44 - 2U" identifier - number_literal) & number_literal) )) != number_literal) )) && (parenthesized_expression "((parser_state & 0x300000) == 0)" ( (binary_expression "(parser_state & 0x300000) == 0" (parenthesized_expression "(parser_state & 0x300000)" ( (binary_expression "parser_state & 0x300000" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "(DAT_00176b70 != 0)" ( (binary_expression "DAT_00176b70 != 0" identifier != number_literal) ))) )) && (parenthesized_expression "(((DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)) &&\n        ((DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')))))))" ( (parenthesized_expression "((DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)) &&\n        ((DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"'))))))" ( (binary_expression "(DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)) &&\n        ((DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')))))" (parenthesized_expression "(DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0))" ( (binary_expression "DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)" (binary_expression "DAT_00176b74[DAT_00176b70 - 1] != 10" (subscript_expression "DAT_00176b74[DAT_00176b70 - 1]" identifier [ (binary_expression "DAT_00176b70 - 1" identifier - number_literal) ]) != number_literal) && (parenthesized_expression "(((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)" ( (binary_expression "((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0" (parenthesized_expression "((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001)" ( (binary_expression "(&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001" (subscript_expression "(&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]]" (parenthesized_expression "(&sh_syntaxtab)" ( (pointer_expression "&sh_syntaxtab" & identifier) )) [ (cast_expression "(byte)DAT_00176b74[DAT_00176b70 - 1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "DAT_00176b74[DAT_00176b70 - 1]" identifier [ (binary_expression "DAT_00176b70 - 1" identifier - number_literal) ])) ]) & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')))))" ( (parenthesized_expression "(DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"'))))" ( (binary_expression "DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')))" (binary_expression "DAT_001768ac == 0" identifier == number_literal) || (parenthesized_expression "((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')))" ( (parenthesized_expression "(cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"'))" ( (comma_expression "cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')" (assignment_expression "cVar2 = *(char *)(dstack + -1 + DAT_001768ac)" identifier = (pointer_expression "*(char *)(dstack + -1 + DAT_001768ac)" * (cast_expression "(char *)(dstack + -1 + DAT_001768ac)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(dstack + -1 + DAT_001768ac)" ( (binary_expression "dstack + -1 + DAT_001768ac" (binary_expression "dstack + -1" identifier + number_literal) + identifier) ))))) , (binary_expression "cVar2 != '\'' && (cVar2 != '\"')" (binary_expression "cVar2 != '\''" identifier != (char_literal "'\''" ' escape_sequence ')) && (parenthesized_expression "(cVar2 != '\"')" ( (binary_expression "cVar2 != '\"'" identifier != (char_literal "'\"'" ' escape_sequence ')) )))) )) ))) )) ))) )) ))) )) (compound_statement "{\n      parser_state = parser_state | 0x200000;\n      return 0x20;\n    }" { (expression_statement "parser_state = parser_state | 0x200000;" (assignment_expression "parser_state = parser_state | 0x200000" identifier = (binary_expression "parser_state | 0x200000" identifier | number_literal)) ;) (return_statement "return 0x20;" return number_literal ;) })) (while_statement "while (local_44 != 4) {\n      parser_state = parser_state & 0xffdfffff;\n      puVar6 = pushed_string_list;\n      if (DAT_00176b74 != (char *)0x0) {\n        free(DAT_00176b74);\n        puVar6 = pushed_string_list;\n      }\n      DAT_00176b74 = (char *)puVar6[2];\n      DAT_00176b70 = puVar6[5];\n      DAT_00176b6c = puVar6[4];\n      DAT_00176b64 = puVar6[6];\n      uVar5 = parser_state & 0xfffffffd;\n      if (puVar6[1] != 0) {\n        uVar5 = parser_state | 2;\n      }\n      pushed_string_list = (undefined4 *)*puVar6;\n      parser_state = uVar5;\n      if (puVar6[3] != 0) {\n        pbVar1 = (byte *)(puVar6[3] + 8);\n        *pbVar1 = *pbVar1 & 0xfd;\n      }\n      free(puVar6);\n      FUN_00033160();\n      bVar9 = DAT_00176b74[DAT_00176b70];\n      if (bVar9 == 0) break;\nLAB_00035b58:\n      DAT_00176b70 = DAT_00176b70 + 1;\n      if ((bVar9 != 0x5c) || ((param_1 & 1) == 0)) {\n        if (bVar9 != 0) {\n          return (uint)bVar9;\n        }\n        break;\n      }\n      if ((DAT_00176b74[DAT_00176b70] != '\n') ||\n         ((1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0')))) {\n        return 0x5c;\n      }\n      if ((interactive == 0) || (1 < bash_input - 1U)) {\nLAB_00035bbb:\n        line_number = line_number + 1;\n        puVar6 = (undefined4 *)PTR_stdin_00171f40;\n        if (pushed_string_list == (undefined4 *)0x0) goto joined_r0x00035c60;\n      }\n      else {\n        if ((pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0)) {\n          FUN_000354c0();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\n      if (pushed_string_list[3] == 0) goto joined_r0x00035c60;\n      bVar9 = DAT_00176b74[DAT_00176b70 + 1];\n      uVar5 = DAT_00176b70 + 1;\n      if (bVar9 != 0) goto LAB_00035a68;\n      local_44 = pushed_string_list[7];\n    }" while (parenthesized_expression "(local_44 != 4)" ( (binary_expression "local_44 != 4" identifier != number_literal) )) (compound_statement "{\n      parser_state = parser_state & 0xffdfffff;\n      puVar6 = pushed_string_list;\n      if (DAT_00176b74 != (char *)0x0) {\n        free(DAT_00176b74);\n        puVar6 = pushed_string_list;\n      }\n      DAT_00176b74 = (char *)puVar6[2];\n      DAT_00176b70 = puVar6[5];\n      DAT_00176b6c = puVar6[4];\n      DAT_00176b64 = puVar6[6];\n      uVar5 = parser_state & 0xfffffffd;\n      if (puVar6[1] != 0) {\n        uVar5 = parser_state | 2;\n      }\n      pushed_string_list = (undefined4 *)*puVar6;\n      parser_state = uVar5;\n      if (puVar6[3] != 0) {\n        pbVar1 = (byte *)(puVar6[3] + 8);\n        *pbVar1 = *pbVar1 & 0xfd;\n      }\n      free(puVar6);\n      FUN_00033160();\n      bVar9 = DAT_00176b74[DAT_00176b70];\n      if (bVar9 == 0) break;\nLAB_00035b58:\n      DAT_00176b70 = DAT_00176b70 + 1;\n      if ((bVar9 != 0x5c) || ((param_1 & 1) == 0)) {\n        if (bVar9 != 0) {\n          return (uint)bVar9;\n        }\n        break;\n      }\n      if ((DAT_00176b74[DAT_00176b70] != '\n') ||\n         ((1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0')))) {\n        return 0x5c;\n      }\n      if ((interactive == 0) || (1 < bash_input - 1U)) {\nLAB_00035bbb:\n        line_number = line_number + 1;\n        puVar6 = (undefined4 *)PTR_stdin_00171f40;\n        if (pushed_string_list == (undefined4 *)0x0) goto joined_r0x00035c60;\n      }\n      else {\n        if ((pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0)) {\n          FUN_000354c0();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\n      if (pushed_string_list[3] == 0) goto joined_r0x00035c60;\n      bVar9 = DAT_00176b74[DAT_00176b70 + 1];\n      uVar5 = DAT_00176b70 + 1;\n      if (bVar9 != 0) goto LAB_00035a68;\n      local_44 = pushed_string_list[7];\n    }" { (expression_statement "parser_state = parser_state & 0xffdfffff;" (assignment_expression "parser_state = parser_state & 0xffdfffff" identifier = (binary_expression "parser_state & 0xffdfffff" identifier & number_literal)) ;) (expression_statement "puVar6 = pushed_string_list;" (assignment_expression "puVar6 = pushed_string_list" identifier = identifier) ;) (if_statement "if (DAT_00176b74 != (char *)0x0) {\n        free(DAT_00176b74);\n        puVar6 = pushed_string_list;\n      }" if (parenthesized_expression "(DAT_00176b74 != (char *)0x0)" ( (binary_expression "DAT_00176b74 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        free(DAT_00176b74);\n        puVar6 = pushed_string_list;\n      }" { (expression_statement "free(DAT_00176b74);" (call_expression "free(DAT_00176b74)" identifier (argument_list "(DAT_00176b74)" ( identifier ))) ;) (expression_statement "puVar6 = pushed_string_list;" (assignment_expression "puVar6 = pushed_string_list" identifier = identifier) ;) })) (expression_statement "DAT_00176b74 = (char *)puVar6[2];" (assignment_expression "DAT_00176b74 = (char *)puVar6[2]" identifier = (cast_expression "(char *)puVar6[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[2]" identifier [ number_literal ]))) ;) (expression_statement "DAT_00176b70 = puVar6[5];" (assignment_expression "DAT_00176b70 = puVar6[5]" identifier = (subscript_expression "puVar6[5]" identifier [ number_literal ])) ;) (expression_statement "DAT_00176b6c = puVar6[4];" (assignment_expression "DAT_00176b6c = puVar6[4]" identifier = (subscript_expression "puVar6[4]" identifier [ number_literal ])) ;) (expression_statement "DAT_00176b64 = puVar6[6];" (assignment_expression "DAT_00176b64 = puVar6[6]" identifier = (subscript_expression "puVar6[6]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = parser_state & 0xfffffffd;" (assignment_expression "uVar5 = parser_state & 0xfffffffd" identifier = (binary_expression "parser_state & 0xfffffffd" identifier & number_literal)) ;) (if_statement "if (puVar6[1] != 0) {\n        uVar5 = parser_state | 2;\n      }" if (parenthesized_expression "(puVar6[1] != 0)" ( (binary_expression "puVar6[1] != 0" (subscript_expression "puVar6[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        uVar5 = parser_state | 2;\n      }" { (expression_statement "uVar5 = parser_state | 2;" (assignment_expression "uVar5 = parser_state | 2" identifier = (binary_expression "parser_state | 2" identifier | number_literal)) ;) })) (expression_statement "pushed_string_list = (undefined4 *)*puVar6;" (assignment_expression "pushed_string_list = (undefined4 *)*puVar6" identifier = (cast_expression "(undefined4 *)*puVar6" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) ;) (expression_statement "parser_state = uVar5;" (assignment_expression "parser_state = uVar5" identifier = identifier) ;) (if_statement "if (puVar6[3] != 0) {\n        pbVar1 = (byte *)(puVar6[3] + 8);\n        *pbVar1 = *pbVar1 & 0xfd;\n      }" if (parenthesized_expression "(puVar6[3] != 0)" ( (binary_expression "puVar6[3] != 0" (subscript_expression "puVar6[3]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        pbVar1 = (byte *)(puVar6[3] + 8);\n        *pbVar1 = *pbVar1 & 0xfd;\n      }" { (expression_statement "pbVar1 = (byte *)(puVar6[3] + 8);" (assignment_expression "pbVar1 = (byte *)(puVar6[3] + 8)" identifier = (cast_expression "(byte *)(puVar6[3] + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6[3] + 8)" ( (binary_expression "puVar6[3] + 8" (subscript_expression "puVar6[3]" identifier [ number_literal ]) + number_literal) )))) ;) (expression_statement "*pbVar1 = *pbVar1 & 0xfd;" (assignment_expression "*pbVar1 = *pbVar1 & 0xfd" (pointer_expression "*pbVar1" * identifier) = (binary_expression "*pbVar1 & 0xfd" (pointer_expression "*pbVar1" * identifier) & number_literal)) ;) })) (expression_statement "free(puVar6);" (call_expression "free(puVar6)" identifier (argument_list "(puVar6)" ( identifier ))) ;) (expression_statement "FUN_00033160();" (call_expression "FUN_00033160()" identifier (argument_list "()" ( ))) ;) (expression_statement "bVar9 = DAT_00176b74[DAT_00176b70];" (assignment_expression "bVar9 = DAT_00176b74[DAT_00176b70]" identifier = (subscript_expression "DAT_00176b74[DAT_00176b70]" identifier [ identifier ])) ;) (if_statement "if (bVar9 == 0) break;" if (parenthesized_expression "(bVar9 == 0)" ( (binary_expression "bVar9 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_00035b58:\n      DAT_00176b70 = DAT_00176b70 + 1;" statement_identifier : (expression_statement "DAT_00176b70 = DAT_00176b70 + 1;" (assignment_expression "DAT_00176b70 = DAT_00176b70 + 1" identifier = (binary_expression "DAT_00176b70 + 1" identifier + number_literal)) ;)) (if_statement "if ((bVar9 != 0x5c) || ((param_1 & 1) == 0)) {\n        if (bVar9 != 0) {\n          return (uint)bVar9;\n        }\n        break;\n      }" if (parenthesized_expression "((bVar9 != 0x5c) || ((param_1 & 1) == 0))" ( (binary_expression "(bVar9 != 0x5c) || ((param_1 & 1) == 0)" (parenthesized_expression "(bVar9 != 0x5c)" ( (binary_expression "bVar9 != 0x5c" identifier != number_literal) )) || (parenthesized_expression "((param_1 & 1) == 0)" ( (binary_expression "(param_1 & 1) == 0" (parenthesized_expression "(param_1 & 1)" ( (binary_expression "param_1 & 1" identifier & number_literal) )) == number_literal) ))) )) (compound_statement "{\n        if (bVar9 != 0) {\n          return (uint)bVar9;\n        }\n        break;\n      }" { (if_statement "if (bVar9 != 0) {\n          return (uint)bVar9;\n        }" if (parenthesized_expression "(bVar9 != 0)" ( (binary_expression "bVar9 != 0" identifier != number_literal) )) (compound_statement "{\n          return (uint)bVar9;\n        }" { (return_statement "return (uint)bVar9;" return (cast_expression "(uint)bVar9" ( (type_descriptor "uint" type_identifier) ) identifier) ;) })) (break_statement "break;" break ;) })) (if_statement "if ((DAT_00176b74[DAT_00176b70] != '\n') ||\n         ((1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0')))) {\n        return 0x5c;\n      }" if (parenthesized_expression "((DAT_00176b74[DAT_00176b70] != '\n') ||\n         ((1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0'))))" ( (binary_expression "(DAT_00176b74[DAT_00176b70] != '\n') ||\n         ((1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0')))" (parenthesized_expression "(DAT_00176b74[DAT_00176b70] != '\n')" ( (binary_expression "DAT_00176b74[DAT_00176b70] != '\n'" (subscript_expression "DAT_00176b74[DAT_00176b70]" identifier [ identifier ]) != (char_literal "'\n'" ' escape_sequence ')) )) || (parenthesized_expression "((1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0')))" ( (parenthesized_expression "(1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0'))" ( (binary_expression "1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0')" (binary_expression "1 < DAT_00176b70" number_literal < identifier) && (parenthesized_expression "(*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0')" ( (binary_expression "*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0'" (pointer_expression "*(char *)(DAT_00176bc4 + -1 + DAT_00176b70)" * (cast_expression "(char *)(DAT_00176bc4 + -1 + DAT_00176b70)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00176bc4 + -1 + DAT_00176b70)" ( (binary_expression "DAT_00176bc4 + -1 + DAT_00176b70" (binary_expression "DAT_00176bc4 + -1" identifier + number_literal) + identifier) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (compound_statement "{\n        return 0x5c;\n      }" { (return_statement "return 0x5c;" return number_literal ;) })) (if_statement "if ((interactive == 0) || (1 < bash_input - 1U)) {\nLAB_00035bbb:\n        line_number = line_number + 1;\n        puVar6 = (undefined4 *)PTR_stdin_00171f40;\n        if (pushed_string_list == (undefined4 *)0x0) goto joined_r0x00035c60;\n      }\n      else {\n        if ((pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0)) {\n          FUN_000354c0();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }" if (parenthesized_expression "((interactive == 0) || (1 < bash_input - 1U))" ( (binary_expression "(interactive == 0) || (1 < bash_input - 1U)" (parenthesized_expression "(interactive == 0)" ( (binary_expression "interactive == 0" identifier == number_literal) )) || (parenthesized_expression "(1 < bash_input - 1U)" ( (binary_expression "1 < bash_input - 1U" number_literal < (binary_expression "bash_input - 1U" identifier - number_literal)) ))) )) (compound_statement "{\nLAB_00035bbb:\n        line_number = line_number + 1;\n        puVar6 = (undefined4 *)PTR_stdin_00171f40;\n        if (pushed_string_list == (undefined4 *)0x0) goto joined_r0x00035c60;\n      }" { (labeled_statement "LAB_00035bbb:\n        line_number = line_number + 1;" statement_identifier : (expression_statement "line_number = line_number + 1;" (assignment_expression "line_number = line_number + 1" identifier = (binary_expression "line_number + 1" identifier + number_literal)) ;)) (expression_statement "puVar6 = (undefined4 *)PTR_stdin_00171f40;" (assignment_expression "puVar6 = (undefined4 *)PTR_stdin_00171f40" identifier = (cast_expression "(undefined4 *)PTR_stdin_00171f40" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (pushed_string_list == (undefined4 *)0x0) goto joined_r0x00035c60;" if (parenthesized_expression "(pushed_string_list == (undefined4 *)0x0)" ( (binary_expression "pushed_string_list == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto joined_r0x00035c60;" goto statement_identifier ;)) }) (else_clause "else {\n        if ((pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0)) {\n          FUN_000354c0();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }" else (compound_statement "{\n        if ((pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0)) {\n          FUN_000354c0();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }" { (if_statement "if ((pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0)) {\n          FUN_000354c0();\n          goto LAB_00035bbb;\n        }" if (parenthesized_expression "((pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0))" ( (binary_expression "(pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0)" (parenthesized_expression "(pushed_string_list == (undefined4 *)0x0)" ( (binary_expression "pushed_string_list == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pushed_string_list[3] == 0)" ( (binary_expression "pushed_string_list[3] == 0" (subscript_expression "pushed_string_list[3]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n          FUN_000354c0();\n          goto LAB_00035bbb;\n        }" { (expression_statement "FUN_000354c0();" (call_expression "FUN_000354c0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_00035bbb;" goto statement_identifier ;) })) (expression_statement "line_number = line_number + 1;" (assignment_expression "line_number = line_number + 1" identifier = (binary_expression "line_number + 1" identifier + number_literal)) ;) }))) (expression_statement "puVar6 = (undefined4 *)PTR_stdin_00171f40;" (assignment_expression "puVar6 = (undefined4 *)PTR_stdin_00171f40" identifier = (cast_expression "(undefined4 *)PTR_stdin_00171f40" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (pushed_string_list[3] == 0) goto joined_r0x00035c60;" if (parenthesized_expression "(pushed_string_list[3] == 0)" ( (binary_expression "pushed_string_list[3] == 0" (subscript_expression "pushed_string_list[3]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto joined_r0x00035c60;" goto statement_identifier ;)) (expression_statement "bVar9 = DAT_00176b74[DAT_00176b70 + 1];" (assignment_expression "bVar9 = DAT_00176b74[DAT_00176b70 + 1]" identifier = (subscript_expression "DAT_00176b74[DAT_00176b70 + 1]" identifier [ (binary_expression "DAT_00176b70 + 1" identifier + number_literal) ])) ;) (expression_statement "uVar5 = DAT_00176b70 + 1;" (assignment_expression "uVar5 = DAT_00176b70 + 1" identifier = (binary_expression "DAT_00176b70 + 1" identifier + number_literal)) ;) (if_statement "if (bVar9 != 0) goto LAB_00035a68;" if (parenthesized_expression "(bVar9 != 0)" ( (binary_expression "bVar9 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00035a68;" goto statement_identifier ;)) (expression_statement "local_44 = pushed_string_list[7];" (assignment_expression "local_44 = pushed_string_list[7]" identifier = (subscript_expression "pushed_string_list[7]" identifier [ number_literal ])) ;) })) })) (if_statement "if (DAT_00176b64 == -1) {\n    uVar5 = 0xffffffff;\n    if (DAT_00176b70 != 0) {\n      uVar5 = 10;\n    }\n  }\n  else {\n    if ((((bash_input == 3) && (*DAT_0017ac84 != '\0')) && (pushed_string_list != (undefined4 *)0x0)\n        ) && ((pushed_string_list[7] == 4 && (DAT_00176b64 == 0)))) {\n      DAT_00176b70 = 0;\n      DAT_00176b64 = 0;\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\njoined_r0x00035c60:\n      if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }\n      if (interrupt_state != 0) {\n        throw_to_top_level();\n      }\n      DAT_00176b64 = 0;\n      if (interactive_shell == 0) {\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar4 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2)) {\n          fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar4);\n        }\njoined_r0x00035e4b:\n        if (bash_input == 2) {\n          clearerr((FILE *)*puVar6);\n        }\n      }\n      else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input - 1U < 2) goto LAB_00035e18;\n      }\n      sVar10 = 0;\n      do {\n        iVar7 = (*DAT_0017ac88)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar7 == 0) break;\n          if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }\n          pcVar8 = DAT_00176b74 + sVar10;\n          if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar8 = (char)iVar7;\n          if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar3 = iVar7 == 0x5c && !bVar3;\n          iVar7 = (*DAT_0017ac88)();\n          sVar10 = sVar10 + 1;\n        }\n      } while (bash_input != 3);\n      if (sVar10 == 0) {\n        DAT_00176b64 = -1;\n      }\n      DAT_00176b74[sVar10] = '\0';\n      bVar9 = 1;\nLAB_00035cff:\n      DAT_00176b70 = 0;\n      DAT_00176b68 = sVar10;\n      FUN_00033160();\n      if (remember_on_history == 0) goto joined_r0x00035d82;\n      if (DAT_00176b74 != (char *)0x0) {\n        if (*DAT_00176b74 == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }\n        }\n        else {\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }\njoined_r0x00035d82:\n        if (DAT_00176b74 != (char *)0x0) goto LAB_000362a8;\n      }\n      DAT_00176b6c = 0;\n      prompt_string_pointer = &current_prompt_string;\n      if (((interactive != 0) && (bash_input - 1U < 2)) &&\n         ((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)))) {\n        FUN_000354c0();\n      }\n      goto joined_r0x00035c60;\n    }\n    uVar5 = 0;\n  }" if (parenthesized_expression "(DAT_00176b64 == -1)" ( (binary_expression "DAT_00176b64 == -1" identifier == number_literal) )) (compound_statement "{\n    uVar5 = 0xffffffff;\n    if (DAT_00176b70 != 0) {\n      uVar5 = 10;\n    }\n  }" { (expression_statement "uVar5 = 0xffffffff;" (assignment_expression "uVar5 = 0xffffffff" identifier = number_literal) ;) (if_statement "if (DAT_00176b70 != 0) {\n      uVar5 = 10;\n    }" if (parenthesized_expression "(DAT_00176b70 != 0)" ( (binary_expression "DAT_00176b70 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar5 = 10;\n    }" { (expression_statement "uVar5 = 10;" (assignment_expression "uVar5 = 10" identifier = number_literal) ;) })) }) (else_clause "else {\n    if ((((bash_input == 3) && (*DAT_0017ac84 != '\0')) && (pushed_string_list != (undefined4 *)0x0)\n        ) && ((pushed_string_list[7] == 4 && (DAT_00176b64 == 0)))) {\n      DAT_00176b70 = 0;\n      DAT_00176b64 = 0;\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\njoined_r0x00035c60:\n      if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }\n      if (interrupt_state != 0) {\n        throw_to_top_level();\n      }\n      DAT_00176b64 = 0;\n      if (interactive_shell == 0) {\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar4 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2)) {\n          fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar4);\n        }\njoined_r0x00035e4b:\n        if (bash_input == 2) {\n          clearerr((FILE *)*puVar6);\n        }\n      }\n      else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input - 1U < 2) goto LAB_00035e18;\n      }\n      sVar10 = 0;\n      do {\n        iVar7 = (*DAT_0017ac88)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar7 == 0) break;\n          if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }\n          pcVar8 = DAT_00176b74 + sVar10;\n          if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar8 = (char)iVar7;\n          if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar3 = iVar7 == 0x5c && !bVar3;\n          iVar7 = (*DAT_0017ac88)();\n          sVar10 = sVar10 + 1;\n        }\n      } while (bash_input != 3);\n      if (sVar10 == 0) {\n        DAT_00176b64 = -1;\n      }\n      DAT_00176b74[sVar10] = '\0';\n      bVar9 = 1;\nLAB_00035cff:\n      DAT_00176b70 = 0;\n      DAT_00176b68 = sVar10;\n      FUN_00033160();\n      if (remember_on_history == 0) goto joined_r0x00035d82;\n      if (DAT_00176b74 != (char *)0x0) {\n        if (*DAT_00176b74 == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }\n        }\n        else {\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }\njoined_r0x00035d82:\n        if (DAT_00176b74 != (char *)0x0) goto LAB_000362a8;\n      }\n      DAT_00176b6c = 0;\n      prompt_string_pointer = &current_prompt_string;\n      if (((interactive != 0) && (bash_input - 1U < 2)) &&\n         ((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)))) {\n        FUN_000354c0();\n      }\n      goto joined_r0x00035c60;\n    }\n    uVar5 = 0;\n  }" else (compound_statement "{\n    if ((((bash_input == 3) && (*DAT_0017ac84 != '\0')) && (pushed_string_list != (undefined4 *)0x0)\n        ) && ((pushed_string_list[7] == 4 && (DAT_00176b64 == 0)))) {\n      DAT_00176b70 = 0;\n      DAT_00176b64 = 0;\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\njoined_r0x00035c60:\n      if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }\n      if (interrupt_state != 0) {\n        throw_to_top_level();\n      }\n      DAT_00176b64 = 0;\n      if (interactive_shell == 0) {\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar4 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2)) {\n          fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar4);\n        }\njoined_r0x00035e4b:\n        if (bash_input == 2) {\n          clearerr((FILE *)*puVar6);\n        }\n      }\n      else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input - 1U < 2) goto LAB_00035e18;\n      }\n      sVar10 = 0;\n      do {\n        iVar7 = (*DAT_0017ac88)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar7 == 0) break;\n          if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }\n          pcVar8 = DAT_00176b74 + sVar10;\n          if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar8 = (char)iVar7;\n          if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar3 = iVar7 == 0x5c && !bVar3;\n          iVar7 = (*DAT_0017ac88)();\n          sVar10 = sVar10 + 1;\n        }\n      } while (bash_input != 3);\n      if (sVar10 == 0) {\n        DAT_00176b64 = -1;\n      }\n      DAT_00176b74[sVar10] = '\0';\n      bVar9 = 1;\nLAB_00035cff:\n      DAT_00176b70 = 0;\n      DAT_00176b68 = sVar10;\n      FUN_00033160();\n      if (remember_on_history == 0) goto joined_r0x00035d82;\n      if (DAT_00176b74 != (char *)0x0) {\n        if (*DAT_00176b74 == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }\n        }\n        else {\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }\njoined_r0x00035d82:\n        if (DAT_00176b74 != (char *)0x0) goto LAB_000362a8;\n      }\n      DAT_00176b6c = 0;\n      prompt_string_pointer = &current_prompt_string;\n      if (((interactive != 0) && (bash_input - 1U < 2)) &&\n         ((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)))) {\n        FUN_000354c0();\n      }\n      goto joined_r0x00035c60;\n    }\n    uVar5 = 0;\n  }" { (if_statement "if ((((bash_input == 3) && (*DAT_0017ac84 != '\0')) && (pushed_string_list != (undefined4 *)0x0)\n        ) && ((pushed_string_list[7] == 4 && (DAT_00176b64 == 0)))) {\n      DAT_00176b70 = 0;\n      DAT_00176b64 = 0;\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\njoined_r0x00035c60:\n      if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }\n      if (interrupt_state != 0) {\n        throw_to_top_level();\n      }\n      DAT_00176b64 = 0;\n      if (interactive_shell == 0) {\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar4 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2)) {\n          fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar4);\n        }\njoined_r0x00035e4b:\n        if (bash_input == 2) {\n          clearerr((FILE *)*puVar6);\n        }\n      }\n      else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input - 1U < 2) goto LAB_00035e18;\n      }\n      sVar10 = 0;\n      do {\n        iVar7 = (*DAT_0017ac88)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar7 == 0) break;\n          if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }\n          pcVar8 = DAT_00176b74 + sVar10;\n          if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar8 = (char)iVar7;\n          if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar3 = iVar7 == 0x5c && !bVar3;\n          iVar7 = (*DAT_0017ac88)();\n          sVar10 = sVar10 + 1;\n        }\n      } while (bash_input != 3);\n      if (sVar10 == 0) {\n        DAT_00176b64 = -1;\n      }\n      DAT_00176b74[sVar10] = '\0';\n      bVar9 = 1;\nLAB_00035cff:\n      DAT_00176b70 = 0;\n      DAT_00176b68 = sVar10;\n      FUN_00033160();\n      if (remember_on_history == 0) goto joined_r0x00035d82;\n      if (DAT_00176b74 != (char *)0x0) {\n        if (*DAT_00176b74 == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }\n        }\n        else {\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }\njoined_r0x00035d82:\n        if (DAT_00176b74 != (char *)0x0) goto LAB_000362a8;\n      }\n      DAT_00176b6c = 0;\n      prompt_string_pointer = &current_prompt_string;\n      if (((interactive != 0) && (bash_input - 1U < 2)) &&\n         ((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)))) {\n        FUN_000354c0();\n      }\n      goto joined_r0x00035c60;\n    }" if (parenthesized_expression "((((bash_input == 3) && (*DAT_0017ac84 != '\0')) && (pushed_string_list != (undefined4 *)0x0)\n        ) && ((pushed_string_list[7] == 4 && (DAT_00176b64 == 0))))" ( (binary_expression "(((bash_input == 3) && (*DAT_0017ac84 != '\0')) && (pushed_string_list != (undefined4 *)0x0)\n        ) && ((pushed_string_list[7] == 4 && (DAT_00176b64 == 0)))" (parenthesized_expression "(((bash_input == 3) && (*DAT_0017ac84 != '\0')) && (pushed_string_list != (undefined4 *)0x0)\n        )" ( (binary_expression "((bash_input == 3) && (*DAT_0017ac84 != '\0')) && (pushed_string_list != (undefined4 *)0x0)" (parenthesized_expression "((bash_input == 3) && (*DAT_0017ac84 != '\0'))" ( (binary_expression "(bash_input == 3) && (*DAT_0017ac84 != '\0')" (parenthesized_expression "(bash_input == 3)" ( (binary_expression "bash_input == 3" identifier == number_literal) )) && (parenthesized_expression "(*DAT_0017ac84 != '\0')" ( (binary_expression "*DAT_0017ac84 != '\0'" (pointer_expression "*DAT_0017ac84" * identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(pushed_string_list != (undefined4 *)0x0)" ( (binary_expression "pushed_string_list != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "((pushed_string_list[7] == 4 && (DAT_00176b64 == 0)))" ( (parenthesized_expression "(pushed_string_list[7] == 4 && (DAT_00176b64 == 0))" ( (binary_expression "pushed_string_list[7] == 4 && (DAT_00176b64 == 0)" (binary_expression "pushed_string_list[7] == 4" (subscript_expression "pushed_string_list[7]" identifier [ number_literal ]) == number_literal) && (parenthesized_expression "(DAT_00176b64 == 0)" ( (binary_expression "DAT_00176b64 == 0" identifier == number_literal) ))) )) ))) )) (compound_statement "{\n      DAT_00176b70 = 0;\n      DAT_00176b64 = 0;\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\njoined_r0x00035c60:\n      if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }\n      if (interrupt_state != 0) {\n        throw_to_top_level();\n      }\n      DAT_00176b64 = 0;\n      if (interactive_shell == 0) {\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar4 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2)) {\n          fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar4);\n        }\njoined_r0x00035e4b:\n        if (bash_input == 2) {\n          clearerr((FILE *)*puVar6);\n        }\n      }\n      else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input - 1U < 2) goto LAB_00035e18;\n      }\n      sVar10 = 0;\n      do {\n        iVar7 = (*DAT_0017ac88)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar7 == 0) break;\n          if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }\n          pcVar8 = DAT_00176b74 + sVar10;\n          if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar8 = (char)iVar7;\n          if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar3 = iVar7 == 0x5c && !bVar3;\n          iVar7 = (*DAT_0017ac88)();\n          sVar10 = sVar10 + 1;\n        }\n      } while (bash_input != 3);\n      if (sVar10 == 0) {\n        DAT_00176b64 = -1;\n      }\n      DAT_00176b74[sVar10] = '\0';\n      bVar9 = 1;\nLAB_00035cff:\n      DAT_00176b70 = 0;\n      DAT_00176b68 = sVar10;\n      FUN_00033160();\n      if (remember_on_history == 0) goto joined_r0x00035d82;\n      if (DAT_00176b74 != (char *)0x0) {\n        if (*DAT_00176b74 == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }\n        }\n        else {\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }\njoined_r0x00035d82:\n        if (DAT_00176b74 != (char *)0x0) goto LAB_000362a8;\n      }\n      DAT_00176b6c = 0;\n      prompt_string_pointer = &current_prompt_string;\n      if (((interactive != 0) && (bash_input - 1U < 2)) &&\n         ((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)))) {\n        FUN_000354c0();\n      }\n      goto joined_r0x00035c60;\n    }" { (expression_statement "DAT_00176b70 = 0;" (assignment_expression "DAT_00176b70 = 0" identifier = number_literal) ;) (expression_statement "DAT_00176b64 = 0;" (assignment_expression "DAT_00176b64 = 0" identifier = number_literal) ;) (expression_statement "puVar6 = (undefined4 *)PTR_stdin_00171f40;" (assignment_expression "puVar6 = (undefined4 *)PTR_stdin_00171f40" identifier = (cast_expression "(undefined4 *)PTR_stdin_00171f40" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (labeled_statement "joined_r0x00035c60:\n      if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }" statement_identifier : (if_statement "if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }" if (parenthesized_expression "(terminating_signal != 0)" ( (binary_expression "terminating_signal != 0" identifier != number_literal) )) (compound_statement "{\n        termsig_handler(terminating_signal);\n      }" { (expression_statement "termsig_handler(terminating_signal);" (call_expression "termsig_handler(terminating_signal)" identifier (argument_list "(terminating_signal)" ( identifier ))) ;) }))) (if_statement "if (interrupt_state != 0) {\n        throw_to_top_level();\n      }" if (parenthesized_expression "(interrupt_state != 0)" ( (binary_expression "interrupt_state != 0" identifier != number_literal) )) (compound_statement "{\n        throw_to_top_level();\n      }" { (expression_statement "throw_to_top_level();" (call_expression "throw_to_top_level()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "DAT_00176b64 = 0;" (assignment_expression "DAT_00176b64 = 0" identifier = number_literal) ;) (if_statement "if (interactive_shell == 0) {\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar4 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2)) {\n          fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar4);\n        }\njoined_r0x00035e4b:\n        if (bash_input == 2) {\n          clearerr((FILE *)*puVar6);\n        }\n      }\n      else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input - 1U < 2) goto LAB_00035e18;\n      }" if (parenthesized_expression "(interactive_shell == 0)" ( (binary_expression "interactive_shell == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar4 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2)) {\n          fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar4);\n        }\njoined_r0x00035e4b:\n        if (bash_input == 2) {\n          clearerr((FILE *)*puVar6);\n        }\n      }" { (labeled_statement "LAB_00035e18:\n        notify_and_cleanup();" statement_identifier : (expression_statement "notify_and_cleanup();" (call_expression "notify_and_cleanup()" identifier (argument_list "()" ( ))) ;)) (expression_statement "puVar4 = PTR_stderr_00171e54;" (assignment_expression "puVar4 = PTR_stderr_00171e54" identifier = identifier) ;) (if_statement "if (((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2)) {\n          fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar4);\n        }" if (parenthesized_expression "(((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2))" ( (binary_expression "((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2)" (parenthesized_expression "((no_line_editing != 0) && (interactive != 0))" ( (binary_expression "(no_line_editing != 0) && (interactive != 0)" (parenthesized_expression "(no_line_editing != 0)" ( (binary_expression "no_line_editing != 0" identifier != number_literal) )) && (parenthesized_expression "(interactive != 0)" ( (binary_expression "interactive != 0" identifier != number_literal) ))) )) && (parenthesized_expression "(bash_input - 1U < 2)" ( (binary_expression "bash_input - 1U < 2" (binary_expression "bash_input - 1U" identifier - number_literal) < number_literal) ))) )) (compound_statement "{\n          fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar4);\n        }" { (expression_statement "fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);" (call_expression "fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54)" identifier (argument_list "(DAT_00176b54,*(FILE **)PTR_stderr_00171e54)" ( identifier , (pointer_expression "*(FILE **)PTR_stderr_00171e54" * (cast_expression "(FILE **)PTR_stderr_00171e54" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "fflush(*(FILE **)puVar4);" (call_expression "fflush(*(FILE **)puVar4)" identifier (argument_list "(*(FILE **)puVar4)" ( (pointer_expression "*(FILE **)puVar4" * (cast_expression "(FILE **)puVar4" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) })) (labeled_statement "joined_r0x00035e4b:\n        if (bash_input == 2) {\n          clearerr((FILE *)*puVar6);\n        }" statement_identifier : (if_statement "if (bash_input == 2) {\n          clearerr((FILE *)*puVar6);\n        }" if (parenthesized_expression "(bash_input == 2)" ( (binary_expression "bash_input == 2" identifier == number_literal) )) (compound_statement "{\n          clearerr((FILE *)*puVar6);\n        }" { (expression_statement "clearerr((FILE *)*puVar6);" (call_expression "clearerr((FILE *)*puVar6)" identifier (argument_list "((FILE *)*puVar6)" ( (cast_expression "(FILE *)*puVar6" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier)) ))) ;) }))) }) (else_clause "else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input - 1U < 2) goto LAB_00035e18;\n      }" else (compound_statement "{\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input - 1U < 2) goto LAB_00035e18;\n      }" { (if_statement "if (interactive == 0) goto joined_r0x00035e4b;" if (parenthesized_expression "(interactive == 0)" ( (binary_expression "interactive == 0" identifier == number_literal) )) (goto_statement "goto joined_r0x00035e4b;" goto statement_identifier ;)) (if_statement "if (bash_input - 1U < 2) goto LAB_00035e18;" if (parenthesized_expression "(bash_input - 1U < 2)" ( (binary_expression "bash_input - 1U < 2" (binary_expression "bash_input - 1U" identifier - number_literal) < number_literal) )) (goto_statement "goto LAB_00035e18;" goto statement_identifier ;)) }))) (expression_statement "sVar10 = 0;" (assignment_expression "sVar10 = 0" identifier = number_literal) ;) (do_statement "do {\n        iVar7 = (*DAT_0017ac88)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar7 == 0) break;\n          if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }\n          pcVar8 = DAT_00176b74 + sVar10;\n          if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar8 = (char)iVar7;\n          if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar3 = iVar7 == 0x5c && !bVar3;\n          iVar7 = (*DAT_0017ac88)();\n          sVar10 = sVar10 + 1;\n        }\n      } while (bash_input != 3);" do (compound_statement "{\n        iVar7 = (*DAT_0017ac88)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar7 == 0) break;\n          if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }\n          pcVar8 = DAT_00176b74 + sVar10;\n          if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar8 = (char)iVar7;\n          if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar3 = iVar7 == 0x5c && !bVar3;\n          iVar7 = (*DAT_0017ac88)();\n          sVar10 = sVar10 + 1;\n        }\n      }" { (expression_statement "iVar7 = (*DAT_0017ac88)();" (assignment_expression "iVar7 = (*DAT_0017ac88)()" identifier = (call_expression "(*DAT_0017ac88)()" (parenthesized_expression "(*DAT_0017ac88)" ( (pointer_expression "*DAT_0017ac88" * identifier) )) (argument_list "()" ( )))) ;) (while_statement "while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar7 == 0) break;\n          if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }\n          pcVar8 = DAT_00176b74 + sVar10;\n          if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar8 = (char)iVar7;\n          if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar3 = iVar7 == 0x5c && !bVar3;\n          iVar7 = (*DAT_0017ac88)();\n          sVar10 = sVar10 + 1;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar7 == 0) break;\n          if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }\n          pcVar8 = DAT_00176b74 + sVar10;\n          if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar8 = (char)iVar7;\n          if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar3 = iVar7 == 0x5c && !bVar3;\n          iVar7 = (*DAT_0017ac88)();\n          sVar10 = sVar10 + 1;\n        }" { (if_statement "if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }" if (parenthesized_expression "(terminating_signal != 0)" ( (binary_expression "terminating_signal != 0" identifier != number_literal) )) (compound_statement "{\n            termsig_handler(terminating_signal);\n          }" { (expression_statement "termsig_handler(terminating_signal);" (call_expression "termsig_handler(terminating_signal)" identifier (argument_list "(terminating_signal)" ( identifier ))) ;) })) (if_statement "if (interrupt_state != 0) {\n            throw_to_top_level();\n          }" if (parenthesized_expression "(interrupt_state != 0)" ( (binary_expression "interrupt_state != 0" identifier != number_literal) )) (compound_statement "{\n            throw_to_top_level();\n          }" { (expression_statement "throw_to_top_level();" (call_expression "throw_to_top_level()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }" if (parenthesized_expression "(DAT_00176b6c < 0xffffff00)" ( (binary_expression "DAT_00176b6c < 0xffffff00" identifier < number_literal) )) (compound_statement "{\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }" { (if_statement "if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }" if (parenthesized_expression "(DAT_00176b6c <= sVar10 + 2)" ( (binary_expression "DAT_00176b6c <= sVar10 + 2" identifier <= (binary_expression "sVar10 + 2" identifier + number_literal)) )) (compound_statement "{\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }" { (do_statement "do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);" do (compound_statement "{\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              }" { (expression_statement "DAT_00176b6c = DAT_00176b6c + 0x100;" (assignment_expression "DAT_00176b6c = DAT_00176b6c + 0x100" identifier = (binary_expression "DAT_00176b6c + 0x100" identifier + number_literal)) ;) }) while (parenthesized_expression "(DAT_00176b6c <= sVar10 + 2)" ( (binary_expression "DAT_00176b6c <= sVar10 + 2" identifier <= (binary_expression "sVar10 + 2" identifier + number_literal)) )) ;) (expression_statement "DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);" (assignment_expression "DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c)" identifier = (cast_expression "(char *)xrealloc(DAT_00176b74,DAT_00176b6c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xrealloc(DAT_00176b74,DAT_00176b6c)" identifier (argument_list "(DAT_00176b74,DAT_00176b6c)" ( identifier , identifier ))))) ;) })) }) (else_clause "else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }" else (if_statement "if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }" if (parenthesized_expression "(DAT_00176b6c != 0xffffffff)" ( (binary_expression "DAT_00176b6c != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }" { (expression_statement "DAT_00176b6c = 0xffffffff;" (assignment_expression "DAT_00176b6c = 0xffffffff" identifier = number_literal) ;) (expression_statement "DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);" (assignment_expression "DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff)" identifier = (cast_expression "(char *)xrealloc(DAT_00176b74,0xffffffff)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xrealloc(DAT_00176b74,0xffffffff)" identifier (argument_list "(DAT_00176b74,0xffffffff)" ( identifier , number_literal ))))) ;) })))) (expression_statement "pcVar8 = DAT_00176b74 + sVar10;" (assignment_expression "pcVar8 = DAT_00176b74 + sVar10" identifier = (binary_expression "DAT_00176b74 + sVar10" identifier + identifier)) ;) (if_statement "if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }" if (parenthesized_expression "(iVar7 == -1)" ( (binary_expression "iVar7 == -1" identifier == number_literal) )) (compound_statement "{\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }" { (if_statement "if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }" if (parenthesized_expression "(bash_input == 2)" ( (binary_expression "bash_input == 2" identifier == number_literal) )) (compound_statement "{\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }" { (expression_statement "clearerr(*(FILE **)PTR_stdin_00171f40);" (call_expression "clearerr(*(FILE **)PTR_stdin_00171f40)" identifier (argument_list "(*(FILE **)PTR_stdin_00171f40)" ( (pointer_expression "*(FILE **)PTR_stdin_00171f40" * (cast_expression "(FILE **)PTR_stdin_00171f40" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) })) (if_statement "if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }" if (parenthesized_expression "(sVar10 == 0)" ( (binary_expression "sVar10 == 0" identifier == number_literal) )) (compound_statement "{\n              DAT_00176b64 = -1;\n            }" { (expression_statement "DAT_00176b64 = -1;" (assignment_expression "DAT_00176b64 = -1" identifier = number_literal) ;) })) (expression_statement "*pcVar8 = '\0';" (assignment_expression "*pcVar8 = '\0'" (pointer_expression "*pcVar8" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "bVar9 = 1;" (assignment_expression "bVar9 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00035cff;" goto statement_identifier ;) })) (expression_statement "*pcVar8 = (char)iVar7;" (assignment_expression "*pcVar8 = (char)iVar7" (pointer_expression "*pcVar8" * identifier) = (cast_expression "(char)iVar7" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (if_statement "if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }" if (parenthesized_expression "(iVar7 == 10)" ( (binary_expression "iVar7 == 10" identifier == number_literal) )) (compound_statement "{\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }" { (expression_statement "*pcVar8 = '\0';" (assignment_expression "*pcVar8 = '\0'" (pointer_expression "*pcVar8" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "bVar9 = 0;" (assignment_expression "bVar9 = 0" identifier = number_literal) ;) (expression_statement "current_command_line_count = current_command_line_count + 1;" (assignment_expression "current_command_line_count = current_command_line_count + 1" identifier = (binary_expression "current_command_line_count + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_00035cff;" goto statement_identifier ;) })) (expression_statement "bVar3 = iVar7 == 0x5c && !bVar3;" (assignment_expression "bVar3 = iVar7 == 0x5c && !bVar3" identifier = (binary_expression "iVar7 == 0x5c && !bVar3" (binary_expression "iVar7 == 0x5c" identifier == number_literal) && (unary_expression "!bVar3" ! identifier))) ;) (expression_statement "iVar7 = (*DAT_0017ac88)();" (assignment_expression "iVar7 = (*DAT_0017ac88)()" identifier = (call_expression "(*DAT_0017ac88)()" (parenthesized_expression "(*DAT_0017ac88)" ( (pointer_expression "*DAT_0017ac88" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "sVar10 = sVar10 + 1;" (assignment_expression "sVar10 = sVar10 + 1" identifier = (binary_expression "sVar10 + 1" identifier + number_literal)) ;) })) }) while (parenthesized_expression "(bash_input != 3)" ( (binary_expression "bash_input != 3" identifier != number_literal) )) ;) (if_statement "if (sVar10 == 0) {\n        DAT_00176b64 = -1;\n      }" if (parenthesized_expression "(sVar10 == 0)" ( (binary_expression "sVar10 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_00176b64 = -1;\n      }" { (expression_statement "DAT_00176b64 = -1;" (assignment_expression "DAT_00176b64 = -1" identifier = number_literal) ;) })) (expression_statement "DAT_00176b74[sVar10] = '\0';" (assignment_expression "DAT_00176b74[sVar10] = '\0'" (subscript_expression "DAT_00176b74[sVar10]" identifier [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "bVar9 = 1;" (assignment_expression "bVar9 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00035cff:\n      DAT_00176b70 = 0;" statement_identifier : (expression_statement "DAT_00176b70 = 0;" (assignment_expression "DAT_00176b70 = 0" identifier = number_literal) ;)) (expression_statement "DAT_00176b68 = sVar10;" (assignment_expression "DAT_00176b68 = sVar10" identifier = identifier) ;) (expression_statement "FUN_00033160();" (call_expression "FUN_00033160()" identifier (argument_list "()" ( ))) ;) (if_statement "if (remember_on_history == 0) goto joined_r0x00035d82;" if (parenthesized_expression "(remember_on_history == 0)" ( (binary_expression "remember_on_history == 0" identifier == number_literal) )) (goto_statement "goto joined_r0x00035d82;" goto statement_identifier ;)) (if_statement "if (DAT_00176b74 != (char *)0x0) {\n        if (*DAT_00176b74 == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }\n        }\n        else {\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }\njoined_r0x00035d82:\n        if (DAT_00176b74 != (char *)0x0) goto LAB_000362a8;\n      }" if (parenthesized_expression "(DAT_00176b74 != (char *)0x0)" ( (binary_expression "DAT_00176b74 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (*DAT_00176b74 == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }\n        }\n        else {\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }\njoined_r0x00035d82:\n        if (DAT_00176b74 != (char *)0x0) goto LAB_000362a8;\n      }" { (if_statement "if (*DAT_00176b74 == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }\n        }\n        else {\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }" if (parenthesized_expression "(*DAT_00176b74 == '\0')" ( (binary_expression "*DAT_00176b74 == '\0'" (pointer_expression "*DAT_00176b74" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }\n        }" { (if_statement "if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }" if (parenthesized_expression "(current_command_line_count < 2)" ( (binary_expression "current_command_line_count < 2" identifier < number_literal) )) (compound_statement "{\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }" { (if_statement "if (echo_input_at_read != 0) goto LAB_00036218;" if (parenthesized_expression "(echo_input_at_read != 0)" ( (binary_expression "echo_input_at_read != 0" identifier != number_literal) )) (goto_statement "goto LAB_00036218;" goto statement_identifier ;)) (goto_statement "goto LAB_00036178;" goto statement_identifier ;) })) (if_statement "if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }" if (parenthesized_expression "(((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';'))))" ( (binary_expression "((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))" (parenthesized_expression "((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0'))" ( (binary_expression "(DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')" (parenthesized_expression "(DAT_001768ac != 0)" ( (binary_expression "DAT_001768ac != 0" identifier != number_literal) )) && (parenthesized_expression "(*(char *)(dstack + -1 + DAT_001768ac) != '\0')" ( (binary_expression "*(char *)(dstack + -1 + DAT_001768ac) != '\0'" (pointer_expression "*(char *)(dstack + -1 + DAT_001768ac)" * (cast_expression "(char *)(dstack + -1 + DAT_001768ac)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(dstack + -1 + DAT_001768ac)" ( (binary_expression "dstack + -1 + DAT_001768ac" (binary_expression "dstack + -1" identifier + number_literal) + identifier) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) || (parenthesized_expression "((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))" ( (parenthesized_expression "(pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';'))" ( (comma_expression "pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')" (assignment_expression "pcVar8 = (char *)history_delimiting_chars(DAT_00176b74)" identifier = (cast_expression "(char *)history_delimiting_chars(DAT_00176b74)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "history_delimiting_chars(DAT_00176b74)" identifier (argument_list "(DAT_00176b74)" ( identifier ))))) , (binary_expression "pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')" (binary_expression "pcVar8 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "(*pcVar8 == ';')" ( (binary_expression "*pcVar8 == ';'" (pointer_expression "*pcVar8" * identifier) == (char_literal "';'" ' character ')) )))) )) ))) )) (compound_statement "{\n            maybe_add_history(DAT_00176b74);\n          }" { (expression_statement "maybe_add_history(DAT_00176b74);" (call_expression "maybe_add_history(DAT_00176b74)" identifier (argument_list "(DAT_00176b74)" ( identifier ))) ;) })) }) (else_clause "else {\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }" else (compound_statement "{\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }" { (if_statement "if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }" if (parenthesized_expression "(DAT_001768ac == 0)" ( (binary_expression "DAT_001768ac == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }" { (labeled_statement "LAB_00035f8e:\n            history_quoting_state = 0;" statement_identifier : (expression_statement "history_quoting_state = 0;" (assignment_expression "history_quoting_state = 0" identifier = number_literal) ;)) }) (else_clause "else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }" else (compound_statement "{\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }" { (expression_statement "cVar2 = *(char *)(dstack + -1 + DAT_001768ac);" (assignment_expression "cVar2 = *(char *)(dstack + -1 + DAT_001768ac)" identifier = (pointer_expression "*(char *)(dstack + -1 + DAT_001768ac)" * (cast_expression "(char *)(dstack + -1 + DAT_001768ac)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(dstack + -1 + DAT_001768ac)" ( (binary_expression "dstack + -1 + DAT_001768ac" (binary_expression "dstack + -1" identifier + number_literal) + identifier) ))))) ;) (if_statement "if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }" if (parenthesized_expression "(cVar2 == '\'')" ( (binary_expression "cVar2 == '\''" identifier == (char_literal "'\''" ' escape_sequence ')) )) (compound_statement "{\n              history_quoting_state = 0x27;\n            }" { (expression_statement "history_quoting_state = 0x27;" (assignment_expression "history_quoting_state = 0x27" identifier = number_literal) ;) }) (else_clause "else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }" else (compound_statement "{\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }" { (if_statement "if (cVar2 != '\"') goto LAB_00035f8e;" if (parenthesized_expression "(cVar2 != '\"')" ( (binary_expression "cVar2 != '\"'" identifier != (char_literal "'\"'" ' escape_sequence ')) )) (goto_statement "goto LAB_00035f8e;" goto statement_identifier ;)) (expression_statement "history_quoting_state = 0x22;" (assignment_expression "history_quoting_state = 0x22" identifier = number_literal) ;) }))) }))) (expression_statement "pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);" (assignment_expression "pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1)" identifier = (cast_expression "(char *)pre_process_line(DAT_00176b74,1,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "pre_process_line(DAT_00176b74,1,1)" identifier (argument_list "(DAT_00176b74,1,1)" ( identifier , number_literal , number_literal ))))) ;) (expression_statement "history_quoting_state = 0;" (assignment_expression "history_quoting_state = 0" identifier = number_literal) ;) (if_statement "if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }" if (parenthesized_expression "(pcVar8 != DAT_00176b74)" ( (binary_expression "pcVar8 != DAT_00176b74" identifier != identifier) )) (compound_statement "{\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }" { (expression_statement "free(DAT_00176b74);" (call_expression "free(DAT_00176b74)" identifier (argument_list "(DAT_00176b74)" ( identifier ))) ;) (expression_statement "DAT_00176b74 = pcVar8;" (assignment_expression "DAT_00176b74 = pcVar8" identifier = identifier) ;) (if_statement "if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }" if (parenthesized_expression "(pcVar8 == (char *)0x0)" ( (binary_expression "pcVar8 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }" { (expression_statement "DAT_00176b68 = 0;" (assignment_expression "DAT_00176b68 = 0" identifier = number_literal) ;) (labeled_statement "LAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;" statement_identifier : (expression_statement "current_command_line_count = current_command_line_count + -1;" (assignment_expression "current_command_line_count = current_command_line_count + -1" identifier = (binary_expression "current_command_line_count + -1" identifier + number_literal)) ;)) (expression_statement "DAT_00176b6c = 0;" (assignment_expression "DAT_00176b6c = 0" identifier = number_literal) ;) }) (else_clause "else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }" else (compound_statement "{\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }" { (expression_statement "DAT_00176b6c = strlen(pcVar8);" (assignment_expression "DAT_00176b6c = strlen(pcVar8)" identifier = (call_expression "strlen(pcVar8)" identifier (argument_list "(pcVar8)" ( identifier )))) ;) (expression_statement "DAT_00176b68 = DAT_00176b6c;" (assignment_expression "DAT_00176b68 = DAT_00176b6c" identifier = identifier) ;) (if_statement "if (DAT_00176b6c == 0) goto LAB_000362e0;" if (parenthesized_expression "(DAT_00176b6c == 0)" ( (binary_expression "DAT_00176b6c == 0" identifier == number_literal) )) (goto_statement "goto LAB_000362e0;" goto statement_identifier ;)) }))) (expression_statement "FUN_00033160();" (call_expression "FUN_00033160()" identifier (argument_list "()" ( ))) ;) })) }))) (labeled_statement "joined_r0x00035d82:\n        if (DAT_00176b74 != (char *)0x0) goto LAB_000362a8;" statement_identifier : (if_statement "if (DAT_00176b74 != (char *)0x0) goto LAB_000362a8;" if (parenthesized_expression "(DAT_00176b74 != (char *)0x0)" ( (binary_expression "DAT_00176b74 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000362a8;" goto statement_identifier ;))) })) (expression_statement "DAT_00176b6c = 0;" (assignment_expression "DAT_00176b6c = 0" identifier = number_literal) ;) (expression_statement "prompt_string_pointer = &current_prompt_string;" (assignment_expression "prompt_string_pointer = &current_prompt_string" identifier = (pointer_expression "&current_prompt_string" & identifier)) ;) (if_statement "if (((interactive != 0) && (bash_input - 1U < 2)) &&\n         ((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)))) {\n        FUN_000354c0();\n      }" if (parenthesized_expression "(((interactive != 0) && (bash_input - 1U < 2)) &&\n         ((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0))))" ( (binary_expression "((interactive != 0) && (bash_input - 1U < 2)) &&\n         ((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)))" (parenthesized_expression "((interactive != 0) && (bash_input - 1U < 2))" ( (binary_expression "(interactive != 0) && (bash_input - 1U < 2)" (parenthesized_expression "(interactive != 0)" ( (binary_expression "interactive != 0" identifier != number_literal) )) && (parenthesized_expression "(bash_input - 1U < 2)" ( (binary_expression "bash_input - 1U < 2" (binary_expression "bash_input - 1U" identifier - number_literal) < number_literal) ))) )) && (parenthesized_expression "((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)))" ( (parenthesized_expression "(pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0))" ( (binary_expression "pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)" (binary_expression "pushed_string_list == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "(pushed_string_list[3] == 0)" ( (binary_expression "pushed_string_list[3] == 0" (subscript_expression "pushed_string_list[3]" identifier [ number_literal ]) == number_literal) ))) )) ))) )) (compound_statement "{\n        FUN_000354c0();\n      }" { (expression_statement "FUN_000354c0();" (call_expression "FUN_000354c0()" identifier (argument_list "()" ( ))) ;) })) (goto_statement "goto joined_r0x00035c60;" goto statement_identifier ;) })) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) }))) (return_statement "return uVar5;" return identifier ;) (labeled_statement "LAB_000362a8:\n  if (echo_input_at_read == 0) {\nLAB_00036178:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;\n  }\n  else {\n    if (*DAT_00176b74 != '\0') {\n      if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);\n      }\n      goto LAB_00036178;\n    }\nLAB_00036218:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;\n    if (shell_eof_token == 0) goto LAB_00036231;\n  }" statement_identifier : (if_statement "if (echo_input_at_read == 0) {\nLAB_00036178:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;\n  }\n  else {\n    if (*DAT_00176b74 != '\0') {\n      if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);\n      }\n      goto LAB_00036178;\n    }\nLAB_00036218:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;\n    if (shell_eof_token == 0) goto LAB_00036231;\n  }" if (parenthesized_expression "(echo_input_at_read == 0)" ( (binary_expression "echo_input_at_read == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00036178:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;\n  }" { (labeled_statement "LAB_00036178:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;" statement_identifier : (if_statement "if (DAT_00176b64 == -1) goto LAB_000361c3;" if (parenthesized_expression "(DAT_00176b64 == -1)" ( (binary_expression "DAT_00176b64 == -1" identifier == number_literal) )) (goto_statement "goto LAB_000361c3;" goto statement_identifier ;))) }) (else_clause "else {\n    if (*DAT_00176b74 != '\0') {\n      if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);\n      }\n      goto LAB_00036178;\n    }\nLAB_00036218:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;\n    if (shell_eof_token == 0) goto LAB_00036231;\n  }" else (compound_statement "{\n    if (*DAT_00176b74 != '\0') {\n      if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);\n      }\n      goto LAB_00036178;\n    }\nLAB_00036218:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;\n    if (shell_eof_token == 0) goto LAB_00036231;\n  }" { (if_statement "if (*DAT_00176b74 != '\0') {\n      if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);\n      }\n      goto LAB_00036178;\n    }" if (parenthesized_expression "(*DAT_00176b74 != '\0')" ( (binary_expression "*DAT_00176b74 != '\0'" (pointer_expression "*DAT_00176b74" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);\n      }\n      goto LAB_00036178;\n    }" { (if_statement "if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);\n      }" if (parenthesized_expression "(shell_eof_token == 0)" ( (binary_expression "shell_eof_token == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);\n      }" { (labeled_statement "LAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);" statement_identifier : (expression_statement "__fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);" (call_expression "__fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74)" identifier (argument_list "(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74)" ( (pointer_expression "*(undefined4 *)PTR_stderr_00171e54" * (cast_expression "(undefined4 *)PTR_stderr_00171e54" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal , (pointer_expression "&DAT_00125177" & identifier) , identifier ))) ;)) })) (goto_statement "goto LAB_00036178;" goto statement_identifier ;) })) (labeled_statement "LAB_00036218:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;" statement_identifier : (if_statement "if (DAT_00176b64 == -1) goto LAB_000361c3;" if (parenthesized_expression "(DAT_00176b64 == -1)" ( (binary_expression "DAT_00176b64 == -1" identifier == number_literal) )) (goto_statement "goto LAB_000361c3;" goto statement_identifier ;))) (if_statement "if (shell_eof_token == 0) goto LAB_00036231;" if (parenthesized_expression "(shell_eof_token == 0)" ( (binary_expression "shell_eof_token == 0" identifier == number_literal) )) (goto_statement "goto LAB_00036231;" goto statement_identifier ;)) })))) (if_statement "if ((DAT_00176b6c < 0xfffffffc) && (DAT_00176b6c < DAT_00176b68 + 3)) {\n    iVar7 = DAT_00176b6c + 3;\n    DAT_00176b6c = DAT_00176b6c + 2;\n    DAT_00176b74 = (char *)xrealloc(DAT_00176b74,iVar7);\n  }" if (parenthesized_expression "((DAT_00176b6c < 0xfffffffc) && (DAT_00176b6c < DAT_00176b68 + 3))" ( (binary_expression "(DAT_00176b6c < 0xfffffffc) && (DAT_00176b6c < DAT_00176b68 + 3)" (parenthesized_expression "(DAT_00176b6c < 0xfffffffc)" ( (binary_expression "DAT_00176b6c < 0xfffffffc" identifier < number_literal) )) && (parenthesized_expression "(DAT_00176b6c < DAT_00176b68 + 3)" ( (binary_expression "DAT_00176b6c < DAT_00176b68 + 3" identifier < (binary_expression "DAT_00176b68 + 3" identifier + number_literal)) ))) )) (compound_statement "{\n    iVar7 = DAT_00176b6c + 3;\n    DAT_00176b6c = DAT_00176b6c + 2;\n    DAT_00176b74 = (char *)xrealloc(DAT_00176b74,iVar7);\n  }" { (expression_statement "iVar7 = DAT_00176b6c + 3;" (assignment_expression "iVar7 = DAT_00176b6c + 3" identifier = (binary_expression "DAT_00176b6c + 3" identifier + number_literal)) ;) (expression_statement "DAT_00176b6c = DAT_00176b6c + 2;" (assignment_expression "DAT_00176b6c = DAT_00176b6c + 2" identifier = (binary_expression "DAT_00176b6c + 2" identifier + number_literal)) ;) (expression_statement "DAT_00176b74 = (char *)xrealloc(DAT_00176b74,iVar7);" (assignment_expression "DAT_00176b74 = (char *)xrealloc(DAT_00176b74,iVar7)" identifier = (cast_expression "(char *)xrealloc(DAT_00176b74,iVar7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xrealloc(DAT_00176b74,iVar7)" identifier (argument_list "(DAT_00176b74,iVar7)" ( identifier , identifier ))))) ;) })) (expression_statement "pcVar8 = DAT_00176b74;" (assignment_expression "pcVar8 = DAT_00176b74" identifier = identifier) ;) (expression_statement "sVar10 = DAT_00176b68;" (assignment_expression "sVar10 = DAT_00176b68" identifier = identifier) ;) (if_statement "if (((bash_input == 3) &&\n      (((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)) && (bVar3)))) &&\n     ((param_1 & bVar9) != 0)) {\n    DAT_00176b74[DAT_00176b68] = '\\';\n  }\n  else {\n    DAT_00176b74[DAT_00176b68] = '\n';\n  }" if (parenthesized_expression "(((bash_input == 3) &&\n      (((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)) && (bVar3)))) &&\n     ((param_1 & bVar9) != 0))" ( (binary_expression "((bash_input == 3) &&\n      (((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)) && (bVar3)))) &&\n     ((param_1 & bVar9) != 0)" (parenthesized_expression "((bash_input == 3) &&\n      (((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)) && (bVar3))))" ( (binary_expression "(bash_input == 3) &&\n      (((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)) && (bVar3)))" (parenthesized_expression "(bash_input == 3)" ( (binary_expression "bash_input == 3" identifier == number_literal) )) && (parenthesized_expression "(((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)) && (bVar3)))" ( (parenthesized_expression "((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)) && (bVar3))" ( (binary_expression "(pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)) && (bVar3)" (parenthesized_expression "(pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0))" ( (binary_expression "pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)" (binary_expression "pushed_string_list == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "(pushed_string_list[3] == 0)" ( (binary_expression "pushed_string_list[3] == 0" (subscript_expression "pushed_string_list[3]" identifier [ number_literal ]) == number_literal) ))) )) && (parenthesized_expression "(bVar3)" ( identifier ))) )) ))) )) && (parenthesized_expression "((param_1 & bVar9) != 0)" ( (binary_expression "(param_1 & bVar9) != 0" (parenthesized_expression "(param_1 & bVar9)" ( (binary_expression "param_1 & bVar9" identifier & identifier) )) != number_literal) ))) )) (compound_statement "{\n    DAT_00176b74[DAT_00176b68] = '\\';\n  }" { (expression_statement "DAT_00176b74[DAT_00176b68] = '\\';" (assignment_expression "DAT_00176b74[DAT_00176b68] = '\\'" (subscript_expression "DAT_00176b74[DAT_00176b68]" identifier [ identifier ]) = (char_literal "'\\'" ' escape_sequence ')) ;) }) (else_clause "else {\n    DAT_00176b74[DAT_00176b68] = '\n';\n  }" else (compound_statement "{\n    DAT_00176b74[DAT_00176b68] = '\n';\n  }" { (expression_statement "DAT_00176b74[DAT_00176b68] = '\n';" (assignment_expression "DAT_00176b74[DAT_00176b68] = '\n'" (subscript_expression "DAT_00176b74[DAT_00176b68]" identifier [ identifier ]) = (char_literal "'\n'" ' escape_sequence ')) ;) }))) (expression_statement "pcVar8[sVar10 + 1] = '\0';" (assignment_expression "pcVar8[sVar10 + 1] = '\0'" (subscript_expression "pcVar8[sVar10 + 1]" identifier [ (binary_expression "sVar10 + 1" identifier + number_literal) ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "FUN_00033160();" (call_expression "FUN_00033160()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_000361c3:\n  bVar9 = DAT_00176b74[DAT_00176b70];" statement_identifier : (expression_statement "bVar9 = DAT_00176b74[DAT_00176b70];" (assignment_expression "bVar9 = DAT_00176b74[DAT_00176b70]" identifier = (subscript_expression "DAT_00176b74[DAT_00176b70]" identifier [ identifier ])) ;)) (expression_statement "uVar5 = DAT_00176b70;" (assignment_expression "uVar5 = DAT_00176b70" identifier = identifier) ;) (goto_statement "goto LAB_00035a68;" goto statement_identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Type propagation algorithm not settling */\n\nint __regparm3 shell_getc(int remove_quoted_newline)\n\n{\n  bool bVar1;\n  undefined4 *puVar2;\n  undefined *puVar3;\n  uint uVar4;\n  STRING_SAVER *__ptr;\n  int iVar5;\n  char *pcVar6;\n  byte bVar7;\n  size_t sVar8;\n  int local_44;\n  byte local_38;\n  \n  puVar2 = (undefined4 *)PTR_stdin_00171f40;\n  if (shell_input_line == (char *)0x0) {\n    line_number = line_number + 1;\n    bVar1 = false;\n    goto joined_r0x00035c60;\n  }\n  bVar1 = false;\n  bVar7 = shell_input_line[shell_input_line_index];\n  sVar8 = shell_input_line_index;\n  if ((bVar7 == 0) && (pushed_string_list == (STRING_SAVER *)0x0)) {\n    line_number = line_number + 1;\n    if (shell_input_line_size < 0x8000) goto joined_r0x00035c60;\n    free(shell_input_line);\n    shell_input_line = (char *)0x0;\n    shell_input_line_size = 0;\n    puVar2 = (undefined4 *)PTR_stdin_00171f40;\n    goto joined_r0x00035c60;\n  }\nLAB_00035a68:\n  shell_input_line_index = sVar8;\n  sVar8 = shell_input_line_index;\n  if (bVar7 != 0) goto LAB_00035b58;\n  if (pushed_string_list != (STRING_SAVER *)0x0) {\n    local_44 = pushed_string_list->flags;\n    if (((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000U) == 0)) &&\n        (shell_input_line_index != 0)) &&\n       (((shell_input_line[shell_input_line_index - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)shell_input_line[shell_input_line_index - 1]] & 0x2001) == 0)) &&\n        ((dstack.delimiter_depth == 0 ||\n         ((dstack.delimiters[dstack.delimiter_depth + -1] != '\'' &&\n          (dstack.delimiters[dstack.delimiter_depth + -1] != '\"')))))))) {\n      parser_state = parser_state | 0x200000;\n      return 0x20;\n    }\n    while (local_44 != 4) {\n      parser_state = parser_state & 0xffdfffff;\n      __ptr = pushed_string_list;\n      if (shell_input_line != (char *)0x0) {\n        free(shell_input_line);\n        __ptr = pushed_string_list;\n      }\n      shell_input_line = __ptr->saved_line;\n      shell_input_line_index = __ptr->saved_line_index;\n      shell_input_line_size = __ptr->saved_line_size;\n      shell_input_line_terminator = __ptr->saved_line_terminator;\n      uVar4 = parser_state & 0xfffffffd;\n      if (__ptr->expand_alias != 0) {\n        uVar4 = parser_state | 2;\n      }\n      pushed_string_list = __ptr->next;\n      parser_state = uVar4;\n      if (__ptr->expander != (alias_t *)0x0) {\n        pcVar6 = &__ptr->expander->flags;\n        *pcVar6 = *pcVar6 & 0xfd;\n      }\n      free(__ptr);\n      set_line_mbstate();\n      bVar7 = shell_input_line[shell_input_line_index];\n      sVar8 = shell_input_line_index;\n      if (bVar7 == 0) break;\nLAB_00035b58:\n      shell_input_line_index = sVar8 + 1;\n      if ((bVar7 != 0x5c) || ((remove_quoted_newline & 1U) == 0)) {\n        if (bVar7 != 0) {\n          return (uint)bVar7;\n        }\n        break;\n      }\n      if ((shell_input_line[shell_input_line_index] != '\n') ||\n         ((1 < shell_input_line_index && (shell_input_line_property[sVar8] == '\0')))) {\n        return 0x5c;\n      }\n      if ((interactive == 0) || (1 < bash_input.type - st_stdin)) {\nLAB_00035bbb:\n        line_number = line_number + 1;\n        puVar2 = (undefined4 *)PTR_stdin_00171f40;\n        if (pushed_string_list == (STRING_SAVER *)0x0) goto joined_r0x00035c60;\n      }\n      else {\n        if ((pushed_string_list == (STRING_SAVER *)0x0) ||\n           (pushed_string_list->expander == (alias_t *)0x0)) {\n          prompt_again();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }\n      puVar2 = (undefined4 *)PTR_stdin_00171f40;\n      if (pushed_string_list->expander == (alias_t *)0x0) goto joined_r0x00035c60;\n      bVar7 = shell_input_line[shell_input_line_index + 1];\n      sVar8 = shell_input_line_index + 1;\n      if (bVar7 != 0) goto LAB_00035a68;\n      local_44 = pushed_string_list->flags;\n    }\n  }\n  if (shell_input_line_terminator == -1) {\n    uVar4 = 0xffffffff;\n    if (shell_input_line_index != 0) {\n      uVar4 = 10;\n    }\n  }\n  else {\n    if ((((bash_input.type == st_string) && (*bash_input.location.string != '\0')) &&\n        (pushed_string_list != (STRING_SAVER *)0x0)) &&\n       ((pushed_string_list->flags == 4 && (shell_input_line_terminator == 0)))) {\n      shell_input_line_index = 0;\n      shell_input_line_terminator = 0;\n      puVar2 = (undefined4 *)PTR_stdin_00171f40;\njoined_r0x00035c60:\n      if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }\n      if (interrupt_state != 0) {\n        throw_to_top_level();\n      }\n      shell_input_line_terminator = 0;\n      if (interactive_shell == 0) {\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar3 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input.type - st_stdin < 2)) {\n          fputs(current_decoded_prompt,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar3);\n        }\njoined_r0x00035e4b:\n        if (bash_input.type == st_stream) {\n          clearerr((FILE *)*puVar2);\n        }\n      }\n      else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input.type - st_stdin < 2) goto LAB_00035e18;\n      }\n      sVar8 = 0;\n      do {\n        iVar5 = (*(code *)bash_input.getter)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar5 == 0) break;\n          if (shell_input_line_size < 0xffffff00) {\n            if (shell_input_line_size <= sVar8 + 2) {\n              do {\n                shell_input_line_size = shell_input_line_size + 0x100;\n              } while (shell_input_line_size <= sVar8 + 2);\n              shell_input_line = (char *)xrealloc(shell_input_line,shell_input_line_size);\n            }\n          }\n          else if (shell_input_line_size != 0xffffffff) {\n            shell_input_line_size = 0xffffffff;\n            shell_input_line = (char *)xrealloc(shell_input_line,0xffffffff);\n          }\n          pcVar6 = shell_input_line + sVar8;\n          if (iVar5 == -1) {\n            if (bash_input.type == st_stream) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar8 == 0) {\n              shell_input_line_terminator = -1;\n            }\n            *pcVar6 = '\0';\n            bVar7 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar6 = (char)iVar5;\n          if (iVar5 == 10) {\n            *pcVar6 = '\0';\n            bVar7 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar1 = iVar5 == 0x5c && !bVar1;\n          iVar5 = (*(code *)bash_input.getter)();\n          sVar8 = sVar8 + 1;\n        }\n      } while (bash_input.type != st_string);\n      if (sVar8 == 0) {\n        shell_input_line_terminator = -1;\n      }\n      shell_input_line[sVar8] = '\0';\n      bVar7 = 1;\nLAB_00035cff:\n      shell_input_line_index = 0;\n      shell_input_line_len = sVar8;\n      set_line_mbstate();\n      if (remember_on_history == 0) goto joined_r0x00035d82;\n      if (shell_input_line != (char *)0x0) {\n        if (*shell_input_line == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((dstack.delimiter_depth != 0) &&\n              (dstack.delimiters[dstack.delimiter_depth + -1] != '\0')) ||\n             ((pcVar6 = history_delimiting_chars(shell_input_line), pcVar6 != (char *)0x0 &&\n              (*pcVar6 == ';')))) {\n            maybe_add_history(shell_input_line);\n          }\n        }\n        else {\n          if (dstack.delimiter_depth == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else if (dstack.delimiters[dstack.delimiter_depth + -1] == '\'') {\n            history_quoting_state = 0x27;\n          }\n          else {\n            if (dstack.delimiters[dstack.delimiter_depth + -1] != '\"') goto LAB_00035f8e;\n            history_quoting_state = 0x22;\n          }\n          pcVar6 = pre_process_line(shell_input_line,1,1);\n          history_quoting_state = 0;\n          if (pcVar6 != shell_input_line) {\n            free(shell_input_line);\n            shell_input_line = pcVar6;\n            if (pcVar6 == (char *)0x0) {\n              shell_input_line_len = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              shell_input_line_size = 0;\n            }\n            else {\n              shell_input_line_size = strlen(pcVar6);\n              shell_input_line_len = shell_input_line_size;\n              if (shell_input_line_size == 0) goto LAB_000362e0;\n            }\n            set_line_mbstate();\n          }\n        }\njoined_r0x00035d82:\n        if (shell_input_line != (char *)0x0) goto LAB_000362a8;\n      }\n      shell_input_line_size = 0;\n      prompt_string_pointer = &current_prompt_string;\n      if (((interactive != 0) && (bash_input.type - st_stdin < 2)) &&\n         ((pushed_string_list == (STRING_SAVER *)0x0 ||\n          (pushed_string_list->expander == (alias_t *)0x0)))) {\n        prompt_again();\n      }\n      goto joined_r0x00035c60;\n    }\n    uVar4 = 0;\n  }\n  return uVar4;\nLAB_000362a8:\n  if (echo_input_at_read == 0) {\nLAB_00036178:\n    if (shell_input_line_terminator == -1) goto LAB_000361c3;\n  }\n  else {\n    if (*shell_input_line != '\0') {\n      if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,shell_input_line);\n      }\n      goto LAB_00036178;\n    }\nLAB_00036218:\n    if (shell_input_line_terminator == -1) goto LAB_000361c3;\n    if (shell_eof_token == 0) goto LAB_00036231;\n  }\n  if ((shell_input_line_size < 0xfffffffc) && (shell_input_line_size < shell_input_line_len + 3)) {\n    sVar8 = shell_input_line_size + 3;\n    shell_input_line_size = shell_input_line_size + 2;\n    shell_input_line = (char *)xrealloc(shell_input_line,sVar8);\n  }\n  pcVar6 = shell_input_line;\n  sVar8 = shell_input_line_len;\n  if (((bash_input.type == st_string) &&\n      (((pushed_string_list == (STRING_SAVER *)0x0 ||\n        (pushed_string_list->expander == (alias_t *)0x0)) && (bVar1)))) &&\n     (local_38 = (byte)remove_quoted_newline, (local_38 & bVar7) != 0)) {\n    shell_input_line[shell_input_line_len] = '\\';\n  }\n  else {\n    shell_input_line[shell_input_line_len] = '\n';\n  }\n  pcVar6[sVar8 + 1] = '\0';\n  set_line_mbstate();\nLAB_000361c3:\n  bVar7 = shell_input_line[shell_input_line_index];\n  sVar8 = shell_input_line_index;\n  goto LAB_00035a68;\n}\n\n" comment comment (function_definition "int __regparm3 shell_getc(int remove_quoted_newline)\n\n{\n  bool bVar1;\n  undefined4 *puVar2;\n  undefined *puVar3;\n  uint uVar4;\n  STRING_SAVER *__ptr;\n  int iVar5;\n  char *pcVar6;\n  byte bVar7;\n  size_t sVar8;\n  int local_44;\n  byte local_38;\n  \n  puVar2 = (undefined4 *)PTR_stdin_00171f40;\n  if (shell_input_line == (char *)0x0) {\n    line_number = line_number + 1;\n    bVar1 = false;\n    goto joined_r0x00035c60;\n  }\n  bVar1 = false;\n  bVar7 = shell_input_line[shell_input_line_index];\n  sVar8 = shell_input_line_index;\n  if ((bVar7 == 0) && (pushed_string_list == (STRING_SAVER *)0x0)) {\n    line_number = line_number + 1;\n    if (shell_input_line_size < 0x8000) goto joined_r0x00035c60;\n    free(shell_input_line);\n    shell_input_line = (char *)0x0;\n    shell_input_line_size = 0;\n    puVar2 = (undefined4 *)PTR_stdin_00171f40;\n    goto joined_r0x00035c60;\n  }\nLAB_00035a68:\n  shell_input_line_index = sVar8;\n  sVar8 = shell_input_line_index;\n  if (bVar7 != 0) goto LAB_00035b58;\n  if (pushed_string_list != (STRING_SAVER *)0x0) {\n    local_44 = pushed_string_list->flags;\n    if (((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000U) == 0)) &&\n        (shell_input_line_index != 0)) &&\n       (((shell_input_line[shell_input_line_index - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)shell_input_line[shell_input_line_index - 1]] & 0x2001) == 0)) &&\n        ((dstack.delimiter_depth == 0 ||\n         ((dstack.delimiters[dstack.delimiter_depth + -1] != '\'' &&\n          (dstack.delimiters[dstack.delimiter_depth + -1] != '\"')))))))) {\n      parser_state = parser_state | 0x200000;\n      return 0x20;\n    }\n    while (local_44 != 4) {\n      parser_state = parser_state & 0xffdfffff;\n      __ptr = pushed_string_list;\n      if (shell_input_line != (char *)0x0) {\n        free(shell_input_line);\n        __ptr = pushed_string_list;\n      }\n      shell_input_line = __ptr->saved_line;\n      shell_input_line_index = __ptr->saved_line_index;\n      shell_input_line_size = __ptr->saved_line_size;\n      shell_input_line_terminator = __ptr->saved_line_terminator;\n      uVar4 = parser_state & 0xfffffffd;\n      if (__ptr->expand_alias != 0) {\n        uVar4 = parser_state | 2;\n      }\n      pushed_string_list = __ptr->next;\n      parser_state = uVar4;\n      if (__ptr->expander != (alias_t *)0x0) {\n        pcVar6 = &__ptr->expander->flags;\n        *pcVar6 = *pcVar6 & 0xfd;\n      }\n      free(__ptr);\n      set_line_mbstate();\n      bVar7 = shell_input_line[shell_input_line_index];\n      sVar8 = shell_input_line_index;\n      if (bVar7 == 0) break;\nLAB_00035b58:\n      shell_input_line_index = sVar8 + 1;\n      if ((bVar7 != 0x5c) || ((remove_quoted_newline & 1U) == 0)) {\n        if (bVar7 != 0) {\n          return (uint)bVar7;\n        }\n        break;\n      }\n      if ((shell_input_line[shell_input_line_index] != '\n') ||\n         ((1 < shell_input_line_index && (shell_input_line_property[sVar8] == '\0')))) {\n        return 0x5c;\n      }\n      if ((interactive == 0) || (1 < bash_input.type - st_stdin)) {\nLAB_00035bbb:\n        line_number = line_number + 1;\n        puVar2 = (undefined4 *)PTR_stdin_00171f40;\n        if (pushed_string_list == (STRING_SAVER *)0x0) goto joined_r0x00035c60;\n      }\n      else {\n        if ((pushed_string_list == (STRING_SAVER *)0x0) ||\n           (pushed_string_list->expander == (alias_t *)0x0)) {\n          prompt_again();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }\n      puVar2 = (undefined4 *)PTR_stdin_00171f40;\n      if (pushed_string_list->expander == (alias_t *)0x0) goto joined_r0x00035c60;\n      bVar7 = shell_input_line[shell_input_line_index + 1];\n      sVar8 = shell_input_line_index + 1;\n      if (bVar7 != 0) goto LAB_00035a68;\n      local_44 = pushed_string_list->flags;\n    }\n  }\n  if (shell_input_line_terminator == -1) {\n    uVar4 = 0xffffffff;\n    if (shell_input_line_index != 0) {\n      uVar4 = 10;\n    }\n  }\n  else {\n    if ((((bash_input.type == st_string) && (*bash_input.location.string != '\0')) &&\n        (pushed_string_list != (STRING_SAVER *)0x0)) &&\n       ((pushed_string_list->flags == 4 && (shell_input_line_terminator == 0)))) {\n      shell_input_line_index = 0;\n      shell_input_line_terminator = 0;\n      puVar2 = (undefined4 *)PTR_stdin_00171f40;\njoined_r0x00035c60:\n      if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }\n      if (interrupt_state != 0) {\n        throw_to_top_level();\n      }\n      shell_input_line_terminator = 0;\n      if (interactive_shell == 0) {\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar3 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input.type - st_stdin < 2)) {\n          fputs(current_decoded_prompt,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar3);\n        }\njoined_r0x00035e4b:\n        if (bash_input.type == st_stream) {\n          clearerr((FILE *)*puVar2);\n        }\n      }\n      else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input.type - st_stdin < 2) goto LAB_00035e18;\n      }\n      sVar8 = 0;\n      do {\n        iVar5 = (*(code *)bash_input.getter)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar5 == 0) break;\n          if (shell_input_line_size < 0xffffff00) {\n            if (shell_input_line_size <= sVar8 + 2) {\n              do {\n                shell_input_line_size = shell_input_line_size + 0x100;\n              } while (shell_input_line_size <= sVar8 + 2);\n              shell_input_line = (char *)xrealloc(shell_input_line,shell_input_line_size);\n            }\n          }\n          else if (shell_input_line_size != 0xffffffff) {\n            shell_input_line_size = 0xffffffff;\n            shell_input_line = (char *)xrealloc(shell_input_line,0xffffffff);\n          }\n          pcVar6 = shell_input_line + sVar8;\n          if (iVar5 == -1) {\n            if (bash_input.type == st_stream) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar8 == 0) {\n              shell_input_line_terminator = -1;\n            }\n            *pcVar6 = '\0';\n            bVar7 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar6 = (char)iVar5;\n          if (iVar5 == 10) {\n            *pcVar6 = '\0';\n            bVar7 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar1 = iVar5 == 0x5c && !bVar1;\n          iVar5 = (*(code *)bash_input.getter)();\n          sVar8 = sVar8 + 1;\n        }\n      } while (bash_input.type != st_string);\n      if (sVar8 == 0) {\n        shell_input_line_terminator = -1;\n      }\n      shell_input_line[sVar8] = '\0';\n      bVar7 = 1;\nLAB_00035cff:\n      shell_input_line_index = 0;\n      shell_input_line_len = sVar8;\n      set_line_mbstate();\n      if (remember_on_history == 0) goto joined_r0x00035d82;\n      if (shell_input_line != (char *)0x0) {\n        if (*shell_input_line == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((dstack.delimiter_depth != 0) &&\n              (dstack.delimiters[dstack.delimiter_depth + -1] != '\0')) ||\n             ((pcVar6 = history_delimiting_chars(shell_input_line), pcVar6 != (char *)0x0 &&\n              (*pcVar6 == ';')))) {\n            maybe_add_history(shell_input_line);\n          }\n        }\n        else {\n          if (dstack.delimiter_depth == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else if (dstack.delimiters[dstack.delimiter_depth + -1] == '\'') {\n            history_quoting_state = 0x27;\n          }\n          else {\n            if (dstack.delimiters[dstack.delimiter_depth + -1] != '\"') goto LAB_00035f8e;\n            history_quoting_state = 0x22;\n          }\n          pcVar6 = pre_process_line(shell_input_line,1,1);\n          history_quoting_state = 0;\n          if (pcVar6 != shell_input_line) {\n            free(shell_input_line);\n            shell_input_line = pcVar6;\n            if (pcVar6 == (char *)0x0) {\n              shell_input_line_len = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              shell_input_line_size = 0;\n            }\n            else {\n              shell_input_line_size = strlen(pcVar6);\n              shell_input_line_len = shell_input_line_size;\n              if (shell_input_line_size == 0) goto LAB_000362e0;\n            }\n            set_line_mbstate();\n          }\n        }\njoined_r0x00035d82:\n        if (shell_input_line != (char *)0x0) goto LAB_000362a8;\n      }\n      shell_input_line_size = 0;\n      prompt_string_pointer = &current_prompt_string;\n      if (((interactive != 0) && (bash_input.type - st_stdin < 2)) &&\n         ((pushed_string_list == (STRING_SAVER *)0x0 ||\n          (pushed_string_list->expander == (alias_t *)0x0)))) {\n        prompt_again();\n      }\n      goto joined_r0x00035c60;\n    }\n    uVar4 = 0;\n  }\n  return uVar4;\nLAB_000362a8:\n  if (echo_input_at_read == 0) {\nLAB_00036178:\n    if (shell_input_line_terminator == -1) goto LAB_000361c3;\n  }\n  else {\n    if (*shell_input_line != '\0') {\n      if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,shell_input_line);\n      }\n      goto LAB_00036178;\n    }\nLAB_00036218:\n    if (shell_input_line_terminator == -1) goto LAB_000361c3;\n    if (shell_eof_token == 0) goto LAB_00036231;\n  }\n  if ((shell_input_line_size < 0xfffffffc) && (shell_input_line_size < shell_input_line_len + 3)) {\n    sVar8 = shell_input_line_size + 3;\n    shell_input_line_size = shell_input_line_size + 2;\n    shell_input_line = (char *)xrealloc(shell_input_line,sVar8);\n  }\n  pcVar6 = shell_input_line;\n  sVar8 = shell_input_line_len;\n  if (((bash_input.type == st_string) &&\n      (((pushed_string_list == (STRING_SAVER *)0x0 ||\n        (pushed_string_list->expander == (alias_t *)0x0)) && (bVar1)))) &&\n     (local_38 = (byte)remove_quoted_newline, (local_38 & bVar7) != 0)) {\n    shell_input_line[shell_input_line_len] = '\\';\n  }\n  else {\n    shell_input_line[shell_input_line_len] = '\n';\n  }\n  pcVar6[sVar8 + 1] = '\0';\n  set_line_mbstate();\nLAB_000361c3:\n  bVar7 = shell_input_line[shell_input_line_index];\n  sVar8 = shell_input_line_index;\n  goto LAB_00035a68;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "shell_getc(int remove_quoted_newline)" identifier (parameter_list "(int remove_quoted_newline)" ( (parameter_declaration "int remove_quoted_newline" primitive_type identifier) ))) (compound_statement "{\n  bool bVar1;\n  undefined4 *puVar2;\n  undefined *puVar3;\n  uint uVar4;\n  STRING_SAVER *__ptr;\n  int iVar5;\n  char *pcVar6;\n  byte bVar7;\n  size_t sVar8;\n  int local_44;\n  byte local_38;\n  \n  puVar2 = (undefined4 *)PTR_stdin_00171f40;\n  if (shell_input_line == (char *)0x0) {\n    line_number = line_number + 1;\n    bVar1 = false;\n    goto joined_r0x00035c60;\n  }\n  bVar1 = false;\n  bVar7 = shell_input_line[shell_input_line_index];\n  sVar8 = shell_input_line_index;\n  if ((bVar7 == 0) && (pushed_string_list == (STRING_SAVER *)0x0)) {\n    line_number = line_number + 1;\n    if (shell_input_line_size < 0x8000) goto joined_r0x00035c60;\n    free(shell_input_line);\n    shell_input_line = (char *)0x0;\n    shell_input_line_size = 0;\n    puVar2 = (undefined4 *)PTR_stdin_00171f40;\n    goto joined_r0x00035c60;\n  }\nLAB_00035a68:\n  shell_input_line_index = sVar8;\n  sVar8 = shell_input_line_index;\n  if (bVar7 != 0) goto LAB_00035b58;\n  if (pushed_string_list != (STRING_SAVER *)0x0) {\n    local_44 = pushed_string_list->flags;\n    if (((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000U) == 0)) &&\n        (shell_input_line_index != 0)) &&\n       (((shell_input_line[shell_input_line_index - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)shell_input_line[shell_input_line_index - 1]] & 0x2001) == 0)) &&\n        ((dstack.delimiter_depth == 0 ||\n         ((dstack.delimiters[dstack.delimiter_depth + -1] != '\'' &&\n          (dstack.delimiters[dstack.delimiter_depth + -1] != '\"')))))))) {\n      parser_state = parser_state | 0x200000;\n      return 0x20;\n    }\n    while (local_44 != 4) {\n      parser_state = parser_state & 0xffdfffff;\n      __ptr = pushed_string_list;\n      if (shell_input_line != (char *)0x0) {\n        free(shell_input_line);\n        __ptr = pushed_string_list;\n      }\n      shell_input_line = __ptr->saved_line;\n      shell_input_line_index = __ptr->saved_line_index;\n      shell_input_line_size = __ptr->saved_line_size;\n      shell_input_line_terminator = __ptr->saved_line_terminator;\n      uVar4 = parser_state & 0xfffffffd;\n      if (__ptr->expand_alias != 0) {\n        uVar4 = parser_state | 2;\n      }\n      pushed_string_list = __ptr->next;\n      parser_state = uVar4;\n      if (__ptr->expander != (alias_t *)0x0) {\n        pcVar6 = &__ptr->expander->flags;\n        *pcVar6 = *pcVar6 & 0xfd;\n      }\n      free(__ptr);\n      set_line_mbstate();\n      bVar7 = shell_input_line[shell_input_line_index];\n      sVar8 = shell_input_line_index;\n      if (bVar7 == 0) break;\nLAB_00035b58:\n      shell_input_line_index = sVar8 + 1;\n      if ((bVar7 != 0x5c) || ((remove_quoted_newline & 1U) == 0)) {\n        if (bVar7 != 0) {\n          return (uint)bVar7;\n        }\n        break;\n      }\n      if ((shell_input_line[shell_input_line_index] != '\n') ||\n         ((1 < shell_input_line_index && (shell_input_line_property[sVar8] == '\0')))) {\n        return 0x5c;\n      }\n      if ((interactive == 0) || (1 < bash_input.type - st_stdin)) {\nLAB_00035bbb:\n        line_number = line_number + 1;\n        puVar2 = (undefined4 *)PTR_stdin_00171f40;\n        if (pushed_string_list == (STRING_SAVER *)0x0) goto joined_r0x00035c60;\n      }\n      else {\n        if ((pushed_string_list == (STRING_SAVER *)0x0) ||\n           (pushed_string_list->expander == (alias_t *)0x0)) {\n          prompt_again();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }\n      puVar2 = (undefined4 *)PTR_stdin_00171f40;\n      if (pushed_string_list->expander == (alias_t *)0x0) goto joined_r0x00035c60;\n      bVar7 = shell_input_line[shell_input_line_index + 1];\n      sVar8 = shell_input_line_index + 1;\n      if (bVar7 != 0) goto LAB_00035a68;\n      local_44 = pushed_string_list->flags;\n    }\n  }\n  if (shell_input_line_terminator == -1) {\n    uVar4 = 0xffffffff;\n    if (shell_input_line_index != 0) {\n      uVar4 = 10;\n    }\n  }\n  else {\n    if ((((bash_input.type == st_string) && (*bash_input.location.string != '\0')) &&\n        (pushed_string_list != (STRING_SAVER *)0x0)) &&\n       ((pushed_string_list->flags == 4 && (shell_input_line_terminator == 0)))) {\n      shell_input_line_index = 0;\n      shell_input_line_terminator = 0;\n      puVar2 = (undefined4 *)PTR_stdin_00171f40;\njoined_r0x00035c60:\n      if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }\n      if (interrupt_state != 0) {\n        throw_to_top_level();\n      }\n      shell_input_line_terminator = 0;\n      if (interactive_shell == 0) {\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar3 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input.type - st_stdin < 2)) {\n          fputs(current_decoded_prompt,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar3);\n        }\njoined_r0x00035e4b:\n        if (bash_input.type == st_stream) {\n          clearerr((FILE *)*puVar2);\n        }\n      }\n      else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input.type - st_stdin < 2) goto LAB_00035e18;\n      }\n      sVar8 = 0;\n      do {\n        iVar5 = (*(code *)bash_input.getter)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar5 == 0) break;\n          if (shell_input_line_size < 0xffffff00) {\n            if (shell_input_line_size <= sVar8 + 2) {\n              do {\n                shell_input_line_size = shell_input_line_size + 0x100;\n              } while (shell_input_line_size <= sVar8 + 2);\n              shell_input_line = (char *)xrealloc(shell_input_line,shell_input_line_size);\n            }\n          }\n          else if (shell_input_line_size != 0xffffffff) {\n            shell_input_line_size = 0xffffffff;\n            shell_input_line = (char *)xrealloc(shell_input_line,0xffffffff);\n          }\n          pcVar6 = shell_input_line + sVar8;\n          if (iVar5 == -1) {\n            if (bash_input.type == st_stream) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar8 == 0) {\n              shell_input_line_terminator = -1;\n            }\n            *pcVar6 = '\0';\n            bVar7 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar6 = (char)iVar5;\n          if (iVar5 == 10) {\n            *pcVar6 = '\0';\n            bVar7 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar1 = iVar5 == 0x5c && !bVar1;\n          iVar5 = (*(code *)bash_input.getter)();\n          sVar8 = sVar8 + 1;\n        }\n      } while (bash_input.type != st_string);\n      if (sVar8 == 0) {\n        shell_input_line_terminator = -1;\n      }\n      shell_input_line[sVar8] = '\0';\n      bVar7 = 1;\nLAB_00035cff:\n      shell_input_line_index = 0;\n      shell_input_line_len = sVar8;\n      set_line_mbstate();\n      if (remember_on_history == 0) goto joined_r0x00035d82;\n      if (shell_input_line != (char *)0x0) {\n        if (*shell_input_line == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((dstack.delimiter_depth != 0) &&\n              (dstack.delimiters[dstack.delimiter_depth + -1] != '\0')) ||\n             ((pcVar6 = history_delimiting_chars(shell_input_line), pcVar6 != (char *)0x0 &&\n              (*pcVar6 == ';')))) {\n            maybe_add_history(shell_input_line);\n          }\n        }\n        else {\n          if (dstack.delimiter_depth == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else if (dstack.delimiters[dstack.delimiter_depth + -1] == '\'') {\n            history_quoting_state = 0x27;\n          }\n          else {\n            if (dstack.delimiters[dstack.delimiter_depth + -1] != '\"') goto LAB_00035f8e;\n            history_quoting_state = 0x22;\n          }\n          pcVar6 = pre_process_line(shell_input_line,1,1);\n          history_quoting_state = 0;\n          if (pcVar6 != shell_input_line) {\n            free(shell_input_line);\n            shell_input_line = pcVar6;\n            if (pcVar6 == (char *)0x0) {\n              shell_input_line_len = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              shell_input_line_size = 0;\n            }\n            else {\n              shell_input_line_size = strlen(pcVar6);\n              shell_input_line_len = shell_input_line_size;\n              if (shell_input_line_size == 0) goto LAB_000362e0;\n            }\n            set_line_mbstate();\n          }\n        }\njoined_r0x00035d82:\n        if (shell_input_line != (char *)0x0) goto LAB_000362a8;\n      }\n      shell_input_line_size = 0;\n      prompt_string_pointer = &current_prompt_string;\n      if (((interactive != 0) && (bash_input.type - st_stdin < 2)) &&\n         ((pushed_string_list == (STRING_SAVER *)0x0 ||\n          (pushed_string_list->expander == (alias_t *)0x0)))) {\n        prompt_again();\n      }\n      goto joined_r0x00035c60;\n    }\n    uVar4 = 0;\n  }\n  return uVar4;\nLAB_000362a8:\n  if (echo_input_at_read == 0) {\nLAB_00036178:\n    if (shell_input_line_terminator == -1) goto LAB_000361c3;\n  }\n  else {\n    if (*shell_input_line != '\0') {\n      if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,shell_input_line);\n      }\n      goto LAB_00036178;\n    }\nLAB_00036218:\n    if (shell_input_line_terminator == -1) goto LAB_000361c3;\n    if (shell_eof_token == 0) goto LAB_00036231;\n  }\n  if ((shell_input_line_size < 0xfffffffc) && (shell_input_line_size < shell_input_line_len + 3)) {\n    sVar8 = shell_input_line_size + 3;\n    shell_input_line_size = shell_input_line_size + 2;\n    shell_input_line = (char *)xrealloc(shell_input_line,sVar8);\n  }\n  pcVar6 = shell_input_line;\n  sVar8 = shell_input_line_len;\n  if (((bash_input.type == st_string) &&\n      (((pushed_string_list == (STRING_SAVER *)0x0 ||\n        (pushed_string_list->expander == (alias_t *)0x0)) && (bVar1)))) &&\n     (local_38 = (byte)remove_quoted_newline, (local_38 & bVar7) != 0)) {\n    shell_input_line[shell_input_line_len] = '\\';\n  }\n  else {\n    shell_input_line[shell_input_line_len] = '\n';\n  }\n  pcVar6[sVar8 + 1] = '\0';\n  set_line_mbstate();\nLAB_000361c3:\n  bVar7 = shell_input_line[shell_input_line_index];\n  sVar8 = shell_input_line_index;\n  goto LAB_00035a68;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "STRING_SAVER *__ptr;" type_identifier (pointer_declarator "*__ptr" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "byte bVar7;" type_identifier identifier ;) (declaration "size_t sVar8;" primitive_type identifier ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "byte local_38;" type_identifier identifier ;) (expression_statement "puVar2 = (undefined4 *)PTR_stdin_00171f40;" (assignment_expression "puVar2 = (undefined4 *)PTR_stdin_00171f40" identifier = (cast_expression "(undefined4 *)PTR_stdin_00171f40" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (shell_input_line == (char *)0x0) {\n    line_number = line_number + 1;\n    bVar1 = false;\n    goto joined_r0x00035c60;\n  }" if (parenthesized_expression "(shell_input_line == (char *)0x0)" ( (binary_expression "shell_input_line == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    line_number = line_number + 1;\n    bVar1 = false;\n    goto joined_r0x00035c60;\n  }" { (expression_statement "line_number = line_number + 1;" (assignment_expression "line_number = line_number + 1" identifier = (binary_expression "line_number + 1" identifier + number_literal)) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (goto_statement "goto joined_r0x00035c60;" goto statement_identifier ;) })) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (expression_statement "bVar7 = shell_input_line[shell_input_line_index];" (assignment_expression "bVar7 = shell_input_line[shell_input_line_index]" identifier = (subscript_expression "shell_input_line[shell_input_line_index]" identifier [ identifier ])) ;) (expression_statement "sVar8 = shell_input_line_index;" (assignment_expression "sVar8 = shell_input_line_index" identifier = identifier) ;) (if_statement "if ((bVar7 == 0) && (pushed_string_list == (STRING_SAVER *)0x0)) {\n    line_number = line_number + 1;\n    if (shell_input_line_size < 0x8000) goto joined_r0x00035c60;\n    free(shell_input_line);\n    shell_input_line = (char *)0x0;\n    shell_input_line_size = 0;\n    puVar2 = (undefined4 *)PTR_stdin_00171f40;\n    goto joined_r0x00035c60;\n  }" if (parenthesized_expression "((bVar7 == 0) && (pushed_string_list == (STRING_SAVER *)0x0))" ( (binary_expression "(bVar7 == 0) && (pushed_string_list == (STRING_SAVER *)0x0)" (parenthesized_expression "(bVar7 == 0)" ( (binary_expression "bVar7 == 0" identifier == number_literal) )) && (parenthesized_expression "(pushed_string_list == (STRING_SAVER *)0x0)" ( (binary_expression "pushed_string_list == (STRING_SAVER *)0x0" identifier == (cast_expression "(STRING_SAVER *)0x0" ( (type_descriptor "STRING_SAVER *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n    line_number = line_number + 1;\n    if (shell_input_line_size < 0x8000) goto joined_r0x00035c60;\n    free(shell_input_line);\n    shell_input_line = (char *)0x0;\n    shell_input_line_size = 0;\n    puVar2 = (undefined4 *)PTR_stdin_00171f40;\n    goto joined_r0x00035c60;\n  }" { (expression_statement "line_number = line_number + 1;" (assignment_expression "line_number = line_number + 1" identifier = (binary_expression "line_number + 1" identifier + number_literal)) ;) (if_statement "if (shell_input_line_size < 0x8000) goto joined_r0x00035c60;" if (parenthesized_expression "(shell_input_line_size < 0x8000)" ( (binary_expression "shell_input_line_size < 0x8000" identifier < number_literal) )) (goto_statement "goto joined_r0x00035c60;" goto statement_identifier ;)) (expression_statement "free(shell_input_line);" (call_expression "free(shell_input_line)" identifier (argument_list "(shell_input_line)" ( identifier ))) ;) (expression_statement "shell_input_line = (char *)0x0;" (assignment_expression "shell_input_line = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "shell_input_line_size = 0;" (assignment_expression "shell_input_line_size = 0" identifier = number_literal) ;) (expression_statement "puVar2 = (undefined4 *)PTR_stdin_00171f40;" (assignment_expression "puVar2 = (undefined4 *)PTR_stdin_00171f40" identifier = (cast_expression "(undefined4 *)PTR_stdin_00171f40" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto joined_r0x00035c60;" goto statement_identifier ;) })) (labeled_statement "LAB_00035a68:\n  shell_input_line_index = sVar8;" statement_identifier : (expression_statement "shell_input_line_index = sVar8;" (assignment_expression "shell_input_line_index = sVar8" identifier = identifier) ;)) (expression_statement "sVar8 = shell_input_line_index;" (assignment_expression "sVar8 = shell_input_line_index" identifier = identifier) ;) (if_statement "if (bVar7 != 0) goto LAB_00035b58;" if (parenthesized_expression "(bVar7 != 0)" ( (binary_expression "bVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00035b58;" goto statement_identifier ;)) (if_statement "if (pushed_string_list != (STRING_SAVER *)0x0) {\n    local_44 = pushed_string_list->flags;\n    if (((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000U) == 0)) &&\n        (shell_input_line_index != 0)) &&\n       (((shell_input_line[shell_input_line_index - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)shell_input_line[shell_input_line_index - 1]] & 0x2001) == 0)) &&\n        ((dstack.delimiter_depth == 0 ||\n         ((dstack.delimiters[dstack.delimiter_depth + -1] != '\'' &&\n          (dstack.delimiters[dstack.delimiter_depth + -1] != '\"')))))))) {\n      parser_state = parser_state | 0x200000;\n      return 0x20;\n    }\n    while (local_44 != 4) {\n      parser_state = parser_state & 0xffdfffff;\n      __ptr = pushed_string_list;\n      if (shell_input_line != (char *)0x0) {\n        free(shell_input_line);\n        __ptr = pushed_string_list;\n      }\n      shell_input_line = __ptr->saved_line;\n      shell_input_line_index = __ptr->saved_line_index;\n      shell_input_line_size = __ptr->saved_line_size;\n      shell_input_line_terminator = __ptr->saved_line_terminator;\n      uVar4 = parser_state & 0xfffffffd;\n      if (__ptr->expand_alias != 0) {\n        uVar4 = parser_state | 2;\n      }\n      pushed_string_list = __ptr->next;\n      parser_state = uVar4;\n      if (__ptr->expander != (alias_t *)0x0) {\n        pcVar6 = &__ptr->expander->flags;\n        *pcVar6 = *pcVar6 & 0xfd;\n      }\n      free(__ptr);\n      set_line_mbstate();\n      bVar7 = shell_input_line[shell_input_line_index];\n      sVar8 = shell_input_line_index;\n      if (bVar7 == 0) break;\nLAB_00035b58:\n      shell_input_line_index = sVar8 + 1;\n      if ((bVar7 != 0x5c) || ((remove_quoted_newline & 1U) == 0)) {\n        if (bVar7 != 0) {\n          return (uint)bVar7;\n        }\n        break;\n      }\n      if ((shell_input_line[shell_input_line_index] != '\n') ||\n         ((1 < shell_input_line_index && (shell_input_line_property[sVar8] == '\0')))) {\n        return 0x5c;\n      }\n      if ((interactive == 0) || (1 < bash_input.type - st_stdin)) {\nLAB_00035bbb:\n        line_number = line_number + 1;\n        puVar2 = (undefined4 *)PTR_stdin_00171f40;\n        if (pushed_string_list == (STRING_SAVER *)0x0) goto joined_r0x00035c60;\n      }\n      else {\n        if ((pushed_string_list == (STRING_SAVER *)0x0) ||\n           (pushed_string_list->expander == (alias_t *)0x0)) {\n          prompt_again();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }\n      puVar2 = (undefined4 *)PTR_stdin_00171f40;\n      if (pushed_string_list->expander == (alias_t *)0x0) goto joined_r0x00035c60;\n      bVar7 = shell_input_line[shell_input_line_index + 1];\n      sVar8 = shell_input_line_index + 1;\n      if (bVar7 != 0) goto LAB_00035a68;\n      local_44 = pushed_string_list->flags;\n    }\n  }" if (parenthesized_expression "(pushed_string_list != (STRING_SAVER *)0x0)" ( (binary_expression "pushed_string_list != (STRING_SAVER *)0x0" identifier != (cast_expression "(STRING_SAVER *)0x0" ( (type_descriptor "STRING_SAVER *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_44 = pushed_string_list->flags;\n    if (((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000U) == 0)) &&\n        (shell_input_line_index != 0)) &&\n       (((shell_input_line[shell_input_line_index - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)shell_input_line[shell_input_line_index - 1]] & 0x2001) == 0)) &&\n        ((dstack.delimiter_depth == 0 ||\n         ((dstack.delimiters[dstack.delimiter_depth + -1] != '\'' &&\n          (dstack.delimiters[dstack.delimiter_depth + -1] != '\"')))))))) {\n      parser_state = parser_state | 0x200000;\n      return 0x20;\n    }\n    while (local_44 != 4) {\n      parser_state = parser_state & 0xffdfffff;\n      __ptr = pushed_string_list;\n      if (shell_input_line != (char *)0x0) {\n        free(shell_input_line);\n        __ptr = pushed_string_list;\n      }\n      shell_input_line = __ptr->saved_line;\n      shell_input_line_index = __ptr->saved_line_index;\n      shell_input_line_size = __ptr->saved_line_size;\n      shell_input_line_terminator = __ptr->saved_line_terminator;\n      uVar4 = parser_state & 0xfffffffd;\n      if (__ptr->expand_alias != 0) {\n        uVar4 = parser_state | 2;\n      }\n      pushed_string_list = __ptr->next;\n      parser_state = uVar4;\n      if (__ptr->expander != (alias_t *)0x0) {\n        pcVar6 = &__ptr->expander->flags;\n        *pcVar6 = *pcVar6 & 0xfd;\n      }\n      free(__ptr);\n      set_line_mbstate();\n      bVar7 = shell_input_line[shell_input_line_index];\n      sVar8 = shell_input_line_index;\n      if (bVar7 == 0) break;\nLAB_00035b58:\n      shell_input_line_index = sVar8 + 1;\n      if ((bVar7 != 0x5c) || ((remove_quoted_newline & 1U) == 0)) {\n        if (bVar7 != 0) {\n          return (uint)bVar7;\n        }\n        break;\n      }\n      if ((shell_input_line[shell_input_line_index] != '\n') ||\n         ((1 < shell_input_line_index && (shell_input_line_property[sVar8] == '\0')))) {\n        return 0x5c;\n      }\n      if ((interactive == 0) || (1 < bash_input.type - st_stdin)) {\nLAB_00035bbb:\n        line_number = line_number + 1;\n        puVar2 = (undefined4 *)PTR_stdin_00171f40;\n        if (pushed_string_list == (STRING_SAVER *)0x0) goto joined_r0x00035c60;\n      }\n      else {\n        if ((pushed_string_list == (STRING_SAVER *)0x0) ||\n           (pushed_string_list->expander == (alias_t *)0x0)) {\n          prompt_again();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }\n      puVar2 = (undefined4 *)PTR_stdin_00171f40;\n      if (pushed_string_list->expander == (alias_t *)0x0) goto joined_r0x00035c60;\n      bVar7 = shell_input_line[shell_input_line_index + 1];\n      sVar8 = shell_input_line_index + 1;\n      if (bVar7 != 0) goto LAB_00035a68;\n      local_44 = pushed_string_list->flags;\n    }\n  }" { (expression_statement "local_44 = pushed_string_list->flags;" (assignment_expression "local_44 = pushed_string_list->flags" identifier = (field_expression "pushed_string_list->flags" identifier -> field_identifier)) ;) (if_statement "if (((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000U) == 0)) &&\n        (shell_input_line_index != 0)) &&\n       (((shell_input_line[shell_input_line_index - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)shell_input_line[shell_input_line_index - 1]] & 0x2001) == 0)) &&\n        ((dstack.delimiter_depth == 0 ||\n         ((dstack.delimiters[dstack.delimiter_depth + -1] != '\'' &&\n          (dstack.delimiters[dstack.delimiter_depth + -1] != '\"')))))))) {\n      parser_state = parser_state | 0x200000;\n      return 0x20;\n    }" if (parenthesized_expression "(((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000U) == 0)) &&\n        (shell_input_line_index != 0)) &&\n       (((shell_input_line[shell_input_line_index - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)shell_input_line[shell_input_line_index - 1]] & 0x2001) == 0)) &&\n        ((dstack.delimiter_depth == 0 ||\n         ((dstack.delimiters[dstack.delimiter_depth + -1] != '\'' &&\n          (dstack.delimiters[dstack.delimiter_depth + -1] != '\"'))))))))" ( (binary_expression "((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000U) == 0)) &&\n        (shell_input_line_index != 0)) &&\n       (((shell_input_line[shell_input_line_index - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)shell_input_line[shell_input_line_index - 1]] & 0x2001) == 0)) &&\n        ((dstack.delimiter_depth == 0 ||\n         ((dstack.delimiters[dstack.delimiter_depth + -1] != '\'' &&\n          (dstack.delimiters[dstack.delimiter_depth + -1] != '\"')))))))" (parenthesized_expression "((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000U) == 0)) &&\n        (shell_input_line_index != 0))" ( (binary_expression "(((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000U) == 0)) &&\n        (shell_input_line_index != 0)" (parenthesized_expression "(((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000U) == 0))" ( (binary_expression "((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000U) == 0)" (parenthesized_expression "((local_44 - 2U & 0xfffffffd) != 0)" ( (binary_expression "(local_44 - 2U & 0xfffffffd) != 0" (parenthesized_expression "(local_44 - 2U & 0xfffffffd)" ( (binary_expression "local_44 - 2U & 0xfffffffd" (binary_expression "local_44 - 2U" identifier - number_literal) & number_literal) )) != number_literal) )) && (parenthesized_expression "((parser_state & 0x300000U) == 0)" ( (binary_expression "(parser_state & 0x300000U) == 0" (parenthesized_expression "(parser_state & 0x300000U)" ( (binary_expression "parser_state & 0x300000U" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "(shell_input_line_index != 0)" ( (binary_expression "shell_input_line_index != 0" identifier != number_literal) ))) )) && (parenthesized_expression "(((shell_input_line[shell_input_line_index - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)shell_input_line[shell_input_line_index - 1]] & 0x2001) == 0)) &&\n        ((dstack.delimiter_depth == 0 ||\n         ((dstack.delimiters[dstack.delimiter_depth + -1] != '\'' &&\n          (dstack.delimiters[dstack.delimiter_depth + -1] != '\"')))))))" ( (parenthesized_expression "((shell_input_line[shell_input_line_index - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)shell_input_line[shell_input_line_index - 1]] & 0x2001) == 0)) &&\n        ((dstack.delimiter_depth == 0 ||\n         ((dstack.delimiters[dstack.delimiter_depth + -1] != '\'' &&\n          (dstack.delimiters[dstack.delimiter_depth + -1] != '\"'))))))" ( (binary_expression "(shell_input_line[shell_input_line_index - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)shell_input_line[shell_input_line_index - 1]] & 0x2001) == 0)) &&\n        ((dstack.delimiter_depth == 0 ||\n         ((dstack.delimiters[dstack.delimiter_depth + -1] != '\'' &&\n          (dstack.delimiters[dstack.delimiter_depth + -1] != '\"')))))" (parenthesized_expression "(shell_input_line[shell_input_line_index - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)shell_input_line[shell_input_line_index - 1]] & 0x2001) == 0))" ( (binary_expression "shell_input_line[shell_input_line_index - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)shell_input_line[shell_input_line_index - 1]] & 0x2001) == 0)" (binary_expression "shell_input_line[shell_input_line_index - 1] != 10" (subscript_expression "shell_input_line[shell_input_line_index - 1]" identifier [ (binary_expression "shell_input_line_index - 1" identifier - number_literal) ]) != number_literal) && (parenthesized_expression "(((&sh_syntaxtab)[(byte)shell_input_line[shell_input_line_index - 1]] & 0x2001) == 0)" ( (binary_expression "((&sh_syntaxtab)[(byte)shell_input_line[shell_input_line_index - 1]] & 0x2001) == 0" (parenthesized_expression "((&sh_syntaxtab)[(byte)shell_input_line[shell_input_line_index - 1]] & 0x2001)" ( (binary_expression "(&sh_syntaxtab)[(byte)shell_input_line[shell_input_line_index - 1]] & 0x2001" (subscript_expression "(&sh_syntaxtab)[(byte)shell_input_line[shell_input_line_index - 1]]" (parenthesized_expression "(&sh_syntaxtab)" ( (pointer_expression "&sh_syntaxtab" & identifier) )) [ (cast_expression "(byte)shell_input_line[shell_input_line_index - 1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "shell_input_line[shell_input_line_index - 1]" identifier [ (binary_expression "shell_input_line_index - 1" identifier - number_literal) ])) ]) & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((dstack.delimiter_depth == 0 ||\n         ((dstack.delimiters[dstack.delimiter_depth + -1] != '\'' &&\n          (dstack.delimiters[dstack.delimiter_depth + -1] != '\"')))))" ( (parenthesized_expression "(dstack.delimiter_depth == 0 ||\n         ((dstack.delimiters[dstack.delimiter_depth + -1] != '\'' &&\n          (dstack.delimiters[dstack.delimiter_depth + -1] != '\"'))))" ( (binary_expression "dstack.delimiter_depth == 0 ||\n         ((dstack.delimiters[dstack.delimiter_depth + -1] != '\'' &&\n          (dstack.delimiters[dstack.delimiter_depth + -1] != '\"')))" (binary_expression "dstack.delimiter_depth == 0" (field_expression "dstack.delimiter_depth" identifier . field_identifier) == number_literal) || (parenthesized_expression "((dstack.delimiters[dstack.delimiter_depth + -1] != '\'' &&\n          (dstack.delimiters[dstack.delimiter_depth + -1] != '\"')))" ( (parenthesized_expression "(dstack.delimiters[dstack.delimiter_depth + -1] != '\'' &&\n          (dstack.delimiters[dstack.delimiter_depth + -1] != '\"'))" ( (binary_expression "dstack.delimiters[dstack.delimiter_depth + -1] != '\'' &&\n          (dstack.delimiters[dstack.delimiter_depth + -1] != '\"')" (binary_expression "dstack.delimiters[dstack.delimiter_depth + -1] != '\''" (subscript_expression "dstack.delimiters[dstack.delimiter_depth + -1]" (field_expression "dstack.delimiters" identifier . field_identifier) [ (binary_expression "dstack.delimiter_depth + -1" (field_expression "dstack.delimiter_depth" identifier . field_identifier) + number_literal) ]) != (char_literal "'\''" ' escape_sequence ')) && (parenthesized_expression "(dstack.delimiters[dstack.delimiter_depth + -1] != '\"')" ( (binary_expression "dstack.delimiters[dstack.delimiter_depth + -1] != '\"'" (subscript_expression "dstack.delimiters[dstack.delimiter_depth + -1]" (field_expression "dstack.delimiters" identifier . field_identifier) [ (binary_expression "dstack.delimiter_depth + -1" (field_expression "dstack.delimiter_depth" identifier . field_identifier) + number_literal) ]) != (char_literal "'\"'" ' escape_sequence ')) ))) )) ))) )) ))) )) ))) )) (compound_statement "{\n      parser_state = parser_state | 0x200000;\n      return 0x20;\n    }" { (expression_statement "parser_state = parser_state | 0x200000;" (assignment_expression "parser_state = parser_state | 0x200000" identifier = (binary_expression "parser_state | 0x200000" identifier | number_literal)) ;) (return_statement "return 0x20;" return number_literal ;) })) (while_statement "while (local_44 != 4) {\n      parser_state = parser_state & 0xffdfffff;\n      __ptr = pushed_string_list;\n      if (shell_input_line != (char *)0x0) {\n        free(shell_input_line);\n        __ptr = pushed_string_list;\n      }\n      shell_input_line = __ptr->saved_line;\n      shell_input_line_index = __ptr->saved_line_index;\n      shell_input_line_size = __ptr->saved_line_size;\n      shell_input_line_terminator = __ptr->saved_line_terminator;\n      uVar4 = parser_state & 0xfffffffd;\n      if (__ptr->expand_alias != 0) {\n        uVar4 = parser_state | 2;\n      }\n      pushed_string_list = __ptr->next;\n      parser_state = uVar4;\n      if (__ptr->expander != (alias_t *)0x0) {\n        pcVar6 = &__ptr->expander->flags;\n        *pcVar6 = *pcVar6 & 0xfd;\n      }\n      free(__ptr);\n      set_line_mbstate();\n      bVar7 = shell_input_line[shell_input_line_index];\n      sVar8 = shell_input_line_index;\n      if (bVar7 == 0) break;\nLAB_00035b58:\n      shell_input_line_index = sVar8 + 1;\n      if ((bVar7 != 0x5c) || ((remove_quoted_newline & 1U) == 0)) {\n        if (bVar7 != 0) {\n          return (uint)bVar7;\n        }\n        break;\n      }\n      if ((shell_input_line[shell_input_line_index] != '\n') ||\n         ((1 < shell_input_line_index && (shell_input_line_property[sVar8] == '\0')))) {\n        return 0x5c;\n      }\n      if ((interactive == 0) || (1 < bash_input.type - st_stdin)) {\nLAB_00035bbb:\n        line_number = line_number + 1;\n        puVar2 = (undefined4 *)PTR_stdin_00171f40;\n        if (pushed_string_list == (STRING_SAVER *)0x0) goto joined_r0x00035c60;\n      }\n      else {\n        if ((pushed_string_list == (STRING_SAVER *)0x0) ||\n           (pushed_string_list->expander == (alias_t *)0x0)) {\n          prompt_again();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }\n      puVar2 = (undefined4 *)PTR_stdin_00171f40;\n      if (pushed_string_list->expander == (alias_t *)0x0) goto joined_r0x00035c60;\n      bVar7 = shell_input_line[shell_input_line_index + 1];\n      sVar8 = shell_input_line_index + 1;\n      if (bVar7 != 0) goto LAB_00035a68;\n      local_44 = pushed_string_list->flags;\n    }" while (parenthesized_expression "(local_44 != 4)" ( (binary_expression "local_44 != 4" identifier != number_literal) )) (compound_statement "{\n      parser_state = parser_state & 0xffdfffff;\n      __ptr = pushed_string_list;\n      if (shell_input_line != (char *)0x0) {\n        free(shell_input_line);\n        __ptr = pushed_string_list;\n      }\n      shell_input_line = __ptr->saved_line;\n      shell_input_line_index = __ptr->saved_line_index;\n      shell_input_line_size = __ptr->saved_line_size;\n      shell_input_line_terminator = __ptr->saved_line_terminator;\n      uVar4 = parser_state & 0xfffffffd;\n      if (__ptr->expand_alias != 0) {\n        uVar4 = parser_state | 2;\n      }\n      pushed_string_list = __ptr->next;\n      parser_state = uVar4;\n      if (__ptr->expander != (alias_t *)0x0) {\n        pcVar6 = &__ptr->expander->flags;\n        *pcVar6 = *pcVar6 & 0xfd;\n      }\n      free(__ptr);\n      set_line_mbstate();\n      bVar7 = shell_input_line[shell_input_line_index];\n      sVar8 = shell_input_line_index;\n      if (bVar7 == 0) break;\nLAB_00035b58:\n      shell_input_line_index = sVar8 + 1;\n      if ((bVar7 != 0x5c) || ((remove_quoted_newline & 1U) == 0)) {\n        if (bVar7 != 0) {\n          return (uint)bVar7;\n        }\n        break;\n      }\n      if ((shell_input_line[shell_input_line_index] != '\n') ||\n         ((1 < shell_input_line_index && (shell_input_line_property[sVar8] == '\0')))) {\n        return 0x5c;\n      }\n      if ((interactive == 0) || (1 < bash_input.type - st_stdin)) {\nLAB_00035bbb:\n        line_number = line_number + 1;\n        puVar2 = (undefined4 *)PTR_stdin_00171f40;\n        if (pushed_string_list == (STRING_SAVER *)0x0) goto joined_r0x00035c60;\n      }\n      else {\n        if ((pushed_string_list == (STRING_SAVER *)0x0) ||\n           (pushed_string_list->expander == (alias_t *)0x0)) {\n          prompt_again();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }\n      puVar2 = (undefined4 *)PTR_stdin_00171f40;\n      if (pushed_string_list->expander == (alias_t *)0x0) goto joined_r0x00035c60;\n      bVar7 = shell_input_line[shell_input_line_index + 1];\n      sVar8 = shell_input_line_index + 1;\n      if (bVar7 != 0) goto LAB_00035a68;\n      local_44 = pushed_string_list->flags;\n    }" { (expression_statement "parser_state = parser_state & 0xffdfffff;" (assignment_expression "parser_state = parser_state & 0xffdfffff" identifier = (binary_expression "parser_state & 0xffdfffff" identifier & number_literal)) ;) (expression_statement "__ptr = pushed_string_list;" (assignment_expression "__ptr = pushed_string_list" identifier = identifier) ;) (if_statement "if (shell_input_line != (char *)0x0) {\n        free(shell_input_line);\n        __ptr = pushed_string_list;\n      }" if (parenthesized_expression "(shell_input_line != (char *)0x0)" ( (binary_expression "shell_input_line != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        free(shell_input_line);\n        __ptr = pushed_string_list;\n      }" { (expression_statement "free(shell_input_line);" (call_expression "free(shell_input_line)" identifier (argument_list "(shell_input_line)" ( identifier ))) ;) (expression_statement "__ptr = pushed_string_list;" (assignment_expression "__ptr = pushed_string_list" identifier = identifier) ;) })) (expression_statement "shell_input_line = __ptr->saved_line;" (assignment_expression "shell_input_line = __ptr->saved_line" identifier = (field_expression "__ptr->saved_line" identifier -> field_identifier)) ;) (expression_statement "shell_input_line_index = __ptr->saved_line_index;" (assignment_expression "shell_input_line_index = __ptr->saved_line_index" identifier = (field_expression "__ptr->saved_line_index" identifier -> field_identifier)) ;) (expression_statement "shell_input_line_size = __ptr->saved_line_size;" (assignment_expression "shell_input_line_size = __ptr->saved_line_size" identifier = (field_expression "__ptr->saved_line_size" identifier -> field_identifier)) ;) (expression_statement "shell_input_line_terminator = __ptr->saved_line_terminator;" (assignment_expression "shell_input_line_terminator = __ptr->saved_line_terminator" identifier = (field_expression "__ptr->saved_line_terminator" identifier -> field_identifier)) ;) (expression_statement "uVar4 = parser_state & 0xfffffffd;" (assignment_expression "uVar4 = parser_state & 0xfffffffd" identifier = (binary_expression "parser_state & 0xfffffffd" identifier & number_literal)) ;) (if_statement "if (__ptr->expand_alias != 0) {\n        uVar4 = parser_state | 2;\n      }" if (parenthesized_expression "(__ptr->expand_alias != 0)" ( (binary_expression "__ptr->expand_alias != 0" (field_expression "__ptr->expand_alias" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n        uVar4 = parser_state | 2;\n      }" { (expression_statement "uVar4 = parser_state | 2;" (assignment_expression "uVar4 = parser_state | 2" identifier = (binary_expression "parser_state | 2" identifier | number_literal)) ;) })) (expression_statement "pushed_string_list = __ptr->next;" (assignment_expression "pushed_string_list = __ptr->next" identifier = (field_expression "__ptr->next" identifier -> field_identifier)) ;) (expression_statement "parser_state = uVar4;" (assignment_expression "parser_state = uVar4" identifier = identifier) ;) (if_statement "if (__ptr->expander != (alias_t *)0x0) {\n        pcVar6 = &__ptr->expander->flags;\n        *pcVar6 = *pcVar6 & 0xfd;\n      }" if (parenthesized_expression "(__ptr->expander != (alias_t *)0x0)" ( (binary_expression "__ptr->expander != (alias_t *)0x0" (field_expression "__ptr->expander" identifier -> field_identifier) != (cast_expression "(alias_t *)0x0" ( (type_descriptor "alias_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pcVar6 = &__ptr->expander->flags;\n        *pcVar6 = *pcVar6 & 0xfd;\n      }" { (expression_statement "pcVar6 = &__ptr->expander->flags;" (assignment_expression "pcVar6 = &__ptr->expander->flags" identifier = (pointer_expression "&__ptr->expander->flags" & (field_expression "__ptr->expander->flags" (field_expression "__ptr->expander" identifier -> field_identifier) -> field_identifier))) ;) (expression_statement "*pcVar6 = *pcVar6 & 0xfd;" (assignment_expression "*pcVar6 = *pcVar6 & 0xfd" (pointer_expression "*pcVar6" * identifier) = (binary_expression "*pcVar6 & 0xfd" (pointer_expression "*pcVar6" * identifier) & number_literal)) ;) })) (expression_statement "free(__ptr);" (call_expression "free(__ptr)" identifier (argument_list "(__ptr)" ( identifier ))) ;) (expression_statement "set_line_mbstate();" (call_expression "set_line_mbstate()" identifier (argument_list "()" ( ))) ;) (expression_statement "bVar7 = shell_input_line[shell_input_line_index];" (assignment_expression "bVar7 = shell_input_line[shell_input_line_index]" identifier = (subscript_expression "shell_input_line[shell_input_line_index]" identifier [ identifier ])) ;) (expression_statement "sVar8 = shell_input_line_index;" (assignment_expression "sVar8 = shell_input_line_index" identifier = identifier) ;) (if_statement "if (bVar7 == 0) break;" if (parenthesized_expression "(bVar7 == 0)" ( (binary_expression "bVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_00035b58:\n      shell_input_line_index = sVar8 + 1;" statement_identifier : (expression_statement "shell_input_line_index = sVar8 + 1;" (assignment_expression "shell_input_line_index = sVar8 + 1" identifier = (binary_expression "sVar8 + 1" identifier + number_literal)) ;)) (if_statement "if ((bVar7 != 0x5c) || ((remove_quoted_newline & 1U) == 0)) {\n        if (bVar7 != 0) {\n          return (uint)bVar7;\n        }\n        break;\n      }" if (parenthesized_expression "((bVar7 != 0x5c) || ((remove_quoted_newline & 1U) == 0))" ( (binary_expression "(bVar7 != 0x5c) || ((remove_quoted_newline & 1U) == 0)" (parenthesized_expression "(bVar7 != 0x5c)" ( (binary_expression "bVar7 != 0x5c" identifier != number_literal) )) || (parenthesized_expression "((remove_quoted_newline & 1U) == 0)" ( (binary_expression "(remove_quoted_newline & 1U) == 0" (parenthesized_expression "(remove_quoted_newline & 1U)" ( (binary_expression "remove_quoted_newline & 1U" identifier & number_literal) )) == number_literal) ))) )) (compound_statement "{\n        if (bVar7 != 0) {\n          return (uint)bVar7;\n        }\n        break;\n      }" { (if_statement "if (bVar7 != 0) {\n          return (uint)bVar7;\n        }" if (parenthesized_expression "(bVar7 != 0)" ( (binary_expression "bVar7 != 0" identifier != number_literal) )) (compound_statement "{\n          return (uint)bVar7;\n        }" { (return_statement "return (uint)bVar7;" return (cast_expression "(uint)bVar7" ( (type_descriptor "uint" type_identifier) ) identifier) ;) })) (break_statement "break;" break ;) })) (if_statement "if ((shell_input_line[shell_input_line_index] != '\n') ||\n         ((1 < shell_input_line_index && (shell_input_line_property[sVar8] == '\0')))) {\n        return 0x5c;\n      }" if (parenthesized_expression "((shell_input_line[shell_input_line_index] != '\n') ||\n         ((1 < shell_input_line_index && (shell_input_line_property[sVar8] == '\0'))))" ( (binary_expression "(shell_input_line[shell_input_line_index] != '\n') ||\n         ((1 < shell_input_line_index && (shell_input_line_property[sVar8] == '\0')))" (parenthesized_expression "(shell_input_line[shell_input_line_index] != '\n')" ( (binary_expression "shell_input_line[shell_input_line_index] != '\n'" (subscript_expression "shell_input_line[shell_input_line_index]" identifier [ identifier ]) != (char_literal "'\n'" ' escape_sequence ')) )) || (parenthesized_expression "((1 < shell_input_line_index && (shell_input_line_property[sVar8] == '\0')))" ( (parenthesized_expression "(1 < shell_input_line_index && (shell_input_line_property[sVar8] == '\0'))" ( (binary_expression "1 < shell_input_line_index && (shell_input_line_property[sVar8] == '\0')" (binary_expression "1 < shell_input_line_index" number_literal < identifier) && (parenthesized_expression "(shell_input_line_property[sVar8] == '\0')" ( (binary_expression "shell_input_line_property[sVar8] == '\0'" (subscript_expression "shell_input_line_property[sVar8]" identifier [ identifier ]) == (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (compound_statement "{\n        return 0x5c;\n      }" { (return_statement "return 0x5c;" return number_literal ;) })) (if_statement "if ((interactive == 0) || (1 < bash_input.type - st_stdin)) {\nLAB_00035bbb:\n        line_number = line_number + 1;\n        puVar2 = (undefined4 *)PTR_stdin_00171f40;\n        if (pushed_string_list == (STRING_SAVER *)0x0) goto joined_r0x00035c60;\n      }\n      else {\n        if ((pushed_string_list == (STRING_SAVER *)0x0) ||\n           (pushed_string_list->expander == (alias_t *)0x0)) {\n          prompt_again();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }" if (parenthesized_expression "((interactive == 0) || (1 < bash_input.type - st_stdin))" ( (binary_expression "(interactive == 0) || (1 < bash_input.type - st_stdin)" (parenthesized_expression "(interactive == 0)" ( (binary_expression "interactive == 0" identifier == number_literal) )) || (parenthesized_expression "(1 < bash_input.type - st_stdin)" ( (binary_expression "1 < bash_input.type - st_stdin" number_literal < (binary_expression "bash_input.type - st_stdin" (field_expression "bash_input.type" identifier . field_identifier) - identifier)) ))) )) (compound_statement "{\nLAB_00035bbb:\n        line_number = line_number + 1;\n        puVar2 = (undefined4 *)PTR_stdin_00171f40;\n        if (pushed_string_list == (STRING_SAVER *)0x0) goto joined_r0x00035c60;\n      }" { (labeled_statement "LAB_00035bbb:\n        line_number = line_number + 1;" statement_identifier : (expression_statement "line_number = line_number + 1;" (assignment_expression "line_number = line_number + 1" identifier = (binary_expression "line_number + 1" identifier + number_literal)) ;)) (expression_statement "puVar2 = (undefined4 *)PTR_stdin_00171f40;" (assignment_expression "puVar2 = (undefined4 *)PTR_stdin_00171f40" identifier = (cast_expression "(undefined4 *)PTR_stdin_00171f40" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (pushed_string_list == (STRING_SAVER *)0x0) goto joined_r0x00035c60;" if (parenthesized_expression "(pushed_string_list == (STRING_SAVER *)0x0)" ( (binary_expression "pushed_string_list == (STRING_SAVER *)0x0" identifier == (cast_expression "(STRING_SAVER *)0x0" ( (type_descriptor "STRING_SAVER *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto joined_r0x00035c60;" goto statement_identifier ;)) }) (else_clause "else {\n        if ((pushed_string_list == (STRING_SAVER *)0x0) ||\n           (pushed_string_list->expander == (alias_t *)0x0)) {\n          prompt_again();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }" else (compound_statement "{\n        if ((pushed_string_list == (STRING_SAVER *)0x0) ||\n           (pushed_string_list->expander == (alias_t *)0x0)) {\n          prompt_again();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }" { (if_statement "if ((pushed_string_list == (STRING_SAVER *)0x0) ||\n           (pushed_string_list->expander == (alias_t *)0x0)) {\n          prompt_again();\n          goto LAB_00035bbb;\n        }" if (parenthesized_expression "((pushed_string_list == (STRING_SAVER *)0x0) ||\n           (pushed_string_list->expander == (alias_t *)0x0))" ( (binary_expression "(pushed_string_list == (STRING_SAVER *)0x0) ||\n           (pushed_string_list->expander == (alias_t *)0x0)" (parenthesized_expression "(pushed_string_list == (STRING_SAVER *)0x0)" ( (binary_expression "pushed_string_list == (STRING_SAVER *)0x0" identifier == (cast_expression "(STRING_SAVER *)0x0" ( (type_descriptor "STRING_SAVER *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pushed_string_list->expander == (alias_t *)0x0)" ( (binary_expression "pushed_string_list->expander == (alias_t *)0x0" (field_expression "pushed_string_list->expander" identifier -> field_identifier) == (cast_expression "(alias_t *)0x0" ( (type_descriptor "alias_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n          prompt_again();\n          goto LAB_00035bbb;\n        }" { (expression_statement "prompt_again();" (call_expression "prompt_again()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_00035bbb;" goto statement_identifier ;) })) (expression_statement "line_number = line_number + 1;" (assignment_expression "line_number = line_number + 1" identifier = (binary_expression "line_number + 1" identifier + number_literal)) ;) }))) (expression_statement "puVar2 = (undefined4 *)PTR_stdin_00171f40;" (assignment_expression "puVar2 = (undefined4 *)PTR_stdin_00171f40" identifier = (cast_expression "(undefined4 *)PTR_stdin_00171f40" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (pushed_string_list->expander == (alias_t *)0x0) goto joined_r0x00035c60;" if (parenthesized_expression "(pushed_string_list->expander == (alias_t *)0x0)" ( (binary_expression "pushed_string_list->expander == (alias_t *)0x0" (field_expression "pushed_string_list->expander" identifier -> field_identifier) == (cast_expression "(alias_t *)0x0" ( (type_descriptor "alias_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto joined_r0x00035c60;" goto statement_identifier ;)) (expression_statement "bVar7 = shell_input_line[shell_input_line_index + 1];" (assignment_expression "bVar7 = shell_input_line[shell_input_line_index + 1]" identifier = (subscript_expression "shell_input_line[shell_input_line_index + 1]" identifier [ (binary_expression "shell_input_line_index + 1" identifier + number_literal) ])) ;) (expression_statement "sVar8 = shell_input_line_index + 1;" (assignment_expression "sVar8 = shell_input_line_index + 1" identifier = (binary_expression "shell_input_line_index + 1" identifier + number_literal)) ;) (if_statement "if (bVar7 != 0) goto LAB_00035a68;" if (parenthesized_expression "(bVar7 != 0)" ( (binary_expression "bVar7 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00035a68;" goto statement_identifier ;)) (expression_statement "local_44 = pushed_string_list->flags;" (assignment_expression "local_44 = pushed_string_list->flags" identifier = (field_expression "pushed_string_list->flags" identifier -> field_identifier)) ;) })) })) (if_statement "if (shell_input_line_terminator == -1) {\n    uVar4 = 0xffffffff;\n    if (shell_input_line_index != 0) {\n      uVar4 = 10;\n    }\n  }\n  else {\n    if ((((bash_input.type == st_string) && (*bash_input.location.string != '\0')) &&\n        (pushed_string_list != (STRING_SAVER *)0x0)) &&\n       ((pushed_string_list->flags == 4 && (shell_input_line_terminator == 0)))) {\n      shell_input_line_index = 0;\n      shell_input_line_terminator = 0;\n      puVar2 = (undefined4 *)PTR_stdin_00171f40;\njoined_r0x00035c60:\n      if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }\n      if (interrupt_state != 0) {\n        throw_to_top_level();\n      }\n      shell_input_line_terminator = 0;\n      if (interactive_shell == 0) {\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar3 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input.type - st_stdin < 2)) {\n          fputs(current_decoded_prompt,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar3);\n        }\njoined_r0x00035e4b:\n        if (bash_input.type == st_stream) {\n          clearerr((FILE *)*puVar2);\n        }\n      }\n      else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input.type - st_stdin < 2) goto LAB_00035e18;\n      }\n      sVar8 = 0;\n      do {\n        iVar5 = (*(code *)bash_input.getter)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar5 == 0) break;\n          if (shell_input_line_size < 0xffffff00) {\n            if (shell_input_line_size <= sVar8 + 2) {\n              do {\n                shell_input_line_size = shell_input_line_size + 0x100;\n              } while (shell_input_line_size <= sVar8 + 2);\n              shell_input_line = (char *)xrealloc(shell_input_line,shell_input_line_size);\n            }\n          }\n          else if (shell_input_line_size != 0xffffffff) {\n            shell_input_line_size = 0xffffffff;\n            shell_input_line = (char *)xrealloc(shell_input_line,0xffffffff);\n          }\n          pcVar6 = shell_input_line + sVar8;\n          if (iVar5 == -1) {\n            if (bash_input.type == st_stream) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar8 == 0) {\n              shell_input_line_terminator = -1;\n            }\n            *pcVar6 = '\0';\n            bVar7 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar6 = (char)iVar5;\n          if (iVar5 == 10) {\n            *pcVar6 = '\0';\n            bVar7 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar1 = iVar5 == 0x5c && !bVar1;\n          iVar5 = (*(code *)bash_input.getter)();\n          sVar8 = sVar8 + 1;\n        }\n      } while (bash_input.type != st_string);\n      if (sVar8 == 0) {\n        shell_input_line_terminator = -1;\n      }\n      shell_input_line[sVar8] = '\0';\n      bVar7 = 1;\nLAB_00035cff:\n      shell_input_line_index = 0;\n      shell_input_line_len = sVar8;\n      set_line_mbstate();\n      if (remember_on_history == 0) goto joined_r0x00035d82;\n      if (shell_input_line != (char *)0x0) {\n        if (*shell_input_line == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((dstack.delimiter_depth != 0) &&\n              (dstack.delimiters[dstack.delimiter_depth + -1] != '\0')) ||\n             ((pcVar6 = history_delimiting_chars(shell_input_line), pcVar6 != (char *)0x0 &&\n              (*pcVar6 == ';')))) {\n            maybe_add_history(shell_input_line);\n          }\n        }\n        else {\n          if (dstack.delimiter_depth == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else if (dstack.delimiters[dstack.delimiter_depth + -1] == '\'') {\n            history_quoting_state = 0x27;\n          }\n          else {\n            if (dstack.delimiters[dstack.delimiter_depth + -1] != '\"') goto LAB_00035f8e;\n            history_quoting_state = 0x22;\n          }\n          pcVar6 = pre_process_line(shell_input_line,1,1);\n          history_quoting_state = 0;\n          if (pcVar6 != shell_input_line) {\n            free(shell_input_line);\n            shell_input_line = pcVar6;\n            if (pcVar6 == (char *)0x0) {\n              shell_input_line_len = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              shell_input_line_size = 0;\n            }\n            else {\n              shell_input_line_size = strlen(pcVar6);\n              shell_input_line_len = shell_input_line_size;\n              if (shell_input_line_size == 0) goto LAB_000362e0;\n            }\n            set_line_mbstate();\n          }\n        }\njoined_r0x00035d82:\n        if (shell_input_line != (char *)0x0) goto LAB_000362a8;\n      }\n      shell_input_line_size = 0;\n      prompt_string_pointer = &current_prompt_string;\n      if (((interactive != 0) && (bash_input.type - st_stdin < 2)) &&\n         ((pushed_string_list == (STRING_SAVER *)0x0 ||\n          (pushed_string_list->expander == (alias_t *)0x0)))) {\n        prompt_again();\n      }\n      goto joined_r0x00035c60;\n    }\n    uVar4 = 0;\n  }" if (parenthesized_expression "(shell_input_line_terminator == -1)" ( (binary_expression "shell_input_line_terminator == -1" identifier == number_literal) )) (compound_statement "{\n    uVar4 = 0xffffffff;\n    if (shell_input_line_index != 0) {\n      uVar4 = 10;\n    }\n  }" { (expression_statement "uVar4 = 0xffffffff;" (assignment_expression "uVar4 = 0xffffffff" identifier = number_literal) ;) (if_statement "if (shell_input_line_index != 0) {\n      uVar4 = 10;\n    }" if (parenthesized_expression "(shell_input_line_index != 0)" ( (binary_expression "shell_input_line_index != 0" identifier != number_literal) )) (compound_statement "{\n      uVar4 = 10;\n    }" { (expression_statement "uVar4 = 10;" (assignment_expression "uVar4 = 10" identifier = number_literal) ;) })) }) (else_clause "else {\n    if ((((bash_input.type == st_string) && (*bash_input.location.string != '\0')) &&\n        (pushed_string_list != (STRING_SAVER *)0x0)) &&\n       ((pushed_string_list->flags == 4 && (shell_input_line_terminator == 0)))) {\n      shell_input_line_index = 0;\n      shell_input_line_terminator = 0;\n      puVar2 = (undefined4 *)PTR_stdin_00171f40;\njoined_r0x00035c60:\n      if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }\n      if (interrupt_state != 0) {\n        throw_to_top_level();\n      }\n      shell_input_line_terminator = 0;\n      if (interactive_shell == 0) {\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar3 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input.type - st_stdin < 2)) {\n          fputs(current_decoded_prompt,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar3);\n        }\njoined_r0x00035e4b:\n        if (bash_input.type == st_stream) {\n          clearerr((FILE *)*puVar2);\n        }\n      }\n      else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input.type - st_stdin < 2) goto LAB_00035e18;\n      }\n      sVar8 = 0;\n      do {\n        iVar5 = (*(code *)bash_input.getter)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar5 == 0) break;\n          if (shell_input_line_size < 0xffffff00) {\n            if (shell_input_line_size <= sVar8 + 2) {\n              do {\n                shell_input_line_size = shell_input_line_size + 0x100;\n              } while (shell_input_line_size <= sVar8 + 2);\n              shell_input_line = (char *)xrealloc(shell_input_line,shell_input_line_size);\n            }\n          }\n          else if (shell_input_line_size != 0xffffffff) {\n            shell_input_line_size = 0xffffffff;\n            shell_input_line = (char *)xrealloc(shell_input_line,0xffffffff);\n          }\n          pcVar6 = shell_input_line + sVar8;\n          if (iVar5 == -1) {\n            if (bash_input.type == st_stream) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar8 == 0) {\n              shell_input_line_terminator = -1;\n            }\n            *pcVar6 = '\0';\n            bVar7 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar6 = (char)iVar5;\n          if (iVar5 == 10) {\n            *pcVar6 = '\0';\n            bVar7 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar1 = iVar5 == 0x5c && !bVar1;\n          iVar5 = (*(code *)bash_input.getter)();\n          sVar8 = sVar8 + 1;\n        }\n      } while (bash_input.type != st_string);\n      if (sVar8 == 0) {\n        shell_input_line_terminator = -1;\n      }\n      shell_input_line[sVar8] = '\0';\n      bVar7 = 1;\nLAB_00035cff:\n      shell_input_line_index = 0;\n      shell_input_line_len = sVar8;\n      set_line_mbstate();\n      if (remember_on_history == 0) goto joined_r0x00035d82;\n      if (shell_input_line != (char *)0x0) {\n        if (*shell_input_line == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((dstack.delimiter_depth != 0) &&\n              (dstack.delimiters[dstack.delimiter_depth + -1] != '\0')) ||\n             ((pcVar6 = history_delimiting_chars(shell_input_line), pcVar6 != (char *)0x0 &&\n              (*pcVar6 == ';')))) {\n            maybe_add_history(shell_input_line);\n          }\n        }\n        else {\n          if (dstack.delimiter_depth == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else if (dstack.delimiters[dstack.delimiter_depth + -1] == '\'') {\n            history_quoting_state = 0x27;\n          }\n          else {\n            if (dstack.delimiters[dstack.delimiter_depth + -1] != '\"') goto LAB_00035f8e;\n            history_quoting_state = 0x22;\n          }\n          pcVar6 = pre_process_line(shell_input_line,1,1);\n          history_quoting_state = 0;\n          if (pcVar6 != shell_input_line) {\n            free(shell_input_line);\n            shell_input_line = pcVar6;\n            if (pcVar6 == (char *)0x0) {\n              shell_input_line_len = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              shell_input_line_size = 0;\n            }\n            else {\n              shell_input_line_size = strlen(pcVar6);\n              shell_input_line_len = shell_input_line_size;\n              if (shell_input_line_size == 0) goto LAB_000362e0;\n            }\n            set_line_mbstate();\n          }\n        }\njoined_r0x00035d82:\n        if (shell_input_line != (char *)0x0) goto LAB_000362a8;\n      }\n      shell_input_line_size = 0;\n      prompt_string_pointer = &current_prompt_string;\n      if (((interactive != 0) && (bash_input.type - st_stdin < 2)) &&\n         ((pushed_string_list == (STRING_SAVER *)0x0 ||\n          (pushed_string_list->expander == (alias_t *)0x0)))) {\n        prompt_again();\n      }\n      goto joined_r0x00035c60;\n    }\n    uVar4 = 0;\n  }" else (compound_statement "{\n    if ((((bash_input.type == st_string) && (*bash_input.location.string != '\0')) &&\n        (pushed_string_list != (STRING_SAVER *)0x0)) &&\n       ((pushed_string_list->flags == 4 && (shell_input_line_terminator == 0)))) {\n      shell_input_line_index = 0;\n      shell_input_line_terminator = 0;\n      puVar2 = (undefined4 *)PTR_stdin_00171f40;\njoined_r0x00035c60:\n      if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }\n      if (interrupt_state != 0) {\n        throw_to_top_level();\n      }\n      shell_input_line_terminator = 0;\n      if (interactive_shell == 0) {\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar3 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input.type - st_stdin < 2)) {\n          fputs(current_decoded_prompt,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar3);\n        }\njoined_r0x00035e4b:\n        if (bash_input.type == st_stream) {\n          clearerr((FILE *)*puVar2);\n        }\n      }\n      else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input.type - st_stdin < 2) goto LAB_00035e18;\n      }\n      sVar8 = 0;\n      do {\n        iVar5 = (*(code *)bash_input.getter)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar5 == 0) break;\n          if (shell_input_line_size < 0xffffff00) {\n            if (shell_input_line_size <= sVar8 + 2) {\n              do {\n                shell_input_line_size = shell_input_line_size + 0x100;\n              } while (shell_input_line_size <= sVar8 + 2);\n              shell_input_line = (char *)xrealloc(shell_input_line,shell_input_line_size);\n            }\n          }\n          else if (shell_input_line_size != 0xffffffff) {\n            shell_input_line_size = 0xffffffff;\n            shell_input_line = (char *)xrealloc(shell_input_line,0xffffffff);\n          }\n          pcVar6 = shell_input_line + sVar8;\n          if (iVar5 == -1) {\n            if (bash_input.type == st_stream) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar8 == 0) {\n              shell_input_line_terminator = -1;\n            }\n            *pcVar6 = '\0';\n            bVar7 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar6 = (char)iVar5;\n          if (iVar5 == 10) {\n            *pcVar6 = '\0';\n            bVar7 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar1 = iVar5 == 0x5c && !bVar1;\n          iVar5 = (*(code *)bash_input.getter)();\n          sVar8 = sVar8 + 1;\n        }\n      } while (bash_input.type != st_string);\n      if (sVar8 == 0) {\n        shell_input_line_terminator = -1;\n      }\n      shell_input_line[sVar8] = '\0';\n      bVar7 = 1;\nLAB_00035cff:\n      shell_input_line_index = 0;\n      shell_input_line_len = sVar8;\n      set_line_mbstate();\n      if (remember_on_history == 0) goto joined_r0x00035d82;\n      if (shell_input_line != (char *)0x0) {\n        if (*shell_input_line == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((dstack.delimiter_depth != 0) &&\n              (dstack.delimiters[dstack.delimiter_depth + -1] != '\0')) ||\n             ((pcVar6 = history_delimiting_chars(shell_input_line), pcVar6 != (char *)0x0 &&\n              (*pcVar6 == ';')))) {\n            maybe_add_history(shell_input_line);\n          }\n        }\n        else {\n          if (dstack.delimiter_depth == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else if (dstack.delimiters[dstack.delimiter_depth + -1] == '\'') {\n            history_quoting_state = 0x27;\n          }\n          else {\n            if (dstack.delimiters[dstack.delimiter_depth + -1] != '\"') goto LAB_00035f8e;\n            history_quoting_state = 0x22;\n          }\n          pcVar6 = pre_process_line(shell_input_line,1,1);\n          history_quoting_state = 0;\n          if (pcVar6 != shell_input_line) {\n            free(shell_input_line);\n            shell_input_line = pcVar6;\n            if (pcVar6 == (char *)0x0) {\n              shell_input_line_len = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              shell_input_line_size = 0;\n            }\n            else {\n              shell_input_line_size = strlen(pcVar6);\n              shell_input_line_len = shell_input_line_size;\n              if (shell_input_line_size == 0) goto LAB_000362e0;\n            }\n            set_line_mbstate();\n          }\n        }\njoined_r0x00035d82:\n        if (shell_input_line != (char *)0x0) goto LAB_000362a8;\n      }\n      shell_input_line_size = 0;\n      prompt_string_pointer = &current_prompt_string;\n      if (((interactive != 0) && (bash_input.type - st_stdin < 2)) &&\n         ((pushed_string_list == (STRING_SAVER *)0x0 ||\n          (pushed_string_list->expander == (alias_t *)0x0)))) {\n        prompt_again();\n      }\n      goto joined_r0x00035c60;\n    }\n    uVar4 = 0;\n  }" { (if_statement "if ((((bash_input.type == st_string) && (*bash_input.location.string != '\0')) &&\n        (pushed_string_list != (STRING_SAVER *)0x0)) &&\n       ((pushed_string_list->flags == 4 && (shell_input_line_terminator == 0)))) {\n      shell_input_line_index = 0;\n      shell_input_line_terminator = 0;\n      puVar2 = (undefined4 *)PTR_stdin_00171f40;\njoined_r0x00035c60:\n      if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }\n      if (interrupt_state != 0) {\n        throw_to_top_level();\n      }\n      shell_input_line_terminator = 0;\n      if (interactive_shell == 0) {\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar3 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input.type - st_stdin < 2)) {\n          fputs(current_decoded_prompt,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar3);\n        }\njoined_r0x00035e4b:\n        if (bash_input.type == st_stream) {\n          clearerr((FILE *)*puVar2);\n        }\n      }\n      else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input.type - st_stdin < 2) goto LAB_00035e18;\n      }\n      sVar8 = 0;\n      do {\n        iVar5 = (*(code *)bash_input.getter)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar5 == 0) break;\n          if (shell_input_line_size < 0xffffff00) {\n            if (shell_input_line_size <= sVar8 + 2) {\n              do {\n                shell_input_line_size = shell_input_line_size + 0x100;\n              } while (shell_input_line_size <= sVar8 + 2);\n              shell_input_line = (char *)xrealloc(shell_input_line,shell_input_line_size);\n            }\n          }\n          else if (shell_input_line_size != 0xffffffff) {\n            shell_input_line_size = 0xffffffff;\n            shell_input_line = (char *)xrealloc(shell_input_line,0xffffffff);\n          }\n          pcVar6 = shell_input_line + sVar8;\n          if (iVar5 == -1) {\n            if (bash_input.type == st_stream) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar8 == 0) {\n              shell_input_line_terminator = -1;\n            }\n            *pcVar6 = '\0';\n            bVar7 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar6 = (char)iVar5;\n          if (iVar5 == 10) {\n            *pcVar6 = '\0';\n            bVar7 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar1 = iVar5 == 0x5c && !bVar1;\n          iVar5 = (*(code *)bash_input.getter)();\n          sVar8 = sVar8 + 1;\n        }\n      } while (bash_input.type != st_string);\n      if (sVar8 == 0) {\n        shell_input_line_terminator = -1;\n      }\n      shell_input_line[sVar8] = '\0';\n      bVar7 = 1;\nLAB_00035cff:\n      shell_input_line_index = 0;\n      shell_input_line_len = sVar8;\n      set_line_mbstate();\n      if (remember_on_history == 0) goto joined_r0x00035d82;\n      if (shell_input_line != (char *)0x0) {\n        if (*shell_input_line == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((dstack.delimiter_depth != 0) &&\n              (dstack.delimiters[dstack.delimiter_depth + -1] != '\0')) ||\n             ((pcVar6 = history_delimiting_chars(shell_input_line), pcVar6 != (char *)0x0 &&\n              (*pcVar6 == ';')))) {\n            maybe_add_history(shell_input_line);\n          }\n        }\n        else {\n          if (dstack.delimiter_depth == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else if (dstack.delimiters[dstack.delimiter_depth + -1] == '\'') {\n            history_quoting_state = 0x27;\n          }\n          else {\n            if (dstack.delimiters[dstack.delimiter_depth + -1] != '\"') goto LAB_00035f8e;\n            history_quoting_state = 0x22;\n          }\n          pcVar6 = pre_process_line(shell_input_line,1,1);\n          history_quoting_state = 0;\n          if (pcVar6 != shell_input_line) {\n            free(shell_input_line);\n            shell_input_line = pcVar6;\n            if (pcVar6 == (char *)0x0) {\n              shell_input_line_len = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              shell_input_line_size = 0;\n            }\n            else {\n              shell_input_line_size = strlen(pcVar6);\n              shell_input_line_len = shell_input_line_size;\n              if (shell_input_line_size == 0) goto LAB_000362e0;\n            }\n            set_line_mbstate();\n          }\n        }\njoined_r0x00035d82:\n        if (shell_input_line != (char *)0x0) goto LAB_000362a8;\n      }\n      shell_input_line_size = 0;\n      prompt_string_pointer = &current_prompt_string;\n      if (((interactive != 0) && (bash_input.type - st_stdin < 2)) &&\n         ((pushed_string_list == (STRING_SAVER *)0x0 ||\n          (pushed_string_list->expander == (alias_t *)0x0)))) {\n        prompt_again();\n      }\n      goto joined_r0x00035c60;\n    }" if (parenthesized_expression "((((bash_input.type == st_string) && (*bash_input.location.string != '\0')) &&\n        (pushed_string_list != (STRING_SAVER *)0x0)) &&\n       ((pushed_string_list->flags == 4 && (shell_input_line_terminator == 0))))" ( (binary_expression "(((bash_input.type == st_string) && (*bash_input.location.string != '\0')) &&\n        (pushed_string_list != (STRING_SAVER *)0x0)) &&\n       ((pushed_string_list->flags == 4 && (shell_input_line_terminator == 0)))" (parenthesized_expression "(((bash_input.type == st_string) && (*bash_input.location.string != '\0')) &&\n        (pushed_string_list != (STRING_SAVER *)0x0))" ( (binary_expression "((bash_input.type == st_string) && (*bash_input.location.string != '\0')) &&\n        (pushed_string_list != (STRING_SAVER *)0x0)" (parenthesized_expression "((bash_input.type == st_string) && (*bash_input.location.string != '\0'))" ( (binary_expression "(bash_input.type == st_string) && (*bash_input.location.string != '\0')" (parenthesized_expression "(bash_input.type == st_string)" ( (binary_expression "bash_input.type == st_string" (field_expression "bash_input.type" identifier . field_identifier) == identifier) )) && (parenthesized_expression "(*bash_input.location.string != '\0')" ( (binary_expression "*bash_input.location.string != '\0'" (pointer_expression "*bash_input.location.string" * (field_expression "bash_input.location.string" (field_expression "bash_input.location" identifier . field_identifier) . field_identifier)) != (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(pushed_string_list != (STRING_SAVER *)0x0)" ( (binary_expression "pushed_string_list != (STRING_SAVER *)0x0" identifier != (cast_expression "(STRING_SAVER *)0x0" ( (type_descriptor "STRING_SAVER *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "((pushed_string_list->flags == 4 && (shell_input_line_terminator == 0)))" ( (parenthesized_expression "(pushed_string_list->flags == 4 && (shell_input_line_terminator == 0))" ( (binary_expression "pushed_string_list->flags == 4 && (shell_input_line_terminator == 0)" (binary_expression "pushed_string_list->flags == 4" (field_expression "pushed_string_list->flags" identifier -> field_identifier) == number_literal) && (parenthesized_expression "(shell_input_line_terminator == 0)" ( (binary_expression "shell_input_line_terminator == 0" identifier == number_literal) ))) )) ))) )) (compound_statement "{\n      shell_input_line_index = 0;\n      shell_input_line_terminator = 0;\n      puVar2 = (undefined4 *)PTR_stdin_00171f40;\njoined_r0x00035c60:\n      if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }\n      if (interrupt_state != 0) {\n        throw_to_top_level();\n      }\n      shell_input_line_terminator = 0;\n      if (interactive_shell == 0) {\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar3 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input.type - st_stdin < 2)) {\n          fputs(current_decoded_prompt,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar3);\n        }\njoined_r0x00035e4b:\n        if (bash_input.type == st_stream) {\n          clearerr((FILE *)*puVar2);\n        }\n      }\n      else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input.type - st_stdin < 2) goto LAB_00035e18;\n      }\n      sVar8 = 0;\n      do {\n        iVar5 = (*(code *)bash_input.getter)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar5 == 0) break;\n          if (shell_input_line_size < 0xffffff00) {\n            if (shell_input_line_size <= sVar8 + 2) {\n              do {\n                shell_input_line_size = shell_input_line_size + 0x100;\n              } while (shell_input_line_size <= sVar8 + 2);\n              shell_input_line = (char *)xrealloc(shell_input_line,shell_input_line_size);\n            }\n          }\n          else if (shell_input_line_size != 0xffffffff) {\n            shell_input_line_size = 0xffffffff;\n            shell_input_line = (char *)xrealloc(shell_input_line,0xffffffff);\n          }\n          pcVar6 = shell_input_line + sVar8;\n          if (iVar5 == -1) {\n            if (bash_input.type == st_stream) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar8 == 0) {\n              shell_input_line_terminator = -1;\n            }\n            *pcVar6 = '\0';\n            bVar7 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar6 = (char)iVar5;\n          if (iVar5 == 10) {\n            *pcVar6 = '\0';\n            bVar7 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar1 = iVar5 == 0x5c && !bVar1;\n          iVar5 = (*(code *)bash_input.getter)();\n          sVar8 = sVar8 + 1;\n        }\n      } while (bash_input.type != st_string);\n      if (sVar8 == 0) {\n        shell_input_line_terminator = -1;\n      }\n      shell_input_line[sVar8] = '\0';\n      bVar7 = 1;\nLAB_00035cff:\n      shell_input_line_index = 0;\n      shell_input_line_len = sVar8;\n      set_line_mbstate();\n      if (remember_on_history == 0) goto joined_r0x00035d82;\n      if (shell_input_line != (char *)0x0) {\n        if (*shell_input_line == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((dstack.delimiter_depth != 0) &&\n              (dstack.delimiters[dstack.delimiter_depth + -1] != '\0')) ||\n             ((pcVar6 = history_delimiting_chars(shell_input_line), pcVar6 != (char *)0x0 &&\n              (*pcVar6 == ';')))) {\n            maybe_add_history(shell_input_line);\n          }\n        }\n        else {\n          if (dstack.delimiter_depth == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else if (dstack.delimiters[dstack.delimiter_depth + -1] == '\'') {\n            history_quoting_state = 0x27;\n          }\n          else {\n            if (dstack.delimiters[dstack.delimiter_depth + -1] != '\"') goto LAB_00035f8e;\n            history_quoting_state = 0x22;\n          }\n          pcVar6 = pre_process_line(shell_input_line,1,1);\n          history_quoting_state = 0;\n          if (pcVar6 != shell_input_line) {\n            free(shell_input_line);\n            shell_input_line = pcVar6;\n            if (pcVar6 == (char *)0x0) {\n              shell_input_line_len = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              shell_input_line_size = 0;\n            }\n            else {\n              shell_input_line_size = strlen(pcVar6);\n              shell_input_line_len = shell_input_line_size;\n              if (shell_input_line_size == 0) goto LAB_000362e0;\n            }\n            set_line_mbstate();\n          }\n        }\njoined_r0x00035d82:\n        if (shell_input_line != (char *)0x0) goto LAB_000362a8;\n      }\n      shell_input_line_size = 0;\n      prompt_string_pointer = &current_prompt_string;\n      if (((interactive != 0) && (bash_input.type - st_stdin < 2)) &&\n         ((pushed_string_list == (STRING_SAVER *)0x0 ||\n          (pushed_string_list->expander == (alias_t *)0x0)))) {\n        prompt_again();\n      }\n      goto joined_r0x00035c60;\n    }" { (expression_statement "shell_input_line_index = 0;" (assignment_expression "shell_input_line_index = 0" identifier = number_literal) ;) (expression_statement "shell_input_line_terminator = 0;" (assignment_expression "shell_input_line_terminator = 0" identifier = number_literal) ;) (expression_statement "puVar2 = (undefined4 *)PTR_stdin_00171f40;" (assignment_expression "puVar2 = (undefined4 *)PTR_stdin_00171f40" identifier = (cast_expression "(undefined4 *)PTR_stdin_00171f40" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (labeled_statement "joined_r0x00035c60:\n      if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }" statement_identifier : (if_statement "if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }" if (parenthesized_expression "(terminating_signal != 0)" ( (binary_expression "terminating_signal != 0" identifier != number_literal) )) (compound_statement "{\n        termsig_handler(terminating_signal);\n      }" { (expression_statement "termsig_handler(terminating_signal);" (call_expression "termsig_handler(terminating_signal)" identifier (argument_list "(terminating_signal)" ( identifier ))) ;) }))) (if_statement "if (interrupt_state != 0) {\n        throw_to_top_level();\n      }" if (parenthesized_expression "(interrupt_state != 0)" ( (binary_expression "interrupt_state != 0" identifier != number_literal) )) (compound_statement "{\n        throw_to_top_level();\n      }" { (expression_statement "throw_to_top_level();" (call_expression "throw_to_top_level()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "shell_input_line_terminator = 0;" (assignment_expression "shell_input_line_terminator = 0" identifier = number_literal) ;) (if_statement "if (interactive_shell == 0) {\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar3 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input.type - st_stdin < 2)) {\n          fputs(current_decoded_prompt,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar3);\n        }\njoined_r0x00035e4b:\n        if (bash_input.type == st_stream) {\n          clearerr((FILE *)*puVar2);\n        }\n      }\n      else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input.type - st_stdin < 2) goto LAB_00035e18;\n      }" if (parenthesized_expression "(interactive_shell == 0)" ( (binary_expression "interactive_shell == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar3 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input.type - st_stdin < 2)) {\n          fputs(current_decoded_prompt,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar3);\n        }\njoined_r0x00035e4b:\n        if (bash_input.type == st_stream) {\n          clearerr((FILE *)*puVar2);\n        }\n      }" { (labeled_statement "LAB_00035e18:\n        notify_and_cleanup();" statement_identifier : (expression_statement "notify_and_cleanup();" (call_expression "notify_and_cleanup()" identifier (argument_list "()" ( ))) ;)) (expression_statement "puVar3 = PTR_stderr_00171e54;" (assignment_expression "puVar3 = PTR_stderr_00171e54" identifier = identifier) ;) (if_statement "if (((no_line_editing != 0) && (interactive != 0)) && (bash_input.type - st_stdin < 2)) {\n          fputs(current_decoded_prompt,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar3);\n        }" if (parenthesized_expression "(((no_line_editing != 0) && (interactive != 0)) && (bash_input.type - st_stdin < 2))" ( (binary_expression "((no_line_editing != 0) && (interactive != 0)) && (bash_input.type - st_stdin < 2)" (parenthesized_expression "((no_line_editing != 0) && (interactive != 0))" ( (binary_expression "(no_line_editing != 0) && (interactive != 0)" (parenthesized_expression "(no_line_editing != 0)" ( (binary_expression "no_line_editing != 0" identifier != number_literal) )) && (parenthesized_expression "(interactive != 0)" ( (binary_expression "interactive != 0" identifier != number_literal) ))) )) && (parenthesized_expression "(bash_input.type - st_stdin < 2)" ( (binary_expression "bash_input.type - st_stdin < 2" (binary_expression "bash_input.type - st_stdin" (field_expression "bash_input.type" identifier . field_identifier) - identifier) < number_literal) ))) )) (compound_statement "{\n          fputs(current_decoded_prompt,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar3);\n        }" { (expression_statement "fputs(current_decoded_prompt,*(FILE **)PTR_stderr_00171e54);" (call_expression "fputs(current_decoded_prompt,*(FILE **)PTR_stderr_00171e54)" identifier (argument_list "(current_decoded_prompt,*(FILE **)PTR_stderr_00171e54)" ( identifier , (pointer_expression "*(FILE **)PTR_stderr_00171e54" * (cast_expression "(FILE **)PTR_stderr_00171e54" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "fflush(*(FILE **)puVar3);" (call_expression "fflush(*(FILE **)puVar3)" identifier (argument_list "(*(FILE **)puVar3)" ( (pointer_expression "*(FILE **)puVar3" * (cast_expression "(FILE **)puVar3" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) })) (labeled_statement "joined_r0x00035e4b:\n        if (bash_input.type == st_stream) {\n          clearerr((FILE *)*puVar2);\n        }" statement_identifier : (if_statement "if (bash_input.type == st_stream) {\n          clearerr((FILE *)*puVar2);\n        }" if (parenthesized_expression "(bash_input.type == st_stream)" ( (binary_expression "bash_input.type == st_stream" (field_expression "bash_input.type" identifier . field_identifier) == identifier) )) (compound_statement "{\n          clearerr((FILE *)*puVar2);\n        }" { (expression_statement "clearerr((FILE *)*puVar2);" (call_expression "clearerr((FILE *)*puVar2)" identifier (argument_list "((FILE *)*puVar2)" ( (cast_expression "(FILE *)*puVar2" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar2" * identifier)) ))) ;) }))) }) (else_clause "else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input.type - st_stdin < 2) goto LAB_00035e18;\n      }" else (compound_statement "{\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input.type - st_stdin < 2) goto LAB_00035e18;\n      }" { (if_statement "if (interactive == 0) goto joined_r0x00035e4b;" if (parenthesized_expression "(interactive == 0)" ( (binary_expression "interactive == 0" identifier == number_literal) )) (goto_statement "goto joined_r0x00035e4b;" goto statement_identifier ;)) (if_statement "if (bash_input.type - st_stdin < 2) goto LAB_00035e18;" if (parenthesized_expression "(bash_input.type - st_stdin < 2)" ( (binary_expression "bash_input.type - st_stdin < 2" (binary_expression "bash_input.type - st_stdin" (field_expression "bash_input.type" identifier . field_identifier) - identifier) < number_literal) )) (goto_statement "goto LAB_00035e18;" goto statement_identifier ;)) }))) (expression_statement "sVar8 = 0;" (assignment_expression "sVar8 = 0" identifier = number_literal) ;) (do_statement "do {\n        iVar5 = (*(code *)bash_input.getter)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar5 == 0) break;\n          if (shell_input_line_size < 0xffffff00) {\n            if (shell_input_line_size <= sVar8 + 2) {\n              do {\n                shell_input_line_size = shell_input_line_size + 0x100;\n              } while (shell_input_line_size <= sVar8 + 2);\n              shell_input_line = (char *)xrealloc(shell_input_line,shell_input_line_size);\n            }\n          }\n          else if (shell_input_line_size != 0xffffffff) {\n            shell_input_line_size = 0xffffffff;\n            shell_input_line = (char *)xrealloc(shell_input_line,0xffffffff);\n          }\n          pcVar6 = shell_input_line + sVar8;\n          if (iVar5 == -1) {\n            if (bash_input.type == st_stream) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar8 == 0) {\n              shell_input_line_terminator = -1;\n            }\n            *pcVar6 = '\0';\n            bVar7 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar6 = (char)iVar5;\n          if (iVar5 == 10) {\n            *pcVar6 = '\0';\n            bVar7 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar1 = iVar5 == 0x5c && !bVar1;\n          iVar5 = (*(code *)bash_input.getter)();\n          sVar8 = sVar8 + 1;\n        }\n      } while (bash_input.type != st_string);" do (compound_statement "{\n        iVar5 = (*(code *)bash_input.getter)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar5 == 0) break;\n          if (shell_input_line_size < 0xffffff00) {\n            if (shell_input_line_size <= sVar8 + 2) {\n              do {\n                shell_input_line_size = shell_input_line_size + 0x100;\n              } while (shell_input_line_size <= sVar8 + 2);\n              shell_input_line = (char *)xrealloc(shell_input_line,shell_input_line_size);\n            }\n          }\n          else if (shell_input_line_size != 0xffffffff) {\n            shell_input_line_size = 0xffffffff;\n            shell_input_line = (char *)xrealloc(shell_input_line,0xffffffff);\n          }\n          pcVar6 = shell_input_line + sVar8;\n          if (iVar5 == -1) {\n            if (bash_input.type == st_stream) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar8 == 0) {\n              shell_input_line_terminator = -1;\n            }\n            *pcVar6 = '\0';\n            bVar7 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar6 = (char)iVar5;\n          if (iVar5 == 10) {\n            *pcVar6 = '\0';\n            bVar7 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar1 = iVar5 == 0x5c && !bVar1;\n          iVar5 = (*(code *)bash_input.getter)();\n          sVar8 = sVar8 + 1;\n        }\n      }" { (expression_statement "iVar5 = (*(code *)bash_input.getter)();" (assignment_expression "iVar5 = (*(code *)bash_input.getter)()" identifier = (call_expression "(*(code *)bash_input.getter)()" (parenthesized_expression "(*(code *)bash_input.getter)" ( (pointer_expression "*(code *)bash_input.getter" * (cast_expression "(code *)bash_input.getter" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "bash_input.getter" identifier . field_identifier))) )) (argument_list "()" ( )))) ;) (while_statement "while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar5 == 0) break;\n          if (shell_input_line_size < 0xffffff00) {\n            if (shell_input_line_size <= sVar8 + 2) {\n              do {\n                shell_input_line_size = shell_input_line_size + 0x100;\n              } while (shell_input_line_size <= sVar8 + 2);\n              shell_input_line = (char *)xrealloc(shell_input_line,shell_input_line_size);\n            }\n          }\n          else if (shell_input_line_size != 0xffffffff) {\n            shell_input_line_size = 0xffffffff;\n            shell_input_line = (char *)xrealloc(shell_input_line,0xffffffff);\n          }\n          pcVar6 = shell_input_line + sVar8;\n          if (iVar5 == -1) {\n            if (bash_input.type == st_stream) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar8 == 0) {\n              shell_input_line_terminator = -1;\n            }\n            *pcVar6 = '\0';\n            bVar7 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar6 = (char)iVar5;\n          if (iVar5 == 10) {\n            *pcVar6 = '\0';\n            bVar7 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar1 = iVar5 == 0x5c && !bVar1;\n          iVar5 = (*(code *)bash_input.getter)();\n          sVar8 = sVar8 + 1;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar5 == 0) break;\n          if (shell_input_line_size < 0xffffff00) {\n            if (shell_input_line_size <= sVar8 + 2) {\n              do {\n                shell_input_line_size = shell_input_line_size + 0x100;\n              } while (shell_input_line_size <= sVar8 + 2);\n              shell_input_line = (char *)xrealloc(shell_input_line,shell_input_line_size);\n            }\n          }\n          else if (shell_input_line_size != 0xffffffff) {\n            shell_input_line_size = 0xffffffff;\n            shell_input_line = (char *)xrealloc(shell_input_line,0xffffffff);\n          }\n          pcVar6 = shell_input_line + sVar8;\n          if (iVar5 == -1) {\n            if (bash_input.type == st_stream) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar8 == 0) {\n              shell_input_line_terminator = -1;\n            }\n            *pcVar6 = '\0';\n            bVar7 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar6 = (char)iVar5;\n          if (iVar5 == 10) {\n            *pcVar6 = '\0';\n            bVar7 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar1 = iVar5 == 0x5c && !bVar1;\n          iVar5 = (*(code *)bash_input.getter)();\n          sVar8 = sVar8 + 1;\n        }" { (if_statement "if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }" if (parenthesized_expression "(terminating_signal != 0)" ( (binary_expression "terminating_signal != 0" identifier != number_literal) )) (compound_statement "{\n            termsig_handler(terminating_signal);\n          }" { (expression_statement "termsig_handler(terminating_signal);" (call_expression "termsig_handler(terminating_signal)" identifier (argument_list "(terminating_signal)" ( identifier ))) ;) })) (if_statement "if (interrupt_state != 0) {\n            throw_to_top_level();\n          }" if (parenthesized_expression "(interrupt_state != 0)" ( (binary_expression "interrupt_state != 0" identifier != number_literal) )) (compound_statement "{\n            throw_to_top_level();\n          }" { (expression_statement "throw_to_top_level();" (call_expression "throw_to_top_level()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (iVar5 == 0) break;" if (parenthesized_expression "(iVar5 == 0)" ( (binary_expression "iVar5 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (shell_input_line_size < 0xffffff00) {\n            if (shell_input_line_size <= sVar8 + 2) {\n              do {\n                shell_input_line_size = shell_input_line_size + 0x100;\n              } while (shell_input_line_size <= sVar8 + 2);\n              shell_input_line = (char *)xrealloc(shell_input_line,shell_input_line_size);\n            }\n          }\n          else if (shell_input_line_size != 0xffffffff) {\n            shell_input_line_size = 0xffffffff;\n            shell_input_line = (char *)xrealloc(shell_input_line,0xffffffff);\n          }" if (parenthesized_expression "(shell_input_line_size < 0xffffff00)" ( (binary_expression "shell_input_line_size < 0xffffff00" identifier < number_literal) )) (compound_statement "{\n            if (shell_input_line_size <= sVar8 + 2) {\n              do {\n                shell_input_line_size = shell_input_line_size + 0x100;\n              } while (shell_input_line_size <= sVar8 + 2);\n              shell_input_line = (char *)xrealloc(shell_input_line,shell_input_line_size);\n            }\n          }" { (if_statement "if (shell_input_line_size <= sVar8 + 2) {\n              do {\n                shell_input_line_size = shell_input_line_size + 0x100;\n              } while (shell_input_line_size <= sVar8 + 2);\n              shell_input_line = (char *)xrealloc(shell_input_line,shell_input_line_size);\n            }" if (parenthesized_expression "(shell_input_line_size <= sVar8 + 2)" ( (binary_expression "shell_input_line_size <= sVar8 + 2" identifier <= (binary_expression "sVar8 + 2" identifier + number_literal)) )) (compound_statement "{\n              do {\n                shell_input_line_size = shell_input_line_size + 0x100;\n              } while (shell_input_line_size <= sVar8 + 2);\n              shell_input_line = (char *)xrealloc(shell_input_line,shell_input_line_size);\n            }" { (do_statement "do {\n                shell_input_line_size = shell_input_line_size + 0x100;\n              } while (shell_input_line_size <= sVar8 + 2);" do (compound_statement "{\n                shell_input_line_size = shell_input_line_size + 0x100;\n              }" { (expression_statement "shell_input_line_size = shell_input_line_size + 0x100;" (assignment_expression "shell_input_line_size = shell_input_line_size + 0x100" identifier = (binary_expression "shell_input_line_size + 0x100" identifier + number_literal)) ;) }) while (parenthesized_expression "(shell_input_line_size <= sVar8 + 2)" ( (binary_expression "shell_input_line_size <= sVar8 + 2" identifier <= (binary_expression "sVar8 + 2" identifier + number_literal)) )) ;) (expression_statement "shell_input_line = (char *)xrealloc(shell_input_line,shell_input_line_size);" (assignment_expression "shell_input_line = (char *)xrealloc(shell_input_line,shell_input_line_size)" identifier = (cast_expression "(char *)xrealloc(shell_input_line,shell_input_line_size)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xrealloc(shell_input_line,shell_input_line_size)" identifier (argument_list "(shell_input_line,shell_input_line_size)" ( identifier , identifier ))))) ;) })) }) (else_clause "else if (shell_input_line_size != 0xffffffff) {\n            shell_input_line_size = 0xffffffff;\n            shell_input_line = (char *)xrealloc(shell_input_line,0xffffffff);\n          }" else (if_statement "if (shell_input_line_size != 0xffffffff) {\n            shell_input_line_size = 0xffffffff;\n            shell_input_line = (char *)xrealloc(shell_input_line,0xffffffff);\n          }" if (parenthesized_expression "(shell_input_line_size != 0xffffffff)" ( (binary_expression "shell_input_line_size != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n            shell_input_line_size = 0xffffffff;\n            shell_input_line = (char *)xrealloc(shell_input_line,0xffffffff);\n          }" { (expression_statement "shell_input_line_size = 0xffffffff;" (assignment_expression "shell_input_line_size = 0xffffffff" identifier = number_literal) ;) (expression_statement "shell_input_line = (char *)xrealloc(shell_input_line,0xffffffff);" (assignment_expression "shell_input_line = (char *)xrealloc(shell_input_line,0xffffffff)" identifier = (cast_expression "(char *)xrealloc(shell_input_line,0xffffffff)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xrealloc(shell_input_line,0xffffffff)" identifier (argument_list "(shell_input_line,0xffffffff)" ( identifier , number_literal ))))) ;) })))) (expression_statement "pcVar6 = shell_input_line + sVar8;" (assignment_expression "pcVar6 = shell_input_line + sVar8" identifier = (binary_expression "shell_input_line + sVar8" identifier + identifier)) ;) (if_statement "if (iVar5 == -1) {\n            if (bash_input.type == st_stream) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar8 == 0) {\n              shell_input_line_terminator = -1;\n            }\n            *pcVar6 = '\0';\n            bVar7 = 1;\n            goto LAB_00035cff;\n          }" if (parenthesized_expression "(iVar5 == -1)" ( (binary_expression "iVar5 == -1" identifier == number_literal) )) (compound_statement "{\n            if (bash_input.type == st_stream) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar8 == 0) {\n              shell_input_line_terminator = -1;\n            }\n            *pcVar6 = '\0';\n            bVar7 = 1;\n            goto LAB_00035cff;\n          }" { (if_statement "if (bash_input.type == st_stream) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }" if (parenthesized_expression "(bash_input.type == st_stream)" ( (binary_expression "bash_input.type == st_stream" (field_expression "bash_input.type" identifier . field_identifier) == identifier) )) (compound_statement "{\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }" { (expression_statement "clearerr(*(FILE **)PTR_stdin_00171f40);" (call_expression "clearerr(*(FILE **)PTR_stdin_00171f40)" identifier (argument_list "(*(FILE **)PTR_stdin_00171f40)" ( (pointer_expression "*(FILE **)PTR_stdin_00171f40" * (cast_expression "(FILE **)PTR_stdin_00171f40" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) })) (if_statement "if (sVar8 == 0) {\n              shell_input_line_terminator = -1;\n            }" if (parenthesized_expression "(sVar8 == 0)" ( (binary_expression "sVar8 == 0" identifier == number_literal) )) (compound_statement "{\n              shell_input_line_terminator = -1;\n            }" { (expression_statement "shell_input_line_terminator = -1;" (assignment_expression "shell_input_line_terminator = -1" identifier = number_literal) ;) })) (expression_statement "*pcVar6 = '\0';" (assignment_expression "*pcVar6 = '\0'" (pointer_expression "*pcVar6" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "bVar7 = 1;" (assignment_expression "bVar7 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00035cff;" goto statement_identifier ;) })) (expression_statement "*pcVar6 = (char)iVar5;" (assignment_expression "*pcVar6 = (char)iVar5" (pointer_expression "*pcVar6" * identifier) = (cast_expression "(char)iVar5" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (if_statement "if (iVar5 == 10) {\n            *pcVar6 = '\0';\n            bVar7 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }" if (parenthesized_expression "(iVar5 == 10)" ( (binary_expression "iVar5 == 10" identifier == number_literal) )) (compound_statement "{\n            *pcVar6 = '\0';\n            bVar7 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }" { (expression_statement "*pcVar6 = '\0';" (assignment_expression "*pcVar6 = '\0'" (pointer_expression "*pcVar6" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "bVar7 = 0;" (assignment_expression "bVar7 = 0" identifier = number_literal) ;) (expression_statement "current_command_line_count = current_command_line_count + 1;" (assignment_expression "current_command_line_count = current_command_line_count + 1" identifier = (binary_expression "current_command_line_count + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_00035cff;" goto statement_identifier ;) })) (expression_statement "bVar1 = iVar5 == 0x5c && !bVar1;" (assignment_expression "bVar1 = iVar5 == 0x5c && !bVar1" identifier = (binary_expression "iVar5 == 0x5c && !bVar1" (binary_expression "iVar5 == 0x5c" identifier == number_literal) && (unary_expression "!bVar1" ! identifier))) ;) (expression_statement "iVar5 = (*(code *)bash_input.getter)();" (assignment_expression "iVar5 = (*(code *)bash_input.getter)()" identifier = (call_expression "(*(code *)bash_input.getter)()" (parenthesized_expression "(*(code *)bash_input.getter)" ( (pointer_expression "*(code *)bash_input.getter" * (cast_expression "(code *)bash_input.getter" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "bash_input.getter" identifier . field_identifier))) )) (argument_list "()" ( )))) ;) (expression_statement "sVar8 = sVar8 + 1;" (assignment_expression "sVar8 = sVar8 + 1" identifier = (binary_expression "sVar8 + 1" identifier + number_literal)) ;) })) }) while (parenthesized_expression "(bash_input.type != st_string)" ( (binary_expression "bash_input.type != st_string" (field_expression "bash_input.type" identifier . field_identifier) != identifier) )) ;) (if_statement "if (sVar8 == 0) {\n        shell_input_line_terminator = -1;\n      }" if (parenthesized_expression "(sVar8 == 0)" ( (binary_expression "sVar8 == 0" identifier == number_literal) )) (compound_statement "{\n        shell_input_line_terminator = -1;\n      }" { (expression_statement "shell_input_line_terminator = -1;" (assignment_expression "shell_input_line_terminator = -1" identifier = number_literal) ;) })) (expression_statement "shell_input_line[sVar8] = '\0';" (assignment_expression "shell_input_line[sVar8] = '\0'" (subscript_expression "shell_input_line[sVar8]" identifier [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "bVar7 = 1;" (assignment_expression "bVar7 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00035cff:\n      shell_input_line_index = 0;" statement_identifier : (expression_statement "shell_input_line_index = 0;" (assignment_expression "shell_input_line_index = 0" identifier = number_literal) ;)) (expression_statement "shell_input_line_len = sVar8;" (assignment_expression "shell_input_line_len = sVar8" identifier = identifier) ;) (expression_statement "set_line_mbstate();" (call_expression "set_line_mbstate()" identifier (argument_list "()" ( ))) ;) (if_statement "if (remember_on_history == 0) goto joined_r0x00035d82;" if (parenthesized_expression "(remember_on_history == 0)" ( (binary_expression "remember_on_history == 0" identifier == number_literal) )) (goto_statement "goto joined_r0x00035d82;" goto statement_identifier ;)) (if_statement "if (shell_input_line != (char *)0x0) {\n        if (*shell_input_line == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((dstack.delimiter_depth != 0) &&\n              (dstack.delimiters[dstack.delimiter_depth + -1] != '\0')) ||\n             ((pcVar6 = history_delimiting_chars(shell_input_line), pcVar6 != (char *)0x0 &&\n              (*pcVar6 == ';')))) {\n            maybe_add_history(shell_input_line);\n          }\n        }\n        else {\n          if (dstack.delimiter_depth == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else if (dstack.delimiters[dstack.delimiter_depth + -1] == '\'') {\n            history_quoting_state = 0x27;\n          }\n          else {\n            if (dstack.delimiters[dstack.delimiter_depth + -1] != '\"') goto LAB_00035f8e;\n            history_quoting_state = 0x22;\n          }\n          pcVar6 = pre_process_line(shell_input_line,1,1);\n          history_quoting_state = 0;\n          if (pcVar6 != shell_input_line) {\n            free(shell_input_line);\n            shell_input_line = pcVar6;\n            if (pcVar6 == (char *)0x0) {\n              shell_input_line_len = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              shell_input_line_size = 0;\n            }\n            else {\n              shell_input_line_size = strlen(pcVar6);\n              shell_input_line_len = shell_input_line_size;\n              if (shell_input_line_size == 0) goto LAB_000362e0;\n            }\n            set_line_mbstate();\n          }\n        }\njoined_r0x00035d82:\n        if (shell_input_line != (char *)0x0) goto LAB_000362a8;\n      }" if (parenthesized_expression "(shell_input_line != (char *)0x0)" ( (binary_expression "shell_input_line != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (*shell_input_line == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((dstack.delimiter_depth != 0) &&\n              (dstack.delimiters[dstack.delimiter_depth + -1] != '\0')) ||\n             ((pcVar6 = history_delimiting_chars(shell_input_line), pcVar6 != (char *)0x0 &&\n              (*pcVar6 == ';')))) {\n            maybe_add_history(shell_input_line);\n          }\n        }\n        else {\n          if (dstack.delimiter_depth == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else if (dstack.delimiters[dstack.delimiter_depth + -1] == '\'') {\n            history_quoting_state = 0x27;\n          }\n          else {\n            if (dstack.delimiters[dstack.delimiter_depth + -1] != '\"') goto LAB_00035f8e;\n            history_quoting_state = 0x22;\n          }\n          pcVar6 = pre_process_line(shell_input_line,1,1);\n          history_quoting_state = 0;\n          if (pcVar6 != shell_input_line) {\n            free(shell_input_line);\n            shell_input_line = pcVar6;\n            if (pcVar6 == (char *)0x0) {\n              shell_input_line_len = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              shell_input_line_size = 0;\n            }\n            else {\n              shell_input_line_size = strlen(pcVar6);\n              shell_input_line_len = shell_input_line_size;\n              if (shell_input_line_size == 0) goto LAB_000362e0;\n            }\n            set_line_mbstate();\n          }\n        }\njoined_r0x00035d82:\n        if (shell_input_line != (char *)0x0) goto LAB_000362a8;\n      }" { (if_statement "if (*shell_input_line == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((dstack.delimiter_depth != 0) &&\n              (dstack.delimiters[dstack.delimiter_depth + -1] != '\0')) ||\n             ((pcVar6 = history_delimiting_chars(shell_input_line), pcVar6 != (char *)0x0 &&\n              (*pcVar6 == ';')))) {\n            maybe_add_history(shell_input_line);\n          }\n        }\n        else {\n          if (dstack.delimiter_depth == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else if (dstack.delimiters[dstack.delimiter_depth + -1] == '\'') {\n            history_quoting_state = 0x27;\n          }\n          else {\n            if (dstack.delimiters[dstack.delimiter_depth + -1] != '\"') goto LAB_00035f8e;\n            history_quoting_state = 0x22;\n          }\n          pcVar6 = pre_process_line(shell_input_line,1,1);\n          history_quoting_state = 0;\n          if (pcVar6 != shell_input_line) {\n            free(shell_input_line);\n            shell_input_line = pcVar6;\n            if (pcVar6 == (char *)0x0) {\n              shell_input_line_len = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              shell_input_line_size = 0;\n            }\n            else {\n              shell_input_line_size = strlen(pcVar6);\n              shell_input_line_len = shell_input_line_size;\n              if (shell_input_line_size == 0) goto LAB_000362e0;\n            }\n            set_line_mbstate();\n          }\n        }" if (parenthesized_expression "(*shell_input_line == '\0')" ( (binary_expression "*shell_input_line == '\0'" (pointer_expression "*shell_input_line" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((dstack.delimiter_depth != 0) &&\n              (dstack.delimiters[dstack.delimiter_depth + -1] != '\0')) ||\n             ((pcVar6 = history_delimiting_chars(shell_input_line), pcVar6 != (char *)0x0 &&\n              (*pcVar6 == ';')))) {\n            maybe_add_history(shell_input_line);\n          }\n        }" { (if_statement "if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }" if (parenthesized_expression "(current_command_line_count < 2)" ( (binary_expression "current_command_line_count < 2" identifier < number_literal) )) (compound_statement "{\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }" { (if_statement "if (echo_input_at_read != 0) goto LAB_00036218;" if (parenthesized_expression "(echo_input_at_read != 0)" ( (binary_expression "echo_input_at_read != 0" identifier != number_literal) )) (goto_statement "goto LAB_00036218;" goto statement_identifier ;)) (goto_statement "goto LAB_00036178;" goto statement_identifier ;) })) (if_statement "if (((dstack.delimiter_depth != 0) &&\n              (dstack.delimiters[dstack.delimiter_depth + -1] != '\0')) ||\n             ((pcVar6 = history_delimiting_chars(shell_input_line), pcVar6 != (char *)0x0 &&\n              (*pcVar6 == ';')))) {\n            maybe_add_history(shell_input_line);\n          }" if (parenthesized_expression "(((dstack.delimiter_depth != 0) &&\n              (dstack.delimiters[dstack.delimiter_depth + -1] != '\0')) ||\n             ((pcVar6 = history_delimiting_chars(shell_input_line), pcVar6 != (char *)0x0 &&\n              (*pcVar6 == ';'))))" ( (binary_expression "((dstack.delimiter_depth != 0) &&\n              (dstack.delimiters[dstack.delimiter_depth + -1] != '\0')) ||\n             ((pcVar6 = history_delimiting_chars(shell_input_line), pcVar6 != (char *)0x0 &&\n              (*pcVar6 == ';')))" (parenthesized_expression "((dstack.delimiter_depth != 0) &&\n              (dstack.delimiters[dstack.delimiter_depth + -1] != '\0'))" ( (binary_expression "(dstack.delimiter_depth != 0) &&\n              (dstack.delimiters[dstack.delimiter_depth + -1] != '\0')" (parenthesized_expression "(dstack.delimiter_depth != 0)" ( (binary_expression "dstack.delimiter_depth != 0" (field_expression "dstack.delimiter_depth" identifier . field_identifier) != number_literal) )) && (parenthesized_expression "(dstack.delimiters[dstack.delimiter_depth + -1] != '\0')" ( (binary_expression "dstack.delimiters[dstack.delimiter_depth + -1] != '\0'" (subscript_expression "dstack.delimiters[dstack.delimiter_depth + -1]" (field_expression "dstack.delimiters" identifier . field_identifier) [ (binary_expression "dstack.delimiter_depth + -1" (field_expression "dstack.delimiter_depth" identifier . field_identifier) + number_literal) ]) != (char_literal "'\0'" ' escape_sequence ')) ))) )) || (parenthesized_expression "((pcVar6 = history_delimiting_chars(shell_input_line), pcVar6 != (char *)0x0 &&\n              (*pcVar6 == ';')))" ( (parenthesized_expression "(pcVar6 = history_delimiting_chars(shell_input_line), pcVar6 != (char *)0x0 &&\n              (*pcVar6 == ';'))" ( (comma_expression "pcVar6 = history_delimiting_chars(shell_input_line), pcVar6 != (char *)0x0 &&\n              (*pcVar6 == ';')" (assignment_expression "pcVar6 = history_delimiting_chars(shell_input_line)" identifier = (call_expression "history_delimiting_chars(shell_input_line)" identifier (argument_list "(shell_input_line)" ( identifier )))) , (binary_expression "pcVar6 != (char *)0x0 &&\n              (*pcVar6 == ';')" (binary_expression "pcVar6 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "(*pcVar6 == ';')" ( (binary_expression "*pcVar6 == ';'" (pointer_expression "*pcVar6" * identifier) == (char_literal "';'" ' character ')) )))) )) ))) )) (compound_statement "{\n            maybe_add_history(shell_input_line);\n          }" { (expression_statement "maybe_add_history(shell_input_line);" (call_expression "maybe_add_history(shell_input_line)" identifier (argument_list "(shell_input_line)" ( identifier ))) ;) })) }) (else_clause "else {\n          if (dstack.delimiter_depth == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else if (dstack.delimiters[dstack.delimiter_depth + -1] == '\'') {\n            history_quoting_state = 0x27;\n          }\n          else {\n            if (dstack.delimiters[dstack.delimiter_depth + -1] != '\"') goto LAB_00035f8e;\n            history_quoting_state = 0x22;\n          }\n          pcVar6 = pre_process_line(shell_input_line,1,1);\n          history_quoting_state = 0;\n          if (pcVar6 != shell_input_line) {\n            free(shell_input_line);\n            shell_input_line = pcVar6;\n            if (pcVar6 == (char *)0x0) {\n              shell_input_line_len = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              shell_input_line_size = 0;\n            }\n            else {\n              shell_input_line_size = strlen(pcVar6);\n              shell_input_line_len = shell_input_line_size;\n              if (shell_input_line_size == 0) goto LAB_000362e0;\n            }\n            set_line_mbstate();\n          }\n        }" else (compound_statement "{\n          if (dstack.delimiter_depth == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else if (dstack.delimiters[dstack.delimiter_depth + -1] == '\'') {\n            history_quoting_state = 0x27;\n          }\n          else {\n            if (dstack.delimiters[dstack.delimiter_depth + -1] != '\"') goto LAB_00035f8e;\n            history_quoting_state = 0x22;\n          }\n          pcVar6 = pre_process_line(shell_input_line,1,1);\n          history_quoting_state = 0;\n          if (pcVar6 != shell_input_line) {\n            free(shell_input_line);\n            shell_input_line = pcVar6;\n            if (pcVar6 == (char *)0x0) {\n              shell_input_line_len = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              shell_input_line_size = 0;\n            }\n            else {\n              shell_input_line_size = strlen(pcVar6);\n              shell_input_line_len = shell_input_line_size;\n              if (shell_input_line_size == 0) goto LAB_000362e0;\n            }\n            set_line_mbstate();\n          }\n        }" { (if_statement "if (dstack.delimiter_depth == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else if (dstack.delimiters[dstack.delimiter_depth + -1] == '\'') {\n            history_quoting_state = 0x27;\n          }\n          else {\n            if (dstack.delimiters[dstack.delimiter_depth + -1] != '\"') goto LAB_00035f8e;\n            history_quoting_state = 0x22;\n          }" if (parenthesized_expression "(dstack.delimiter_depth == 0)" ( (binary_expression "dstack.delimiter_depth == 0" (field_expression "dstack.delimiter_depth" identifier . field_identifier) == number_literal) )) (compound_statement "{\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }" { (labeled_statement "LAB_00035f8e:\n            history_quoting_state = 0;" statement_identifier : (expression_statement "history_quoting_state = 0;" (assignment_expression "history_quoting_state = 0" identifier = number_literal) ;)) }) (else_clause "else if (dstack.delimiters[dstack.delimiter_depth + -1] == '\'') {\n            history_quoting_state = 0x27;\n          }\n          else {\n            if (dstack.delimiters[dstack.delimiter_depth + -1] != '\"') goto LAB_00035f8e;\n            history_quoting_state = 0x22;\n          }" else (if_statement "if (dstack.delimiters[dstack.delimiter_depth + -1] == '\'') {\n            history_quoting_state = 0x27;\n          }\n          else {\n            if (dstack.delimiters[dstack.delimiter_depth + -1] != '\"') goto LAB_00035f8e;\n            history_quoting_state = 0x22;\n          }" if (parenthesized_expression "(dstack.delimiters[dstack.delimiter_depth + -1] == '\'')" ( (binary_expression "dstack.delimiters[dstack.delimiter_depth + -1] == '\''" (subscript_expression "dstack.delimiters[dstack.delimiter_depth + -1]" (field_expression "dstack.delimiters" identifier . field_identifier) [ (binary_expression "dstack.delimiter_depth + -1" (field_expression "dstack.delimiter_depth" identifier . field_identifier) + number_literal) ]) == (char_literal "'\''" ' escape_sequence ')) )) (compound_statement "{\n            history_quoting_state = 0x27;\n          }" { (expression_statement "history_quoting_state = 0x27;" (assignment_expression "history_quoting_state = 0x27" identifier = number_literal) ;) }) (else_clause "else {\n            if (dstack.delimiters[dstack.delimiter_depth + -1] != '\"') goto LAB_00035f8e;\n            history_quoting_state = 0x22;\n          }" else (compound_statement "{\n            if (dstack.delimiters[dstack.delimiter_depth + -1] != '\"') goto LAB_00035f8e;\n            history_quoting_state = 0x22;\n          }" { (if_statement "if (dstack.delimiters[dstack.delimiter_depth + -1] != '\"') goto LAB_00035f8e;" if (parenthesized_expression "(dstack.delimiters[dstack.delimiter_depth + -1] != '\"')" ( (binary_expression "dstack.delimiters[dstack.delimiter_depth + -1] != '\"'" (subscript_expression "dstack.delimiters[dstack.delimiter_depth + -1]" (field_expression "dstack.delimiters" identifier . field_identifier) [ (binary_expression "dstack.delimiter_depth + -1" (field_expression "dstack.delimiter_depth" identifier . field_identifier) + number_literal) ]) != (char_literal "'\"'" ' escape_sequence ')) )) (goto_statement "goto LAB_00035f8e;" goto statement_identifier ;)) (expression_statement "history_quoting_state = 0x22;" (assignment_expression "history_quoting_state = 0x22" identifier = number_literal) ;) }))))) (expression_statement "pcVar6 = pre_process_line(shell_input_line,1,1);" (assignment_expression "pcVar6 = pre_process_line(shell_input_line,1,1)" identifier = (call_expression "pre_process_line(shell_input_line,1,1)" identifier (argument_list "(shell_input_line,1,1)" ( identifier , number_literal , number_literal )))) ;) (expression_statement "history_quoting_state = 0;" (assignment_expression "history_quoting_state = 0" identifier = number_literal) ;) (if_statement "if (pcVar6 != shell_input_line) {\n            free(shell_input_line);\n            shell_input_line = pcVar6;\n            if (pcVar6 == (char *)0x0) {\n              shell_input_line_len = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              shell_input_line_size = 0;\n            }\n            else {\n              shell_input_line_size = strlen(pcVar6);\n              shell_input_line_len = shell_input_line_size;\n              if (shell_input_line_size == 0) goto LAB_000362e0;\n            }\n            set_line_mbstate();\n          }" if (parenthesized_expression "(pcVar6 != shell_input_line)" ( (binary_expression "pcVar6 != shell_input_line" identifier != identifier) )) (compound_statement "{\n            free(shell_input_line);\n            shell_input_line = pcVar6;\n            if (pcVar6 == (char *)0x0) {\n              shell_input_line_len = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              shell_input_line_size = 0;\n            }\n            else {\n              shell_input_line_size = strlen(pcVar6);\n              shell_input_line_len = shell_input_line_size;\n              if (shell_input_line_size == 0) goto LAB_000362e0;\n            }\n            set_line_mbstate();\n          }" { (expression_statement "free(shell_input_line);" (call_expression "free(shell_input_line)" identifier (argument_list "(shell_input_line)" ( identifier ))) ;) (expression_statement "shell_input_line = pcVar6;" (assignment_expression "shell_input_line = pcVar6" identifier = identifier) ;) (if_statement "if (pcVar6 == (char *)0x0) {\n              shell_input_line_len = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              shell_input_line_size = 0;\n            }\n            else {\n              shell_input_line_size = strlen(pcVar6);\n              shell_input_line_len = shell_input_line_size;\n              if (shell_input_line_size == 0) goto LAB_000362e0;\n            }" if (parenthesized_expression "(pcVar6 == (char *)0x0)" ( (binary_expression "pcVar6 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              shell_input_line_len = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              shell_input_line_size = 0;\n            }" { (expression_statement "shell_input_line_len = 0;" (assignment_expression "shell_input_line_len = 0" identifier = number_literal) ;) (labeled_statement "LAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;" statement_identifier : (expression_statement "current_command_line_count = current_command_line_count + -1;" (assignment_expression "current_command_line_count = current_command_line_count + -1" identifier = (binary_expression "current_command_line_count + -1" identifier + number_literal)) ;)) (expression_statement "shell_input_line_size = 0;" (assignment_expression "shell_input_line_size = 0" identifier = number_literal) ;) }) (else_clause "else {\n              shell_input_line_size = strlen(pcVar6);\n              shell_input_line_len = shell_input_line_size;\n              if (shell_input_line_size == 0) goto LAB_000362e0;\n            }" else (compound_statement "{\n              shell_input_line_size = strlen(pcVar6);\n              shell_input_line_len = shell_input_line_size;\n              if (shell_input_line_size == 0) goto LAB_000362e0;\n            }" { (expression_statement "shell_input_line_size = strlen(pcVar6);" (assignment_expression "shell_input_line_size = strlen(pcVar6)" identifier = (call_expression "strlen(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier )))) ;) (expression_statement "shell_input_line_len = shell_input_line_size;" (assignment_expression "shell_input_line_len = shell_input_line_size" identifier = identifier) ;) (if_statement "if (shell_input_line_size == 0) goto LAB_000362e0;" if (parenthesized_expression "(shell_input_line_size == 0)" ( (binary_expression "shell_input_line_size == 0" identifier == number_literal) )) (goto_statement "goto LAB_000362e0;" goto statement_identifier ;)) }))) (expression_statement "set_line_mbstate();" (call_expression "set_line_mbstate()" identifier (argument_list "()" ( ))) ;) })) }))) (labeled_statement "joined_r0x00035d82:\n        if (shell_input_line != (char *)0x0) goto LAB_000362a8;" statement_identifier : (if_statement "if (shell_input_line != (char *)0x0) goto LAB_000362a8;" if (parenthesized_expression "(shell_input_line != (char *)0x0)" ( (binary_expression "shell_input_line != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000362a8;" goto statement_identifier ;))) })) (expression_statement "shell_input_line_size = 0;" (assignment_expression "shell_input_line_size = 0" identifier = number_literal) ;) (expression_statement "prompt_string_pointer = &current_prompt_string;" (assignment_expression "prompt_string_pointer = &current_prompt_string" identifier = (pointer_expression "&current_prompt_string" & identifier)) ;) (if_statement "if (((interactive != 0) && (bash_input.type - st_stdin < 2)) &&\n         ((pushed_string_list == (STRING_SAVER *)0x0 ||\n          (pushed_string_list->expander == (alias_t *)0x0)))) {\n        prompt_again();\n      }" if (parenthesized_expression "(((interactive != 0) && (bash_input.type - st_stdin < 2)) &&\n         ((pushed_string_list == (STRING_SAVER *)0x0 ||\n          (pushed_string_list->expander == (alias_t *)0x0))))" ( (binary_expression "((interactive != 0) && (bash_input.type - st_stdin < 2)) &&\n         ((pushed_string_list == (STRING_SAVER *)0x0 ||\n          (pushed_string_list->expander == (alias_t *)0x0)))" (parenthesized_expression "((interactive != 0) && (bash_input.type - st_stdin < 2))" ( (binary_expression "(interactive != 0) && (bash_input.type - st_stdin < 2)" (parenthesized_expression "(interactive != 0)" ( (binary_expression "interactive != 0" identifier != number_literal) )) && (parenthesized_expression "(bash_input.type - st_stdin < 2)" ( (binary_expression "bash_input.type - st_stdin < 2" (binary_expression "bash_input.type - st_stdin" (field_expression "bash_input.type" identifier . field_identifier) - identifier) < number_literal) ))) )) && (parenthesized_expression "((pushed_string_list == (STRING_SAVER *)0x0 ||\n          (pushed_string_list->expander == (alias_t *)0x0)))" ( (parenthesized_expression "(pushed_string_list == (STRING_SAVER *)0x0 ||\n          (pushed_string_list->expander == (alias_t *)0x0))" ( (binary_expression "pushed_string_list == (STRING_SAVER *)0x0 ||\n          (pushed_string_list->expander == (alias_t *)0x0)" (binary_expression "pushed_string_list == (STRING_SAVER *)0x0" identifier == (cast_expression "(STRING_SAVER *)0x0" ( (type_descriptor "STRING_SAVER *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "(pushed_string_list->expander == (alias_t *)0x0)" ( (binary_expression "pushed_string_list->expander == (alias_t *)0x0" (field_expression "pushed_string_list->expander" identifier -> field_identifier) == (cast_expression "(alias_t *)0x0" ( (type_descriptor "alias_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) ))) )) (compound_statement "{\n        prompt_again();\n      }" { (expression_statement "prompt_again();" (call_expression "prompt_again()" identifier (argument_list "()" ( ))) ;) })) (goto_statement "goto joined_r0x00035c60;" goto statement_identifier ;) })) (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;) }))) (return_statement "return uVar4;" return identifier ;) (labeled_statement "LAB_000362a8:\n  if (echo_input_at_read == 0) {\nLAB_00036178:\n    if (shell_input_line_terminator == -1) goto LAB_000361c3;\n  }\n  else {\n    if (*shell_input_line != '\0') {\n      if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,shell_input_line);\n      }\n      goto LAB_00036178;\n    }\nLAB_00036218:\n    if (shell_input_line_terminator == -1) goto LAB_000361c3;\n    if (shell_eof_token == 0) goto LAB_00036231;\n  }" statement_identifier : (if_statement "if (echo_input_at_read == 0) {\nLAB_00036178:\n    if (shell_input_line_terminator == -1) goto LAB_000361c3;\n  }\n  else {\n    if (*shell_input_line != '\0') {\n      if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,shell_input_line);\n      }\n      goto LAB_00036178;\n    }\nLAB_00036218:\n    if (shell_input_line_terminator == -1) goto LAB_000361c3;\n    if (shell_eof_token == 0) goto LAB_00036231;\n  }" if (parenthesized_expression "(echo_input_at_read == 0)" ( (binary_expression "echo_input_at_read == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00036178:\n    if (shell_input_line_terminator == -1) goto LAB_000361c3;\n  }" { (labeled_statement "LAB_00036178:\n    if (shell_input_line_terminator == -1) goto LAB_000361c3;" statement_identifier : (if_statement "if (shell_input_line_terminator == -1) goto LAB_000361c3;" if (parenthesized_expression "(shell_input_line_terminator == -1)" ( (binary_expression "shell_input_line_terminator == -1" identifier == number_literal) )) (goto_statement "goto LAB_000361c3;" goto statement_identifier ;))) }) (else_clause "else {\n    if (*shell_input_line != '\0') {\n      if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,shell_input_line);\n      }\n      goto LAB_00036178;\n    }\nLAB_00036218:\n    if (shell_input_line_terminator == -1) goto LAB_000361c3;\n    if (shell_eof_token == 0) goto LAB_00036231;\n  }" else (compound_statement "{\n    if (*shell_input_line != '\0') {\n      if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,shell_input_line);\n      }\n      goto LAB_00036178;\n    }\nLAB_00036218:\n    if (shell_input_line_terminator == -1) goto LAB_000361c3;\n    if (shell_eof_token == 0) goto LAB_00036231;\n  }" { (if_statement "if (*shell_input_line != '\0') {\n      if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,shell_input_line);\n      }\n      goto LAB_00036178;\n    }" if (parenthesized_expression "(*shell_input_line != '\0')" ( (binary_expression "*shell_input_line != '\0'" (pointer_expression "*shell_input_line" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,shell_input_line);\n      }\n      goto LAB_00036178;\n    }" { (if_statement "if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,shell_input_line);\n      }" if (parenthesized_expression "(shell_eof_token == 0)" ( (binary_expression "shell_eof_token == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,shell_input_line);\n      }" { (labeled_statement "LAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,shell_input_line);" statement_identifier : (expression_statement "__fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,shell_input_line);" (call_expression "__fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,shell_input_line)" identifier (argument_list "(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,shell_input_line)" ( (pointer_expression "*(undefined4 *)PTR_stderr_00171e54" * (cast_expression "(undefined4 *)PTR_stderr_00171e54" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal , (pointer_expression "&DAT_00125177" & identifier) , identifier ))) ;)) })) (goto_statement "goto LAB_00036178;" goto statement_identifier ;) })) (labeled_statement "LAB_00036218:\n    if (shell_input_line_terminator == -1) goto LAB_000361c3;" statement_identifier : (if_statement "if (shell_input_line_terminator == -1) goto LAB_000361c3;" if (parenthesized_expression "(shell_input_line_terminator == -1)" ( (binary_expression "shell_input_line_terminator == -1" identifier == number_literal) )) (goto_statement "goto LAB_000361c3;" goto statement_identifier ;))) (if_statement "if (shell_eof_token == 0) goto LAB_00036231;" if (parenthesized_expression "(shell_eof_token == 0)" ( (binary_expression "shell_eof_token == 0" identifier == number_literal) )) (goto_statement "goto LAB_00036231;" goto statement_identifier ;)) })))) (if_statement "if ((shell_input_line_size < 0xfffffffc) && (shell_input_line_size < shell_input_line_len + 3)) {\n    sVar8 = shell_input_line_size + 3;\n    shell_input_line_size = shell_input_line_size + 2;\n    shell_input_line = (char *)xrealloc(shell_input_line,sVar8);\n  }" if (parenthesized_expression "((shell_input_line_size < 0xfffffffc) && (shell_input_line_size < shell_input_line_len + 3))" ( (binary_expression "(shell_input_line_size < 0xfffffffc) && (shell_input_line_size < shell_input_line_len + 3)" (parenthesized_expression "(shell_input_line_size < 0xfffffffc)" ( (binary_expression "shell_input_line_size < 0xfffffffc" identifier < number_literal) )) && (parenthesized_expression "(shell_input_line_size < shell_input_line_len + 3)" ( (binary_expression "shell_input_line_size < shell_input_line_len + 3" identifier < (binary_expression "shell_input_line_len + 3" identifier + number_literal)) ))) )) (compound_statement "{\n    sVar8 = shell_input_line_size + 3;\n    shell_input_line_size = shell_input_line_size + 2;\n    shell_input_line = (char *)xrealloc(shell_input_line,sVar8);\n  }" { (expression_statement "sVar8 = shell_input_line_size + 3;" (assignment_expression "sVar8 = shell_input_line_size + 3" identifier = (binary_expression "shell_input_line_size + 3" identifier + number_literal)) ;) (expression_statement "shell_input_line_size = shell_input_line_size + 2;" (assignment_expression "shell_input_line_size = shell_input_line_size + 2" identifier = (binary_expression "shell_input_line_size + 2" identifier + number_literal)) ;) (expression_statement "shell_input_line = (char *)xrealloc(shell_input_line,sVar8);" (assignment_expression "shell_input_line = (char *)xrealloc(shell_input_line,sVar8)" identifier = (cast_expression "(char *)xrealloc(shell_input_line,sVar8)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xrealloc(shell_input_line,sVar8)" identifier (argument_list "(shell_input_line,sVar8)" ( identifier , identifier ))))) ;) })) (expression_statement "pcVar6 = shell_input_line;" (assignment_expression "pcVar6 = shell_input_line" identifier = identifier) ;) (expression_statement "sVar8 = shell_input_line_len;" (assignment_expression "sVar8 = shell_input_line_len" identifier = identifier) ;) (if_statement "if (((bash_input.type == st_string) &&\n      (((pushed_string_list == (STRING_SAVER *)0x0 ||\n        (pushed_string_list->expander == (alias_t *)0x0)) && (bVar1)))) &&\n     (local_38 = (byte)remove_quoted_newline, (local_38 & bVar7) != 0)) {\n    shell_input_line[shell_input_line_len] = '\\';\n  }\n  else {\n    shell_input_line[shell_input_line_len] = '\n';\n  }" if (parenthesized_expression "(((bash_input.type == st_string) &&\n      (((pushed_string_list == (STRING_SAVER *)0x0 ||\n        (pushed_string_list->expander == (alias_t *)0x0)) && (bVar1)))) &&\n     (local_38 = (byte)remove_quoted_newline, (local_38 & bVar7) != 0))" ( (binary_expression "((bash_input.type == st_string) &&\n      (((pushed_string_list == (STRING_SAVER *)0x0 ||\n        (pushed_string_list->expander == (alias_t *)0x0)) && (bVar1)))) &&\n     (local_38 = (byte)remove_quoted_newline, (local_38 & bVar7) != 0)" (parenthesized_expression "((bash_input.type == st_string) &&\n      (((pushed_string_list == (STRING_SAVER *)0x0 ||\n        (pushed_string_list->expander == (alias_t *)0x0)) && (bVar1))))" ( (binary_expression "(bash_input.type == st_string) &&\n      (((pushed_string_list == (STRING_SAVER *)0x0 ||\n        (pushed_string_list->expander == (alias_t *)0x0)) && (bVar1)))" (parenthesized_expression "(bash_input.type == st_string)" ( (binary_expression "bash_input.type == st_string" (field_expression "bash_input.type" identifier . field_identifier) == identifier) )) && (parenthesized_expression "(((pushed_string_list == (STRING_SAVER *)0x0 ||\n        (pushed_string_list->expander == (alias_t *)0x0)) && (bVar1)))" ( (parenthesized_expression "((pushed_string_list == (STRING_SAVER *)0x0 ||\n        (pushed_string_list->expander == (alias_t *)0x0)) && (bVar1))" ( (binary_expression "(pushed_string_list == (STRING_SAVER *)0x0 ||\n        (pushed_string_list->expander == (alias_t *)0x0)) && (bVar1)" (parenthesized_expression "(pushed_string_list == (STRING_SAVER *)0x0 ||\n        (pushed_string_list->expander == (alias_t *)0x0))" ( (binary_expression "pushed_string_list == (STRING_SAVER *)0x0 ||\n        (pushed_string_list->expander == (alias_t *)0x0)" (binary_expression "pushed_string_list == (STRING_SAVER *)0x0" identifier == (cast_expression "(STRING_SAVER *)0x0" ( (type_descriptor "STRING_SAVER *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "(pushed_string_list->expander == (alias_t *)0x0)" ( (binary_expression "pushed_string_list->expander == (alias_t *)0x0" (field_expression "pushed_string_list->expander" identifier -> field_identifier) == (cast_expression "(alias_t *)0x0" ( (type_descriptor "alias_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "(bVar1)" ( identifier ))) )) ))) )) && (parenthesized_expression "(local_38 = (byte)remove_quoted_newline, (local_38 & bVar7) != 0)" ( (comma_expression "local_38 = (byte)remove_quoted_newline, (local_38 & bVar7) != 0" (assignment_expression "local_38 = (byte)remove_quoted_newline" identifier = (cast_expression "(byte)remove_quoted_newline" ( (type_descriptor "byte" type_identifier) ) identifier)) , (binary_expression "(local_38 & bVar7) != 0" (parenthesized_expression "(local_38 & bVar7)" ( (binary_expression "local_38 & bVar7" identifier & identifier) )) != number_literal)) ))) )) (compound_statement "{\n    shell_input_line[shell_input_line_len] = '\\';\n  }" { (expression_statement "shell_input_line[shell_input_line_len] = '\\';" (assignment_expression "shell_input_line[shell_input_line_len] = '\\'" (subscript_expression "shell_input_line[shell_input_line_len]" identifier [ identifier ]) = (char_literal "'\\'" ' escape_sequence ')) ;) }) (else_clause "else {\n    shell_input_line[shell_input_line_len] = '\n';\n  }" else (compound_statement "{\n    shell_input_line[shell_input_line_len] = '\n';\n  }" { (expression_statement "shell_input_line[shell_input_line_len] = '\n';" (assignment_expression "shell_input_line[shell_input_line_len] = '\n'" (subscript_expression "shell_input_line[shell_input_line_len]" identifier [ identifier ]) = (char_literal "'\n'" ' escape_sequence ')) ;) }))) (expression_statement "pcVar6[sVar8 + 1] = '\0';" (assignment_expression "pcVar6[sVar8 + 1] = '\0'" (subscript_expression "pcVar6[sVar8 + 1]" identifier [ (binary_expression "sVar8 + 1" identifier + number_literal) ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "set_line_mbstate();" (call_expression "set_line_mbstate()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_000361c3:\n  bVar7 = shell_input_line[shell_input_line_index];" statement_identifier : (expression_statement "bVar7 = shell_input_line[shell_input_line_index];" (assignment_expression "bVar7 = shell_input_line[shell_input_line_index]" identifier = (subscript_expression "shell_input_line[shell_input_line_index]" identifier [ identifier ])) ;)) (expression_statement "sVar8 = shell_input_line_index;" (assignment_expression "sVar8 = shell_input_line_index" identifier = identifier) ;) (goto_statement "goto LAB_00035a68;" goto statement_identifier ;) })))
(translation_unit "uint __regparm3 FUN_00035a20(byte param_1)\n\n{\n  byte *pbVar1;\n  char cVar2;\n  bool bVar3;\n  undefined *puVar4;\n  uint uVar5;\n  undefined4 *puVar6;\n  int iVar7;\n  char *pcVar8;\n  byte bVar9;\n  size_t sVar10;\n  int local_44;\n  \n  puVar6 = (undefined4 *)PTR_stdin_00171f40;\n  if (DAT_00176b74 == (char *)0x0) {\n    line_number = line_number + 1;\n    bVar3 = false;\n    goto joined_r0x00035c60;\n  }\n  bVar3 = false;\n  bVar9 = DAT_00176b74[DAT_00176b70];\n  uVar5 = DAT_00176b70;\n  if ((bVar9 == 0) && (pushed_string_list == (undefined4 *)0x0)) {\n    line_number = line_number + 1;\n    if (DAT_00176b6c < 0x8000) goto joined_r0x00035c60;\n    free(DAT_00176b74);\n    DAT_00176b74 = (char *)0x0;\n    DAT_00176b6c = 0;\n    puVar6 = (undefined4 *)PTR_stdin_00171f40;\n    goto joined_r0x00035c60;\n  }\nLAB_00035a68:\n  DAT_00176b70 = uVar5;\n  if (bVar9 != 0) goto LAB_00035b58;\n  if (pushed_string_list != (undefined4 *)0x0) {\n    local_44 = pushed_string_list[7];\n    if (((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000) == 0)) &&\n        (DAT_00176b70 != 0)) &&\n       (((DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)) &&\n        ((DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')))))))) {\n      parser_state = parser_state | 0x200000;\n      return 0x20;\n    }\n    while (local_44 != 4) {\n      parser_state = parser_state & 0xffdfffff;\n      puVar6 = pushed_string_list;\n      if (DAT_00176b74 != (char *)0x0) {\n        free(DAT_00176b74);\n        puVar6 = pushed_string_list;\n      }\n      DAT_00176b74 = (char *)puVar6[2];\n      DAT_00176b70 = puVar6[5];\n      DAT_00176b6c = puVar6[4];\n      DAT_00176b64 = puVar6[6];\n      uVar5 = parser_state & 0xfffffffd;\n      if (puVar6[1] != 0) {\n        uVar5 = parser_state | 2;\n      }\n      pushed_string_list = (undefined4 *)*puVar6;\n      parser_state = uVar5;\n      if (puVar6[3] != 0) {\n        pbVar1 = (byte *)(puVar6[3] + 8);\n        *pbVar1 = *pbVar1 & 0xfd;\n      }\n      free(puVar6);\n      FUN_00033160();\n      bVar9 = DAT_00176b74[DAT_00176b70];\n      if (bVar9 == 0) break;\nLAB_00035b58:\n      DAT_00176b70 = DAT_00176b70 + 1;\n      if ((bVar9 != 0x5c) || ((param_1 & 1) == 0)) {\n        if (bVar9 != 0) {\n          return (uint)bVar9;\n        }\n        break;\n      }\n      if ((DAT_00176b74[DAT_00176b70] != '\n') ||\n         ((1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0')))) {\n        return 0x5c;\n      }\n      if ((interactive == 0) || (1 < bash_input - 1U)) {\nLAB_00035bbb:\n        line_number = line_number + 1;\n        puVar6 = (undefined4 *)PTR_stdin_00171f40;\n        if (pushed_string_list == (undefined4 *)0x0) goto joined_r0x00035c60;\n      }\n      else {\n        if ((pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0)) {\n          FUN_000354c0();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\n      if (pushed_string_list[3] == 0) goto joined_r0x00035c60;\n      bVar9 = DAT_00176b74[DAT_00176b70 + 1];\n      uVar5 = DAT_00176b70 + 1;\n      if (bVar9 != 0) goto LAB_00035a68;\n      local_44 = pushed_string_list[7];\n    }\n  }\n  if (DAT_00176b64 == -1) {\n    uVar5 = 0xffffffff;\n    if (DAT_00176b70 != 0) {\n      uVar5 = 10;\n    }\n  }\n  else {\n    if ((((bash_input == 3) && (*DAT_0017ac84 != '\0')) && (pushed_string_list != (undefined4 *)0x0)\n        ) && ((pushed_string_list[7] == 4 && (DAT_00176b64 == 0)))) {\n      DAT_00176b70 = 0;\n      DAT_00176b64 = 0;\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\njoined_r0x00035c60:\n      if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }\n      if (interrupt_state != 0) {\n        throw_to_top_level();\n      }\n      DAT_00176b64 = 0;\n      if (interactive_shell == 0) {\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar4 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2)) {\n          fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar4);\n        }\njoined_r0x00035e4b:\n        if (bash_input == 2) {\n          clearerr((FILE *)*puVar6);\n        }\n      }\n      else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input - 1U < 2) goto LAB_00035e18;\n      }\n      sVar10 = 0;\n      do {\n        iVar7 = (*DAT_0017ac88)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar7 == 0) break;\n          if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }\n          pcVar8 = DAT_00176b74 + sVar10;\n          if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar8 = (char)iVar7;\n          if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar3 = iVar7 == 0x5c && !bVar3;\n          iVar7 = (*DAT_0017ac88)();\n          sVar10 = sVar10 + 1;\n        }\n      } while (bash_input != 3);\n      if (sVar10 == 0) {\n        DAT_00176b64 = -1;\n      }\n      DAT_00176b74[sVar10] = '\0';\n      bVar9 = 1;\nLAB_00035cff:\n      DAT_00176b70 = 0;\n      DAT_00176b68 = sVar10;\n      FUN_00033160();\n      if (remember_on_history == 0) goto joined_r0x00035d82;\n      if (DAT_00176b74 != (char *)0x0) {\n        if (*DAT_00176b74 == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }\n        }\n        else {\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }\njoined_r0x00035d82:\n        if (DAT_00176b74 != (char *)0x0) goto LAB_000362a8;\n      }\n      DAT_00176b6c = 0;\n      prompt_string_pointer = &current_prompt_string;\n      if (((interactive != 0) && (bash_input - 1U < 2)) &&\n         ((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)))) {\n        FUN_000354c0();\n      }\n      goto joined_r0x00035c60;\n    }\n    uVar5 = 0;\n  }\n  return uVar5;\nLAB_000362a8:\n  if (echo_input_at_read == 0) {\nLAB_00036178:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;\n  }\n  else {\n    if (*DAT_00176b74 != '\0') {\n      if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);\n      }\n      goto LAB_00036178;\n    }\nLAB_00036218:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;\n    if (shell_eof_token == 0) goto LAB_00036231;\n  }\n  if ((DAT_00176b6c < 0xfffffffc) && (DAT_00176b6c < DAT_00176b68 + 3)) {\n    iVar7 = DAT_00176b6c + 3;\n    DAT_00176b6c = DAT_00176b6c + 2;\n    DAT_00176b74 = (char *)xrealloc(DAT_00176b74,iVar7);\n  }\n  pcVar8 = DAT_00176b74;\n  sVar10 = DAT_00176b68;\n  if (((bash_input == 3) &&\n      (((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)) && (bVar3)))) &&\n     ((param_1 & bVar9) != 0)) {\n    DAT_00176b74[DAT_00176b68] = '\\';\n  }\n  else {\n    DAT_00176b74[DAT_00176b68] = '\n';\n  }\n  pcVar8[sVar10 + 1] = '\0';\n  FUN_00033160();\nLAB_000361c3:\n  bVar9 = DAT_00176b74[DAT_00176b70];\n  uVar5 = DAT_00176b70;\n  goto LAB_00035a68;\n}\n\n" (function_definition "uint __regparm3 FUN_00035a20(byte param_1)\n\n{\n  byte *pbVar1;\n  char cVar2;\n  bool bVar3;\n  undefined *puVar4;\n  uint uVar5;\n  undefined4 *puVar6;\n  int iVar7;\n  char *pcVar8;\n  byte bVar9;\n  size_t sVar10;\n  int local_44;\n  \n  puVar6 = (undefined4 *)PTR_stdin_00171f40;\n  if (DAT_00176b74 == (char *)0x0) {\n    line_number = line_number + 1;\n    bVar3 = false;\n    goto joined_r0x00035c60;\n  }\n  bVar3 = false;\n  bVar9 = DAT_00176b74[DAT_00176b70];\n  uVar5 = DAT_00176b70;\n  if ((bVar9 == 0) && (pushed_string_list == (undefined4 *)0x0)) {\n    line_number = line_number + 1;\n    if (DAT_00176b6c < 0x8000) goto joined_r0x00035c60;\n    free(DAT_00176b74);\n    DAT_00176b74 = (char *)0x0;\n    DAT_00176b6c = 0;\n    puVar6 = (undefined4 *)PTR_stdin_00171f40;\n    goto joined_r0x00035c60;\n  }\nLAB_00035a68:\n  DAT_00176b70 = uVar5;\n  if (bVar9 != 0) goto LAB_00035b58;\n  if (pushed_string_list != (undefined4 *)0x0) {\n    local_44 = pushed_string_list[7];\n    if (((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000) == 0)) &&\n        (DAT_00176b70 != 0)) &&\n       (((DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)) &&\n        ((DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')))))))) {\n      parser_state = parser_state | 0x200000;\n      return 0x20;\n    }\n    while (local_44 != 4) {\n      parser_state = parser_state & 0xffdfffff;\n      puVar6 = pushed_string_list;\n      if (DAT_00176b74 != (char *)0x0) {\n        free(DAT_00176b74);\n        puVar6 = pushed_string_list;\n      }\n      DAT_00176b74 = (char *)puVar6[2];\n      DAT_00176b70 = puVar6[5];\n      DAT_00176b6c = puVar6[4];\n      DAT_00176b64 = puVar6[6];\n      uVar5 = parser_state & 0xfffffffd;\n      if (puVar6[1] != 0) {\n        uVar5 = parser_state | 2;\n      }\n      pushed_string_list = (undefined4 *)*puVar6;\n      parser_state = uVar5;\n      if (puVar6[3] != 0) {\n        pbVar1 = (byte *)(puVar6[3] + 8);\n        *pbVar1 = *pbVar1 & 0xfd;\n      }\n      free(puVar6);\n      FUN_00033160();\n      bVar9 = DAT_00176b74[DAT_00176b70];\n      if (bVar9 == 0) break;\nLAB_00035b58:\n      DAT_00176b70 = DAT_00176b70 + 1;\n      if ((bVar9 != 0x5c) || ((param_1 & 1) == 0)) {\n        if (bVar9 != 0) {\n          return (uint)bVar9;\n        }\n        break;\n      }\n      if ((DAT_00176b74[DAT_00176b70] != '\n') ||\n         ((1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0')))) {\n        return 0x5c;\n      }\n      if ((interactive == 0) || (1 < bash_input - 1U)) {\nLAB_00035bbb:\n        line_number = line_number + 1;\n        puVar6 = (undefined4 *)PTR_stdin_00171f40;\n        if (pushed_string_list == (undefined4 *)0x0) goto joined_r0x00035c60;\n      }\n      else {\n        if ((pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0)) {\n          FUN_000354c0();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\n      if (pushed_string_list[3] == 0) goto joined_r0x00035c60;\n      bVar9 = DAT_00176b74[DAT_00176b70 + 1];\n      uVar5 = DAT_00176b70 + 1;\n      if (bVar9 != 0) goto LAB_00035a68;\n      local_44 = pushed_string_list[7];\n    }\n  }\n  if (DAT_00176b64 == -1) {\n    uVar5 = 0xffffffff;\n    if (DAT_00176b70 != 0) {\n      uVar5 = 10;\n    }\n  }\n  else {\n    if ((((bash_input == 3) && (*DAT_0017ac84 != '\0')) && (pushed_string_list != (undefined4 *)0x0)\n        ) && ((pushed_string_list[7] == 4 && (DAT_00176b64 == 0)))) {\n      DAT_00176b70 = 0;\n      DAT_00176b64 = 0;\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\njoined_r0x00035c60:\n      if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }\n      if (interrupt_state != 0) {\n        throw_to_top_level();\n      }\n      DAT_00176b64 = 0;\n      if (interactive_shell == 0) {\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar4 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2)) {\n          fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar4);\n        }\njoined_r0x00035e4b:\n        if (bash_input == 2) {\n          clearerr((FILE *)*puVar6);\n        }\n      }\n      else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input - 1U < 2) goto LAB_00035e18;\n      }\n      sVar10 = 0;\n      do {\n        iVar7 = (*DAT_0017ac88)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar7 == 0) break;\n          if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }\n          pcVar8 = DAT_00176b74 + sVar10;\n          if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar8 = (char)iVar7;\n          if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar3 = iVar7 == 0x5c && !bVar3;\n          iVar7 = (*DAT_0017ac88)();\n          sVar10 = sVar10 + 1;\n        }\n      } while (bash_input != 3);\n      if (sVar10 == 0) {\n        DAT_00176b64 = -1;\n      }\n      DAT_00176b74[sVar10] = '\0';\n      bVar9 = 1;\nLAB_00035cff:\n      DAT_00176b70 = 0;\n      DAT_00176b68 = sVar10;\n      FUN_00033160();\n      if (remember_on_history == 0) goto joined_r0x00035d82;\n      if (DAT_00176b74 != (char *)0x0) {\n        if (*DAT_00176b74 == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }\n        }\n        else {\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }\njoined_r0x00035d82:\n        if (DAT_00176b74 != (char *)0x0) goto LAB_000362a8;\n      }\n      DAT_00176b6c = 0;\n      prompt_string_pointer = &current_prompt_string;\n      if (((interactive != 0) && (bash_input - 1U < 2)) &&\n         ((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)))) {\n        FUN_000354c0();\n      }\n      goto joined_r0x00035c60;\n    }\n    uVar5 = 0;\n  }\n  return uVar5;\nLAB_000362a8:\n  if (echo_input_at_read == 0) {\nLAB_00036178:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;\n  }\n  else {\n    if (*DAT_00176b74 != '\0') {\n      if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);\n      }\n      goto LAB_00036178;\n    }\nLAB_00036218:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;\n    if (shell_eof_token == 0) goto LAB_00036231;\n  }\n  if ((DAT_00176b6c < 0xfffffffc) && (DAT_00176b6c < DAT_00176b68 + 3)) {\n    iVar7 = DAT_00176b6c + 3;\n    DAT_00176b6c = DAT_00176b6c + 2;\n    DAT_00176b74 = (char *)xrealloc(DAT_00176b74,iVar7);\n  }\n  pcVar8 = DAT_00176b74;\n  sVar10 = DAT_00176b68;\n  if (((bash_input == 3) &&\n      (((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)) && (bVar3)))) &&\n     ((param_1 & bVar9) != 0)) {\n    DAT_00176b74[DAT_00176b68] = '\\';\n  }\n  else {\n    DAT_00176b74[DAT_00176b68] = '\n';\n  }\n  pcVar8[sVar10 + 1] = '\0';\n  FUN_00033160();\nLAB_000361c3:\n  bVar9 = DAT_00176b74[DAT_00176b70];\n  uVar5 = DAT_00176b70;\n  goto LAB_00035a68;\n}" type_identifier (ERROR "__regparm3" identifier) (function_declarator "FUN_00035a20(byte param_1)" identifier (parameter_list "(byte param_1)" ( (parameter_declaration "byte param_1" type_identifier identifier) ))) (compound_statement "{\n  byte *pbVar1;\n  char cVar2;\n  bool bVar3;\n  undefined *puVar4;\n  uint uVar5;\n  undefined4 *puVar6;\n  int iVar7;\n  char *pcVar8;\n  byte bVar9;\n  size_t sVar10;\n  int local_44;\n  \n  puVar6 = (undefined4 *)PTR_stdin_00171f40;\n  if (DAT_00176b74 == (char *)0x0) {\n    line_number = line_number + 1;\n    bVar3 = false;\n    goto joined_r0x00035c60;\n  }\n  bVar3 = false;\n  bVar9 = DAT_00176b74[DAT_00176b70];\n  uVar5 = DAT_00176b70;\n  if ((bVar9 == 0) && (pushed_string_list == (undefined4 *)0x0)) {\n    line_number = line_number + 1;\n    if (DAT_00176b6c < 0x8000) goto joined_r0x00035c60;\n    free(DAT_00176b74);\n    DAT_00176b74 = (char *)0x0;\n    DAT_00176b6c = 0;\n    puVar6 = (undefined4 *)PTR_stdin_00171f40;\n    goto joined_r0x00035c60;\n  }\nLAB_00035a68:\n  DAT_00176b70 = uVar5;\n  if (bVar9 != 0) goto LAB_00035b58;\n  if (pushed_string_list != (undefined4 *)0x0) {\n    local_44 = pushed_string_list[7];\n    if (((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000) == 0)) &&\n        (DAT_00176b70 != 0)) &&\n       (((DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)) &&\n        ((DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')))))))) {\n      parser_state = parser_state | 0x200000;\n      return 0x20;\n    }\n    while (local_44 != 4) {\n      parser_state = parser_state & 0xffdfffff;\n      puVar6 = pushed_string_list;\n      if (DAT_00176b74 != (char *)0x0) {\n        free(DAT_00176b74);\n        puVar6 = pushed_string_list;\n      }\n      DAT_00176b74 = (char *)puVar6[2];\n      DAT_00176b70 = puVar6[5];\n      DAT_00176b6c = puVar6[4];\n      DAT_00176b64 = puVar6[6];\n      uVar5 = parser_state & 0xfffffffd;\n      if (puVar6[1] != 0) {\n        uVar5 = parser_state | 2;\n      }\n      pushed_string_list = (undefined4 *)*puVar6;\n      parser_state = uVar5;\n      if (puVar6[3] != 0) {\n        pbVar1 = (byte *)(puVar6[3] + 8);\n        *pbVar1 = *pbVar1 & 0xfd;\n      }\n      free(puVar6);\n      FUN_00033160();\n      bVar9 = DAT_00176b74[DAT_00176b70];\n      if (bVar9 == 0) break;\nLAB_00035b58:\n      DAT_00176b70 = DAT_00176b70 + 1;\n      if ((bVar9 != 0x5c) || ((param_1 & 1) == 0)) {\n        if (bVar9 != 0) {\n          return (uint)bVar9;\n        }\n        break;\n      }\n      if ((DAT_00176b74[DAT_00176b70] != '\n') ||\n         ((1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0')))) {\n        return 0x5c;\n      }\n      if ((interactive == 0) || (1 < bash_input - 1U)) {\nLAB_00035bbb:\n        line_number = line_number + 1;\n        puVar6 = (undefined4 *)PTR_stdin_00171f40;\n        if (pushed_string_list == (undefined4 *)0x0) goto joined_r0x00035c60;\n      }\n      else {\n        if ((pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0)) {\n          FUN_000354c0();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\n      if (pushed_string_list[3] == 0) goto joined_r0x00035c60;\n      bVar9 = DAT_00176b74[DAT_00176b70 + 1];\n      uVar5 = DAT_00176b70 + 1;\n      if (bVar9 != 0) goto LAB_00035a68;\n      local_44 = pushed_string_list[7];\n    }\n  }\n  if (DAT_00176b64 == -1) {\n    uVar5 = 0xffffffff;\n    if (DAT_00176b70 != 0) {\n      uVar5 = 10;\n    }\n  }\n  else {\n    if ((((bash_input == 3) && (*DAT_0017ac84 != '\0')) && (pushed_string_list != (undefined4 *)0x0)\n        ) && ((pushed_string_list[7] == 4 && (DAT_00176b64 == 0)))) {\n      DAT_00176b70 = 0;\n      DAT_00176b64 = 0;\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\njoined_r0x00035c60:\n      if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }\n      if (interrupt_state != 0) {\n        throw_to_top_level();\n      }\n      DAT_00176b64 = 0;\n      if (interactive_shell == 0) {\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar4 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2)) {\n          fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar4);\n        }\njoined_r0x00035e4b:\n        if (bash_input == 2) {\n          clearerr((FILE *)*puVar6);\n        }\n      }\n      else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input - 1U < 2) goto LAB_00035e18;\n      }\n      sVar10 = 0;\n      do {\n        iVar7 = (*DAT_0017ac88)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar7 == 0) break;\n          if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }\n          pcVar8 = DAT_00176b74 + sVar10;\n          if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar8 = (char)iVar7;\n          if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar3 = iVar7 == 0x5c && !bVar3;\n          iVar7 = (*DAT_0017ac88)();\n          sVar10 = sVar10 + 1;\n        }\n      } while (bash_input != 3);\n      if (sVar10 == 0) {\n        DAT_00176b64 = -1;\n      }\n      DAT_00176b74[sVar10] = '\0';\n      bVar9 = 1;\nLAB_00035cff:\n      DAT_00176b70 = 0;\n      DAT_00176b68 = sVar10;\n      FUN_00033160();\n      if (remember_on_history == 0) goto joined_r0x00035d82;\n      if (DAT_00176b74 != (char *)0x0) {\n        if (*DAT_00176b74 == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }\n        }\n        else {\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }\njoined_r0x00035d82:\n        if (DAT_00176b74 != (char *)0x0) goto LAB_000362a8;\n      }\n      DAT_00176b6c = 0;\n      prompt_string_pointer = &current_prompt_string;\n      if (((interactive != 0) && (bash_input - 1U < 2)) &&\n         ((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)))) {\n        FUN_000354c0();\n      }\n      goto joined_r0x00035c60;\n    }\n    uVar5 = 0;\n  }\n  return uVar5;\nLAB_000362a8:\n  if (echo_input_at_read == 0) {\nLAB_00036178:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;\n  }\n  else {\n    if (*DAT_00176b74 != '\0') {\n      if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);\n      }\n      goto LAB_00036178;\n    }\nLAB_00036218:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;\n    if (shell_eof_token == 0) goto LAB_00036231;\n  }\n  if ((DAT_00176b6c < 0xfffffffc) && (DAT_00176b6c < DAT_00176b68 + 3)) {\n    iVar7 = DAT_00176b6c + 3;\n    DAT_00176b6c = DAT_00176b6c + 2;\n    DAT_00176b74 = (char *)xrealloc(DAT_00176b74,iVar7);\n  }\n  pcVar8 = DAT_00176b74;\n  sVar10 = DAT_00176b68;\n  if (((bash_input == 3) &&\n      (((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)) && (bVar3)))) &&\n     ((param_1 & bVar9) != 0)) {\n    DAT_00176b74[DAT_00176b68] = '\\';\n  }\n  else {\n    DAT_00176b74[DAT_00176b68] = '\n';\n  }\n  pcVar8[sVar10 + 1] = '\0';\n  FUN_00033160();\nLAB_000361c3:\n  bVar9 = DAT_00176b74[DAT_00176b70];\n  uVar5 = DAT_00176b70;\n  goto LAB_00035a68;\n}" { (declaration "byte *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "bool bVar3;" primitive_type identifier ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "char *pcVar8;" primitive_type (pointer_declarator "*pcVar8" * identifier) ;) (declaration "byte bVar9;" type_identifier identifier ;) (declaration "size_t sVar10;" primitive_type identifier ;) (declaration "int local_44;" primitive_type identifier ;) (expression_statement "puVar6 = (undefined4 *)PTR_stdin_00171f40;" (assignment_expression "puVar6 = (undefined4 *)PTR_stdin_00171f40" identifier = (cast_expression "(undefined4 *)PTR_stdin_00171f40" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (DAT_00176b74 == (char *)0x0) {\n    line_number = line_number + 1;\n    bVar3 = false;\n    goto joined_r0x00035c60;\n  }" if (parenthesized_expression "(DAT_00176b74 == (char *)0x0)" ( (binary_expression "DAT_00176b74 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    line_number = line_number + 1;\n    bVar3 = false;\n    goto joined_r0x00035c60;\n  }" { (expression_statement "line_number = line_number + 1;" (assignment_expression "line_number = line_number + 1" identifier = (binary_expression "line_number + 1" identifier + number_literal)) ;) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (goto_statement "goto joined_r0x00035c60;" goto statement_identifier ;) })) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" identifier = false) ;) (expression_statement "bVar9 = DAT_00176b74[DAT_00176b70];" (assignment_expression "bVar9 = DAT_00176b74[DAT_00176b70]" identifier = (subscript_expression "DAT_00176b74[DAT_00176b70]" identifier [ identifier ])) ;) (expression_statement "uVar5 = DAT_00176b70;" (assignment_expression "uVar5 = DAT_00176b70" identifier = identifier) ;) (if_statement "if ((bVar9 == 0) && (pushed_string_list == (undefined4 *)0x0)) {\n    line_number = line_number + 1;\n    if (DAT_00176b6c < 0x8000) goto joined_r0x00035c60;\n    free(DAT_00176b74);\n    DAT_00176b74 = (char *)0x0;\n    DAT_00176b6c = 0;\n    puVar6 = (undefined4 *)PTR_stdin_00171f40;\n    goto joined_r0x00035c60;\n  }" if (parenthesized_expression "((bVar9 == 0) && (pushed_string_list == (undefined4 *)0x0))" ( (binary_expression "(bVar9 == 0) && (pushed_string_list == (undefined4 *)0x0)" (parenthesized_expression "(bVar9 == 0)" ( (binary_expression "bVar9 == 0" identifier == number_literal) )) && (parenthesized_expression "(pushed_string_list == (undefined4 *)0x0)" ( (binary_expression "pushed_string_list == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n    line_number = line_number + 1;\n    if (DAT_00176b6c < 0x8000) goto joined_r0x00035c60;\n    free(DAT_00176b74);\n    DAT_00176b74 = (char *)0x0;\n    DAT_00176b6c = 0;\n    puVar6 = (undefined4 *)PTR_stdin_00171f40;\n    goto joined_r0x00035c60;\n  }" { (expression_statement "line_number = line_number + 1;" (assignment_expression "line_number = line_number + 1" identifier = (binary_expression "line_number + 1" identifier + number_literal)) ;) (if_statement "if (DAT_00176b6c < 0x8000) goto joined_r0x00035c60;" if (parenthesized_expression "(DAT_00176b6c < 0x8000)" ( (binary_expression "DAT_00176b6c < 0x8000" identifier < number_literal) )) (goto_statement "goto joined_r0x00035c60;" goto statement_identifier ;)) (expression_statement "free(DAT_00176b74);" (call_expression "free(DAT_00176b74)" identifier (argument_list "(DAT_00176b74)" ( identifier ))) ;) (expression_statement "DAT_00176b74 = (char *)0x0;" (assignment_expression "DAT_00176b74 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "DAT_00176b6c = 0;" (assignment_expression "DAT_00176b6c = 0" identifier = number_literal) ;) (expression_statement "puVar6 = (undefined4 *)PTR_stdin_00171f40;" (assignment_expression "puVar6 = (undefined4 *)PTR_stdin_00171f40" identifier = (cast_expression "(undefined4 *)PTR_stdin_00171f40" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto joined_r0x00035c60;" goto statement_identifier ;) })) (labeled_statement "LAB_00035a68:\n  DAT_00176b70 = uVar5;" statement_identifier : (expression_statement "DAT_00176b70 = uVar5;" (assignment_expression "DAT_00176b70 = uVar5" identifier = identifier) ;)) (if_statement "if (bVar9 != 0) goto LAB_00035b58;" if (parenthesized_expression "(bVar9 != 0)" ( (binary_expression "bVar9 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00035b58;" goto statement_identifier ;)) (if_statement "if (pushed_string_list != (undefined4 *)0x0) {\n    local_44 = pushed_string_list[7];\n    if (((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000) == 0)) &&\n        (DAT_00176b70 != 0)) &&\n       (((DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)) &&\n        ((DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')))))))) {\n      parser_state = parser_state | 0x200000;\n      return 0x20;\n    }\n    while (local_44 != 4) {\n      parser_state = parser_state & 0xffdfffff;\n      puVar6 = pushed_string_list;\n      if (DAT_00176b74 != (char *)0x0) {\n        free(DAT_00176b74);\n        puVar6 = pushed_string_list;\n      }\n      DAT_00176b74 = (char *)puVar6[2];\n      DAT_00176b70 = puVar6[5];\n      DAT_00176b6c = puVar6[4];\n      DAT_00176b64 = puVar6[6];\n      uVar5 = parser_state & 0xfffffffd;\n      if (puVar6[1] != 0) {\n        uVar5 = parser_state | 2;\n      }\n      pushed_string_list = (undefined4 *)*puVar6;\n      parser_state = uVar5;\n      if (puVar6[3] != 0) {\n        pbVar1 = (byte *)(puVar6[3] + 8);\n        *pbVar1 = *pbVar1 & 0xfd;\n      }\n      free(puVar6);\n      FUN_00033160();\n      bVar9 = DAT_00176b74[DAT_00176b70];\n      if (bVar9 == 0) break;\nLAB_00035b58:\n      DAT_00176b70 = DAT_00176b70 + 1;\n      if ((bVar9 != 0x5c) || ((param_1 & 1) == 0)) {\n        if (bVar9 != 0) {\n          return (uint)bVar9;\n        }\n        break;\n      }\n      if ((DAT_00176b74[DAT_00176b70] != '\n') ||\n         ((1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0')))) {\n        return 0x5c;\n      }\n      if ((interactive == 0) || (1 < bash_input - 1U)) {\nLAB_00035bbb:\n        line_number = line_number + 1;\n        puVar6 = (undefined4 *)PTR_stdin_00171f40;\n        if (pushed_string_list == (undefined4 *)0x0) goto joined_r0x00035c60;\n      }\n      else {\n        if ((pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0)) {\n          FUN_000354c0();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\n      if (pushed_string_list[3] == 0) goto joined_r0x00035c60;\n      bVar9 = DAT_00176b74[DAT_00176b70 + 1];\n      uVar5 = DAT_00176b70 + 1;\n      if (bVar9 != 0) goto LAB_00035a68;\n      local_44 = pushed_string_list[7];\n    }\n  }" if (parenthesized_expression "(pushed_string_list != (undefined4 *)0x0)" ( (binary_expression "pushed_string_list != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    local_44 = pushed_string_list[7];\n    if (((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000) == 0)) &&\n        (DAT_00176b70 != 0)) &&\n       (((DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)) &&\n        ((DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')))))))) {\n      parser_state = parser_state | 0x200000;\n      return 0x20;\n    }\n    while (local_44 != 4) {\n      parser_state = parser_state & 0xffdfffff;\n      puVar6 = pushed_string_list;\n      if (DAT_00176b74 != (char *)0x0) {\n        free(DAT_00176b74);\n        puVar6 = pushed_string_list;\n      }\n      DAT_00176b74 = (char *)puVar6[2];\n      DAT_00176b70 = puVar6[5];\n      DAT_00176b6c = puVar6[4];\n      DAT_00176b64 = puVar6[6];\n      uVar5 = parser_state & 0xfffffffd;\n      if (puVar6[1] != 0) {\n        uVar5 = parser_state | 2;\n      }\n      pushed_string_list = (undefined4 *)*puVar6;\n      parser_state = uVar5;\n      if (puVar6[3] != 0) {\n        pbVar1 = (byte *)(puVar6[3] + 8);\n        *pbVar1 = *pbVar1 & 0xfd;\n      }\n      free(puVar6);\n      FUN_00033160();\n      bVar9 = DAT_00176b74[DAT_00176b70];\n      if (bVar9 == 0) break;\nLAB_00035b58:\n      DAT_00176b70 = DAT_00176b70 + 1;\n      if ((bVar9 != 0x5c) || ((param_1 & 1) == 0)) {\n        if (bVar9 != 0) {\n          return (uint)bVar9;\n        }\n        break;\n      }\n      if ((DAT_00176b74[DAT_00176b70] != '\n') ||\n         ((1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0')))) {\n        return 0x5c;\n      }\n      if ((interactive == 0) || (1 < bash_input - 1U)) {\nLAB_00035bbb:\n        line_number = line_number + 1;\n        puVar6 = (undefined4 *)PTR_stdin_00171f40;\n        if (pushed_string_list == (undefined4 *)0x0) goto joined_r0x00035c60;\n      }\n      else {\n        if ((pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0)) {\n          FUN_000354c0();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\n      if (pushed_string_list[3] == 0) goto joined_r0x00035c60;\n      bVar9 = DAT_00176b74[DAT_00176b70 + 1];\n      uVar5 = DAT_00176b70 + 1;\n      if (bVar9 != 0) goto LAB_00035a68;\n      local_44 = pushed_string_list[7];\n    }\n  }" { (expression_statement "local_44 = pushed_string_list[7];" (assignment_expression "local_44 = pushed_string_list[7]" identifier = (subscript_expression "pushed_string_list[7]" identifier [ number_literal ])) ;) (if_statement "if (((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000) == 0)) &&\n        (DAT_00176b70 != 0)) &&\n       (((DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)) &&\n        ((DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')))))))) {\n      parser_state = parser_state | 0x200000;\n      return 0x20;\n    }" if (parenthesized_expression "(((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000) == 0)) &&\n        (DAT_00176b70 != 0)) &&\n       (((DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)) &&\n        ((DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"'))))))))" ( (binary_expression "((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000) == 0)) &&\n        (DAT_00176b70 != 0)) &&\n       (((DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)) &&\n        ((DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')))))))" (parenthesized_expression "((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000) == 0)) &&\n        (DAT_00176b70 != 0))" ( (binary_expression "(((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000) == 0)) &&\n        (DAT_00176b70 != 0)" (parenthesized_expression "(((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000) == 0))" ( (binary_expression "((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000) == 0)" (parenthesized_expression "((local_44 - 2U & 0xfffffffd) != 0)" ( (binary_expression "(local_44 - 2U & 0xfffffffd) != 0" (parenthesized_expression "(local_44 - 2U & 0xfffffffd)" ( (binary_expression "local_44 - 2U & 0xfffffffd" (binary_expression "local_44 - 2U" identifier - number_literal) & number_literal) )) != number_literal) )) && (parenthesized_expression "((parser_state & 0x300000) == 0)" ( (binary_expression "(parser_state & 0x300000) == 0" (parenthesized_expression "(parser_state & 0x300000)" ( (binary_expression "parser_state & 0x300000" identifier & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "(DAT_00176b70 != 0)" ( (binary_expression "DAT_00176b70 != 0" identifier != number_literal) ))) )) && (parenthesized_expression "(((DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)) &&\n        ((DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')))))))" ( (parenthesized_expression "((DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)) &&\n        ((DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"'))))))" ( (binary_expression "(DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)) &&\n        ((DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')))))" (parenthesized_expression "(DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0))" ( (binary_expression "DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)" (binary_expression "DAT_00176b74[DAT_00176b70 - 1] != 10" (subscript_expression "DAT_00176b74[DAT_00176b70 - 1]" identifier [ (binary_expression "DAT_00176b70 - 1" identifier - number_literal) ]) != number_literal) && (parenthesized_expression "(((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)" ( (binary_expression "((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0" (parenthesized_expression "((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001)" ( (binary_expression "(&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001" (subscript_expression "(&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]]" (parenthesized_expression "(&sh_syntaxtab)" ( (pointer_expression "&sh_syntaxtab" & identifier) )) [ (cast_expression "(byte)DAT_00176b74[DAT_00176b70 - 1]" ( (type_descriptor "byte" type_identifier) ) (subscript_expression "DAT_00176b74[DAT_00176b70 - 1]" identifier [ (binary_expression "DAT_00176b70 - 1" identifier - number_literal) ])) ]) & number_literal) )) == number_literal) ))) )) && (parenthesized_expression "((DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')))))" ( (parenthesized_expression "(DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"'))))" ( (binary_expression "DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')))" (binary_expression "DAT_001768ac == 0" identifier == number_literal) || (parenthesized_expression "((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')))" ( (parenthesized_expression "(cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"'))" ( (comma_expression "cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')" (assignment_expression "cVar2 = *(char *)(dstack + -1 + DAT_001768ac)" identifier = (pointer_expression "*(char *)(dstack + -1 + DAT_001768ac)" * (cast_expression "(char *)(dstack + -1 + DAT_001768ac)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(dstack + -1 + DAT_001768ac)" ( (binary_expression "dstack + -1 + DAT_001768ac" (binary_expression "dstack + -1" identifier + number_literal) + identifier) ))))) , (binary_expression "cVar2 != '\'' && (cVar2 != '\"')" (binary_expression "cVar2 != '\''" identifier != (char_literal "'\''" ' escape_sequence ')) && (parenthesized_expression "(cVar2 != '\"')" ( (binary_expression "cVar2 != '\"'" identifier != (char_literal "'\"'" ' escape_sequence ')) )))) )) ))) )) ))) )) ))) )) (compound_statement "{\n      parser_state = parser_state | 0x200000;\n      return 0x20;\n    }" { (expression_statement "parser_state = parser_state | 0x200000;" (assignment_expression "parser_state = parser_state | 0x200000" identifier = (binary_expression "parser_state | 0x200000" identifier | number_literal)) ;) (return_statement "return 0x20;" return number_literal ;) })) (while_statement "while (local_44 != 4) {\n      parser_state = parser_state & 0xffdfffff;\n      puVar6 = pushed_string_list;\n      if (DAT_00176b74 != (char *)0x0) {\n        free(DAT_00176b74);\n        puVar6 = pushed_string_list;\n      }\n      DAT_00176b74 = (char *)puVar6[2];\n      DAT_00176b70 = puVar6[5];\n      DAT_00176b6c = puVar6[4];\n      DAT_00176b64 = puVar6[6];\n      uVar5 = parser_state & 0xfffffffd;\n      if (puVar6[1] != 0) {\n        uVar5 = parser_state | 2;\n      }\n      pushed_string_list = (undefined4 *)*puVar6;\n      parser_state = uVar5;\n      if (puVar6[3] != 0) {\n        pbVar1 = (byte *)(puVar6[3] + 8);\n        *pbVar1 = *pbVar1 & 0xfd;\n      }\n      free(puVar6);\n      FUN_00033160();\n      bVar9 = DAT_00176b74[DAT_00176b70];\n      if (bVar9 == 0) break;\nLAB_00035b58:\n      DAT_00176b70 = DAT_00176b70 + 1;\n      if ((bVar9 != 0x5c) || ((param_1 & 1) == 0)) {\n        if (bVar9 != 0) {\n          return (uint)bVar9;\n        }\n        break;\n      }\n      if ((DAT_00176b74[DAT_00176b70] != '\n') ||\n         ((1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0')))) {\n        return 0x5c;\n      }\n      if ((interactive == 0) || (1 < bash_input - 1U)) {\nLAB_00035bbb:\n        line_number = line_number + 1;\n        puVar6 = (undefined4 *)PTR_stdin_00171f40;\n        if (pushed_string_list == (undefined4 *)0x0) goto joined_r0x00035c60;\n      }\n      else {\n        if ((pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0)) {\n          FUN_000354c0();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\n      if (pushed_string_list[3] == 0) goto joined_r0x00035c60;\n      bVar9 = DAT_00176b74[DAT_00176b70 + 1];\n      uVar5 = DAT_00176b70 + 1;\n      if (bVar9 != 0) goto LAB_00035a68;\n      local_44 = pushed_string_list[7];\n    }" while (parenthesized_expression "(local_44 != 4)" ( (binary_expression "local_44 != 4" identifier != number_literal) )) (compound_statement "{\n      parser_state = parser_state & 0xffdfffff;\n      puVar6 = pushed_string_list;\n      if (DAT_00176b74 != (char *)0x0) {\n        free(DAT_00176b74);\n        puVar6 = pushed_string_list;\n      }\n      DAT_00176b74 = (char *)puVar6[2];\n      DAT_00176b70 = puVar6[5];\n      DAT_00176b6c = puVar6[4];\n      DAT_00176b64 = puVar6[6];\n      uVar5 = parser_state & 0xfffffffd;\n      if (puVar6[1] != 0) {\n        uVar5 = parser_state | 2;\n      }\n      pushed_string_list = (undefined4 *)*puVar6;\n      parser_state = uVar5;\n      if (puVar6[3] != 0) {\n        pbVar1 = (byte *)(puVar6[3] + 8);\n        *pbVar1 = *pbVar1 & 0xfd;\n      }\n      free(puVar6);\n      FUN_00033160();\n      bVar9 = DAT_00176b74[DAT_00176b70];\n      if (bVar9 == 0) break;\nLAB_00035b58:\n      DAT_00176b70 = DAT_00176b70 + 1;\n      if ((bVar9 != 0x5c) || ((param_1 & 1) == 0)) {\n        if (bVar9 != 0) {\n          return (uint)bVar9;\n        }\n        break;\n      }\n      if ((DAT_00176b74[DAT_00176b70] != '\n') ||\n         ((1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0')))) {\n        return 0x5c;\n      }\n      if ((interactive == 0) || (1 < bash_input - 1U)) {\nLAB_00035bbb:\n        line_number = line_number + 1;\n        puVar6 = (undefined4 *)PTR_stdin_00171f40;\n        if (pushed_string_list == (undefined4 *)0x0) goto joined_r0x00035c60;\n      }\n      else {\n        if ((pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0)) {\n          FUN_000354c0();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\n      if (pushed_string_list[3] == 0) goto joined_r0x00035c60;\n      bVar9 = DAT_00176b74[DAT_00176b70 + 1];\n      uVar5 = DAT_00176b70 + 1;\n      if (bVar9 != 0) goto LAB_00035a68;\n      local_44 = pushed_string_list[7];\n    }" { (expression_statement "parser_state = parser_state & 0xffdfffff;" (assignment_expression "parser_state = parser_state & 0xffdfffff" identifier = (binary_expression "parser_state & 0xffdfffff" identifier & number_literal)) ;) (expression_statement "puVar6 = pushed_string_list;" (assignment_expression "puVar6 = pushed_string_list" identifier = identifier) ;) (if_statement "if (DAT_00176b74 != (char *)0x0) {\n        free(DAT_00176b74);\n        puVar6 = pushed_string_list;\n      }" if (parenthesized_expression "(DAT_00176b74 != (char *)0x0)" ( (binary_expression "DAT_00176b74 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        free(DAT_00176b74);\n        puVar6 = pushed_string_list;\n      }" { (expression_statement "free(DAT_00176b74);" (call_expression "free(DAT_00176b74)" identifier (argument_list "(DAT_00176b74)" ( identifier ))) ;) (expression_statement "puVar6 = pushed_string_list;" (assignment_expression "puVar6 = pushed_string_list" identifier = identifier) ;) })) (expression_statement "DAT_00176b74 = (char *)puVar6[2];" (assignment_expression "DAT_00176b74 = (char *)puVar6[2]" identifier = (cast_expression "(char *)puVar6[2]" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[2]" identifier [ number_literal ]))) ;) (expression_statement "DAT_00176b70 = puVar6[5];" (assignment_expression "DAT_00176b70 = puVar6[5]" identifier = (subscript_expression "puVar6[5]" identifier [ number_literal ])) ;) (expression_statement "DAT_00176b6c = puVar6[4];" (assignment_expression "DAT_00176b6c = puVar6[4]" identifier = (subscript_expression "puVar6[4]" identifier [ number_literal ])) ;) (expression_statement "DAT_00176b64 = puVar6[6];" (assignment_expression "DAT_00176b64 = puVar6[6]" identifier = (subscript_expression "puVar6[6]" identifier [ number_literal ])) ;) (expression_statement "uVar5 = parser_state & 0xfffffffd;" (assignment_expression "uVar5 = parser_state & 0xfffffffd" identifier = (binary_expression "parser_state & 0xfffffffd" identifier & number_literal)) ;) (if_statement "if (puVar6[1] != 0) {\n        uVar5 = parser_state | 2;\n      }" if (parenthesized_expression "(puVar6[1] != 0)" ( (binary_expression "puVar6[1] != 0" (subscript_expression "puVar6[1]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        uVar5 = parser_state | 2;\n      }" { (expression_statement "uVar5 = parser_state | 2;" (assignment_expression "uVar5 = parser_state | 2" identifier = (binary_expression "parser_state | 2" identifier | number_literal)) ;) })) (expression_statement "pushed_string_list = (undefined4 *)*puVar6;" (assignment_expression "pushed_string_list = (undefined4 *)*puVar6" identifier = (cast_expression "(undefined4 *)*puVar6" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier))) ;) (expression_statement "parser_state = uVar5;" (assignment_expression "parser_state = uVar5" identifier = identifier) ;) (if_statement "if (puVar6[3] != 0) {\n        pbVar1 = (byte *)(puVar6[3] + 8);\n        *pbVar1 = *pbVar1 & 0xfd;\n      }" if (parenthesized_expression "(puVar6[3] != 0)" ( (binary_expression "puVar6[3] != 0" (subscript_expression "puVar6[3]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n        pbVar1 = (byte *)(puVar6[3] + 8);\n        *pbVar1 = *pbVar1 & 0xfd;\n      }" { (expression_statement "pbVar1 = (byte *)(puVar6[3] + 8);" (assignment_expression "pbVar1 = (byte *)(puVar6[3] + 8)" identifier = (cast_expression "(byte *)(puVar6[3] + 8)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar6[3] + 8)" ( (binary_expression "puVar6[3] + 8" (subscript_expression "puVar6[3]" identifier [ number_literal ]) + number_literal) )))) ;) (expression_statement "*pbVar1 = *pbVar1 & 0xfd;" (assignment_expression "*pbVar1 = *pbVar1 & 0xfd" (pointer_expression "*pbVar1" * identifier) = (binary_expression "*pbVar1 & 0xfd" (pointer_expression "*pbVar1" * identifier) & number_literal)) ;) })) (expression_statement "free(puVar6);" (call_expression "free(puVar6)" identifier (argument_list "(puVar6)" ( identifier ))) ;) (expression_statement "FUN_00033160();" (call_expression "FUN_00033160()" identifier (argument_list "()" ( ))) ;) (expression_statement "bVar9 = DAT_00176b74[DAT_00176b70];" (assignment_expression "bVar9 = DAT_00176b74[DAT_00176b70]" identifier = (subscript_expression "DAT_00176b74[DAT_00176b70]" identifier [ identifier ])) ;) (if_statement "if (bVar9 == 0) break;" if (parenthesized_expression "(bVar9 == 0)" ( (binary_expression "bVar9 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (labeled_statement "LAB_00035b58:\n      DAT_00176b70 = DAT_00176b70 + 1;" statement_identifier : (expression_statement "DAT_00176b70 = DAT_00176b70 + 1;" (assignment_expression "DAT_00176b70 = DAT_00176b70 + 1" identifier = (binary_expression "DAT_00176b70 + 1" identifier + number_literal)) ;)) (if_statement "if ((bVar9 != 0x5c) || ((param_1 & 1) == 0)) {\n        if (bVar9 != 0) {\n          return (uint)bVar9;\n        }\n        break;\n      }" if (parenthesized_expression "((bVar9 != 0x5c) || ((param_1 & 1) == 0))" ( (binary_expression "(bVar9 != 0x5c) || ((param_1 & 1) == 0)" (parenthesized_expression "(bVar9 != 0x5c)" ( (binary_expression "bVar9 != 0x5c" identifier != number_literal) )) || (parenthesized_expression "((param_1 & 1) == 0)" ( (binary_expression "(param_1 & 1) == 0" (parenthesized_expression "(param_1 & 1)" ( (binary_expression "param_1 & 1" identifier & number_literal) )) == number_literal) ))) )) (compound_statement "{\n        if (bVar9 != 0) {\n          return (uint)bVar9;\n        }\n        break;\n      }" { (if_statement "if (bVar9 != 0) {\n          return (uint)bVar9;\n        }" if (parenthesized_expression "(bVar9 != 0)" ( (binary_expression "bVar9 != 0" identifier != number_literal) )) (compound_statement "{\n          return (uint)bVar9;\n        }" { (return_statement "return (uint)bVar9;" return (cast_expression "(uint)bVar9" ( (type_descriptor "uint" type_identifier) ) identifier) ;) })) (break_statement "break;" break ;) })) (if_statement "if ((DAT_00176b74[DAT_00176b70] != '\n') ||\n         ((1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0')))) {\n        return 0x5c;\n      }" if (parenthesized_expression "((DAT_00176b74[DAT_00176b70] != '\n') ||\n         ((1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0'))))" ( (binary_expression "(DAT_00176b74[DAT_00176b70] != '\n') ||\n         ((1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0')))" (parenthesized_expression "(DAT_00176b74[DAT_00176b70] != '\n')" ( (binary_expression "DAT_00176b74[DAT_00176b70] != '\n'" (subscript_expression "DAT_00176b74[DAT_00176b70]" identifier [ identifier ]) != (char_literal "'\n'" ' escape_sequence ')) )) || (parenthesized_expression "((1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0')))" ( (parenthesized_expression "(1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0'))" ( (binary_expression "1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0')" (binary_expression "1 < DAT_00176b70" number_literal < identifier) && (parenthesized_expression "(*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0')" ( (binary_expression "*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0'" (pointer_expression "*(char *)(DAT_00176bc4 + -1 + DAT_00176b70)" * (cast_expression "(char *)(DAT_00176bc4 + -1 + DAT_00176b70)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_00176bc4 + -1 + DAT_00176b70)" ( (binary_expression "DAT_00176bc4 + -1 + DAT_00176b70" (binary_expression "DAT_00176bc4 + -1" identifier + number_literal) + identifier) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) ))) )) (compound_statement "{\n        return 0x5c;\n      }" { (return_statement "return 0x5c;" return number_literal ;) })) (if_statement "if ((interactive == 0) || (1 < bash_input - 1U)) {\nLAB_00035bbb:\n        line_number = line_number + 1;\n        puVar6 = (undefined4 *)PTR_stdin_00171f40;\n        if (pushed_string_list == (undefined4 *)0x0) goto joined_r0x00035c60;\n      }\n      else {\n        if ((pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0)) {\n          FUN_000354c0();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }" if (parenthesized_expression "((interactive == 0) || (1 < bash_input - 1U))" ( (binary_expression "(interactive == 0) || (1 < bash_input - 1U)" (parenthesized_expression "(interactive == 0)" ( (binary_expression "interactive == 0" identifier == number_literal) )) || (parenthesized_expression "(1 < bash_input - 1U)" ( (binary_expression "1 < bash_input - 1U" number_literal < (binary_expression "bash_input - 1U" identifier - number_literal)) ))) )) (compound_statement "{\nLAB_00035bbb:\n        line_number = line_number + 1;\n        puVar6 = (undefined4 *)PTR_stdin_00171f40;\n        if (pushed_string_list == (undefined4 *)0x0) goto joined_r0x00035c60;\n      }" { (labeled_statement "LAB_00035bbb:\n        line_number = line_number + 1;" statement_identifier : (expression_statement "line_number = line_number + 1;" (assignment_expression "line_number = line_number + 1" identifier = (binary_expression "line_number + 1" identifier + number_literal)) ;)) (expression_statement "puVar6 = (undefined4 *)PTR_stdin_00171f40;" (assignment_expression "puVar6 = (undefined4 *)PTR_stdin_00171f40" identifier = (cast_expression "(undefined4 *)PTR_stdin_00171f40" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (pushed_string_list == (undefined4 *)0x0) goto joined_r0x00035c60;" if (parenthesized_expression "(pushed_string_list == (undefined4 *)0x0)" ( (binary_expression "pushed_string_list == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto joined_r0x00035c60;" goto statement_identifier ;)) }) (else_clause "else {\n        if ((pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0)) {\n          FUN_000354c0();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }" else (compound_statement "{\n        if ((pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0)) {\n          FUN_000354c0();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }" { (if_statement "if ((pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0)) {\n          FUN_000354c0();\n          goto LAB_00035bbb;\n        }" if (parenthesized_expression "((pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0))" ( (binary_expression "(pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0)" (parenthesized_expression "(pushed_string_list == (undefined4 *)0x0)" ( (binary_expression "pushed_string_list == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "(pushed_string_list[3] == 0)" ( (binary_expression "pushed_string_list[3] == 0" (subscript_expression "pushed_string_list[3]" identifier [ number_literal ]) == number_literal) ))) )) (compound_statement "{\n          FUN_000354c0();\n          goto LAB_00035bbb;\n        }" { (expression_statement "FUN_000354c0();" (call_expression "FUN_000354c0()" identifier (argument_list "()" ( ))) ;) (goto_statement "goto LAB_00035bbb;" goto statement_identifier ;) })) (expression_statement "line_number = line_number + 1;" (assignment_expression "line_number = line_number + 1" identifier = (binary_expression "line_number + 1" identifier + number_literal)) ;) }))) (expression_statement "puVar6 = (undefined4 *)PTR_stdin_00171f40;" (assignment_expression "puVar6 = (undefined4 *)PTR_stdin_00171f40" identifier = (cast_expression "(undefined4 *)PTR_stdin_00171f40" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (pushed_string_list[3] == 0) goto joined_r0x00035c60;" if (parenthesized_expression "(pushed_string_list[3] == 0)" ( (binary_expression "pushed_string_list[3] == 0" (subscript_expression "pushed_string_list[3]" identifier [ number_literal ]) == number_literal) )) (goto_statement "goto joined_r0x00035c60;" goto statement_identifier ;)) (expression_statement "bVar9 = DAT_00176b74[DAT_00176b70 + 1];" (assignment_expression "bVar9 = DAT_00176b74[DAT_00176b70 + 1]" identifier = (subscript_expression "DAT_00176b74[DAT_00176b70 + 1]" identifier [ (binary_expression "DAT_00176b70 + 1" identifier + number_literal) ])) ;) (expression_statement "uVar5 = DAT_00176b70 + 1;" (assignment_expression "uVar5 = DAT_00176b70 + 1" identifier = (binary_expression "DAT_00176b70 + 1" identifier + number_literal)) ;) (if_statement "if (bVar9 != 0) goto LAB_00035a68;" if (parenthesized_expression "(bVar9 != 0)" ( (binary_expression "bVar9 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00035a68;" goto statement_identifier ;)) (expression_statement "local_44 = pushed_string_list[7];" (assignment_expression "local_44 = pushed_string_list[7]" identifier = (subscript_expression "pushed_string_list[7]" identifier [ number_literal ])) ;) })) })) (if_statement "if (DAT_00176b64 == -1) {\n    uVar5 = 0xffffffff;\n    if (DAT_00176b70 != 0) {\n      uVar5 = 10;\n    }\n  }\n  else {\n    if ((((bash_input == 3) && (*DAT_0017ac84 != '\0')) && (pushed_string_list != (undefined4 *)0x0)\n        ) && ((pushed_string_list[7] == 4 && (DAT_00176b64 == 0)))) {\n      DAT_00176b70 = 0;\n      DAT_00176b64 = 0;\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\njoined_r0x00035c60:\n      if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }\n      if (interrupt_state != 0) {\n        throw_to_top_level();\n      }\n      DAT_00176b64 = 0;\n      if (interactive_shell == 0) {\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar4 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2)) {\n          fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar4);\n        }\njoined_r0x00035e4b:\n        if (bash_input == 2) {\n          clearerr((FILE *)*puVar6);\n        }\n      }\n      else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input - 1U < 2) goto LAB_00035e18;\n      }\n      sVar10 = 0;\n      do {\n        iVar7 = (*DAT_0017ac88)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar7 == 0) break;\n          if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }\n          pcVar8 = DAT_00176b74 + sVar10;\n          if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar8 = (char)iVar7;\n          if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar3 = iVar7 == 0x5c && !bVar3;\n          iVar7 = (*DAT_0017ac88)();\n          sVar10 = sVar10 + 1;\n        }\n      } while (bash_input != 3);\n      if (sVar10 == 0) {\n        DAT_00176b64 = -1;\n      }\n      DAT_00176b74[sVar10] = '\0';\n      bVar9 = 1;\nLAB_00035cff:\n      DAT_00176b70 = 0;\n      DAT_00176b68 = sVar10;\n      FUN_00033160();\n      if (remember_on_history == 0) goto joined_r0x00035d82;\n      if (DAT_00176b74 != (char *)0x0) {\n        if (*DAT_00176b74 == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }\n        }\n        else {\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }\njoined_r0x00035d82:\n        if (DAT_00176b74 != (char *)0x0) goto LAB_000362a8;\n      }\n      DAT_00176b6c = 0;\n      prompt_string_pointer = &current_prompt_string;\n      if (((interactive != 0) && (bash_input - 1U < 2)) &&\n         ((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)))) {\n        FUN_000354c0();\n      }\n      goto joined_r0x00035c60;\n    }\n    uVar5 = 0;\n  }" if (parenthesized_expression "(DAT_00176b64 == -1)" ( (binary_expression "DAT_00176b64 == -1" identifier == number_literal) )) (compound_statement "{\n    uVar5 = 0xffffffff;\n    if (DAT_00176b70 != 0) {\n      uVar5 = 10;\n    }\n  }" { (expression_statement "uVar5 = 0xffffffff;" (assignment_expression "uVar5 = 0xffffffff" identifier = number_literal) ;) (if_statement "if (DAT_00176b70 != 0) {\n      uVar5 = 10;\n    }" if (parenthesized_expression "(DAT_00176b70 != 0)" ( (binary_expression "DAT_00176b70 != 0" identifier != number_literal) )) (compound_statement "{\n      uVar5 = 10;\n    }" { (expression_statement "uVar5 = 10;" (assignment_expression "uVar5 = 10" identifier = number_literal) ;) })) }) (else_clause "else {\n    if ((((bash_input == 3) && (*DAT_0017ac84 != '\0')) && (pushed_string_list != (undefined4 *)0x0)\n        ) && ((pushed_string_list[7] == 4 && (DAT_00176b64 == 0)))) {\n      DAT_00176b70 = 0;\n      DAT_00176b64 = 0;\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\njoined_r0x00035c60:\n      if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }\n      if (interrupt_state != 0) {\n        throw_to_top_level();\n      }\n      DAT_00176b64 = 0;\n      if (interactive_shell == 0) {\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar4 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2)) {\n          fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar4);\n        }\njoined_r0x00035e4b:\n        if (bash_input == 2) {\n          clearerr((FILE *)*puVar6);\n        }\n      }\n      else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input - 1U < 2) goto LAB_00035e18;\n      }\n      sVar10 = 0;\n      do {\n        iVar7 = (*DAT_0017ac88)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar7 == 0) break;\n          if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }\n          pcVar8 = DAT_00176b74 + sVar10;\n          if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar8 = (char)iVar7;\n          if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar3 = iVar7 == 0x5c && !bVar3;\n          iVar7 = (*DAT_0017ac88)();\n          sVar10 = sVar10 + 1;\n        }\n      } while (bash_input != 3);\n      if (sVar10 == 0) {\n        DAT_00176b64 = -1;\n      }\n      DAT_00176b74[sVar10] = '\0';\n      bVar9 = 1;\nLAB_00035cff:\n      DAT_00176b70 = 0;\n      DAT_00176b68 = sVar10;\n      FUN_00033160();\n      if (remember_on_history == 0) goto joined_r0x00035d82;\n      if (DAT_00176b74 != (char *)0x0) {\n        if (*DAT_00176b74 == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }\n        }\n        else {\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }\njoined_r0x00035d82:\n        if (DAT_00176b74 != (char *)0x0) goto LAB_000362a8;\n      }\n      DAT_00176b6c = 0;\n      prompt_string_pointer = &current_prompt_string;\n      if (((interactive != 0) && (bash_input - 1U < 2)) &&\n         ((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)))) {\n        FUN_000354c0();\n      }\n      goto joined_r0x00035c60;\n    }\n    uVar5 = 0;\n  }" else (compound_statement "{\n    if ((((bash_input == 3) && (*DAT_0017ac84 != '\0')) && (pushed_string_list != (undefined4 *)0x0)\n        ) && ((pushed_string_list[7] == 4 && (DAT_00176b64 == 0)))) {\n      DAT_00176b70 = 0;\n      DAT_00176b64 = 0;\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\njoined_r0x00035c60:\n      if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }\n      if (interrupt_state != 0) {\n        throw_to_top_level();\n      }\n      DAT_00176b64 = 0;\n      if (interactive_shell == 0) {\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar4 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2)) {\n          fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar4);\n        }\njoined_r0x00035e4b:\n        if (bash_input == 2) {\n          clearerr((FILE *)*puVar6);\n        }\n      }\n      else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input - 1U < 2) goto LAB_00035e18;\n      }\n      sVar10 = 0;\n      do {\n        iVar7 = (*DAT_0017ac88)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar7 == 0) break;\n          if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }\n          pcVar8 = DAT_00176b74 + sVar10;\n          if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar8 = (char)iVar7;\n          if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar3 = iVar7 == 0x5c && !bVar3;\n          iVar7 = (*DAT_0017ac88)();\n          sVar10 = sVar10 + 1;\n        }\n      } while (bash_input != 3);\n      if (sVar10 == 0) {\n        DAT_00176b64 = -1;\n      }\n      DAT_00176b74[sVar10] = '\0';\n      bVar9 = 1;\nLAB_00035cff:\n      DAT_00176b70 = 0;\n      DAT_00176b68 = sVar10;\n      FUN_00033160();\n      if (remember_on_history == 0) goto joined_r0x00035d82;\n      if (DAT_00176b74 != (char *)0x0) {\n        if (*DAT_00176b74 == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }\n        }\n        else {\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }\njoined_r0x00035d82:\n        if (DAT_00176b74 != (char *)0x0) goto LAB_000362a8;\n      }\n      DAT_00176b6c = 0;\n      prompt_string_pointer = &current_prompt_string;\n      if (((interactive != 0) && (bash_input - 1U < 2)) &&\n         ((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)))) {\n        FUN_000354c0();\n      }\n      goto joined_r0x00035c60;\n    }\n    uVar5 = 0;\n  }" { (if_statement "if ((((bash_input == 3) && (*DAT_0017ac84 != '\0')) && (pushed_string_list != (undefined4 *)0x0)\n        ) && ((pushed_string_list[7] == 4 && (DAT_00176b64 == 0)))) {\n      DAT_00176b70 = 0;\n      DAT_00176b64 = 0;\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\njoined_r0x00035c60:\n      if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }\n      if (interrupt_state != 0) {\n        throw_to_top_level();\n      }\n      DAT_00176b64 = 0;\n      if (interactive_shell == 0) {\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar4 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2)) {\n          fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar4);\n        }\njoined_r0x00035e4b:\n        if (bash_input == 2) {\n          clearerr((FILE *)*puVar6);\n        }\n      }\n      else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input - 1U < 2) goto LAB_00035e18;\n      }\n      sVar10 = 0;\n      do {\n        iVar7 = (*DAT_0017ac88)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar7 == 0) break;\n          if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }\n          pcVar8 = DAT_00176b74 + sVar10;\n          if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar8 = (char)iVar7;\n          if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar3 = iVar7 == 0x5c && !bVar3;\n          iVar7 = (*DAT_0017ac88)();\n          sVar10 = sVar10 + 1;\n        }\n      } while (bash_input != 3);\n      if (sVar10 == 0) {\n        DAT_00176b64 = -1;\n      }\n      DAT_00176b74[sVar10] = '\0';\n      bVar9 = 1;\nLAB_00035cff:\n      DAT_00176b70 = 0;\n      DAT_00176b68 = sVar10;\n      FUN_00033160();\n      if (remember_on_history == 0) goto joined_r0x00035d82;\n      if (DAT_00176b74 != (char *)0x0) {\n        if (*DAT_00176b74 == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }\n        }\n        else {\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }\njoined_r0x00035d82:\n        if (DAT_00176b74 != (char *)0x0) goto LAB_000362a8;\n      }\n      DAT_00176b6c = 0;\n      prompt_string_pointer = &current_prompt_string;\n      if (((interactive != 0) && (bash_input - 1U < 2)) &&\n         ((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)))) {\n        FUN_000354c0();\n      }\n      goto joined_r0x00035c60;\n    }" if (parenthesized_expression "((((bash_input == 3) && (*DAT_0017ac84 != '\0')) && (pushed_string_list != (undefined4 *)0x0)\n        ) && ((pushed_string_list[7] == 4 && (DAT_00176b64 == 0))))" ( (binary_expression "(((bash_input == 3) && (*DAT_0017ac84 != '\0')) && (pushed_string_list != (undefined4 *)0x0)\n        ) && ((pushed_string_list[7] == 4 && (DAT_00176b64 == 0)))" (parenthesized_expression "(((bash_input == 3) && (*DAT_0017ac84 != '\0')) && (pushed_string_list != (undefined4 *)0x0)\n        )" ( (binary_expression "((bash_input == 3) && (*DAT_0017ac84 != '\0')) && (pushed_string_list != (undefined4 *)0x0)" (parenthesized_expression "((bash_input == 3) && (*DAT_0017ac84 != '\0'))" ( (binary_expression "(bash_input == 3) && (*DAT_0017ac84 != '\0')" (parenthesized_expression "(bash_input == 3)" ( (binary_expression "bash_input == 3" identifier == number_literal) )) && (parenthesized_expression "(*DAT_0017ac84 != '\0')" ( (binary_expression "*DAT_0017ac84 != '\0'" (pointer_expression "*DAT_0017ac84" * identifier) != (char_literal "'\0'" ' escape_sequence ')) ))) )) && (parenthesized_expression "(pushed_string_list != (undefined4 *)0x0)" ( (binary_expression "pushed_string_list != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) && (parenthesized_expression "((pushed_string_list[7] == 4 && (DAT_00176b64 == 0)))" ( (parenthesized_expression "(pushed_string_list[7] == 4 && (DAT_00176b64 == 0))" ( (binary_expression "pushed_string_list[7] == 4 && (DAT_00176b64 == 0)" (binary_expression "pushed_string_list[7] == 4" (subscript_expression "pushed_string_list[7]" identifier [ number_literal ]) == number_literal) && (parenthesized_expression "(DAT_00176b64 == 0)" ( (binary_expression "DAT_00176b64 == 0" identifier == number_literal) ))) )) ))) )) (compound_statement "{\n      DAT_00176b70 = 0;\n      DAT_00176b64 = 0;\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\njoined_r0x00035c60:\n      if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }\n      if (interrupt_state != 0) {\n        throw_to_top_level();\n      }\n      DAT_00176b64 = 0;\n      if (interactive_shell == 0) {\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar4 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2)) {\n          fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar4);\n        }\njoined_r0x00035e4b:\n        if (bash_input == 2) {\n          clearerr((FILE *)*puVar6);\n        }\n      }\n      else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input - 1U < 2) goto LAB_00035e18;\n      }\n      sVar10 = 0;\n      do {\n        iVar7 = (*DAT_0017ac88)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar7 == 0) break;\n          if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }\n          pcVar8 = DAT_00176b74 + sVar10;\n          if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar8 = (char)iVar7;\n          if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar3 = iVar7 == 0x5c && !bVar3;\n          iVar7 = (*DAT_0017ac88)();\n          sVar10 = sVar10 + 1;\n        }\n      } while (bash_input != 3);\n      if (sVar10 == 0) {\n        DAT_00176b64 = -1;\n      }\n      DAT_00176b74[sVar10] = '\0';\n      bVar9 = 1;\nLAB_00035cff:\n      DAT_00176b70 = 0;\n      DAT_00176b68 = sVar10;\n      FUN_00033160();\n      if (remember_on_history == 0) goto joined_r0x00035d82;\n      if (DAT_00176b74 != (char *)0x0) {\n        if (*DAT_00176b74 == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }\n        }\n        else {\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }\njoined_r0x00035d82:\n        if (DAT_00176b74 != (char *)0x0) goto LAB_000362a8;\n      }\n      DAT_00176b6c = 0;\n      prompt_string_pointer = &current_prompt_string;\n      if (((interactive != 0) && (bash_input - 1U < 2)) &&\n         ((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)))) {\n        FUN_000354c0();\n      }\n      goto joined_r0x00035c60;\n    }" { (expression_statement "DAT_00176b70 = 0;" (assignment_expression "DAT_00176b70 = 0" identifier = number_literal) ;) (expression_statement "DAT_00176b64 = 0;" (assignment_expression "DAT_00176b64 = 0" identifier = number_literal) ;) (expression_statement "puVar6 = (undefined4 *)PTR_stdin_00171f40;" (assignment_expression "puVar6 = (undefined4 *)PTR_stdin_00171f40" identifier = (cast_expression "(undefined4 *)PTR_stdin_00171f40" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (labeled_statement "joined_r0x00035c60:\n      if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }" statement_identifier : (if_statement "if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }" if (parenthesized_expression "(terminating_signal != 0)" ( (binary_expression "terminating_signal != 0" identifier != number_literal) )) (compound_statement "{\n        termsig_handler(terminating_signal);\n      }" { (expression_statement "termsig_handler(terminating_signal);" (call_expression "termsig_handler(terminating_signal)" identifier (argument_list "(terminating_signal)" ( identifier ))) ;) }))) (if_statement "if (interrupt_state != 0) {\n        throw_to_top_level();\n      }" if (parenthesized_expression "(interrupt_state != 0)" ( (binary_expression "interrupt_state != 0" identifier != number_literal) )) (compound_statement "{\n        throw_to_top_level();\n      }" { (expression_statement "throw_to_top_level();" (call_expression "throw_to_top_level()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "DAT_00176b64 = 0;" (assignment_expression "DAT_00176b64 = 0" identifier = number_literal) ;) (if_statement "if (interactive_shell == 0) {\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar4 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2)) {\n          fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar4);\n        }\njoined_r0x00035e4b:\n        if (bash_input == 2) {\n          clearerr((FILE *)*puVar6);\n        }\n      }\n      else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input - 1U < 2) goto LAB_00035e18;\n      }" if (parenthesized_expression "(interactive_shell == 0)" ( (binary_expression "interactive_shell == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar4 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2)) {\n          fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar4);\n        }\njoined_r0x00035e4b:\n        if (bash_input == 2) {\n          clearerr((FILE *)*puVar6);\n        }\n      }" { (labeled_statement "LAB_00035e18:\n        notify_and_cleanup();" statement_identifier : (expression_statement "notify_and_cleanup();" (call_expression "notify_and_cleanup()" identifier (argument_list "()" ( ))) ;)) (expression_statement "puVar4 = PTR_stderr_00171e54;" (assignment_expression "puVar4 = PTR_stderr_00171e54" identifier = identifier) ;) (if_statement "if (((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2)) {\n          fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar4);\n        }" if (parenthesized_expression "(((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2))" ( (binary_expression "((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2)" (parenthesized_expression "((no_line_editing != 0) && (interactive != 0))" ( (binary_expression "(no_line_editing != 0) && (interactive != 0)" (parenthesized_expression "(no_line_editing != 0)" ( (binary_expression "no_line_editing != 0" identifier != number_literal) )) && (parenthesized_expression "(interactive != 0)" ( (binary_expression "interactive != 0" identifier != number_literal) ))) )) && (parenthesized_expression "(bash_input - 1U < 2)" ( (binary_expression "bash_input - 1U < 2" (binary_expression "bash_input - 1U" identifier - number_literal) < number_literal) ))) )) (compound_statement "{\n          fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar4);\n        }" { (expression_statement "fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);" (call_expression "fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54)" identifier (argument_list "(DAT_00176b54,*(FILE **)PTR_stderr_00171e54)" ( identifier , (pointer_expression "*(FILE **)PTR_stderr_00171e54" * (cast_expression "(FILE **)PTR_stderr_00171e54" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "fflush(*(FILE **)puVar4);" (call_expression "fflush(*(FILE **)puVar4)" identifier (argument_list "(*(FILE **)puVar4)" ( (pointer_expression "*(FILE **)puVar4" * (cast_expression "(FILE **)puVar4" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) })) (labeled_statement "joined_r0x00035e4b:\n        if (bash_input == 2) {\n          clearerr((FILE *)*puVar6);\n        }" statement_identifier : (if_statement "if (bash_input == 2) {\n          clearerr((FILE *)*puVar6);\n        }" if (parenthesized_expression "(bash_input == 2)" ( (binary_expression "bash_input == 2" identifier == number_literal) )) (compound_statement "{\n          clearerr((FILE *)*puVar6);\n        }" { (expression_statement "clearerr((FILE *)*puVar6);" (call_expression "clearerr((FILE *)*puVar6)" identifier (argument_list "((FILE *)*puVar6)" ( (cast_expression "(FILE *)*puVar6" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar6" * identifier)) ))) ;) }))) }) (else_clause "else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input - 1U < 2) goto LAB_00035e18;\n      }" else (compound_statement "{\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input - 1U < 2) goto LAB_00035e18;\n      }" { (if_statement "if (interactive == 0) goto joined_r0x00035e4b;" if (parenthesized_expression "(interactive == 0)" ( (binary_expression "interactive == 0" identifier == number_literal) )) (goto_statement "goto joined_r0x00035e4b;" goto statement_identifier ;)) (if_statement "if (bash_input - 1U < 2) goto LAB_00035e18;" if (parenthesized_expression "(bash_input - 1U < 2)" ( (binary_expression "bash_input - 1U < 2" (binary_expression "bash_input - 1U" identifier - number_literal) < number_literal) )) (goto_statement "goto LAB_00035e18;" goto statement_identifier ;)) }))) (expression_statement "sVar10 = 0;" (assignment_expression "sVar10 = 0" identifier = number_literal) ;) (do_statement "do {\n        iVar7 = (*DAT_0017ac88)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar7 == 0) break;\n          if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }\n          pcVar8 = DAT_00176b74 + sVar10;\n          if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar8 = (char)iVar7;\n          if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar3 = iVar7 == 0x5c && !bVar3;\n          iVar7 = (*DAT_0017ac88)();\n          sVar10 = sVar10 + 1;\n        }\n      } while (bash_input != 3);" do (compound_statement "{\n        iVar7 = (*DAT_0017ac88)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar7 == 0) break;\n          if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }\n          pcVar8 = DAT_00176b74 + sVar10;\n          if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar8 = (char)iVar7;\n          if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar3 = iVar7 == 0x5c && !bVar3;\n          iVar7 = (*DAT_0017ac88)();\n          sVar10 = sVar10 + 1;\n        }\n      }" { (expression_statement "iVar7 = (*DAT_0017ac88)();" (assignment_expression "iVar7 = (*DAT_0017ac88)()" identifier = (call_expression "(*DAT_0017ac88)()" (parenthesized_expression "(*DAT_0017ac88)" ( (pointer_expression "*DAT_0017ac88" * identifier) )) (argument_list "()" ( )))) ;) (while_statement "while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar7 == 0) break;\n          if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }\n          pcVar8 = DAT_00176b74 + sVar10;\n          if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar8 = (char)iVar7;\n          if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar3 = iVar7 == 0x5c && !bVar3;\n          iVar7 = (*DAT_0017ac88)();\n          sVar10 = sVar10 + 1;\n        }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar7 == 0) break;\n          if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }\n          pcVar8 = DAT_00176b74 + sVar10;\n          if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar8 = (char)iVar7;\n          if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar3 = iVar7 == 0x5c && !bVar3;\n          iVar7 = (*DAT_0017ac88)();\n          sVar10 = sVar10 + 1;\n        }" { (if_statement "if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }" if (parenthesized_expression "(terminating_signal != 0)" ( (binary_expression "terminating_signal != 0" identifier != number_literal) )) (compound_statement "{\n            termsig_handler(terminating_signal);\n          }" { (expression_statement "termsig_handler(terminating_signal);" (call_expression "termsig_handler(terminating_signal)" identifier (argument_list "(terminating_signal)" ( identifier ))) ;) })) (if_statement "if (interrupt_state != 0) {\n            throw_to_top_level();\n          }" if (parenthesized_expression "(interrupt_state != 0)" ( (binary_expression "interrupt_state != 0" identifier != number_literal) )) (compound_statement "{\n            throw_to_top_level();\n          }" { (expression_statement "throw_to_top_level();" (call_expression "throw_to_top_level()" identifier (argument_list "()" ( ))) ;) })) (if_statement "if (iVar7 == 0) break;" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (break_statement "break;" break ;)) (if_statement "if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }" if (parenthesized_expression "(DAT_00176b6c < 0xffffff00)" ( (binary_expression "DAT_00176b6c < 0xffffff00" identifier < number_literal) )) (compound_statement "{\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }" { (if_statement "if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }" if (parenthesized_expression "(DAT_00176b6c <= sVar10 + 2)" ( (binary_expression "DAT_00176b6c <= sVar10 + 2" identifier <= (binary_expression "sVar10 + 2" identifier + number_literal)) )) (compound_statement "{\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }" { (do_statement "do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);" do (compound_statement "{\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              }" { (expression_statement "DAT_00176b6c = DAT_00176b6c + 0x100;" (assignment_expression "DAT_00176b6c = DAT_00176b6c + 0x100" identifier = (binary_expression "DAT_00176b6c + 0x100" identifier + number_literal)) ;) }) while (parenthesized_expression "(DAT_00176b6c <= sVar10 + 2)" ( (binary_expression "DAT_00176b6c <= sVar10 + 2" identifier <= (binary_expression "sVar10 + 2" identifier + number_literal)) )) ;) (expression_statement "DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);" (assignment_expression "DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c)" identifier = (cast_expression "(char *)xrealloc(DAT_00176b74,DAT_00176b6c)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xrealloc(DAT_00176b74,DAT_00176b6c)" identifier (argument_list "(DAT_00176b74,DAT_00176b6c)" ( identifier , identifier ))))) ;) })) }) (else_clause "else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }" else (if_statement "if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }" if (parenthesized_expression "(DAT_00176b6c != 0xffffffff)" ( (binary_expression "DAT_00176b6c != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }" { (expression_statement "DAT_00176b6c = 0xffffffff;" (assignment_expression "DAT_00176b6c = 0xffffffff" identifier = number_literal) ;) (expression_statement "DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);" (assignment_expression "DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff)" identifier = (cast_expression "(char *)xrealloc(DAT_00176b74,0xffffffff)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xrealloc(DAT_00176b74,0xffffffff)" identifier (argument_list "(DAT_00176b74,0xffffffff)" ( identifier , number_literal ))))) ;) })))) (expression_statement "pcVar8 = DAT_00176b74 + sVar10;" (assignment_expression "pcVar8 = DAT_00176b74 + sVar10" identifier = (binary_expression "DAT_00176b74 + sVar10" identifier + identifier)) ;) (if_statement "if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }" if (parenthesized_expression "(iVar7 == -1)" ( (binary_expression "iVar7 == -1" identifier == number_literal) )) (compound_statement "{\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }" { (if_statement "if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }" if (parenthesized_expression "(bash_input == 2)" ( (binary_expression "bash_input == 2" identifier == number_literal) )) (compound_statement "{\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }" { (expression_statement "clearerr(*(FILE **)PTR_stdin_00171f40);" (call_expression "clearerr(*(FILE **)PTR_stdin_00171f40)" identifier (argument_list "(*(FILE **)PTR_stdin_00171f40)" ( (pointer_expression "*(FILE **)PTR_stdin_00171f40" * (cast_expression "(FILE **)PTR_stdin_00171f40" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) })) (if_statement "if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }" if (parenthesized_expression "(sVar10 == 0)" ( (binary_expression "sVar10 == 0" identifier == number_literal) )) (compound_statement "{\n              DAT_00176b64 = -1;\n            }" { (expression_statement "DAT_00176b64 = -1;" (assignment_expression "DAT_00176b64 = -1" identifier = number_literal) ;) })) (expression_statement "*pcVar8 = '\0';" (assignment_expression "*pcVar8 = '\0'" (pointer_expression "*pcVar8" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "bVar9 = 1;" (assignment_expression "bVar9 = 1" identifier = number_literal) ;) (goto_statement "goto LAB_00035cff;" goto statement_identifier ;) })) (expression_statement "*pcVar8 = (char)iVar7;" (assignment_expression "*pcVar8 = (char)iVar7" (pointer_expression "*pcVar8" * identifier) = (cast_expression "(char)iVar7" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (if_statement "if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }" if (parenthesized_expression "(iVar7 == 10)" ( (binary_expression "iVar7 == 10" identifier == number_literal) )) (compound_statement "{\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }" { (expression_statement "*pcVar8 = '\0';" (assignment_expression "*pcVar8 = '\0'" (pointer_expression "*pcVar8" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "bVar9 = 0;" (assignment_expression "bVar9 = 0" identifier = number_literal) ;) (expression_statement "current_command_line_count = current_command_line_count + 1;" (assignment_expression "current_command_line_count = current_command_line_count + 1" identifier = (binary_expression "current_command_line_count + 1" identifier + number_literal)) ;) (goto_statement "goto LAB_00035cff;" goto statement_identifier ;) })) (expression_statement "bVar3 = iVar7 == 0x5c && !bVar3;" (assignment_expression "bVar3 = iVar7 == 0x5c && !bVar3" identifier = (binary_expression "iVar7 == 0x5c && !bVar3" (binary_expression "iVar7 == 0x5c" identifier == number_literal) && (unary_expression "!bVar3" ! identifier))) ;) (expression_statement "iVar7 = (*DAT_0017ac88)();" (assignment_expression "iVar7 = (*DAT_0017ac88)()" identifier = (call_expression "(*DAT_0017ac88)()" (parenthesized_expression "(*DAT_0017ac88)" ( (pointer_expression "*DAT_0017ac88" * identifier) )) (argument_list "()" ( )))) ;) (expression_statement "sVar10 = sVar10 + 1;" (assignment_expression "sVar10 = sVar10 + 1" identifier = (binary_expression "sVar10 + 1" identifier + number_literal)) ;) })) }) while (parenthesized_expression "(bash_input != 3)" ( (binary_expression "bash_input != 3" identifier != number_literal) )) ;) (if_statement "if (sVar10 == 0) {\n        DAT_00176b64 = -1;\n      }" if (parenthesized_expression "(sVar10 == 0)" ( (binary_expression "sVar10 == 0" identifier == number_literal) )) (compound_statement "{\n        DAT_00176b64 = -1;\n      }" { (expression_statement "DAT_00176b64 = -1;" (assignment_expression "DAT_00176b64 = -1" identifier = number_literal) ;) })) (expression_statement "DAT_00176b74[sVar10] = '\0';" (assignment_expression "DAT_00176b74[sVar10] = '\0'" (subscript_expression "DAT_00176b74[sVar10]" identifier [ identifier ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "bVar9 = 1;" (assignment_expression "bVar9 = 1" identifier = number_literal) ;) (labeled_statement "LAB_00035cff:\n      DAT_00176b70 = 0;" statement_identifier : (expression_statement "DAT_00176b70 = 0;" (assignment_expression "DAT_00176b70 = 0" identifier = number_literal) ;)) (expression_statement "DAT_00176b68 = sVar10;" (assignment_expression "DAT_00176b68 = sVar10" identifier = identifier) ;) (expression_statement "FUN_00033160();" (call_expression "FUN_00033160()" identifier (argument_list "()" ( ))) ;) (if_statement "if (remember_on_history == 0) goto joined_r0x00035d82;" if (parenthesized_expression "(remember_on_history == 0)" ( (binary_expression "remember_on_history == 0" identifier == number_literal) )) (goto_statement "goto joined_r0x00035d82;" goto statement_identifier ;)) (if_statement "if (DAT_00176b74 != (char *)0x0) {\n        if (*DAT_00176b74 == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }\n        }\n        else {\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }\njoined_r0x00035d82:\n        if (DAT_00176b74 != (char *)0x0) goto LAB_000362a8;\n      }" if (parenthesized_expression "(DAT_00176b74 != (char *)0x0)" ( (binary_expression "DAT_00176b74 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        if (*DAT_00176b74 == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }\n        }\n        else {\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }\njoined_r0x00035d82:\n        if (DAT_00176b74 != (char *)0x0) goto LAB_000362a8;\n      }" { (if_statement "if (*DAT_00176b74 == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }\n        }\n        else {\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }" if (parenthesized_expression "(*DAT_00176b74 == '\0')" ( (binary_expression "*DAT_00176b74 == '\0'" (pointer_expression "*DAT_00176b74" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }\n        }" { (if_statement "if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }" if (parenthesized_expression "(current_command_line_count < 2)" ( (binary_expression "current_command_line_count < 2" identifier < number_literal) )) (compound_statement "{\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }" { (if_statement "if (echo_input_at_read != 0) goto LAB_00036218;" if (parenthesized_expression "(echo_input_at_read != 0)" ( (binary_expression "echo_input_at_read != 0" identifier != number_literal) )) (goto_statement "goto LAB_00036218;" goto statement_identifier ;)) (goto_statement "goto LAB_00036178;" goto statement_identifier ;) })) (if_statement "if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }" if (parenthesized_expression "(((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';'))))" ( (binary_expression "((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))" (parenthesized_expression "((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0'))" ( (binary_expression "(DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')" (parenthesized_expression "(DAT_001768ac != 0)" ( (binary_expression "DAT_001768ac != 0" identifier != number_literal) )) && (parenthesized_expression "(*(char *)(dstack + -1 + DAT_001768ac) != '\0')" ( (binary_expression "*(char *)(dstack + -1 + DAT_001768ac) != '\0'" (pointer_expression "*(char *)(dstack + -1 + DAT_001768ac)" * (cast_expression "(char *)(dstack + -1 + DAT_001768ac)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(dstack + -1 + DAT_001768ac)" ( (binary_expression "dstack + -1 + DAT_001768ac" (binary_expression "dstack + -1" identifier + number_literal) + identifier) )))) != (char_literal "'\0'" ' escape_sequence ')) ))) )) || (parenthesized_expression "((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))" ( (parenthesized_expression "(pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';'))" ( (comma_expression "pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')" (assignment_expression "pcVar8 = (char *)history_delimiting_chars(DAT_00176b74)" identifier = (cast_expression "(char *)history_delimiting_chars(DAT_00176b74)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "history_delimiting_chars(DAT_00176b74)" identifier (argument_list "(DAT_00176b74)" ( identifier ))))) , (binary_expression "pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')" (binary_expression "pcVar8 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "(*pcVar8 == ';')" ( (binary_expression "*pcVar8 == ';'" (pointer_expression "*pcVar8" * identifier) == (char_literal "';'" ' character ')) )))) )) ))) )) (compound_statement "{\n            maybe_add_history(DAT_00176b74);\n          }" { (expression_statement "maybe_add_history(DAT_00176b74);" (call_expression "maybe_add_history(DAT_00176b74)" identifier (argument_list "(DAT_00176b74)" ( identifier ))) ;) })) }) (else_clause "else {\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }" else (compound_statement "{\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }" { (if_statement "if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }" if (parenthesized_expression "(DAT_001768ac == 0)" ( (binary_expression "DAT_001768ac == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }" { (labeled_statement "LAB_00035f8e:\n            history_quoting_state = 0;" statement_identifier : (expression_statement "history_quoting_state = 0;" (assignment_expression "history_quoting_state = 0" identifier = number_literal) ;)) }) (else_clause "else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }" else (compound_statement "{\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }" { (expression_statement "cVar2 = *(char *)(dstack + -1 + DAT_001768ac);" (assignment_expression "cVar2 = *(char *)(dstack + -1 + DAT_001768ac)" identifier = (pointer_expression "*(char *)(dstack + -1 + DAT_001768ac)" * (cast_expression "(char *)(dstack + -1 + DAT_001768ac)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(dstack + -1 + DAT_001768ac)" ( (binary_expression "dstack + -1 + DAT_001768ac" (binary_expression "dstack + -1" identifier + number_literal) + identifier) ))))) ;) (if_statement "if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }" if (parenthesized_expression "(cVar2 == '\'')" ( (binary_expression "cVar2 == '\''" identifier == (char_literal "'\''" ' escape_sequence ')) )) (compound_statement "{\n              history_quoting_state = 0x27;\n            }" { (expression_statement "history_quoting_state = 0x27;" (assignment_expression "history_quoting_state = 0x27" identifier = number_literal) ;) }) (else_clause "else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }" else (compound_statement "{\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }" { (if_statement "if (cVar2 != '\"') goto LAB_00035f8e;" if (parenthesized_expression "(cVar2 != '\"')" ( (binary_expression "cVar2 != '\"'" identifier != (char_literal "'\"'" ' escape_sequence ')) )) (goto_statement "goto LAB_00035f8e;" goto statement_identifier ;)) (expression_statement "history_quoting_state = 0x22;" (assignment_expression "history_quoting_state = 0x22" identifier = number_literal) ;) }))) }))) (expression_statement "pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);" (assignment_expression "pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1)" identifier = (cast_expression "(char *)pre_process_line(DAT_00176b74,1,1)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "pre_process_line(DAT_00176b74,1,1)" identifier (argument_list "(DAT_00176b74,1,1)" ( identifier , number_literal , number_literal ))))) ;) (expression_statement "history_quoting_state = 0;" (assignment_expression "history_quoting_state = 0" identifier = number_literal) ;) (if_statement "if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }" if (parenthesized_expression "(pcVar8 != DAT_00176b74)" ( (binary_expression "pcVar8 != DAT_00176b74" identifier != identifier) )) (compound_statement "{\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }" { (expression_statement "free(DAT_00176b74);" (call_expression "free(DAT_00176b74)" identifier (argument_list "(DAT_00176b74)" ( identifier ))) ;) (expression_statement "DAT_00176b74 = pcVar8;" (assignment_expression "DAT_00176b74 = pcVar8" identifier = identifier) ;) (if_statement "if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }" if (parenthesized_expression "(pcVar8 == (char *)0x0)" ( (binary_expression "pcVar8 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }" { (expression_statement "DAT_00176b68 = 0;" (assignment_expression "DAT_00176b68 = 0" identifier = number_literal) ;) (labeled_statement "LAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;" statement_identifier : (expression_statement "current_command_line_count = current_command_line_count + -1;" (assignment_expression "current_command_line_count = current_command_line_count + -1" identifier = (binary_expression "current_command_line_count + -1" identifier + number_literal)) ;)) (expression_statement "DAT_00176b6c = 0;" (assignment_expression "DAT_00176b6c = 0" identifier = number_literal) ;) }) (else_clause "else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }" else (compound_statement "{\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }" { (expression_statement "DAT_00176b6c = strlen(pcVar8);" (assignment_expression "DAT_00176b6c = strlen(pcVar8)" identifier = (call_expression "strlen(pcVar8)" identifier (argument_list "(pcVar8)" ( identifier )))) ;) (expression_statement "DAT_00176b68 = DAT_00176b6c;" (assignment_expression "DAT_00176b68 = DAT_00176b6c" identifier = identifier) ;) (if_statement "if (DAT_00176b6c == 0) goto LAB_000362e0;" if (parenthesized_expression "(DAT_00176b6c == 0)" ( (binary_expression "DAT_00176b6c == 0" identifier == number_literal) )) (goto_statement "goto LAB_000362e0;" goto statement_identifier ;)) }))) (expression_statement "FUN_00033160();" (call_expression "FUN_00033160()" identifier (argument_list "()" ( ))) ;) })) }))) (labeled_statement "joined_r0x00035d82:\n        if (DAT_00176b74 != (char *)0x0) goto LAB_000362a8;" statement_identifier : (if_statement "if (DAT_00176b74 != (char *)0x0) goto LAB_000362a8;" if (parenthesized_expression "(DAT_00176b74 != (char *)0x0)" ( (binary_expression "DAT_00176b74 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_000362a8;" goto statement_identifier ;))) })) (expression_statement "DAT_00176b6c = 0;" (assignment_expression "DAT_00176b6c = 0" identifier = number_literal) ;) (expression_statement "prompt_string_pointer = &current_prompt_string;" (assignment_expression "prompt_string_pointer = &current_prompt_string" identifier = (pointer_expression "&current_prompt_string" & identifier)) ;) (if_statement "if (((interactive != 0) && (bash_input - 1U < 2)) &&\n         ((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)))) {\n        FUN_000354c0();\n      }" if (parenthesized_expression "(((interactive != 0) && (bash_input - 1U < 2)) &&\n         ((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0))))" ( (binary_expression "((interactive != 0) && (bash_input - 1U < 2)) &&\n         ((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)))" (parenthesized_expression "((interactive != 0) && (bash_input - 1U < 2))" ( (binary_expression "(interactive != 0) && (bash_input - 1U < 2)" (parenthesized_expression "(interactive != 0)" ( (binary_expression "interactive != 0" identifier != number_literal) )) && (parenthesized_expression "(bash_input - 1U < 2)" ( (binary_expression "bash_input - 1U < 2" (binary_expression "bash_input - 1U" identifier - number_literal) < number_literal) ))) )) && (parenthesized_expression "((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)))" ( (parenthesized_expression "(pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0))" ( (binary_expression "pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)" (binary_expression "pushed_string_list == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "(pushed_string_list[3] == 0)" ( (binary_expression "pushed_string_list[3] == 0" (subscript_expression "pushed_string_list[3]" identifier [ number_literal ]) == number_literal) ))) )) ))) )) (compound_statement "{\n        FUN_000354c0();\n      }" { (expression_statement "FUN_000354c0();" (call_expression "FUN_000354c0()" identifier (argument_list "()" ( ))) ;) })) (goto_statement "goto joined_r0x00035c60;" goto statement_identifier ;) })) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" identifier = number_literal) ;) }))) (return_statement "return uVar5;" return identifier ;) (labeled_statement "LAB_000362a8:\n  if (echo_input_at_read == 0) {\nLAB_00036178:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;\n  }\n  else {\n    if (*DAT_00176b74 != '\0') {\n      if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);\n      }\n      goto LAB_00036178;\n    }\nLAB_00036218:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;\n    if (shell_eof_token == 0) goto LAB_00036231;\n  }" statement_identifier : (if_statement "if (echo_input_at_read == 0) {\nLAB_00036178:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;\n  }\n  else {\n    if (*DAT_00176b74 != '\0') {\n      if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);\n      }\n      goto LAB_00036178;\n    }\nLAB_00036218:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;\n    if (shell_eof_token == 0) goto LAB_00036231;\n  }" if (parenthesized_expression "(echo_input_at_read == 0)" ( (binary_expression "echo_input_at_read == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00036178:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;\n  }" { (labeled_statement "LAB_00036178:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;" statement_identifier : (if_statement "if (DAT_00176b64 == -1) goto LAB_000361c3;" if (parenthesized_expression "(DAT_00176b64 == -1)" ( (binary_expression "DAT_00176b64 == -1" identifier == number_literal) )) (goto_statement "goto LAB_000361c3;" goto statement_identifier ;))) }) (else_clause "else {\n    if (*DAT_00176b74 != '\0') {\n      if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);\n      }\n      goto LAB_00036178;\n    }\nLAB_00036218:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;\n    if (shell_eof_token == 0) goto LAB_00036231;\n  }" else (compound_statement "{\n    if (*DAT_00176b74 != '\0') {\n      if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);\n      }\n      goto LAB_00036178;\n    }\nLAB_00036218:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;\n    if (shell_eof_token == 0) goto LAB_00036231;\n  }" { (if_statement "if (*DAT_00176b74 != '\0') {\n      if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);\n      }\n      goto LAB_00036178;\n    }" if (parenthesized_expression "(*DAT_00176b74 != '\0')" ( (binary_expression "*DAT_00176b74 != '\0'" (pointer_expression "*DAT_00176b74" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);\n      }\n      goto LAB_00036178;\n    }" { (if_statement "if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);\n      }" if (parenthesized_expression "(shell_eof_token == 0)" ( (binary_expression "shell_eof_token == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);\n      }" { (labeled_statement "LAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);" statement_identifier : (expression_statement "__fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);" (call_expression "__fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74)" identifier (argument_list "(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74)" ( (pointer_expression "*(undefined4 *)PTR_stderr_00171e54" * (cast_expression "(undefined4 *)PTR_stderr_00171e54" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , number_literal , (pointer_expression "&DAT_00125177" & identifier) , identifier ))) ;)) })) (goto_statement "goto LAB_00036178;" goto statement_identifier ;) })) (labeled_statement "LAB_00036218:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;" statement_identifier : (if_statement "if (DAT_00176b64 == -1) goto LAB_000361c3;" if (parenthesized_expression "(DAT_00176b64 == -1)" ( (binary_expression "DAT_00176b64 == -1" identifier == number_literal) )) (goto_statement "goto LAB_000361c3;" goto statement_identifier ;))) (if_statement "if (shell_eof_token == 0) goto LAB_00036231;" if (parenthesized_expression "(shell_eof_token == 0)" ( (binary_expression "shell_eof_token == 0" identifier == number_literal) )) (goto_statement "goto LAB_00036231;" goto statement_identifier ;)) })))) (if_statement "if ((DAT_00176b6c < 0xfffffffc) && (DAT_00176b6c < DAT_00176b68 + 3)) {\n    iVar7 = DAT_00176b6c + 3;\n    DAT_00176b6c = DAT_00176b6c + 2;\n    DAT_00176b74 = (char *)xrealloc(DAT_00176b74,iVar7);\n  }" if (parenthesized_expression "((DAT_00176b6c < 0xfffffffc) && (DAT_00176b6c < DAT_00176b68 + 3))" ( (binary_expression "(DAT_00176b6c < 0xfffffffc) && (DAT_00176b6c < DAT_00176b68 + 3)" (parenthesized_expression "(DAT_00176b6c < 0xfffffffc)" ( (binary_expression "DAT_00176b6c < 0xfffffffc" identifier < number_literal) )) && (parenthesized_expression "(DAT_00176b6c < DAT_00176b68 + 3)" ( (binary_expression "DAT_00176b6c < DAT_00176b68 + 3" identifier < (binary_expression "DAT_00176b68 + 3" identifier + number_literal)) ))) )) (compound_statement "{\n    iVar7 = DAT_00176b6c + 3;\n    DAT_00176b6c = DAT_00176b6c + 2;\n    DAT_00176b74 = (char *)xrealloc(DAT_00176b74,iVar7);\n  }" { (expression_statement "iVar7 = DAT_00176b6c + 3;" (assignment_expression "iVar7 = DAT_00176b6c + 3" identifier = (binary_expression "DAT_00176b6c + 3" identifier + number_literal)) ;) (expression_statement "DAT_00176b6c = DAT_00176b6c + 2;" (assignment_expression "DAT_00176b6c = DAT_00176b6c + 2" identifier = (binary_expression "DAT_00176b6c + 2" identifier + number_literal)) ;) (expression_statement "DAT_00176b74 = (char *)xrealloc(DAT_00176b74,iVar7);" (assignment_expression "DAT_00176b74 = (char *)xrealloc(DAT_00176b74,iVar7)" identifier = (cast_expression "(char *)xrealloc(DAT_00176b74,iVar7)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xrealloc(DAT_00176b74,iVar7)" identifier (argument_list "(DAT_00176b74,iVar7)" ( identifier , identifier ))))) ;) })) (expression_statement "pcVar8 = DAT_00176b74;" (assignment_expression "pcVar8 = DAT_00176b74" identifier = identifier) ;) (expression_statement "sVar10 = DAT_00176b68;" (assignment_expression "sVar10 = DAT_00176b68" identifier = identifier) ;) (if_statement "if (((bash_input == 3) &&\n      (((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)) && (bVar3)))) &&\n     ((param_1 & bVar9) != 0)) {\n    DAT_00176b74[DAT_00176b68] = '\\';\n  }\n  else {\n    DAT_00176b74[DAT_00176b68] = '\n';\n  }" if (parenthesized_expression "(((bash_input == 3) &&\n      (((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)) && (bVar3)))) &&\n     ((param_1 & bVar9) != 0))" ( (binary_expression "((bash_input == 3) &&\n      (((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)) && (bVar3)))) &&\n     ((param_1 & bVar9) != 0)" (parenthesized_expression "((bash_input == 3) &&\n      (((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)) && (bVar3))))" ( (binary_expression "(bash_input == 3) &&\n      (((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)) && (bVar3)))" (parenthesized_expression "(bash_input == 3)" ( (binary_expression "bash_input == 3" identifier == number_literal) )) && (parenthesized_expression "(((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)) && (bVar3)))" ( (parenthesized_expression "((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)) && (bVar3))" ( (binary_expression "(pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)) && (bVar3)" (parenthesized_expression "(pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0))" ( (binary_expression "pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)" (binary_expression "pushed_string_list == (undefined4 *)0x0" identifier == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "(pushed_string_list[3] == 0)" ( (binary_expression "pushed_string_list[3] == 0" (subscript_expression "pushed_string_list[3]" identifier [ number_literal ]) == number_literal) ))) )) && (parenthesized_expression "(bVar3)" ( identifier ))) )) ))) )) && (parenthesized_expression "((param_1 & bVar9) != 0)" ( (binary_expression "(param_1 & bVar9) != 0" (parenthesized_expression "(param_1 & bVar9)" ( (binary_expression "param_1 & bVar9" identifier & identifier) )) != number_literal) ))) )) (compound_statement "{\n    DAT_00176b74[DAT_00176b68] = '\\';\n  }" { (expression_statement "DAT_00176b74[DAT_00176b68] = '\\';" (assignment_expression "DAT_00176b74[DAT_00176b68] = '\\'" (subscript_expression "DAT_00176b74[DAT_00176b68]" identifier [ identifier ]) = (char_literal "'\\'" ' escape_sequence ')) ;) }) (else_clause "else {\n    DAT_00176b74[DAT_00176b68] = '\n';\n  }" else (compound_statement "{\n    DAT_00176b74[DAT_00176b68] = '\n';\n  }" { (expression_statement "DAT_00176b74[DAT_00176b68] = '\n';" (assignment_expression "DAT_00176b74[DAT_00176b68] = '\n'" (subscript_expression "DAT_00176b74[DAT_00176b68]" identifier [ identifier ]) = (char_literal "'\n'" ' escape_sequence ')) ;) }))) (expression_statement "pcVar8[sVar10 + 1] = '\0';" (assignment_expression "pcVar8[sVar10 + 1] = '\0'" (subscript_expression "pcVar8[sVar10 + 1]" identifier [ (binary_expression "sVar10 + 1" identifier + number_literal) ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "FUN_00033160();" (call_expression "FUN_00033160()" identifier (argument_list "()" ( ))) ;) (labeled_statement "LAB_000361c3:\n  bVar9 = DAT_00176b74[DAT_00176b70];" statement_identifier : (expression_statement "bVar9 = DAT_00176b74[DAT_00176b70];" (assignment_expression "bVar9 = DAT_00176b74[DAT_00176b70]" identifier = (subscript_expression "DAT_00176b74[DAT_00176b70]" identifier [ identifier ])) ;)) (expression_statement "uVar5 = DAT_00176b70;" (assignment_expression "uVar5 = DAT_00176b70" identifier = identifier) ;) (goto_statement "goto LAB_00035a68;" goto statement_identifier ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * 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 (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ IDENT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (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 = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ (binary_expression IDENT - LIT) ]) != LIT) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ (binary_expression IDENT - LIT) ])) ]) & LIT) )) == LIT) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) ))))) , (binary_expression (binary_expression IDENT != (char_literal ' escape_sequence ')) && (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )))) )) ))) )) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (return_statement return LIT ;) })) (while_statement while (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = 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 ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_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 IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) & LIT)) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ IDENT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE) ) IDENT) ;) })) (break_statement break ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ IDENT ]) != (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression LIT < IDENT) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) )))) == (char_literal ' escape_sequence ')) ))) )) ))) )) (compound_statement { (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - LIT)) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ (binary_expression IDENT + LIT) ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) })) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence ')) ))) )) && (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) && (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 *)) ) IDENT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( ))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) && (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) ))) ;) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (binary_expression IDENT + LIT)) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT <= (binary_expression IDENT + LIT)) )) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , LIT ))))) ;) })))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) (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 = (binary_expression (binary_expression IDENT == LIT) && (unary_expression ! IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) }) while (parenthesized_expression ( (binary_expression IDENT != LIT) )) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) )))) != (char_literal ' escape_sequence ')) ))) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) , (binary_expression (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )))) )) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) }) (else_clause else (compound_statement { (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 IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }))) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , LIT , LIT ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;))) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (return_statement return IDENT ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , LIT , (pointer_expression & IDENT) , IDENT ))) ;)) })) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) })))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) && (parenthesized_expression ( (binary_expression IDENT < (binary_expression IDENT + LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) || (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) ))) )) && (parenthesized_expression ( IDENT ))) )) ))) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & IDENT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (char_literal ' escape_sequence ')) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ IDENT ]) = (char_literal ' escape_sequence ')) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ (binary_expression IDENT + LIT) ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ IDENT ])) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })))
(function_definition "uint __regparm3 FUN_00035a20(byte param_1)\n\n{\n  byte *pbVar1;\n  char cVar2;\n  bool bVar3;\n  undefined *puVar4;\n  uint uVar5;\n  undefined4 *puVar6;\n  int iVar7;\n  char *pcVar8;\n  byte bVar9;\n  size_t sVar10;\n  int local_44;\n  \n  puVar6 = (undefined4 *)PTR_stdin_00171f40;\n  if (DAT_00176b74 == (char *)0x0) {\n    line_number = line_number + 1;\n    bVar3 = false;\n    goto joined_r0x00035c60;\n  }\n  bVar3 = false;\n  bVar9 = DAT_00176b74[DAT_00176b70];\n  uVar5 = DAT_00176b70;\n  if ((bVar9 == 0) && (pushed_string_list == (undefined4 *)0x0)) {\n    line_number = line_number + 1;\n    if (DAT_00176b6c < 0x8000) goto joined_r0x00035c60;\n    free(DAT_00176b74);\n    DAT_00176b74 = (char *)0x0;\n    DAT_00176b6c = 0;\n    puVar6 = (undefined4 *)PTR_stdin_00171f40;\n    goto joined_r0x00035c60;\n  }\nLAB_00035a68:\n  DAT_00176b70 = uVar5;\n  if (bVar9 != 0) goto LAB_00035b58;\n  if (pushed_string_list != (undefined4 *)0x0) {\n    local_44 = pushed_string_list[7];\n    if (((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000) == 0)) &&\n        (DAT_00176b70 != 0)) &&\n       (((DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)) &&\n        ((DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')))))))) {\n      parser_state = parser_state | 0x200000;\n      return 0x20;\n    }\n    while (local_44 != 4) {\n      parser_state = parser_state & 0xffdfffff;\n      puVar6 = pushed_string_list;\n      if (DAT_00176b74 != (char *)0x0) {\n        free(DAT_00176b74);\n        puVar6 = pushed_string_list;\n      }\n      DAT_00176b74 = (char *)puVar6[2];\n      DAT_00176b70 = puVar6[5];\n      DAT_00176b6c = puVar6[4];\n      DAT_00176b64 = puVar6[6];\n      uVar5 = parser_state & 0xfffffffd;\n      if (puVar6[1] != 0) {\n        uVar5 = parser_state | 2;\n      }\n      pushed_string_list = (undefined4 *)*puVar6;\n      parser_state = uVar5;\n      if (puVar6[3] != 0) {\n        pbVar1 = (byte *)(puVar6[3] + 8);\n        *pbVar1 = *pbVar1 & 0xfd;\n      }\n      free(puVar6);\n      FUN_00033160();\n      bVar9 = DAT_00176b74[DAT_00176b70];\n      if (bVar9 == 0) break;\nLAB_00035b58:\n      DAT_00176b70 = DAT_00176b70 + 1;\n      if ((bVar9 != 0x5c) || ((param_1 & 1) == 0)) {\n        if (bVar9 != 0) {\n          return (uint)bVar9;\n        }\n        break;\n      }\n      if ((DAT_00176b74[DAT_00176b70] != '\n') ||\n         ((1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0')))) {\n        return 0x5c;\n      }\n      if ((interactive == 0) || (1 < bash_input - 1U)) {\nLAB_00035bbb:\n        line_number = line_number + 1;\n        puVar6 = (undefined4 *)PTR_stdin_00171f40;\n        if (pushed_string_list == (undefined4 *)0x0) goto joined_r0x00035c60;\n      }\n      else {\n        if ((pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0)) {\n          FUN_000354c0();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\n      if (pushed_string_list[3] == 0) goto joined_r0x00035c60;\n      bVar9 = DAT_00176b74[DAT_00176b70 + 1];\n      uVar5 = DAT_00176b70 + 1;\n      if (bVar9 != 0) goto LAB_00035a68;\n      local_44 = pushed_string_list[7];\n    }\n  }\n  if (DAT_00176b64 == -1) {\n    uVar5 = 0xffffffff;\n    if (DAT_00176b70 != 0) {\n      uVar5 = 10;\n    }\n  }\n  else {\n    if ((((bash_input == 3) && (*DAT_0017ac84 != '\0')) && (pushed_string_list != (undefined4 *)0x0)\n        ) && ((pushed_string_list[7] == 4 && (DAT_00176b64 == 0)))) {\n      DAT_00176b70 = 0;\n      DAT_00176b64 = 0;\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\njoined_r0x00035c60:\n      if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }\n      if (interrupt_state != 0) {\n        throw_to_top_level();\n      }\n      DAT_00176b64 = 0;\n      if (interactive_shell == 0) {\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar4 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2)) {\n          fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar4);\n        }\njoined_r0x00035e4b:\n        if (bash_input == 2) {\n          clearerr((FILE *)*puVar6);\n        }\n      }\n      else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input - 1U < 2) goto LAB_00035e18;\n      }\n      sVar10 = 0;\n      do {\n        iVar7 = (*DAT_0017ac88)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar7 == 0) break;\n          if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }\n          pcVar8 = DAT_00176b74 + sVar10;\n          if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar8 = (char)iVar7;\n          if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar3 = iVar7 == 0x5c && !bVar3;\n          iVar7 = (*DAT_0017ac88)();\n          sVar10 = sVar10 + 1;\n        }\n      } while (bash_input != 3);\n      if (sVar10 == 0) {\n        DAT_00176b64 = -1;\n      }\n      DAT_00176b74[sVar10] = '\0';\n      bVar9 = 1;\nLAB_00035cff:\n      DAT_00176b70 = 0;\n      DAT_00176b68 = sVar10;\n      FUN_00033160();\n      if (remember_on_history == 0) goto joined_r0x00035d82;\n      if (DAT_00176b74 != (char *)0x0) {\n        if (*DAT_00176b74 == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }\n        }\n        else {\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }\njoined_r0x00035d82:\n        if (DAT_00176b74 != (char *)0x0) goto LAB_000362a8;\n      }\n      DAT_00176b6c = 0;\n      prompt_string_pointer = &current_prompt_string;\n      if (((interactive != 0) && (bash_input - 1U < 2)) &&\n         ((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)))) {\n        FUN_000354c0();\n      }\n      goto joined_r0x00035c60;\n    }\n    uVar5 = 0;\n  }\n  return uVar5;\nLAB_000362a8:\n  if (echo_input_at_read == 0) {\nLAB_00036178:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;\n  }\n  else {\n    if (*DAT_00176b74 != '\0') {\n      if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);\n      }\n      goto LAB_00036178;\n    }\nLAB_00036218:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;\n    if (shell_eof_token == 0) goto LAB_00036231;\n  }\n  if ((DAT_00176b6c < 0xfffffffc) && (DAT_00176b6c < DAT_00176b68 + 3)) {\n    iVar7 = DAT_00176b6c + 3;\n    DAT_00176b6c = DAT_00176b6c + 2;\n    DAT_00176b74 = (char *)xrealloc(DAT_00176b74,iVar7);\n  }\n  pcVar8 = DAT_00176b74;\n  sVar10 = DAT_00176b68;\n  if (((bash_input == 3) &&\n      (((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)) && (bVar3)))) &&\n     ((param_1 & bVar9) != 0)) {\n    DAT_00176b74[DAT_00176b68] = '\\';\n  }\n  else {\n    DAT_00176b74[DAT_00176b68] = '\n';\n  }\n  pcVar8[sVar10 + 1] = '\0';\n  FUN_00033160();\nLAB_000361c3:\n  bVar9 = DAT_00176b74[DAT_00176b70];\n  uVar5 = DAT_00176b70;\n  goto LAB_00035a68;\n}" (type_identifier "uint") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_00035a20(byte param_1)" (identifier "FUN_00035a20") (parameter_list "(byte param_1)" (( "(") (parameter_declaration "byte param_1" (type_identifier "byte") (identifier "param_1")) () ")"))) (compound_statement "{\n  byte *pbVar1;\n  char cVar2;\n  bool bVar3;\n  undefined *puVar4;\n  uint uVar5;\n  undefined4 *puVar6;\n  int iVar7;\n  char *pcVar8;\n  byte bVar9;\n  size_t sVar10;\n  int local_44;\n  \n  puVar6 = (undefined4 *)PTR_stdin_00171f40;\n  if (DAT_00176b74 == (char *)0x0) {\n    line_number = line_number + 1;\n    bVar3 = false;\n    goto joined_r0x00035c60;\n  }\n  bVar3 = false;\n  bVar9 = DAT_00176b74[DAT_00176b70];\n  uVar5 = DAT_00176b70;\n  if ((bVar9 == 0) && (pushed_string_list == (undefined4 *)0x0)) {\n    line_number = line_number + 1;\n    if (DAT_00176b6c < 0x8000) goto joined_r0x00035c60;\n    free(DAT_00176b74);\n    DAT_00176b74 = (char *)0x0;\n    DAT_00176b6c = 0;\n    puVar6 = (undefined4 *)PTR_stdin_00171f40;\n    goto joined_r0x00035c60;\n  }\nLAB_00035a68:\n  DAT_00176b70 = uVar5;\n  if (bVar9 != 0) goto LAB_00035b58;\n  if (pushed_string_list != (undefined4 *)0x0) {\n    local_44 = pushed_string_list[7];\n    if (((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000) == 0)) &&\n        (DAT_00176b70 != 0)) &&\n       (((DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)) &&\n        ((DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')))))))) {\n      parser_state = parser_state | 0x200000;\n      return 0x20;\n    }\n    while (local_44 != 4) {\n      parser_state = parser_state & 0xffdfffff;\n      puVar6 = pushed_string_list;\n      if (DAT_00176b74 != (char *)0x0) {\n        free(DAT_00176b74);\n        puVar6 = pushed_string_list;\n      }\n      DAT_00176b74 = (char *)puVar6[2];\n      DAT_00176b70 = puVar6[5];\n      DAT_00176b6c = puVar6[4];\n      DAT_00176b64 = puVar6[6];\n      uVar5 = parser_state & 0xfffffffd;\n      if (puVar6[1] != 0) {\n        uVar5 = parser_state | 2;\n      }\n      pushed_string_list = (undefined4 *)*puVar6;\n      parser_state = uVar5;\n      if (puVar6[3] != 0) {\n        pbVar1 = (byte *)(puVar6[3] + 8);\n        *pbVar1 = *pbVar1 & 0xfd;\n      }\n      free(puVar6);\n      FUN_00033160();\n      bVar9 = DAT_00176b74[DAT_00176b70];\n      if (bVar9 == 0) break;\nLAB_00035b58:\n      DAT_00176b70 = DAT_00176b70 + 1;\n      if ((bVar9 != 0x5c) || ((param_1 & 1) == 0)) {\n        if (bVar9 != 0) {\n          return (uint)bVar9;\n        }\n        break;\n      }\n      if ((DAT_00176b74[DAT_00176b70] != '\n') ||\n         ((1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0')))) {\n        return 0x5c;\n      }\n      if ((interactive == 0) || (1 < bash_input - 1U)) {\nLAB_00035bbb:\n        line_number = line_number + 1;\n        puVar6 = (undefined4 *)PTR_stdin_00171f40;\n        if (pushed_string_list == (undefined4 *)0x0) goto joined_r0x00035c60;\n      }\n      else {\n        if ((pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0)) {\n          FUN_000354c0();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\n      if (pushed_string_list[3] == 0) goto joined_r0x00035c60;\n      bVar9 = DAT_00176b74[DAT_00176b70 + 1];\n      uVar5 = DAT_00176b70 + 1;\n      if (bVar9 != 0) goto LAB_00035a68;\n      local_44 = pushed_string_list[7];\n    }\n  }\n  if (DAT_00176b64 == -1) {\n    uVar5 = 0xffffffff;\n    if (DAT_00176b70 != 0) {\n      uVar5 = 10;\n    }\n  }\n  else {\n    if ((((bash_input == 3) && (*DAT_0017ac84 != '\0')) && (pushed_string_list != (undefined4 *)0x0)\n        ) && ((pushed_string_list[7] == 4 && (DAT_00176b64 == 0)))) {\n      DAT_00176b70 = 0;\n      DAT_00176b64 = 0;\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\njoined_r0x00035c60:\n      if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }\n      if (interrupt_state != 0) {\n        throw_to_top_level();\n      }\n      DAT_00176b64 = 0;\n      if (interactive_shell == 0) {\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar4 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2)) {\n          fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar4);\n        }\njoined_r0x00035e4b:\n        if (bash_input == 2) {\n          clearerr((FILE *)*puVar6);\n        }\n      }\n      else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input - 1U < 2) goto LAB_00035e18;\n      }\n      sVar10 = 0;\n      do {\n        iVar7 = (*DAT_0017ac88)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar7 == 0) break;\n          if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }\n          pcVar8 = DAT_00176b74 + sVar10;\n          if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar8 = (char)iVar7;\n          if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar3 = iVar7 == 0x5c && !bVar3;\n          iVar7 = (*DAT_0017ac88)();\n          sVar10 = sVar10 + 1;\n        }\n      } while (bash_input != 3);\n      if (sVar10 == 0) {\n        DAT_00176b64 = -1;\n      }\n      DAT_00176b74[sVar10] = '\0';\n      bVar9 = 1;\nLAB_00035cff:\n      DAT_00176b70 = 0;\n      DAT_00176b68 = sVar10;\n      FUN_00033160();\n      if (remember_on_history == 0) goto joined_r0x00035d82;\n      if (DAT_00176b74 != (char *)0x0) {\n        if (*DAT_00176b74 == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }\n        }\n        else {\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }\njoined_r0x00035d82:\n        if (DAT_00176b74 != (char *)0x0) goto LAB_000362a8;\n      }\n      DAT_00176b6c = 0;\n      prompt_string_pointer = &current_prompt_string;\n      if (((interactive != 0) && (bash_input - 1U < 2)) &&\n         ((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)))) {\n        FUN_000354c0();\n      }\n      goto joined_r0x00035c60;\n    }\n    uVar5 = 0;\n  }\n  return uVar5;\nLAB_000362a8:\n  if (echo_input_at_read == 0) {\nLAB_00036178:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;\n  }\n  else {\n    if (*DAT_00176b74 != '\0') {\n      if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);\n      }\n      goto LAB_00036178;\n    }\nLAB_00036218:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;\n    if (shell_eof_token == 0) goto LAB_00036231;\n  }\n  if ((DAT_00176b6c < 0xfffffffc) && (DAT_00176b6c < DAT_00176b68 + 3)) {\n    iVar7 = DAT_00176b6c + 3;\n    DAT_00176b6c = DAT_00176b6c + 2;\n    DAT_00176b74 = (char *)xrealloc(DAT_00176b74,iVar7);\n  }\n  pcVar8 = DAT_00176b74;\n  sVar10 = DAT_00176b68;\n  if (((bash_input == 3) &&\n      (((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)) && (bVar3)))) &&\n     ((param_1 & bVar9) != 0)) {\n    DAT_00176b74[DAT_00176b68] = '\\';\n  }\n  else {\n    DAT_00176b74[DAT_00176b68] = '\n';\n  }\n  pcVar8[sVar10 + 1] = '\0';\n  FUN_00033160();\nLAB_000361c3:\n  bVar9 = DAT_00176b74[DAT_00176b70];\n  uVar5 = DAT_00176b70;\n  goto LAB_00035a68;\n}" ({ "{") (declaration "byte *pbVar1;" (type_identifier "byte") (pointer_declarator "*pbVar1" (* "*") (identifier "pbVar1")) (; ";")) (declaration "char cVar2;" (primitive_type "char") (identifier "cVar2") (; ";")) (declaration "bool bVar3;" (primitive_type "bool") (identifier "bVar3") (; ";")) (declaration "undefined *puVar4;" (type_identifier "undefined") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "undefined4 *puVar6;" (type_identifier "undefined4") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "char *pcVar8;" (primitive_type "char") (pointer_declarator "*pcVar8" (* "*") (identifier "pcVar8")) (; ";")) (declaration "byte bVar9;" (type_identifier "byte") (identifier "bVar9") (; ";")) (declaration "size_t sVar10;" (primitive_type "size_t") (identifier "sVar10") (; ";")) (declaration "int local_44;" (primitive_type "int") (identifier "local_44") (; ";")) (expression_statement "puVar6 = (undefined4 *)PTR_stdin_00171f40;" (assignment_expression "puVar6 = (undefined4 *)PTR_stdin_00171f40" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)PTR_stdin_00171f40" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stdin_00171f40"))) (; ";")) (if_statement "if (DAT_00176b74 == (char *)0x0) {\n    line_number = line_number + 1;\n    bVar3 = false;\n    goto joined_r0x00035c60;\n  }" (if "if") (parenthesized_expression "(DAT_00176b74 == (char *)0x0)" (( "(") (binary_expression "DAT_00176b74 == (char *)0x0" (identifier "DAT_00176b74") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    line_number = line_number + 1;\n    bVar3 = false;\n    goto joined_r0x00035c60;\n  }" ({ "{") (expression_statement "line_number = line_number + 1;" (assignment_expression "line_number = line_number + 1" (identifier "line_number") (= "=") (binary_expression "line_number + 1" (identifier "line_number") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" (identifier "bVar3") (= "=") (false "false")) (; ";")) (goto_statement "goto joined_r0x00035c60;" (goto "goto") (statement_identifier "joined_r0x00035c60") (; ";")) (} "}"))) (expression_statement "bVar3 = false;" (assignment_expression "bVar3 = false" (identifier "bVar3") (= "=") (false "false")) (; ";")) (expression_statement "bVar9 = DAT_00176b74[DAT_00176b70];" (assignment_expression "bVar9 = DAT_00176b74[DAT_00176b70]" (identifier "bVar9") (= "=") (subscript_expression "DAT_00176b74[DAT_00176b70]" (identifier "DAT_00176b74") ([ "[") (identifier "DAT_00176b70") (] "]"))) (; ";")) (expression_statement "uVar5 = DAT_00176b70;" (assignment_expression "uVar5 = DAT_00176b70" (identifier "uVar5") (= "=") (identifier "DAT_00176b70")) (; ";")) (if_statement "if ((bVar9 == 0) && (pushed_string_list == (undefined4 *)0x0)) {\n    line_number = line_number + 1;\n    if (DAT_00176b6c < 0x8000) goto joined_r0x00035c60;\n    free(DAT_00176b74);\n    DAT_00176b74 = (char *)0x0;\n    DAT_00176b6c = 0;\n    puVar6 = (undefined4 *)PTR_stdin_00171f40;\n    goto joined_r0x00035c60;\n  }" (if "if") (parenthesized_expression "((bVar9 == 0) && (pushed_string_list == (undefined4 *)0x0))" (( "(") (binary_expression "(bVar9 == 0) && (pushed_string_list == (undefined4 *)0x0)" (parenthesized_expression "(bVar9 == 0)" (( "(") (binary_expression "bVar9 == 0" (identifier "bVar9") (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(pushed_string_list == (undefined4 *)0x0)" (( "(") (binary_expression "pushed_string_list == (undefined4 *)0x0" (identifier "pushed_string_list") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (compound_statement "{\n    line_number = line_number + 1;\n    if (DAT_00176b6c < 0x8000) goto joined_r0x00035c60;\n    free(DAT_00176b74);\n    DAT_00176b74 = (char *)0x0;\n    DAT_00176b6c = 0;\n    puVar6 = (undefined4 *)PTR_stdin_00171f40;\n    goto joined_r0x00035c60;\n  }" ({ "{") (expression_statement "line_number = line_number + 1;" (assignment_expression "line_number = line_number + 1" (identifier "line_number") (= "=") (binary_expression "line_number + 1" (identifier "line_number") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (DAT_00176b6c < 0x8000) goto joined_r0x00035c60;" (if "if") (parenthesized_expression "(DAT_00176b6c < 0x8000)" (( "(") (binary_expression "DAT_00176b6c < 0x8000" (identifier "DAT_00176b6c") (< "<") (number_literal "0x8000")) () ")")) (goto_statement "goto joined_r0x00035c60;" (goto "goto") (statement_identifier "joined_r0x00035c60") (; ";"))) (expression_statement "free(DAT_00176b74);" (call_expression "free(DAT_00176b74)" (identifier "free") (argument_list "(DAT_00176b74)" (( "(") (identifier "DAT_00176b74") () ")"))) (; ";")) (expression_statement "DAT_00176b74 = (char *)0x0;" (assignment_expression "DAT_00176b74 = (char *)0x0" (identifier "DAT_00176b74") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "DAT_00176b6c = 0;" (assignment_expression "DAT_00176b6c = 0" (identifier "DAT_00176b6c") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar6 = (undefined4 *)PTR_stdin_00171f40;" (assignment_expression "puVar6 = (undefined4 *)PTR_stdin_00171f40" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)PTR_stdin_00171f40" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stdin_00171f40"))) (; ";")) (goto_statement "goto joined_r0x00035c60;" (goto "goto") (statement_identifier "joined_r0x00035c60") (; ";")) (} "}"))) (labeled_statement "LAB_00035a68:\n  DAT_00176b70 = uVar5;" (statement_identifier "LAB_00035a68") (: ":") (expression_statement "DAT_00176b70 = uVar5;" (assignment_expression "DAT_00176b70 = uVar5" (identifier "DAT_00176b70") (= "=") (identifier "uVar5")) (; ";"))) (if_statement "if (bVar9 != 0) goto LAB_00035b58;" (if "if") (parenthesized_expression "(bVar9 != 0)" (( "(") (binary_expression "bVar9 != 0" (identifier "bVar9") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00035b58;" (goto "goto") (statement_identifier "LAB_00035b58") (; ";"))) (if_statement "if (pushed_string_list != (undefined4 *)0x0) {\n    local_44 = pushed_string_list[7];\n    if (((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000) == 0)) &&\n        (DAT_00176b70 != 0)) &&\n       (((DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)) &&\n        ((DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')))))))) {\n      parser_state = parser_state | 0x200000;\n      return 0x20;\n    }\n    while (local_44 != 4) {\n      parser_state = parser_state & 0xffdfffff;\n      puVar6 = pushed_string_list;\n      if (DAT_00176b74 != (char *)0x0) {\n        free(DAT_00176b74);\n        puVar6 = pushed_string_list;\n      }\n      DAT_00176b74 = (char *)puVar6[2];\n      DAT_00176b70 = puVar6[5];\n      DAT_00176b6c = puVar6[4];\n      DAT_00176b64 = puVar6[6];\n      uVar5 = parser_state & 0xfffffffd;\n      if (puVar6[1] != 0) {\n        uVar5 = parser_state | 2;\n      }\n      pushed_string_list = (undefined4 *)*puVar6;\n      parser_state = uVar5;\n      if (puVar6[3] != 0) {\n        pbVar1 = (byte *)(puVar6[3] + 8);\n        *pbVar1 = *pbVar1 & 0xfd;\n      }\n      free(puVar6);\n      FUN_00033160();\n      bVar9 = DAT_00176b74[DAT_00176b70];\n      if (bVar9 == 0) break;\nLAB_00035b58:\n      DAT_00176b70 = DAT_00176b70 + 1;\n      if ((bVar9 != 0x5c) || ((param_1 & 1) == 0)) {\n        if (bVar9 != 0) {\n          return (uint)bVar9;\n        }\n        break;\n      }\n      if ((DAT_00176b74[DAT_00176b70] != '\n') ||\n         ((1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0')))) {\n        return 0x5c;\n      }\n      if ((interactive == 0) || (1 < bash_input - 1U)) {\nLAB_00035bbb:\n        line_number = line_number + 1;\n        puVar6 = (undefined4 *)PTR_stdin_00171f40;\n        if (pushed_string_list == (undefined4 *)0x0) goto joined_r0x00035c60;\n      }\n      else {\n        if ((pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0)) {\n          FUN_000354c0();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\n      if (pushed_string_list[3] == 0) goto joined_r0x00035c60;\n      bVar9 = DAT_00176b74[DAT_00176b70 + 1];\n      uVar5 = DAT_00176b70 + 1;\n      if (bVar9 != 0) goto LAB_00035a68;\n      local_44 = pushed_string_list[7];\n    }\n  }" (if "if") (parenthesized_expression "(pushed_string_list != (undefined4 *)0x0)" (( "(") (binary_expression "pushed_string_list != (undefined4 *)0x0" (identifier "pushed_string_list") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    local_44 = pushed_string_list[7];\n    if (((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000) == 0)) &&\n        (DAT_00176b70 != 0)) &&\n       (((DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)) &&\n        ((DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')))))))) {\n      parser_state = parser_state | 0x200000;\n      return 0x20;\n    }\n    while (local_44 != 4) {\n      parser_state = parser_state & 0xffdfffff;\n      puVar6 = pushed_string_list;\n      if (DAT_00176b74 != (char *)0x0) {\n        free(DAT_00176b74);\n        puVar6 = pushed_string_list;\n      }\n      DAT_00176b74 = (char *)puVar6[2];\n      DAT_00176b70 = puVar6[5];\n      DAT_00176b6c = puVar6[4];\n      DAT_00176b64 = puVar6[6];\n      uVar5 = parser_state & 0xfffffffd;\n      if (puVar6[1] != 0) {\n        uVar5 = parser_state | 2;\n      }\n      pushed_string_list = (undefined4 *)*puVar6;\n      parser_state = uVar5;\n      if (puVar6[3] != 0) {\n        pbVar1 = (byte *)(puVar6[3] + 8);\n        *pbVar1 = *pbVar1 & 0xfd;\n      }\n      free(puVar6);\n      FUN_00033160();\n      bVar9 = DAT_00176b74[DAT_00176b70];\n      if (bVar9 == 0) break;\nLAB_00035b58:\n      DAT_00176b70 = DAT_00176b70 + 1;\n      if ((bVar9 != 0x5c) || ((param_1 & 1) == 0)) {\n        if (bVar9 != 0) {\n          return (uint)bVar9;\n        }\n        break;\n      }\n      if ((DAT_00176b74[DAT_00176b70] != '\n') ||\n         ((1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0')))) {\n        return 0x5c;\n      }\n      if ((interactive == 0) || (1 < bash_input - 1U)) {\nLAB_00035bbb:\n        line_number = line_number + 1;\n        puVar6 = (undefined4 *)PTR_stdin_00171f40;\n        if (pushed_string_list == (undefined4 *)0x0) goto joined_r0x00035c60;\n      }\n      else {\n        if ((pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0)) {\n          FUN_000354c0();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\n      if (pushed_string_list[3] == 0) goto joined_r0x00035c60;\n      bVar9 = DAT_00176b74[DAT_00176b70 + 1];\n      uVar5 = DAT_00176b70 + 1;\n      if (bVar9 != 0) goto LAB_00035a68;\n      local_44 = pushed_string_list[7];\n    }\n  }" ({ "{") (expression_statement "local_44 = pushed_string_list[7];" (assignment_expression "local_44 = pushed_string_list[7]" (identifier "local_44") (= "=") (subscript_expression "pushed_string_list[7]" (identifier "pushed_string_list") ([ "[") (number_literal "7") (] "]"))) (; ";")) (if_statement "if (((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000) == 0)) &&\n        (DAT_00176b70 != 0)) &&\n       (((DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)) &&\n        ((DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')))))))) {\n      parser_state = parser_state | 0x200000;\n      return 0x20;\n    }" (if "if") (parenthesized_expression "(((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000) == 0)) &&\n        (DAT_00176b70 != 0)) &&\n       (((DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)) &&\n        ((DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"'))))))))" (( "(") (binary_expression "((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000) == 0)) &&\n        (DAT_00176b70 != 0)) &&\n       (((DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)) &&\n        ((DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')))))))" (parenthesized_expression "((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000) == 0)) &&\n        (DAT_00176b70 != 0))" (( "(") (binary_expression "(((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000) == 0)) &&\n        (DAT_00176b70 != 0)" (parenthesized_expression "(((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000) == 0))" (( "(") (binary_expression "((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000) == 0)" (parenthesized_expression "((local_44 - 2U & 0xfffffffd) != 0)" (( "(") (binary_expression "(local_44 - 2U & 0xfffffffd) != 0" (parenthesized_expression "(local_44 - 2U & 0xfffffffd)" (( "(") (binary_expression "local_44 - 2U & 0xfffffffd" (binary_expression "local_44 - 2U" (identifier "local_44") (- "-") (number_literal "2U")) (& "&") (number_literal "0xfffffffd")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((parser_state & 0x300000) == 0)" (( "(") (binary_expression "(parser_state & 0x300000) == 0" (parenthesized_expression "(parser_state & 0x300000)" (( "(") (binary_expression "parser_state & 0x300000" (identifier "parser_state") (& "&") (number_literal "0x300000")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(DAT_00176b70 != 0)" (( "(") (binary_expression "DAT_00176b70 != 0" (identifier "DAT_00176b70") (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(((DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)) &&\n        ((DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')))))))" (( "(") (parenthesized_expression "((DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)) &&\n        ((DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"'))))))" (( "(") (binary_expression "(DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)) &&\n        ((DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')))))" (parenthesized_expression "(DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0))" (( "(") (binary_expression "DAT_00176b74[DAT_00176b70 - 1] != 10 &&\n         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)" (binary_expression "DAT_00176b74[DAT_00176b70 - 1] != 10" (subscript_expression "DAT_00176b74[DAT_00176b70 - 1]" (identifier "DAT_00176b74") ([ "[") (binary_expression "DAT_00176b70 - 1" (identifier "DAT_00176b70") (- "-") (number_literal "1")) (] "]")) (!= "!=") (number_literal "10")) (&& "&&") (parenthesized_expression "(((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)" (( "(") (binary_expression "((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0" (parenthesized_expression "((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001)" (( "(") (binary_expression "(&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001" (subscript_expression "(&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]]" (parenthesized_expression "(&sh_syntaxtab)" (( "(") (pointer_expression "&sh_syntaxtab" (& "&") (identifier "sh_syntaxtab")) () ")")) ([ "[") (cast_expression "(byte)DAT_00176b74[DAT_00176b70 - 1]" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (subscript_expression "DAT_00176b74[DAT_00176b70 - 1]" (identifier "DAT_00176b74") ([ "[") (binary_expression "DAT_00176b70 - 1" (identifier "DAT_00176b70") (- "-") (number_literal "1")) (] "]"))) (] "]")) (& "&") (number_literal "0x2001")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')))))" (( "(") (parenthesized_expression "(DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"'))))" (( "(") (binary_expression "DAT_001768ac == 0 ||\n         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')))" (binary_expression "DAT_001768ac == 0" (identifier "DAT_001768ac") (== "==") (number_literal "0")) (|| "||") (parenthesized_expression "((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')))" (( "(") (parenthesized_expression "(cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"'))" (( "(") (comma_expression "cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')" (assignment_expression "cVar2 = *(char *)(dstack + -1 + DAT_001768ac)" (identifier "cVar2") (= "=") (pointer_expression "*(char *)(dstack + -1 + DAT_001768ac)" (* "*") (cast_expression "(char *)(dstack + -1 + DAT_001768ac)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(dstack + -1 + DAT_001768ac)" (( "(") (binary_expression "dstack + -1 + DAT_001768ac" (binary_expression "dstack + -1" (identifier "dstack") (+ "+") (number_literal "-1")) (+ "+") (identifier "DAT_001768ac")) () ")"))))) (, ",") (binary_expression "cVar2 != '\'' && (cVar2 != '\"')" (binary_expression "cVar2 != '\''" (identifier "cVar2") (!= "!=") (char_literal "'\''" (' "'") (escape_sequence "\'") (' "'"))) (&& "&&") (parenthesized_expression "(cVar2 != '\"')" (( "(") (binary_expression "cVar2 != '\"'" (identifier "cVar2") (!= "!=") (char_literal "'\"'" (' "'") (escape_sequence "\"") (' "'"))) () ")")))) () ")")) () ")"))) () ")")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n      parser_state = parser_state | 0x200000;\n      return 0x20;\n    }" ({ "{") (expression_statement "parser_state = parser_state | 0x200000;" (assignment_expression "parser_state = parser_state | 0x200000" (identifier "parser_state") (= "=") (binary_expression "parser_state | 0x200000" (identifier "parser_state") (| "|") (number_literal "0x200000"))) (; ";")) (return_statement "return 0x20;" (return "return") (number_literal "0x20") (; ";")) (} "}"))) (while_statement "while (local_44 != 4) {\n      parser_state = parser_state & 0xffdfffff;\n      puVar6 = pushed_string_list;\n      if (DAT_00176b74 != (char *)0x0) {\n        free(DAT_00176b74);\n        puVar6 = pushed_string_list;\n      }\n      DAT_00176b74 = (char *)puVar6[2];\n      DAT_00176b70 = puVar6[5];\n      DAT_00176b6c = puVar6[4];\n      DAT_00176b64 = puVar6[6];\n      uVar5 = parser_state & 0xfffffffd;\n      if (puVar6[1] != 0) {\n        uVar5 = parser_state | 2;\n      }\n      pushed_string_list = (undefined4 *)*puVar6;\n      parser_state = uVar5;\n      if (puVar6[3] != 0) {\n        pbVar1 = (byte *)(puVar6[3] + 8);\n        *pbVar1 = *pbVar1 & 0xfd;\n      }\n      free(puVar6);\n      FUN_00033160();\n      bVar9 = DAT_00176b74[DAT_00176b70];\n      if (bVar9 == 0) break;\nLAB_00035b58:\n      DAT_00176b70 = DAT_00176b70 + 1;\n      if ((bVar9 != 0x5c) || ((param_1 & 1) == 0)) {\n        if (bVar9 != 0) {\n          return (uint)bVar9;\n        }\n        break;\n      }\n      if ((DAT_00176b74[DAT_00176b70] != '\n') ||\n         ((1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0')))) {\n        return 0x5c;\n      }\n      if ((interactive == 0) || (1 < bash_input - 1U)) {\nLAB_00035bbb:\n        line_number = line_number + 1;\n        puVar6 = (undefined4 *)PTR_stdin_00171f40;\n        if (pushed_string_list == (undefined4 *)0x0) goto joined_r0x00035c60;\n      }\n      else {\n        if ((pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0)) {\n          FUN_000354c0();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\n      if (pushed_string_list[3] == 0) goto joined_r0x00035c60;\n      bVar9 = DAT_00176b74[DAT_00176b70 + 1];\n      uVar5 = DAT_00176b70 + 1;\n      if (bVar9 != 0) goto LAB_00035a68;\n      local_44 = pushed_string_list[7];\n    }" (while "while") (parenthesized_expression "(local_44 != 4)" (( "(") (binary_expression "local_44 != 4" (identifier "local_44") (!= "!=") (number_literal "4")) () ")")) (compound_statement "{\n      parser_state = parser_state & 0xffdfffff;\n      puVar6 = pushed_string_list;\n      if (DAT_00176b74 != (char *)0x0) {\n        free(DAT_00176b74);\n        puVar6 = pushed_string_list;\n      }\n      DAT_00176b74 = (char *)puVar6[2];\n      DAT_00176b70 = puVar6[5];\n      DAT_00176b6c = puVar6[4];\n      DAT_00176b64 = puVar6[6];\n      uVar5 = parser_state & 0xfffffffd;\n      if (puVar6[1] != 0) {\n        uVar5 = parser_state | 2;\n      }\n      pushed_string_list = (undefined4 *)*puVar6;\n      parser_state = uVar5;\n      if (puVar6[3] != 0) {\n        pbVar1 = (byte *)(puVar6[3] + 8);\n        *pbVar1 = *pbVar1 & 0xfd;\n      }\n      free(puVar6);\n      FUN_00033160();\n      bVar9 = DAT_00176b74[DAT_00176b70];\n      if (bVar9 == 0) break;\nLAB_00035b58:\n      DAT_00176b70 = DAT_00176b70 + 1;\n      if ((bVar9 != 0x5c) || ((param_1 & 1) == 0)) {\n        if (bVar9 != 0) {\n          return (uint)bVar9;\n        }\n        break;\n      }\n      if ((DAT_00176b74[DAT_00176b70] != '\n') ||\n         ((1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0')))) {\n        return 0x5c;\n      }\n      if ((interactive == 0) || (1 < bash_input - 1U)) {\nLAB_00035bbb:\n        line_number = line_number + 1;\n        puVar6 = (undefined4 *)PTR_stdin_00171f40;\n        if (pushed_string_list == (undefined4 *)0x0) goto joined_r0x00035c60;\n      }\n      else {\n        if ((pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0)) {\n          FUN_000354c0();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\n      if (pushed_string_list[3] == 0) goto joined_r0x00035c60;\n      bVar9 = DAT_00176b74[DAT_00176b70 + 1];\n      uVar5 = DAT_00176b70 + 1;\n      if (bVar9 != 0) goto LAB_00035a68;\n      local_44 = pushed_string_list[7];\n    }" ({ "{") (expression_statement "parser_state = parser_state & 0xffdfffff;" (assignment_expression "parser_state = parser_state & 0xffdfffff" (identifier "parser_state") (= "=") (binary_expression "parser_state & 0xffdfffff" (identifier "parser_state") (& "&") (number_literal "0xffdfffff"))) (; ";")) (expression_statement "puVar6 = pushed_string_list;" (assignment_expression "puVar6 = pushed_string_list" (identifier "puVar6") (= "=") (identifier "pushed_string_list")) (; ";")) (if_statement "if (DAT_00176b74 != (char *)0x0) {\n        free(DAT_00176b74);\n        puVar6 = pushed_string_list;\n      }" (if "if") (parenthesized_expression "(DAT_00176b74 != (char *)0x0)" (( "(") (binary_expression "DAT_00176b74 != (char *)0x0" (identifier "DAT_00176b74") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        free(DAT_00176b74);\n        puVar6 = pushed_string_list;\n      }" ({ "{") (expression_statement "free(DAT_00176b74);" (call_expression "free(DAT_00176b74)" (identifier "free") (argument_list "(DAT_00176b74)" (( "(") (identifier "DAT_00176b74") () ")"))) (; ";")) (expression_statement "puVar6 = pushed_string_list;" (assignment_expression "puVar6 = pushed_string_list" (identifier "puVar6") (= "=") (identifier "pushed_string_list")) (; ";")) (} "}"))) (expression_statement "DAT_00176b74 = (char *)puVar6[2];" (assignment_expression "DAT_00176b74 = (char *)puVar6[2]" (identifier "DAT_00176b74") (= "=") (cast_expression "(char *)puVar6[2]" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar6[2]" (identifier "puVar6") ([ "[") (number_literal "2") (] "]")))) (; ";")) (expression_statement "DAT_00176b70 = puVar6[5];" (assignment_expression "DAT_00176b70 = puVar6[5]" (identifier "DAT_00176b70") (= "=") (subscript_expression "puVar6[5]" (identifier "puVar6") ([ "[") (number_literal "5") (] "]"))) (; ";")) (expression_statement "DAT_00176b6c = puVar6[4];" (assignment_expression "DAT_00176b6c = puVar6[4]" (identifier "DAT_00176b6c") (= "=") (subscript_expression "puVar6[4]" (identifier "puVar6") ([ "[") (number_literal "4") (] "]"))) (; ";")) (expression_statement "DAT_00176b64 = puVar6[6];" (assignment_expression "DAT_00176b64 = puVar6[6]" (identifier "DAT_00176b64") (= "=") (subscript_expression "puVar6[6]" (identifier "puVar6") ([ "[") (number_literal "6") (] "]"))) (; ";")) (expression_statement "uVar5 = parser_state & 0xfffffffd;" (assignment_expression "uVar5 = parser_state & 0xfffffffd" (identifier "uVar5") (= "=") (binary_expression "parser_state & 0xfffffffd" (identifier "parser_state") (& "&") (number_literal "0xfffffffd"))) (; ";")) (if_statement "if (puVar6[1] != 0) {\n        uVar5 = parser_state | 2;\n      }" (if "if") (parenthesized_expression "(puVar6[1] != 0)" (( "(") (binary_expression "puVar6[1] != 0" (subscript_expression "puVar6[1]" (identifier "puVar6") ([ "[") (number_literal "1") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar5 = parser_state | 2;\n      }" ({ "{") (expression_statement "uVar5 = parser_state | 2;" (assignment_expression "uVar5 = parser_state | 2" (identifier "uVar5") (= "=") (binary_expression "parser_state | 2" (identifier "parser_state") (| "|") (number_literal "2"))) (; ";")) (} "}"))) (expression_statement "pushed_string_list = (undefined4 *)*puVar6;" (assignment_expression "pushed_string_list = (undefined4 *)*puVar6" (identifier "pushed_string_list") (= "=") (cast_expression "(undefined4 *)*puVar6" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar6" (* "*") (identifier "puVar6")))) (; ";")) (expression_statement "parser_state = uVar5;" (assignment_expression "parser_state = uVar5" (identifier "parser_state") (= "=") (identifier "uVar5")) (; ";")) (if_statement "if (puVar6[3] != 0) {\n        pbVar1 = (byte *)(puVar6[3] + 8);\n        *pbVar1 = *pbVar1 & 0xfd;\n      }" (if "if") (parenthesized_expression "(puVar6[3] != 0)" (( "(") (binary_expression "puVar6[3] != 0" (subscript_expression "puVar6[3]" (identifier "puVar6") ([ "[") (number_literal "3") (] "]")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        pbVar1 = (byte *)(puVar6[3] + 8);\n        *pbVar1 = *pbVar1 & 0xfd;\n      }" ({ "{") (expression_statement "pbVar1 = (byte *)(puVar6[3] + 8);" (assignment_expression "pbVar1 = (byte *)(puVar6[3] + 8)" (identifier "pbVar1") (= "=") (cast_expression "(byte *)(puVar6[3] + 8)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar6[3] + 8)" (( "(") (binary_expression "puVar6[3] + 8" (subscript_expression "puVar6[3]" (identifier "puVar6") ([ "[") (number_literal "3") (] "]")) (+ "+") (number_literal "8")) () ")")))) (; ";")) (expression_statement "*pbVar1 = *pbVar1 & 0xfd;" (assignment_expression "*pbVar1 = *pbVar1 & 0xfd" (pointer_expression "*pbVar1" (* "*") (identifier "pbVar1")) (= "=") (binary_expression "*pbVar1 & 0xfd" (pointer_expression "*pbVar1" (* "*") (identifier "pbVar1")) (& "&") (number_literal "0xfd"))) (; ";")) (} "}"))) (expression_statement "free(puVar6);" (call_expression "free(puVar6)" (identifier "free") (argument_list "(puVar6)" (( "(") (identifier "puVar6") () ")"))) (; ";")) (expression_statement "FUN_00033160();" (call_expression "FUN_00033160()" (identifier "FUN_00033160") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "bVar9 = DAT_00176b74[DAT_00176b70];" (assignment_expression "bVar9 = DAT_00176b74[DAT_00176b70]" (identifier "bVar9") (= "=") (subscript_expression "DAT_00176b74[DAT_00176b70]" (identifier "DAT_00176b74") ([ "[") (identifier "DAT_00176b70") (] "]"))) (; ";")) (if_statement "if (bVar9 == 0) break;" (if "if") (parenthesized_expression "(bVar9 == 0)" (( "(") (binary_expression "bVar9 == 0" (identifier "bVar9") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (labeled_statement "LAB_00035b58:\n      DAT_00176b70 = DAT_00176b70 + 1;" (statement_identifier "LAB_00035b58") (: ":") (expression_statement "DAT_00176b70 = DAT_00176b70 + 1;" (assignment_expression "DAT_00176b70 = DAT_00176b70 + 1" (identifier "DAT_00176b70") (= "=") (binary_expression "DAT_00176b70 + 1" (identifier "DAT_00176b70") (+ "+") (number_literal "1"))) (; ";"))) (if_statement "if ((bVar9 != 0x5c) || ((param_1 & 1) == 0)) {\n        if (bVar9 != 0) {\n          return (uint)bVar9;\n        }\n        break;\n      }" (if "if") (parenthesized_expression "((bVar9 != 0x5c) || ((param_1 & 1) == 0))" (( "(") (binary_expression "(bVar9 != 0x5c) || ((param_1 & 1) == 0)" (parenthesized_expression "(bVar9 != 0x5c)" (( "(") (binary_expression "bVar9 != 0x5c" (identifier "bVar9") (!= "!=") (number_literal "0x5c")) () ")")) (|| "||") (parenthesized_expression "((param_1 & 1) == 0)" (( "(") (binary_expression "(param_1 & 1) == 0" (parenthesized_expression "(param_1 & 1)" (( "(") (binary_expression "param_1 & 1" (identifier "param_1") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        if (bVar9 != 0) {\n          return (uint)bVar9;\n        }\n        break;\n      }" ({ "{") (if_statement "if (bVar9 != 0) {\n          return (uint)bVar9;\n        }" (if "if") (parenthesized_expression "(bVar9 != 0)" (( "(") (binary_expression "bVar9 != 0" (identifier "bVar9") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          return (uint)bVar9;\n        }" ({ "{") (return_statement "return (uint)bVar9;" (return "return") (cast_expression "(uint)bVar9" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar9")) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (if_statement "if ((DAT_00176b74[DAT_00176b70] != '\n') ||\n         ((1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0')))) {\n        return 0x5c;\n      }" (if "if") (parenthesized_expression "((DAT_00176b74[DAT_00176b70] != '\n') ||\n         ((1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0'))))" (( "(") (binary_expression "(DAT_00176b74[DAT_00176b70] != '\n') ||\n         ((1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0')))" (parenthesized_expression "(DAT_00176b74[DAT_00176b70] != '\n')" (( "(") (binary_expression "DAT_00176b74[DAT_00176b70] != '\n'" (subscript_expression "DAT_00176b74[DAT_00176b70]" (identifier "DAT_00176b74") ([ "[") (identifier "DAT_00176b70") (] "]")) (!= "!=") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) () ")")) (|| "||") (parenthesized_expression "((1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0')))" (( "(") (parenthesized_expression "(1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0'))" (( "(") (binary_expression "1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0')" (binary_expression "1 < DAT_00176b70" (number_literal "1") (< "<") (identifier "DAT_00176b70")) (&& "&&") (parenthesized_expression "(*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0')" (( "(") (binary_expression "*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0'" (pointer_expression "*(char *)(DAT_00176bc4 + -1 + DAT_00176b70)" (* "*") (cast_expression "(char *)(DAT_00176bc4 + -1 + DAT_00176b70)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_00176bc4 + -1 + DAT_00176b70)" (( "(") (binary_expression "DAT_00176bc4 + -1 + DAT_00176b70" (binary_expression "DAT_00176bc4 + -1" (identifier "DAT_00176bc4") (+ "+") (number_literal "-1")) (+ "+") (identifier "DAT_00176b70")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n        return 0x5c;\n      }" ({ "{") (return_statement "return 0x5c;" (return "return") (number_literal "0x5c") (; ";")) (} "}"))) (if_statement "if ((interactive == 0) || (1 < bash_input - 1U)) {\nLAB_00035bbb:\n        line_number = line_number + 1;\n        puVar6 = (undefined4 *)PTR_stdin_00171f40;\n        if (pushed_string_list == (undefined4 *)0x0) goto joined_r0x00035c60;\n      }\n      else {\n        if ((pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0)) {\n          FUN_000354c0();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }" (if "if") (parenthesized_expression "((interactive == 0) || (1 < bash_input - 1U))" (( "(") (binary_expression "(interactive == 0) || (1 < bash_input - 1U)" (parenthesized_expression "(interactive == 0)" (( "(") (binary_expression "interactive == 0" (identifier "interactive") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(1 < bash_input - 1U)" (( "(") (binary_expression "1 < bash_input - 1U" (number_literal "1") (< "<") (binary_expression "bash_input - 1U" (identifier "bash_input") (- "-") (number_literal "1U"))) () ")"))) () ")")) (compound_statement "{\nLAB_00035bbb:\n        line_number = line_number + 1;\n        puVar6 = (undefined4 *)PTR_stdin_00171f40;\n        if (pushed_string_list == (undefined4 *)0x0) goto joined_r0x00035c60;\n      }" ({ "{") (labeled_statement "LAB_00035bbb:\n        line_number = line_number + 1;" (statement_identifier "LAB_00035bbb") (: ":") (expression_statement "line_number = line_number + 1;" (assignment_expression "line_number = line_number + 1" (identifier "line_number") (= "=") (binary_expression "line_number + 1" (identifier "line_number") (+ "+") (number_literal "1"))) (; ";"))) (expression_statement "puVar6 = (undefined4 *)PTR_stdin_00171f40;" (assignment_expression "puVar6 = (undefined4 *)PTR_stdin_00171f40" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)PTR_stdin_00171f40" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stdin_00171f40"))) (; ";")) (if_statement "if (pushed_string_list == (undefined4 *)0x0) goto joined_r0x00035c60;" (if "if") (parenthesized_expression "(pushed_string_list == (undefined4 *)0x0)" (( "(") (binary_expression "pushed_string_list == (undefined4 *)0x0" (identifier "pushed_string_list") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto joined_r0x00035c60;" (goto "goto") (statement_identifier "joined_r0x00035c60") (; ";"))) (} "}")) (else_clause "else {\n        if ((pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0)) {\n          FUN_000354c0();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }" (else "else") (compound_statement "{\n        if ((pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0)) {\n          FUN_000354c0();\n          goto LAB_00035bbb;\n        }\n        line_number = line_number + 1;\n      }" ({ "{") (if_statement "if ((pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0)) {\n          FUN_000354c0();\n          goto LAB_00035bbb;\n        }" (if "if") (parenthesized_expression "((pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0))" (( "(") (binary_expression "(pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0)" (parenthesized_expression "(pushed_string_list == (undefined4 *)0x0)" (( "(") (binary_expression "pushed_string_list == (undefined4 *)0x0" (identifier "pushed_string_list") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (|| "||") (parenthesized_expression "(pushed_string_list[3] == 0)" (( "(") (binary_expression "pushed_string_list[3] == 0" (subscript_expression "pushed_string_list[3]" (identifier "pushed_string_list") ([ "[") (number_literal "3") (] "]")) (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          FUN_000354c0();\n          goto LAB_00035bbb;\n        }" ({ "{") (expression_statement "FUN_000354c0();" (call_expression "FUN_000354c0()" (identifier "FUN_000354c0") (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_00035bbb;" (goto "goto") (statement_identifier "LAB_00035bbb") (; ";")) (} "}"))) (expression_statement "line_number = line_number + 1;" (assignment_expression "line_number = line_number + 1" (identifier "line_number") (= "=") (binary_expression "line_number + 1" (identifier "line_number") (+ "+") (number_literal "1"))) (; ";")) (} "}")))) (expression_statement "puVar6 = (undefined4 *)PTR_stdin_00171f40;" (assignment_expression "puVar6 = (undefined4 *)PTR_stdin_00171f40" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)PTR_stdin_00171f40" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stdin_00171f40"))) (; ";")) (if_statement "if (pushed_string_list[3] == 0) goto joined_r0x00035c60;" (if "if") (parenthesized_expression "(pushed_string_list[3] == 0)" (( "(") (binary_expression "pushed_string_list[3] == 0" (subscript_expression "pushed_string_list[3]" (identifier "pushed_string_list") ([ "[") (number_literal "3") (] "]")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto joined_r0x00035c60;" (goto "goto") (statement_identifier "joined_r0x00035c60") (; ";"))) (expression_statement "bVar9 = DAT_00176b74[DAT_00176b70 + 1];" (assignment_expression "bVar9 = DAT_00176b74[DAT_00176b70 + 1]" (identifier "bVar9") (= "=") (subscript_expression "DAT_00176b74[DAT_00176b70 + 1]" (identifier "DAT_00176b74") ([ "[") (binary_expression "DAT_00176b70 + 1" (identifier "DAT_00176b70") (+ "+") (number_literal "1")) (] "]"))) (; ";")) (expression_statement "uVar5 = DAT_00176b70 + 1;" (assignment_expression "uVar5 = DAT_00176b70 + 1" (identifier "uVar5") (= "=") (binary_expression "DAT_00176b70 + 1" (identifier "DAT_00176b70") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (bVar9 != 0) goto LAB_00035a68;" (if "if") (parenthesized_expression "(bVar9 != 0)" (( "(") (binary_expression "bVar9 != 0" (identifier "bVar9") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00035a68;" (goto "goto") (statement_identifier "LAB_00035a68") (; ";"))) (expression_statement "local_44 = pushed_string_list[7];" (assignment_expression "local_44 = pushed_string_list[7]" (identifier "local_44") (= "=") (subscript_expression "pushed_string_list[7]" (identifier "pushed_string_list") ([ "[") (number_literal "7") (] "]"))) (; ";")) (} "}"))) (} "}"))) (if_statement "if (DAT_00176b64 == -1) {\n    uVar5 = 0xffffffff;\n    if (DAT_00176b70 != 0) {\n      uVar5 = 10;\n    }\n  }\n  else {\n    if ((((bash_input == 3) && (*DAT_0017ac84 != '\0')) && (pushed_string_list != (undefined4 *)0x0)\n        ) && ((pushed_string_list[7] == 4 && (DAT_00176b64 == 0)))) {\n      DAT_00176b70 = 0;\n      DAT_00176b64 = 0;\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\njoined_r0x00035c60:\n      if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }\n      if (interrupt_state != 0) {\n        throw_to_top_level();\n      }\n      DAT_00176b64 = 0;\n      if (interactive_shell == 0) {\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar4 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2)) {\n          fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar4);\n        }\njoined_r0x00035e4b:\n        if (bash_input == 2) {\n          clearerr((FILE *)*puVar6);\n        }\n      }\n      else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input - 1U < 2) goto LAB_00035e18;\n      }\n      sVar10 = 0;\n      do {\n        iVar7 = (*DAT_0017ac88)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar7 == 0) break;\n          if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }\n          pcVar8 = DAT_00176b74 + sVar10;\n          if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar8 = (char)iVar7;\n          if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar3 = iVar7 == 0x5c && !bVar3;\n          iVar7 = (*DAT_0017ac88)();\n          sVar10 = sVar10 + 1;\n        }\n      } while (bash_input != 3);\n      if (sVar10 == 0) {\n        DAT_00176b64 = -1;\n      }\n      DAT_00176b74[sVar10] = '\0';\n      bVar9 = 1;\nLAB_00035cff:\n      DAT_00176b70 = 0;\n      DAT_00176b68 = sVar10;\n      FUN_00033160();\n      if (remember_on_history == 0) goto joined_r0x00035d82;\n      if (DAT_00176b74 != (char *)0x0) {\n        if (*DAT_00176b74 == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }\n        }\n        else {\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }\njoined_r0x00035d82:\n        if (DAT_00176b74 != (char *)0x0) goto LAB_000362a8;\n      }\n      DAT_00176b6c = 0;\n      prompt_string_pointer = &current_prompt_string;\n      if (((interactive != 0) && (bash_input - 1U < 2)) &&\n         ((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)))) {\n        FUN_000354c0();\n      }\n      goto joined_r0x00035c60;\n    }\n    uVar5 = 0;\n  }" (if "if") (parenthesized_expression "(DAT_00176b64 == -1)" (( "(") (binary_expression "DAT_00176b64 == -1" (identifier "DAT_00176b64") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n    uVar5 = 0xffffffff;\n    if (DAT_00176b70 != 0) {\n      uVar5 = 10;\n    }\n  }" ({ "{") (expression_statement "uVar5 = 0xffffffff;" (assignment_expression "uVar5 = 0xffffffff" (identifier "uVar5") (= "=") (number_literal "0xffffffff")) (; ";")) (if_statement "if (DAT_00176b70 != 0) {\n      uVar5 = 10;\n    }" (if "if") (parenthesized_expression "(DAT_00176b70 != 0)" (( "(") (binary_expression "DAT_00176b70 != 0" (identifier "DAT_00176b70") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      uVar5 = 10;\n    }" ({ "{") (expression_statement "uVar5 = 10;" (assignment_expression "uVar5 = 10" (identifier "uVar5") (= "=") (number_literal "10")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    if ((((bash_input == 3) && (*DAT_0017ac84 != '\0')) && (pushed_string_list != (undefined4 *)0x0)\n        ) && ((pushed_string_list[7] == 4 && (DAT_00176b64 == 0)))) {\n      DAT_00176b70 = 0;\n      DAT_00176b64 = 0;\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\njoined_r0x00035c60:\n      if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }\n      if (interrupt_state != 0) {\n        throw_to_top_level();\n      }\n      DAT_00176b64 = 0;\n      if (interactive_shell == 0) {\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar4 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2)) {\n          fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar4);\n        }\njoined_r0x00035e4b:\n        if (bash_input == 2) {\n          clearerr((FILE *)*puVar6);\n        }\n      }\n      else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input - 1U < 2) goto LAB_00035e18;\n      }\n      sVar10 = 0;\n      do {\n        iVar7 = (*DAT_0017ac88)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar7 == 0) break;\n          if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }\n          pcVar8 = DAT_00176b74 + sVar10;\n          if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar8 = (char)iVar7;\n          if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar3 = iVar7 == 0x5c && !bVar3;\n          iVar7 = (*DAT_0017ac88)();\n          sVar10 = sVar10 + 1;\n        }\n      } while (bash_input != 3);\n      if (sVar10 == 0) {\n        DAT_00176b64 = -1;\n      }\n      DAT_00176b74[sVar10] = '\0';\n      bVar9 = 1;\nLAB_00035cff:\n      DAT_00176b70 = 0;\n      DAT_00176b68 = sVar10;\n      FUN_00033160();\n      if (remember_on_history == 0) goto joined_r0x00035d82;\n      if (DAT_00176b74 != (char *)0x0) {\n        if (*DAT_00176b74 == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }\n        }\n        else {\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }\njoined_r0x00035d82:\n        if (DAT_00176b74 != (char *)0x0) goto LAB_000362a8;\n      }\n      DAT_00176b6c = 0;\n      prompt_string_pointer = &current_prompt_string;\n      if (((interactive != 0) && (bash_input - 1U < 2)) &&\n         ((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)))) {\n        FUN_000354c0();\n      }\n      goto joined_r0x00035c60;\n    }\n    uVar5 = 0;\n  }" (else "else") (compound_statement "{\n    if ((((bash_input == 3) && (*DAT_0017ac84 != '\0')) && (pushed_string_list != (undefined4 *)0x0)\n        ) && ((pushed_string_list[7] == 4 && (DAT_00176b64 == 0)))) {\n      DAT_00176b70 = 0;\n      DAT_00176b64 = 0;\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\njoined_r0x00035c60:\n      if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }\n      if (interrupt_state != 0) {\n        throw_to_top_level();\n      }\n      DAT_00176b64 = 0;\n      if (interactive_shell == 0) {\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar4 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2)) {\n          fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar4);\n        }\njoined_r0x00035e4b:\n        if (bash_input == 2) {\n          clearerr((FILE *)*puVar6);\n        }\n      }\n      else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input - 1U < 2) goto LAB_00035e18;\n      }\n      sVar10 = 0;\n      do {\n        iVar7 = (*DAT_0017ac88)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar7 == 0) break;\n          if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }\n          pcVar8 = DAT_00176b74 + sVar10;\n          if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar8 = (char)iVar7;\n          if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar3 = iVar7 == 0x5c && !bVar3;\n          iVar7 = (*DAT_0017ac88)();\n          sVar10 = sVar10 + 1;\n        }\n      } while (bash_input != 3);\n      if (sVar10 == 0) {\n        DAT_00176b64 = -1;\n      }\n      DAT_00176b74[sVar10] = '\0';\n      bVar9 = 1;\nLAB_00035cff:\n      DAT_00176b70 = 0;\n      DAT_00176b68 = sVar10;\n      FUN_00033160();\n      if (remember_on_history == 0) goto joined_r0x00035d82;\n      if (DAT_00176b74 != (char *)0x0) {\n        if (*DAT_00176b74 == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }\n        }\n        else {\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }\njoined_r0x00035d82:\n        if (DAT_00176b74 != (char *)0x0) goto LAB_000362a8;\n      }\n      DAT_00176b6c = 0;\n      prompt_string_pointer = &current_prompt_string;\n      if (((interactive != 0) && (bash_input - 1U < 2)) &&\n         ((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)))) {\n        FUN_000354c0();\n      }\n      goto joined_r0x00035c60;\n    }\n    uVar5 = 0;\n  }" ({ "{") (if_statement "if ((((bash_input == 3) && (*DAT_0017ac84 != '\0')) && (pushed_string_list != (undefined4 *)0x0)\n        ) && ((pushed_string_list[7] == 4 && (DAT_00176b64 == 0)))) {\n      DAT_00176b70 = 0;\n      DAT_00176b64 = 0;\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\njoined_r0x00035c60:\n      if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }\n      if (interrupt_state != 0) {\n        throw_to_top_level();\n      }\n      DAT_00176b64 = 0;\n      if (interactive_shell == 0) {\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar4 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2)) {\n          fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar4);\n        }\njoined_r0x00035e4b:\n        if (bash_input == 2) {\n          clearerr((FILE *)*puVar6);\n        }\n      }\n      else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input - 1U < 2) goto LAB_00035e18;\n      }\n      sVar10 = 0;\n      do {\n        iVar7 = (*DAT_0017ac88)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar7 == 0) break;\n          if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }\n          pcVar8 = DAT_00176b74 + sVar10;\n          if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar8 = (char)iVar7;\n          if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar3 = iVar7 == 0x5c && !bVar3;\n          iVar7 = (*DAT_0017ac88)();\n          sVar10 = sVar10 + 1;\n        }\n      } while (bash_input != 3);\n      if (sVar10 == 0) {\n        DAT_00176b64 = -1;\n      }\n      DAT_00176b74[sVar10] = '\0';\n      bVar9 = 1;\nLAB_00035cff:\n      DAT_00176b70 = 0;\n      DAT_00176b68 = sVar10;\n      FUN_00033160();\n      if (remember_on_history == 0) goto joined_r0x00035d82;\n      if (DAT_00176b74 != (char *)0x0) {\n        if (*DAT_00176b74 == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }\n        }\n        else {\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }\njoined_r0x00035d82:\n        if (DAT_00176b74 != (char *)0x0) goto LAB_000362a8;\n      }\n      DAT_00176b6c = 0;\n      prompt_string_pointer = &current_prompt_string;\n      if (((interactive != 0) && (bash_input - 1U < 2)) &&\n         ((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)))) {\n        FUN_000354c0();\n      }\n      goto joined_r0x00035c60;\n    }" (if "if") (parenthesized_expression "((((bash_input == 3) && (*DAT_0017ac84 != '\0')) && (pushed_string_list != (undefined4 *)0x0)\n        ) && ((pushed_string_list[7] == 4 && (DAT_00176b64 == 0))))" (( "(") (binary_expression "(((bash_input == 3) && (*DAT_0017ac84 != '\0')) && (pushed_string_list != (undefined4 *)0x0)\n        ) && ((pushed_string_list[7] == 4 && (DAT_00176b64 == 0)))" (parenthesized_expression "(((bash_input == 3) && (*DAT_0017ac84 != '\0')) && (pushed_string_list != (undefined4 *)0x0)\n        )" (( "(") (binary_expression "((bash_input == 3) && (*DAT_0017ac84 != '\0')) && (pushed_string_list != (undefined4 *)0x0)" (parenthesized_expression "((bash_input == 3) && (*DAT_0017ac84 != '\0'))" (( "(") (binary_expression "(bash_input == 3) && (*DAT_0017ac84 != '\0')" (parenthesized_expression "(bash_input == 3)" (( "(") (binary_expression "bash_input == 3" (identifier "bash_input") (== "==") (number_literal "3")) () ")")) (&& "&&") (parenthesized_expression "(*DAT_0017ac84 != '\0')" (( "(") (binary_expression "*DAT_0017ac84 != '\0'" (pointer_expression "*DAT_0017ac84" (* "*") (identifier "DAT_0017ac84")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(pushed_string_list != (undefined4 *)0x0)" (( "(") (binary_expression "pushed_string_list != (undefined4 *)0x0" (identifier "pushed_string_list") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((pushed_string_list[7] == 4 && (DAT_00176b64 == 0)))" (( "(") (parenthesized_expression "(pushed_string_list[7] == 4 && (DAT_00176b64 == 0))" (( "(") (binary_expression "pushed_string_list[7] == 4 && (DAT_00176b64 == 0)" (binary_expression "pushed_string_list[7] == 4" (subscript_expression "pushed_string_list[7]" (identifier "pushed_string_list") ([ "[") (number_literal "7") (] "]")) (== "==") (number_literal "4")) (&& "&&") (parenthesized_expression "(DAT_00176b64 == 0)" (( "(") (binary_expression "DAT_00176b64 == 0" (identifier "DAT_00176b64") (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n      DAT_00176b70 = 0;\n      DAT_00176b64 = 0;\n      puVar6 = (undefined4 *)PTR_stdin_00171f40;\njoined_r0x00035c60:\n      if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }\n      if (interrupt_state != 0) {\n        throw_to_top_level();\n      }\n      DAT_00176b64 = 0;\n      if (interactive_shell == 0) {\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar4 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2)) {\n          fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar4);\n        }\njoined_r0x00035e4b:\n        if (bash_input == 2) {\n          clearerr((FILE *)*puVar6);\n        }\n      }\n      else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input - 1U < 2) goto LAB_00035e18;\n      }\n      sVar10 = 0;\n      do {\n        iVar7 = (*DAT_0017ac88)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar7 == 0) break;\n          if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }\n          pcVar8 = DAT_00176b74 + sVar10;\n          if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar8 = (char)iVar7;\n          if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar3 = iVar7 == 0x5c && !bVar3;\n          iVar7 = (*DAT_0017ac88)();\n          sVar10 = sVar10 + 1;\n        }\n      } while (bash_input != 3);\n      if (sVar10 == 0) {\n        DAT_00176b64 = -1;\n      }\n      DAT_00176b74[sVar10] = '\0';\n      bVar9 = 1;\nLAB_00035cff:\n      DAT_00176b70 = 0;\n      DAT_00176b68 = sVar10;\n      FUN_00033160();\n      if (remember_on_history == 0) goto joined_r0x00035d82;\n      if (DAT_00176b74 != (char *)0x0) {\n        if (*DAT_00176b74 == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }\n        }\n        else {\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }\njoined_r0x00035d82:\n        if (DAT_00176b74 != (char *)0x0) goto LAB_000362a8;\n      }\n      DAT_00176b6c = 0;\n      prompt_string_pointer = &current_prompt_string;\n      if (((interactive != 0) && (bash_input - 1U < 2)) &&\n         ((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)))) {\n        FUN_000354c0();\n      }\n      goto joined_r0x00035c60;\n    }" ({ "{") (expression_statement "DAT_00176b70 = 0;" (assignment_expression "DAT_00176b70 = 0" (identifier "DAT_00176b70") (= "=") (number_literal "0")) (; ";")) (expression_statement "DAT_00176b64 = 0;" (assignment_expression "DAT_00176b64 = 0" (identifier "DAT_00176b64") (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar6 = (undefined4 *)PTR_stdin_00171f40;" (assignment_expression "puVar6 = (undefined4 *)PTR_stdin_00171f40" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)PTR_stdin_00171f40" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stdin_00171f40"))) (; ";")) (labeled_statement "joined_r0x00035c60:\n      if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }" (statement_identifier "joined_r0x00035c60") (: ":") (if_statement "if (terminating_signal != 0) {\n        termsig_handler(terminating_signal);\n      }" (if "if") (parenthesized_expression "(terminating_signal != 0)" (( "(") (binary_expression "terminating_signal != 0" (identifier "terminating_signal") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        termsig_handler(terminating_signal);\n      }" ({ "{") (expression_statement "termsig_handler(terminating_signal);" (call_expression "termsig_handler(terminating_signal)" (identifier "termsig_handler") (argument_list "(terminating_signal)" (( "(") (identifier "terminating_signal") () ")"))) (; ";")) (} "}")))) (if_statement "if (interrupt_state != 0) {\n        throw_to_top_level();\n      }" (if "if") (parenthesized_expression "(interrupt_state != 0)" (( "(") (binary_expression "interrupt_state != 0" (identifier "interrupt_state") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        throw_to_top_level();\n      }" ({ "{") (expression_statement "throw_to_top_level();" (call_expression "throw_to_top_level()" (identifier "throw_to_top_level") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "DAT_00176b64 = 0;" (assignment_expression "DAT_00176b64 = 0" (identifier "DAT_00176b64") (= "=") (number_literal "0")) (; ";")) (if_statement "if (interactive_shell == 0) {\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar4 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2)) {\n          fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar4);\n        }\njoined_r0x00035e4b:\n        if (bash_input == 2) {\n          clearerr((FILE *)*puVar6);\n        }\n      }\n      else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input - 1U < 2) goto LAB_00035e18;\n      }" (if "if") (parenthesized_expression "(interactive_shell == 0)" (( "(") (binary_expression "interactive_shell == 0" (identifier "interactive_shell") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00035e18:\n        notify_and_cleanup();\n        puVar4 = PTR_stderr_00171e54;\n        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2)) {\n          fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar4);\n        }\njoined_r0x00035e4b:\n        if (bash_input == 2) {\n          clearerr((FILE *)*puVar6);\n        }\n      }" ({ "{") (labeled_statement "LAB_00035e18:\n        notify_and_cleanup();" (statement_identifier "LAB_00035e18") (: ":") (expression_statement "notify_and_cleanup();" (call_expression "notify_and_cleanup()" (identifier "notify_and_cleanup") (argument_list "()" (( "(") () ")"))) (; ";"))) (expression_statement "puVar4 = PTR_stderr_00171e54;" (assignment_expression "puVar4 = PTR_stderr_00171e54" (identifier "puVar4") (= "=") (identifier "PTR_stderr_00171e54")) (; ";")) (if_statement "if (((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2)) {\n          fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar4);\n        }" (if "if") (parenthesized_expression "(((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2))" (( "(") (binary_expression "((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2)" (parenthesized_expression "((no_line_editing != 0) && (interactive != 0))" (( "(") (binary_expression "(no_line_editing != 0) && (interactive != 0)" (parenthesized_expression "(no_line_editing != 0)" (( "(") (binary_expression "no_line_editing != 0" (identifier "no_line_editing") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(interactive != 0)" (( "(") (binary_expression "interactive != 0" (identifier "interactive") (!= "!=") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(bash_input - 1U < 2)" (( "(") (binary_expression "bash_input - 1U < 2" (binary_expression "bash_input - 1U" (identifier "bash_input") (- "-") (number_literal "1U")) (< "<") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n          fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);\n          fflush(*(FILE **)puVar4);\n        }" ({ "{") (expression_statement "fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);" (call_expression "fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54)" (identifier "fputs") (argument_list "(DAT_00176b54,*(FILE **)PTR_stderr_00171e54)" (( "(") (identifier "DAT_00176b54") (, ",") (pointer_expression "*(FILE **)PTR_stderr_00171e54" (* "*") (cast_expression "(FILE **)PTR_stderr_00171e54" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_stderr_00171e54"))) () ")"))) (; ";")) (expression_statement "fflush(*(FILE **)puVar4);" (call_expression "fflush(*(FILE **)puVar4)" (identifier "fflush") (argument_list "(*(FILE **)puVar4)" (( "(") (pointer_expression "*(FILE **)puVar4" (* "*") (cast_expression "(FILE **)puVar4" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar4"))) () ")"))) (; ";")) (} "}"))) (labeled_statement "joined_r0x00035e4b:\n        if (bash_input == 2) {\n          clearerr((FILE *)*puVar6);\n        }" (statement_identifier "joined_r0x00035e4b") (: ":") (if_statement "if (bash_input == 2) {\n          clearerr((FILE *)*puVar6);\n        }" (if "if") (parenthesized_expression "(bash_input == 2)" (( "(") (binary_expression "bash_input == 2" (identifier "bash_input") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n          clearerr((FILE *)*puVar6);\n        }" ({ "{") (expression_statement "clearerr((FILE *)*puVar6);" (call_expression "clearerr((FILE *)*puVar6)" (identifier "clearerr") (argument_list "((FILE *)*puVar6)" (( "(") (cast_expression "(FILE *)*puVar6" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar6" (* "*") (identifier "puVar6"))) () ")"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input - 1U < 2) goto LAB_00035e18;\n      }" (else "else") (compound_statement "{\n        if (interactive == 0) goto joined_r0x00035e4b;\n        if (bash_input - 1U < 2) goto LAB_00035e18;\n      }" ({ "{") (if_statement "if (interactive == 0) goto joined_r0x00035e4b;" (if "if") (parenthesized_expression "(interactive == 0)" (( "(") (binary_expression "interactive == 0" (identifier "interactive") (== "==") (number_literal "0")) () ")")) (goto_statement "goto joined_r0x00035e4b;" (goto "goto") (statement_identifier "joined_r0x00035e4b") (; ";"))) (if_statement "if (bash_input - 1U < 2) goto LAB_00035e18;" (if "if") (parenthesized_expression "(bash_input - 1U < 2)" (( "(") (binary_expression "bash_input - 1U < 2" (binary_expression "bash_input - 1U" (identifier "bash_input") (- "-") (number_literal "1U")) (< "<") (number_literal "2")) () ")")) (goto_statement "goto LAB_00035e18;" (goto "goto") (statement_identifier "LAB_00035e18") (; ";"))) (} "}")))) (expression_statement "sVar10 = 0;" (assignment_expression "sVar10 = 0" (identifier "sVar10") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        iVar7 = (*DAT_0017ac88)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar7 == 0) break;\n          if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }\n          pcVar8 = DAT_00176b74 + sVar10;\n          if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar8 = (char)iVar7;\n          if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar3 = iVar7 == 0x5c && !bVar3;\n          iVar7 = (*DAT_0017ac88)();\n          sVar10 = sVar10 + 1;\n        }\n      } while (bash_input != 3);" (do "do") (compound_statement "{\n        iVar7 = (*DAT_0017ac88)();\n        while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar7 == 0) break;\n          if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }\n          pcVar8 = DAT_00176b74 + sVar10;\n          if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar8 = (char)iVar7;\n          if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar3 = iVar7 == 0x5c && !bVar3;\n          iVar7 = (*DAT_0017ac88)();\n          sVar10 = sVar10 + 1;\n        }\n      }" ({ "{") (expression_statement "iVar7 = (*DAT_0017ac88)();" (assignment_expression "iVar7 = (*DAT_0017ac88)()" (identifier "iVar7") (= "=") (call_expression "(*DAT_0017ac88)()" (parenthesized_expression "(*DAT_0017ac88)" (( "(") (pointer_expression "*DAT_0017ac88" (* "*") (identifier "DAT_0017ac88")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (while_statement "while( true ) {\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar7 == 0) break;\n          if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }\n          pcVar8 = DAT_00176b74 + sVar10;\n          if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar8 = (char)iVar7;\n          if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar3 = iVar7 == 0x5c && !bVar3;\n          iVar7 = (*DAT_0017ac88)();\n          sVar10 = sVar10 + 1;\n        }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n          if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }\n          if (interrupt_state != 0) {\n            throw_to_top_level();\n          }\n          if (iVar7 == 0) break;\n          if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }\n          pcVar8 = DAT_00176b74 + sVar10;\n          if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }\n          *pcVar8 = (char)iVar7;\n          if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }\n          bVar3 = iVar7 == 0x5c && !bVar3;\n          iVar7 = (*DAT_0017ac88)();\n          sVar10 = sVar10 + 1;\n        }" ({ "{") (if_statement "if (terminating_signal != 0) {\n            termsig_handler(terminating_signal);\n          }" (if "if") (parenthesized_expression "(terminating_signal != 0)" (( "(") (binary_expression "terminating_signal != 0" (identifier "terminating_signal") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            termsig_handler(terminating_signal);\n          }" ({ "{") (expression_statement "termsig_handler(terminating_signal);" (call_expression "termsig_handler(terminating_signal)" (identifier "termsig_handler") (argument_list "(terminating_signal)" (( "(") (identifier "terminating_signal") () ")"))) (; ";")) (} "}"))) (if_statement "if (interrupt_state != 0) {\n            throw_to_top_level();\n          }" (if "if") (parenthesized_expression "(interrupt_state != 0)" (( "(") (binary_expression "interrupt_state != 0" (identifier "interrupt_state") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n            throw_to_top_level();\n          }" ({ "{") (expression_statement "throw_to_top_level();" (call_expression "throw_to_top_level()" (identifier "throw_to_top_level") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (if_statement "if (iVar7 == 0) break;" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (break_statement "break;" (break "break") (; ";"))) (if_statement "if (DAT_00176b6c < 0xffffff00) {\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }\n          else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }" (if "if") (parenthesized_expression "(DAT_00176b6c < 0xffffff00)" (( "(") (binary_expression "DAT_00176b6c < 0xffffff00" (identifier "DAT_00176b6c") (< "<") (number_literal "0xffffff00")) () ")")) (compound_statement "{\n            if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }\n          }" ({ "{") (if_statement "if (DAT_00176b6c <= sVar10 + 2) {\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }" (if "if") (parenthesized_expression "(DAT_00176b6c <= sVar10 + 2)" (( "(") (binary_expression "DAT_00176b6c <= sVar10 + 2" (identifier "DAT_00176b6c") (<= "<=") (binary_expression "sVar10 + 2" (identifier "sVar10") (+ "+") (number_literal "2"))) () ")")) (compound_statement "{\n              do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);\n              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);\n            }" ({ "{") (do_statement "do {\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              } while (DAT_00176b6c <= sVar10 + 2);" (do "do") (compound_statement "{\n                DAT_00176b6c = DAT_00176b6c + 0x100;\n              }" ({ "{") (expression_statement "DAT_00176b6c = DAT_00176b6c + 0x100;" (assignment_expression "DAT_00176b6c = DAT_00176b6c + 0x100" (identifier "DAT_00176b6c") (= "=") (binary_expression "DAT_00176b6c + 0x100" (identifier "DAT_00176b6c") (+ "+") (number_literal "0x100"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(DAT_00176b6c <= sVar10 + 2)" (( "(") (binary_expression "DAT_00176b6c <= sVar10 + 2" (identifier "DAT_00176b6c") (<= "<=") (binary_expression "sVar10 + 2" (identifier "sVar10") (+ "+") (number_literal "2"))) () ")")) (; ";")) (expression_statement "DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);" (assignment_expression "DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c)" (identifier "DAT_00176b74") (= "=") (cast_expression "(char *)xrealloc(DAT_00176b74,DAT_00176b6c)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xrealloc(DAT_00176b74,DAT_00176b6c)" (identifier "xrealloc") (argument_list "(DAT_00176b74,DAT_00176b6c)" (( "(") (identifier "DAT_00176b74") (, ",") (identifier "DAT_00176b6c") () ")"))))) (; ";")) (} "}"))) (} "}")) (else_clause "else if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }" (else "else") (if_statement "if (DAT_00176b6c != 0xffffffff) {\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }" (if "if") (parenthesized_expression "(DAT_00176b6c != 0xffffffff)" (( "(") (binary_expression "DAT_00176b6c != 0xffffffff" (identifier "DAT_00176b6c") (!= "!=") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n            DAT_00176b6c = 0xffffffff;\n            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);\n          }" ({ "{") (expression_statement "DAT_00176b6c = 0xffffffff;" (assignment_expression "DAT_00176b6c = 0xffffffff" (identifier "DAT_00176b6c") (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);" (assignment_expression "DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff)" (identifier "DAT_00176b74") (= "=") (cast_expression "(char *)xrealloc(DAT_00176b74,0xffffffff)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xrealloc(DAT_00176b74,0xffffffff)" (identifier "xrealloc") (argument_list "(DAT_00176b74,0xffffffff)" (( "(") (identifier "DAT_00176b74") (, ",") (number_literal "0xffffffff") () ")"))))) (; ";")) (} "}"))))) (expression_statement "pcVar8 = DAT_00176b74 + sVar10;" (assignment_expression "pcVar8 = DAT_00176b74 + sVar10" (identifier "pcVar8") (= "=") (binary_expression "DAT_00176b74 + sVar10" (identifier "DAT_00176b74") (+ "+") (identifier "sVar10"))) (; ";")) (if_statement "if (iVar7 == -1) {\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }" (if "if") (parenthesized_expression "(iVar7 == -1)" (( "(") (binary_expression "iVar7 == -1" (identifier "iVar7") (== "==") (number_literal "-1")) () ")")) (compound_statement "{\n            if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }\n            if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }\n            *pcVar8 = '\0';\n            bVar9 = 1;\n            goto LAB_00035cff;\n          }" ({ "{") (if_statement "if (bash_input == 2) {\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }" (if "if") (parenthesized_expression "(bash_input == 2)" (( "(") (binary_expression "bash_input == 2" (identifier "bash_input") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n              clearerr(*(FILE **)PTR_stdin_00171f40);\n            }" ({ "{") (expression_statement "clearerr(*(FILE **)PTR_stdin_00171f40);" (call_expression "clearerr(*(FILE **)PTR_stdin_00171f40)" (identifier "clearerr") (argument_list "(*(FILE **)PTR_stdin_00171f40)" (( "(") (pointer_expression "*(FILE **)PTR_stdin_00171f40" (* "*") (cast_expression "(FILE **)PTR_stdin_00171f40" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_stdin_00171f40"))) () ")"))) (; ";")) (} "}"))) (if_statement "if (sVar10 == 0) {\n              DAT_00176b64 = -1;\n            }" (if "if") (parenthesized_expression "(sVar10 == 0)" (( "(") (binary_expression "sVar10 == 0" (identifier "sVar10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              DAT_00176b64 = -1;\n            }" ({ "{") (expression_statement "DAT_00176b64 = -1;" (assignment_expression "DAT_00176b64 = -1" (identifier "DAT_00176b64") (= "=") (number_literal "-1")) (; ";")) (} "}"))) (expression_statement "*pcVar8 = '\0';" (assignment_expression "*pcVar8 = '\0'" (pointer_expression "*pcVar8" (* "*") (identifier "pcVar8")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "bVar9 = 1;" (assignment_expression "bVar9 = 1" (identifier "bVar9") (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00035cff;" (goto "goto") (statement_identifier "LAB_00035cff") (; ";")) (} "}"))) (expression_statement "*pcVar8 = (char)iVar7;" (assignment_expression "*pcVar8 = (char)iVar7" (pointer_expression "*pcVar8" (* "*") (identifier "pcVar8")) (= "=") (cast_expression "(char)iVar7" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "iVar7"))) (; ";")) (if_statement "if (iVar7 == 10) {\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }" (if "if") (parenthesized_expression "(iVar7 == 10)" (( "(") (binary_expression "iVar7 == 10" (identifier "iVar7") (== "==") (number_literal "10")) () ")")) (compound_statement "{\n            *pcVar8 = '\0';\n            bVar9 = 0;\n            current_command_line_count = current_command_line_count + 1;\n            goto LAB_00035cff;\n          }" ({ "{") (expression_statement "*pcVar8 = '\0';" (assignment_expression "*pcVar8 = '\0'" (pointer_expression "*pcVar8" (* "*") (identifier "pcVar8")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "bVar9 = 0;" (assignment_expression "bVar9 = 0" (identifier "bVar9") (= "=") (number_literal "0")) (; ";")) (expression_statement "current_command_line_count = current_command_line_count + 1;" (assignment_expression "current_command_line_count = current_command_line_count + 1" (identifier "current_command_line_count") (= "=") (binary_expression "current_command_line_count + 1" (identifier "current_command_line_count") (+ "+") (number_literal "1"))) (; ";")) (goto_statement "goto LAB_00035cff;" (goto "goto") (statement_identifier "LAB_00035cff") (; ";")) (} "}"))) (expression_statement "bVar3 = iVar7 == 0x5c && !bVar3;" (assignment_expression "bVar3 = iVar7 == 0x5c && !bVar3" (identifier "bVar3") (= "=") (binary_expression "iVar7 == 0x5c && !bVar3" (binary_expression "iVar7 == 0x5c" (identifier "iVar7") (== "==") (number_literal "0x5c")) (&& "&&") (unary_expression "!bVar3" (! "!") (identifier "bVar3")))) (; ";")) (expression_statement "iVar7 = (*DAT_0017ac88)();" (assignment_expression "iVar7 = (*DAT_0017ac88)()" (identifier "iVar7") (= "=") (call_expression "(*DAT_0017ac88)()" (parenthesized_expression "(*DAT_0017ac88)" (( "(") (pointer_expression "*DAT_0017ac88" (* "*") (identifier "DAT_0017ac88")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "sVar10 = sVar10 + 1;" (assignment_expression "sVar10 = sVar10 + 1" (identifier "sVar10") (= "=") (binary_expression "sVar10 + 1" (identifier "sVar10") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "(bash_input != 3)" (( "(") (binary_expression "bash_input != 3" (identifier "bash_input") (!= "!=") (number_literal "3")) () ")")) (; ";")) (if_statement "if (sVar10 == 0) {\n        DAT_00176b64 = -1;\n      }" (if "if") (parenthesized_expression "(sVar10 == 0)" (( "(") (binary_expression "sVar10 == 0" (identifier "sVar10") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        DAT_00176b64 = -1;\n      }" ({ "{") (expression_statement "DAT_00176b64 = -1;" (assignment_expression "DAT_00176b64 = -1" (identifier "DAT_00176b64") (= "=") (number_literal "-1")) (; ";")) (} "}"))) (expression_statement "DAT_00176b74[sVar10] = '\0';" (assignment_expression "DAT_00176b74[sVar10] = '\0'" (subscript_expression "DAT_00176b74[sVar10]" (identifier "DAT_00176b74") ([ "[") (identifier "sVar10") (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "bVar9 = 1;" (assignment_expression "bVar9 = 1" (identifier "bVar9") (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_00035cff:\n      DAT_00176b70 = 0;" (statement_identifier "LAB_00035cff") (: ":") (expression_statement "DAT_00176b70 = 0;" (assignment_expression "DAT_00176b70 = 0" (identifier "DAT_00176b70") (= "=") (number_literal "0")) (; ";"))) (expression_statement "DAT_00176b68 = sVar10;" (assignment_expression "DAT_00176b68 = sVar10" (identifier "DAT_00176b68") (= "=") (identifier "sVar10")) (; ";")) (expression_statement "FUN_00033160();" (call_expression "FUN_00033160()" (identifier "FUN_00033160") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (remember_on_history == 0) goto joined_r0x00035d82;" (if "if") (parenthesized_expression "(remember_on_history == 0)" (( "(") (binary_expression "remember_on_history == 0" (identifier "remember_on_history") (== "==") (number_literal "0")) () ")")) (goto_statement "goto joined_r0x00035d82;" (goto "goto") (statement_identifier "joined_r0x00035d82") (; ";"))) (if_statement "if (DAT_00176b74 != (char *)0x0) {\n        if (*DAT_00176b74 == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }\n        }\n        else {\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }\njoined_r0x00035d82:\n        if (DAT_00176b74 != (char *)0x0) goto LAB_000362a8;\n      }" (if "if") (parenthesized_expression "(DAT_00176b74 != (char *)0x0)" (( "(") (binary_expression "DAT_00176b74 != (char *)0x0" (identifier "DAT_00176b74") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        if (*DAT_00176b74 == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }\n        }\n        else {\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }\njoined_r0x00035d82:\n        if (DAT_00176b74 != (char *)0x0) goto LAB_000362a8;\n      }" ({ "{") (if_statement "if (*DAT_00176b74 == '\0') {\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }\n        }\n        else {\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }" (if "if") (parenthesized_expression "(*DAT_00176b74 == '\0')" (( "(") (binary_expression "*DAT_00176b74 == '\0'" (pointer_expression "*DAT_00176b74" (* "*") (identifier "DAT_00176b74")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }\n          if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }\n        }" ({ "{") (if_statement "if (current_command_line_count < 2) {\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }" (if "if") (parenthesized_expression "(current_command_line_count < 2)" (( "(") (binary_expression "current_command_line_count < 2" (identifier "current_command_line_count") (< "<") (number_literal "2")) () ")")) (compound_statement "{\n            if (echo_input_at_read != 0) goto LAB_00036218;\n            goto LAB_00036178;\n          }" ({ "{") (if_statement "if (echo_input_at_read != 0) goto LAB_00036218;" (if "if") (parenthesized_expression "(echo_input_at_read != 0)" (( "(") (binary_expression "echo_input_at_read != 0" (identifier "echo_input_at_read") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00036218;" (goto "goto") (statement_identifier "LAB_00036218") (; ";"))) (goto_statement "goto LAB_00036178;" (goto "goto") (statement_identifier "LAB_00036178") (; ";")) (} "}"))) (if_statement "if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))) {\n            maybe_add_history(DAT_00176b74);\n          }" (if "if") (parenthesized_expression "(((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';'))))" (( "(") (binary_expression "((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||\n             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))" (parenthesized_expression "((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0'))" (( "(") (binary_expression "(DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')" (parenthesized_expression "(DAT_001768ac != 0)" (( "(") (binary_expression "DAT_001768ac != 0" (identifier "DAT_001768ac") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(dstack + -1 + DAT_001768ac) != '\0')" (( "(") (binary_expression "*(char *)(dstack + -1 + DAT_001768ac) != '\0'" (pointer_expression "*(char *)(dstack + -1 + DAT_001768ac)" (* "*") (cast_expression "(char *)(dstack + -1 + DAT_001768ac)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(dstack + -1 + DAT_001768ac)" (( "(") (binary_expression "dstack + -1 + DAT_001768ac" (binary_expression "dstack + -1" (identifier "dstack") (+ "+") (number_literal "-1")) (+ "+") (identifier "DAT_001768ac")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')))" (( "(") (parenthesized_expression "(pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';'))" (( "(") (comma_expression "pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')" (assignment_expression "pcVar8 = (char *)history_delimiting_chars(DAT_00176b74)" (identifier "pcVar8") (= "=") (cast_expression "(char *)history_delimiting_chars(DAT_00176b74)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "history_delimiting_chars(DAT_00176b74)" (identifier "history_delimiting_chars") (argument_list "(DAT_00176b74)" (( "(") (identifier "DAT_00176b74") () ")"))))) (, ",") (binary_expression "pcVar8 != (char *)0x0 &&\n              (*pcVar8 == ';')" (binary_expression "pcVar8 != (char *)0x0" (identifier "pcVar8") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (&& "&&") (parenthesized_expression "(*pcVar8 == ';')" (( "(") (binary_expression "*pcVar8 == ';'" (pointer_expression "*pcVar8" (* "*") (identifier "pcVar8")) (== "==") (char_literal "';'" (' "'") (character ";") (' "'"))) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n            maybe_add_history(DAT_00176b74);\n          }" ({ "{") (expression_statement "maybe_add_history(DAT_00176b74);" (call_expression "maybe_add_history(DAT_00176b74)" (identifier "maybe_add_history") (argument_list "(DAT_00176b74)" (( "(") (identifier "DAT_00176b74") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }" (else "else") (compound_statement "{\n          if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }\n          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);\n          history_quoting_state = 0;\n          if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }\n        }" ({ "{") (if_statement "if (DAT_001768ac == 0) {\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }\n          else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }" (if "if") (parenthesized_expression "(DAT_001768ac == 0)" (( "(") (binary_expression "DAT_001768ac == 0" (identifier "DAT_001768ac") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00035f8e:\n            history_quoting_state = 0;\n          }" ({ "{") (labeled_statement "LAB_00035f8e:\n            history_quoting_state = 0;" (statement_identifier "LAB_00035f8e") (: ":") (expression_statement "history_quoting_state = 0;" (assignment_expression "history_quoting_state = 0" (identifier "history_quoting_state") (= "=") (number_literal "0")) (; ";"))) (} "}")) (else_clause "else {\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }" (else "else") (compound_statement "{\n            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);\n            if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }\n          }" ({ "{") (expression_statement "cVar2 = *(char *)(dstack + -1 + DAT_001768ac);" (assignment_expression "cVar2 = *(char *)(dstack + -1 + DAT_001768ac)" (identifier "cVar2") (= "=") (pointer_expression "*(char *)(dstack + -1 + DAT_001768ac)" (* "*") (cast_expression "(char *)(dstack + -1 + DAT_001768ac)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(dstack + -1 + DAT_001768ac)" (( "(") (binary_expression "dstack + -1 + DAT_001768ac" (binary_expression "dstack + -1" (identifier "dstack") (+ "+") (number_literal "-1")) (+ "+") (identifier "DAT_001768ac")) () ")"))))) (; ";")) (if_statement "if (cVar2 == '\'') {\n              history_quoting_state = 0x27;\n            }\n            else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }" (if "if") (parenthesized_expression "(cVar2 == '\'')" (( "(") (binary_expression "cVar2 == '\''" (identifier "cVar2") (== "==") (char_literal "'\''" (' "'") (escape_sequence "\'") (' "'"))) () ")")) (compound_statement "{\n              history_quoting_state = 0x27;\n            }" ({ "{") (expression_statement "history_quoting_state = 0x27;" (assignment_expression "history_quoting_state = 0x27" (identifier "history_quoting_state") (= "=") (number_literal "0x27")) (; ";")) (} "}")) (else_clause "else {\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }" (else "else") (compound_statement "{\n              if (cVar2 != '\"') goto LAB_00035f8e;\n              history_quoting_state = 0x22;\n            }" ({ "{") (if_statement "if (cVar2 != '\"') goto LAB_00035f8e;" (if "if") (parenthesized_expression "(cVar2 != '\"')" (( "(") (binary_expression "cVar2 != '\"'" (identifier "cVar2") (!= "!=") (char_literal "'\"'" (' "'") (escape_sequence "\"") (' "'"))) () ")")) (goto_statement "goto LAB_00035f8e;" (goto "goto") (statement_identifier "LAB_00035f8e") (; ";"))) (expression_statement "history_quoting_state = 0x22;" (assignment_expression "history_quoting_state = 0x22" (identifier "history_quoting_state") (= "=") (number_literal "0x22")) (; ";")) (} "}")))) (} "}")))) (expression_statement "pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);" (assignment_expression "pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1)" (identifier "pcVar8") (= "=") (cast_expression "(char *)pre_process_line(DAT_00176b74,1,1)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "pre_process_line(DAT_00176b74,1,1)" (identifier "pre_process_line") (argument_list "(DAT_00176b74,1,1)" (( "(") (identifier "DAT_00176b74") (, ",") (number_literal "1") (, ",") (number_literal "1") () ")"))))) (; ";")) (expression_statement "history_quoting_state = 0;" (assignment_expression "history_quoting_state = 0" (identifier "history_quoting_state") (= "=") (number_literal "0")) (; ";")) (if_statement "if (pcVar8 != DAT_00176b74) {\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }" (if "if") (parenthesized_expression "(pcVar8 != DAT_00176b74)" (( "(") (binary_expression "pcVar8 != DAT_00176b74" (identifier "pcVar8") (!= "!=") (identifier "DAT_00176b74")) () ")")) (compound_statement "{\n            free(DAT_00176b74);\n            DAT_00176b74 = pcVar8;\n            if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }\n            FUN_00033160();\n          }" ({ "{") (expression_statement "free(DAT_00176b74);" (call_expression "free(DAT_00176b74)" (identifier "free") (argument_list "(DAT_00176b74)" (( "(") (identifier "DAT_00176b74") () ")"))) (; ";")) (expression_statement "DAT_00176b74 = pcVar8;" (assignment_expression "DAT_00176b74 = pcVar8" (identifier "DAT_00176b74") (= "=") (identifier "pcVar8")) (; ";")) (if_statement "if (pcVar8 == (char *)0x0) {\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }\n            else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }" (if "if") (parenthesized_expression "(pcVar8 == (char *)0x0)" (( "(") (binary_expression "pcVar8 == (char *)0x0" (identifier "pcVar8") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n              DAT_00176b68 = 0;\nLAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;\n              DAT_00176b6c = 0;\n            }" ({ "{") (expression_statement "DAT_00176b68 = 0;" (assignment_expression "DAT_00176b68 = 0" (identifier "DAT_00176b68") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_000362e0:\n              current_command_line_count = current_command_line_count + -1;" (statement_identifier "LAB_000362e0") (: ":") (expression_statement "current_command_line_count = current_command_line_count + -1;" (assignment_expression "current_command_line_count = current_command_line_count + -1" (identifier "current_command_line_count") (= "=") (binary_expression "current_command_line_count + -1" (identifier "current_command_line_count") (+ "+") (number_literal "-1"))) (; ";"))) (expression_statement "DAT_00176b6c = 0;" (assignment_expression "DAT_00176b6c = 0" (identifier "DAT_00176b6c") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }" (else "else") (compound_statement "{\n              DAT_00176b6c = strlen(pcVar8);\n              DAT_00176b68 = DAT_00176b6c;\n              if (DAT_00176b6c == 0) goto LAB_000362e0;\n            }" ({ "{") (expression_statement "DAT_00176b6c = strlen(pcVar8);" (assignment_expression "DAT_00176b6c = strlen(pcVar8)" (identifier "DAT_00176b6c") (= "=") (call_expression "strlen(pcVar8)" (identifier "strlen") (argument_list "(pcVar8)" (( "(") (identifier "pcVar8") () ")")))) (; ";")) (expression_statement "DAT_00176b68 = DAT_00176b6c;" (assignment_expression "DAT_00176b68 = DAT_00176b6c" (identifier "DAT_00176b68") (= "=") (identifier "DAT_00176b6c")) (; ";")) (if_statement "if (DAT_00176b6c == 0) goto LAB_000362e0;" (if "if") (parenthesized_expression "(DAT_00176b6c == 0)" (( "(") (binary_expression "DAT_00176b6c == 0" (identifier "DAT_00176b6c") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000362e0;" (goto "goto") (statement_identifier "LAB_000362e0") (; ";"))) (} "}")))) (expression_statement "FUN_00033160();" (call_expression "FUN_00033160()" (identifier "FUN_00033160") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")))) (labeled_statement "joined_r0x00035d82:\n        if (DAT_00176b74 != (char *)0x0) goto LAB_000362a8;" (statement_identifier "joined_r0x00035d82") (: ":") (if_statement "if (DAT_00176b74 != (char *)0x0) goto LAB_000362a8;" (if "if") (parenthesized_expression "(DAT_00176b74 != (char *)0x0)" (( "(") (binary_expression "DAT_00176b74 != (char *)0x0" (identifier "DAT_00176b74") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (goto_statement "goto LAB_000362a8;" (goto "goto") (statement_identifier "LAB_000362a8") (; ";")))) (} "}"))) (expression_statement "DAT_00176b6c = 0;" (assignment_expression "DAT_00176b6c = 0" (identifier "DAT_00176b6c") (= "=") (number_literal "0")) (; ";")) (expression_statement "prompt_string_pointer = &current_prompt_string;" (assignment_expression "prompt_string_pointer = &current_prompt_string" (identifier "prompt_string_pointer") (= "=") (pointer_expression "&current_prompt_string" (& "&") (identifier "current_prompt_string"))) (; ";")) (if_statement "if (((interactive != 0) && (bash_input - 1U < 2)) &&\n         ((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)))) {\n        FUN_000354c0();\n      }" (if "if") (parenthesized_expression "(((interactive != 0) && (bash_input - 1U < 2)) &&\n         ((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0))))" (( "(") (binary_expression "((interactive != 0) && (bash_input - 1U < 2)) &&\n         ((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)))" (parenthesized_expression "((interactive != 0) && (bash_input - 1U < 2))" (( "(") (binary_expression "(interactive != 0) && (bash_input - 1U < 2)" (parenthesized_expression "(interactive != 0)" (( "(") (binary_expression "interactive != 0" (identifier "interactive") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(bash_input - 1U < 2)" (( "(") (binary_expression "bash_input - 1U < 2" (binary_expression "bash_input - 1U" (identifier "bash_input") (- "-") (number_literal "1U")) (< "<") (number_literal "2")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)))" (( "(") (parenthesized_expression "(pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0))" (( "(") (binary_expression "pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)" (binary_expression "pushed_string_list == (undefined4 *)0x0" (identifier "pushed_string_list") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (|| "||") (parenthesized_expression "(pushed_string_list[3] == 0)" (( "(") (binary_expression "pushed_string_list[3] == 0" (subscript_expression "pushed_string_list[3]" (identifier "pushed_string_list") ([ "[") (number_literal "3") (] "]")) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n        FUN_000354c0();\n      }" ({ "{") (expression_statement "FUN_000354c0();" (call_expression "FUN_000354c0()" (identifier "FUN_000354c0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (goto_statement "goto joined_r0x00035c60;" (goto "goto") (statement_identifier "joined_r0x00035c60") (; ";")) (} "}"))) (expression_statement "uVar5 = 0;" (assignment_expression "uVar5 = 0" (identifier "uVar5") (= "=") (number_literal "0")) (; ";")) (} "}")))) (return_statement "return uVar5;" (return "return") (identifier "uVar5") (; ";")) (labeled_statement "LAB_000362a8:\n  if (echo_input_at_read == 0) {\nLAB_00036178:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;\n  }\n  else {\n    if (*DAT_00176b74 != '\0') {\n      if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);\n      }\n      goto LAB_00036178;\n    }\nLAB_00036218:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;\n    if (shell_eof_token == 0) goto LAB_00036231;\n  }" (statement_identifier "LAB_000362a8") (: ":") (if_statement "if (echo_input_at_read == 0) {\nLAB_00036178:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;\n  }\n  else {\n    if (*DAT_00176b74 != '\0') {\n      if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);\n      }\n      goto LAB_00036178;\n    }\nLAB_00036218:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;\n    if (shell_eof_token == 0) goto LAB_00036231;\n  }" (if "if") (parenthesized_expression "(echo_input_at_read == 0)" (( "(") (binary_expression "echo_input_at_read == 0" (identifier "echo_input_at_read") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00036178:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;\n  }" ({ "{") (labeled_statement "LAB_00036178:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;" (statement_identifier "LAB_00036178") (: ":") (if_statement "if (DAT_00176b64 == -1) goto LAB_000361c3;" (if "if") (parenthesized_expression "(DAT_00176b64 == -1)" (( "(") (binary_expression "DAT_00176b64 == -1" (identifier "DAT_00176b64") (== "==") (number_literal "-1")) () ")")) (goto_statement "goto LAB_000361c3;" (goto "goto") (statement_identifier "LAB_000361c3") (; ";")))) (} "}")) (else_clause "else {\n    if (*DAT_00176b74 != '\0') {\n      if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);\n      }\n      goto LAB_00036178;\n    }\nLAB_00036218:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;\n    if (shell_eof_token == 0) goto LAB_00036231;\n  }" (else "else") (compound_statement "{\n    if (*DAT_00176b74 != '\0') {\n      if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);\n      }\n      goto LAB_00036178;\n    }\nLAB_00036218:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;\n    if (shell_eof_token == 0) goto LAB_00036231;\n  }" ({ "{") (if_statement "if (*DAT_00176b74 != '\0') {\n      if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);\n      }\n      goto LAB_00036178;\n    }" (if "if") (parenthesized_expression "(*DAT_00176b74 != '\0')" (( "(") (binary_expression "*DAT_00176b74 != '\0'" (pointer_expression "*DAT_00176b74" (* "*") (identifier "DAT_00176b74")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);\n      }\n      goto LAB_00036178;\n    }" ({ "{") (if_statement "if (shell_eof_token == 0) {\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);\n      }" (if "if") (parenthesized_expression "(shell_eof_token == 0)" (( "(") (binary_expression "shell_eof_token == 0" (identifier "shell_eof_token") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);\n      }" ({ "{") (labeled_statement "LAB_00036231:\n        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);" (statement_identifier "LAB_00036231") (: ":") (expression_statement "__fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);" (call_expression "__fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74)" (identifier "__fprintf_chk") (argument_list "(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74)" (( "(") (pointer_expression "*(undefined4 *)PTR_stderr_00171e54" (* "*") (cast_expression "(undefined4 *)PTR_stderr_00171e54" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_stderr_00171e54"))) (, ",") (number_literal "1") (, ",") (pointer_expression "&DAT_00125177" (& "&") (identifier "DAT_00125177")) (, ",") (identifier "DAT_00176b74") () ")"))) (; ";"))) (} "}"))) (goto_statement "goto LAB_00036178;" (goto "goto") (statement_identifier "LAB_00036178") (; ";")) (} "}"))) (labeled_statement "LAB_00036218:\n    if (DAT_00176b64 == -1) goto LAB_000361c3;" (statement_identifier "LAB_00036218") (: ":") (if_statement "if (DAT_00176b64 == -1) goto LAB_000361c3;" (if "if") (parenthesized_expression "(DAT_00176b64 == -1)" (( "(") (binary_expression "DAT_00176b64 == -1" (identifier "DAT_00176b64") (== "==") (number_literal "-1")) () ")")) (goto_statement "goto LAB_000361c3;" (goto "goto") (statement_identifier "LAB_000361c3") (; ";")))) (if_statement "if (shell_eof_token == 0) goto LAB_00036231;" (if "if") (parenthesized_expression "(shell_eof_token == 0)" (( "(") (binary_expression "shell_eof_token == 0" (identifier "shell_eof_token") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00036231;" (goto "goto") (statement_identifier "LAB_00036231") (; ";"))) (} "}"))))) (if_statement "if ((DAT_00176b6c < 0xfffffffc) && (DAT_00176b6c < DAT_00176b68 + 3)) {\n    iVar7 = DAT_00176b6c + 3;\n    DAT_00176b6c = DAT_00176b6c + 2;\n    DAT_00176b74 = (char *)xrealloc(DAT_00176b74,iVar7);\n  }" (if "if") (parenthesized_expression "((DAT_00176b6c < 0xfffffffc) && (DAT_00176b6c < DAT_00176b68 + 3))" (( "(") (binary_expression "(DAT_00176b6c < 0xfffffffc) && (DAT_00176b6c < DAT_00176b68 + 3)" (parenthesized_expression "(DAT_00176b6c < 0xfffffffc)" (( "(") (binary_expression "DAT_00176b6c < 0xfffffffc" (identifier "DAT_00176b6c") (< "<") (number_literal "0xfffffffc")) () ")")) (&& "&&") (parenthesized_expression "(DAT_00176b6c < DAT_00176b68 + 3)" (( "(") (binary_expression "DAT_00176b6c < DAT_00176b68 + 3" (identifier "DAT_00176b6c") (< "<") (binary_expression "DAT_00176b68 + 3" (identifier "DAT_00176b68") (+ "+") (number_literal "3"))) () ")"))) () ")")) (compound_statement "{\n    iVar7 = DAT_00176b6c + 3;\n    DAT_00176b6c = DAT_00176b6c + 2;\n    DAT_00176b74 = (char *)xrealloc(DAT_00176b74,iVar7);\n  }" ({ "{") (expression_statement "iVar7 = DAT_00176b6c + 3;" (assignment_expression "iVar7 = DAT_00176b6c + 3" (identifier "iVar7") (= "=") (binary_expression "DAT_00176b6c + 3" (identifier "DAT_00176b6c") (+ "+") (number_literal "3"))) (; ";")) (expression_statement "DAT_00176b6c = DAT_00176b6c + 2;" (assignment_expression "DAT_00176b6c = DAT_00176b6c + 2" (identifier "DAT_00176b6c") (= "=") (binary_expression "DAT_00176b6c + 2" (identifier "DAT_00176b6c") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "DAT_00176b74 = (char *)xrealloc(DAT_00176b74,iVar7);" (assignment_expression "DAT_00176b74 = (char *)xrealloc(DAT_00176b74,iVar7)" (identifier "DAT_00176b74") (= "=") (cast_expression "(char *)xrealloc(DAT_00176b74,iVar7)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "xrealloc(DAT_00176b74,iVar7)" (identifier "xrealloc") (argument_list "(DAT_00176b74,iVar7)" (( "(") (identifier "DAT_00176b74") (, ",") (identifier "iVar7") () ")"))))) (; ";")) (} "}"))) (expression_statement "pcVar8 = DAT_00176b74;" (assignment_expression "pcVar8 = DAT_00176b74" (identifier "pcVar8") (= "=") (identifier "DAT_00176b74")) (; ";")) (expression_statement "sVar10 = DAT_00176b68;" (assignment_expression "sVar10 = DAT_00176b68" (identifier "sVar10") (= "=") (identifier "DAT_00176b68")) (; ";")) (if_statement "if (((bash_input == 3) &&\n      (((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)) && (bVar3)))) &&\n     ((param_1 & bVar9) != 0)) {\n    DAT_00176b74[DAT_00176b68] = '\\';\n  }\n  else {\n    DAT_00176b74[DAT_00176b68] = '\n';\n  }" (if "if") (parenthesized_expression "(((bash_input == 3) &&\n      (((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)) && (bVar3)))) &&\n     ((param_1 & bVar9) != 0))" (( "(") (binary_expression "((bash_input == 3) &&\n      (((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)) && (bVar3)))) &&\n     ((param_1 & bVar9) != 0)" (parenthesized_expression "((bash_input == 3) &&\n      (((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)) && (bVar3))))" (( "(") (binary_expression "(bash_input == 3) &&\n      (((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)) && (bVar3)))" (parenthesized_expression "(bash_input == 3)" (( "(") (binary_expression "bash_input == 3" (identifier "bash_input") (== "==") (number_literal "3")) () ")")) (&& "&&") (parenthesized_expression "(((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)) && (bVar3)))" (( "(") (parenthesized_expression "((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)) && (bVar3))" (( "(") (binary_expression "(pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)) && (bVar3)" (parenthesized_expression "(pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0))" (( "(") (binary_expression "pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)" (binary_expression "pushed_string_list == (undefined4 *)0x0" (identifier "pushed_string_list") (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (|| "||") (parenthesized_expression "(pushed_string_list[3] == 0)" (( "(") (binary_expression "pushed_string_list[3] == 0" (subscript_expression "pushed_string_list[3]" (identifier "pushed_string_list") ([ "[") (number_literal "3") (] "]")) (== "==") (number_literal "0")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(bVar3)" (( "(") (identifier "bVar3") () ")"))) () ")")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((param_1 & bVar9) != 0)" (( "(") (binary_expression "(param_1 & bVar9) != 0" (parenthesized_expression "(param_1 & bVar9)" (( "(") (binary_expression "param_1 & bVar9" (identifier "param_1") (& "&") (identifier "bVar9")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    DAT_00176b74[DAT_00176b68] = '\\';\n  }" ({ "{") (expression_statement "DAT_00176b74[DAT_00176b68] = '\\';" (assignment_expression "DAT_00176b74[DAT_00176b68] = '\\'" (subscript_expression "DAT_00176b74[DAT_00176b68]" (identifier "DAT_00176b74") ([ "[") (identifier "DAT_00176b68") (] "]")) (= "=") (char_literal "'\\'" (' "'") (escape_sequence "\\") (' "'"))) (; ";")) (} "}")) (else_clause "else {\n    DAT_00176b74[DAT_00176b68] = '\n';\n  }" (else "else") (compound_statement "{\n    DAT_00176b74[DAT_00176b68] = '\n';\n  }" ({ "{") (expression_statement "DAT_00176b74[DAT_00176b68] = '\n';" (assignment_expression "DAT_00176b74[DAT_00176b68] = '\n'" (subscript_expression "DAT_00176b74[DAT_00176b68]" (identifier "DAT_00176b74") ([ "[") (identifier "DAT_00176b68") (] "]")) (= "=") (char_literal "'\n'" (' "'") (escape_sequence "\n") (' "'"))) (; ";")) (} "}")))) (expression_statement "pcVar8[sVar10 + 1] = '\0';" (assignment_expression "pcVar8[sVar10 + 1] = '\0'" (subscript_expression "pcVar8[sVar10 + 1]" (identifier "pcVar8") ([ "[") (binary_expression "sVar10 + 1" (identifier "sVar10") (+ "+") (number_literal "1")) (] "]")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "FUN_00033160();" (call_expression "FUN_00033160()" (identifier "FUN_00033160") (argument_list "()" (( "(") () ")"))) (; ";")) (labeled_statement "LAB_000361c3:\n  bVar9 = DAT_00176b74[DAT_00176b70];" (statement_identifier "LAB_000361c3") (: ":") (expression_statement "bVar9 = DAT_00176b74[DAT_00176b70];" (assignment_expression "bVar9 = DAT_00176b74[DAT_00176b70]" (identifier "bVar9") (= "=") (subscript_expression "DAT_00176b74[DAT_00176b70]" (identifier "DAT_00176b74") ([ "[") (identifier "DAT_00176b70") (] "]"))) (; ";"))) (expression_statement "uVar5 = DAT_00176b70;" (assignment_expression "uVar5 = DAT_00176b70" (identifier "uVar5") (= "=") (identifier "DAT_00176b70")) (; ";")) (goto_statement "goto LAB_00035a68;" (goto "goto") (statement_identifier "LAB_00035a68") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */

int __regparm3 function_1(int var_12)

{
  bool bVar1;
  type_1 *puVar2;
  type_2 *puVar3;
  type_3 uVar4;
  type_4 *__ptr;
  int var_29;
  char *var_35;
  type_5 var_3;
  size_t var_11;
  int var_7;
  type_5 var_42;
  
  puVar2 = (type_1 *)PTR_stdin_00171f40;
  if (var_1 == (char *)0x0) {
    var_2 = var_2 + 1;
    bVar1 = false;
    goto joined_r0x00035c60;
  }
  bVar1 = false;
  var_3 = var_1[var_9];
  var_11 = var_9;
  if ((var_3 == 0) && (var_4 == (type_4 *)0x0)) {
    var_2 = var_2 + 1;
    if (var_5 < 0x8000) goto joined_r0x00035c60;
    var_6(var_1);
    var_1 = (char *)0x0;
    var_5 = 0;
    puVar2 = (type_1 *)PTR_stdin_00171f40;
    goto joined_r0x00035c60;
  }
LAB_00035a68:
  var_9 = var_11;
  var_11 = var_9;
  if (var_3 != 0) goto LAB_00035b58;
  if (var_4 != (type_4 *)0x0) {
    var_7 = var_4->flags;
    if (((((var_7 - 2U & 0xfffffffd) != 0) && ((var_8 & 0x300000U) == 0)) &&
        (var_9 != 0)) &&
       (((var_1[var_9 - 1] != 10 &&
         (((&sh_syntaxtab)[(type_5)var_1[var_9 - 1]] & 0x2001) == 0)) &&
        ((dstack.delimiter_depth == 0 ||
         ((dstack.delimiters[dstack.delimiter_depth + -1] != '\'' &&
          (dstack.delimiters[dstack.delimiter_depth + -1] != '\"')))))))) {
      var_8 = var_8 | 0x200000;
      return 0x20;
    }
    while (var_7 != 4) {
      var_8 = var_8 & 0xffdfffff;
      __ptr = var_4;
      if (var_1 != (char *)0x0) {
        var_6(var_1);
        __ptr = var_4;
      }
      var_1 = __ptr->saved_line;
      var_9 = __ptr->saved_line_index;
      var_5 = __ptr->saved_line_size;
      var_16 = __ptr->saved_line_terminator;
      uVar4 = var_8 & 0xfffffffd;
      if (__ptr->expand_alias != 0) {
        uVar4 = var_8 | 2;
      }
      var_4 = __ptr->next;
      var_8 = uVar4;
      if (__ptr->expander != (type_6 *)0x0) {
        var_35 = &__ptr->expander->flags;
        *var_35 = *var_35 & 0xfd;
      }
      var_6(__ptr);
      var_10();
      var_3 = var_1[var_9];
      var_11 = var_9;
      if (var_3 == 0) break;
LAB_00035b58:
      var_9 = var_11 + 1;
      if ((var_3 != 0x5c) || ((var_12 & 1U) == 0)) {
        if (var_3 != 0) {
          return (type_3)var_3;
        }
        break;
      }
      if ((var_1[var_9] != '\n') ||
         ((1 < var_9 && (shell_input_line_property[var_11] == '\0')))) {
        return 0x5c;
      }
      if ((var_13 == 0) || (1 < bash_input.type - var_14)) {
LAB_00035bbb:
        var_2 = var_2 + 1;
        puVar2 = (type_1 *)PTR_stdin_00171f40;
        if (var_4 == (type_4 *)0x0) goto joined_r0x00035c60;
      }
      else {
        if ((var_4 == (type_4 *)0x0) ||
           (var_4->expander == (type_6 *)0x0)) {
          var_15();
          goto LAB_00035bbb;
        }
        var_2 = var_2 + 1;
      }
      puVar2 = (type_1 *)PTR_stdin_00171f40;
      if (var_4->expander == (type_6 *)0x0) goto joined_r0x00035c60;
      var_3 = var_1[var_9 + 1];
      var_11 = var_9 + 1;
      if (var_3 != 0) goto LAB_00035a68;
      var_7 = var_4->flags;
    }
  }
  if (var_16 == -1) {
    uVar4 = 0xffffffff;
    if (var_9 != 0) {
      uVar4 = 10;
    }
  }
  else {
    if ((((bash_input.type == var_17) && (*bash_input.location.string != '\0')) &&
        (var_4 != (type_4 *)0x0)) &&
       ((var_4->flags == 4 && (var_16 == 0)))) {
      var_9 = 0;
      var_16 = 0;
      puVar2 = (type_1 *)PTR_stdin_00171f40;
joined_r0x00035c60:
      if (var_18 != 0) {
        var_19(var_18);
      }
      if (var_20 != 0) {
        var_21();
      }
      var_16 = 0;
      if (var_22 == 0) {
LAB_00035e18:
        var_23();
        puVar3 = PTR_stderr_00171e54;
        if (((var_24 != 0) && (var_13 != 0)) && (bash_input.type - var_14 < 2)) {
          var_25(current_decoded_prompt,*(type_7 **)PTR_stderr_00171e54);
          var_26(*(type_7 **)puVar3);
        }
joined_r0x00035e4b:
        if (bash_input.type == var_27) {
          var_28((type_7 *)*puVar2);
        }
      }
      else {
        if (var_13 == 0) goto joined_r0x00035e4b;
        if (bash_input.type - var_14 < 2) goto LAB_00035e18;
      }
      var_11 = 0;
      do {
        var_29 = (*(type_8 *)bash_input.getter)();
        while( true ) {
          if (var_18 != 0) {
            var_19(var_18);
          }
          if (var_20 != 0) {
            var_21();
          }
          if (var_29 == 0) break;
          if (var_5 < 0xffffff00) {
            if (var_5 <= var_11 + 2) {
              do {
                var_5 = var_5 + 0x100;
              } while (var_5 <= var_11 + 2);
              var_1 = (char *)var_30(var_1,var_5);
            }
          }
          else if (var_5 != 0xffffffff) {
            var_5 = 0xffffffff;
            var_1 = (char *)var_30(var_1,0xffffffff);
          }
          var_35 = var_1 + var_11;
          if (var_29 == -1) {
            if (bash_input.type == var_27) {
              var_28(*(type_7 **)PTR_stdin_00171f40);
            }
            if (var_11 == 0) {
              var_16 = -1;
            }
            *var_35 = '\0';
            var_3 = 1;
            goto LAB_00035cff;
          }
          *var_35 = (char)var_29;
          if (var_29 == 10) {
            *var_35 = '\0';
            var_3 = 0;
            var_31 = var_31 + 1;
            goto LAB_00035cff;
          }
          bVar1 = var_29 == 0x5c && !bVar1;
          var_29 = (*(type_8 *)bash_input.getter)();
          var_11 = var_11 + 1;
        }
      } while (bash_input.type != var_17);
      if (var_11 == 0) {
        var_16 = -1;
      }
      var_1[var_11] = '\0';
      var_3 = 1;
LAB_00035cff:
      var_9 = 0;
      var_41 = var_11;
      var_10();
      if (var_32 == 0) goto joined_r0x00035d82;
      if (var_1 != (char *)0x0) {
        if (*var_1 == '\0') {
          if (var_31 < 2) {
            if (var_33 != 0) goto LAB_00036218;
            goto LAB_00036178;
          }
          if (((dstack.delimiter_depth != 0) &&
              (dstack.delimiters[dstack.delimiter_depth + -1] != '\0')) ||
             ((var_35 = var_34(var_1), var_35 != (char *)0x0 &&
              (*var_35 == ';')))) {
            var_36(var_1);
          }
        }
        else {
          if (dstack.delimiter_depth == 0) {
LAB_00035f8e:
            history_quoting_state = 0;
          }
          else if (dstack.delimiters[dstack.delimiter_depth + -1] == '\'') {
            history_quoting_state = 0x27;
          }
          else {
            if (dstack.delimiters[dstack.delimiter_depth + -1] != '\"') goto LAB_00035f8e;
            history_quoting_state = 0x22;
          }
          var_35 = var_37(var_1,1,1);
          history_quoting_state = 0;
          if (var_35 != var_1) {
            var_6(var_1);
            var_1 = var_35;
            if (var_35 == (char *)0x0) {
              var_41 = 0;
LAB_000362e0:
              var_31 = var_31 + -1;
              var_5 = 0;
            }
            else {
              var_5 = var_38(var_35);
              var_41 = var_5;
              if (var_5 == 0) goto LAB_000362e0;
            }
            var_10();
          }
        }
joined_r0x00035d82:
        if (var_1 != (char *)0x0) goto LAB_000362a8;
      }
      var_5 = 0;
      prompt_string_pointer = &current_prompt_string;
      if (((var_13 != 0) && (bash_input.type - var_14 < 2)) &&
         ((var_4 == (type_4 *)0x0 ||
          (var_4->expander == (type_6 *)0x0)))) {
        var_15();
      }
      goto joined_r0x00035c60;
    }
    uVar4 = 0;
  }
  return uVar4;
LAB_000362a8:
  if (var_33 == 0) {
LAB_00036178:
    if (var_16 == -1) goto LAB_000361c3;
  }
  else {
    if (*var_1 != '\0') {
      if (var_39 == 0) {
LAB_00036231:
        var_40(*(type_1 *)PTR_stderr_00171e54,1,&DAT_00125177,var_1);
      }
      goto LAB_00036178;
    }
LAB_00036218:
    if (var_16 == -1) goto LAB_000361c3;
    if (var_39 == 0) goto LAB_00036231;
  }
  if ((var_5 < 0xfffffffc) && (var_5 < var_41 + 3)) {
    var_11 = var_5 + 3;
    var_5 = var_5 + 2;
    var_1 = (char *)var_30(var_1,var_11);
  }
  var_35 = var_1;
  var_11 = var_41;
  if (((bash_input.type == var_17) &&
      (((var_4 == (type_4 *)0x0 ||
        (var_4->expander == (type_6 *)0x0)) && (bVar1)))) &&
     (var_42 = (type_5)var_12, (var_42 & var_3) != 0)) {
    var_1[var_41] = '\\';
  }
  else {
    var_1[var_41] = '\n';
  }
  var_35[var_11 + 1] = '\0';
  var_10();
LAB_000361c3:
  var_3 = var_1[var_9];
  var_11 = var_9;
  goto LAB_00035a68;
}


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

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */

uint __regparm3 MASKED(byte param_1)

{
  byte *pbVar1;
  char cVar2;
  bool bVar3;
  undefined *puVar4;
  uint uVar5;
  undefined4 *puVar6;
  int iVar7;
  char *pcVar8;
  byte bVar9;
  size_t sVar10;
  int local_44;
  
  puVar6 = (undefined4 *)PTR_stdin_00171f40;
  if (DAT_00176b74 == (char *)0x0) {
    line_number = line_number + 1;
    bVar3 = false;
    goto joined_r0x00035c60;
  }
  bVar3 = false;
  bVar9 = DAT_00176b74[DAT_00176b70];
  uVar5 = DAT_00176b70;
  if ((bVar9 == 0) && (pushed_string_list == (undefined4 *)0x0)) {
    line_number = line_number + 1;
    if (DAT_00176b6c < 0x8000) goto joined_r0x00035c60;
    free(DAT_00176b74);
    DAT_00176b74 = (char *)0x0;
    DAT_00176b6c = 0;
    puVar6 = (undefined4 *)PTR_stdin_00171f40;
    goto joined_r0x00035c60;
  }
LAB_00035a68:
  DAT_00176b70 = uVar5;
  if (bVar9 != 0) goto LAB_00035b58;
  if (pushed_string_list != (undefined4 *)0x0) {
    local_44 = pushed_string_list[7];
    if (((((local_44 - 2U & 0xfffffffd) != 0) && ((parser_state & 0x300000) == 0)) &&
        (DAT_00176b70 != 0)) &&
       (((DAT_00176b74[DAT_00176b70 - 1] != 10 &&
         (((&sh_syntaxtab)[(byte)DAT_00176b74[DAT_00176b70 - 1]] & 0x2001) == 0)) &&
        ((DAT_001768ac == 0 ||
         ((cVar2 = *(char *)(dstack + -1 + DAT_001768ac), cVar2 != '\'' && (cVar2 != '\"')))))))) {
      parser_state = parser_state | 0x200000;
      return 0x20;
    }
    while (local_44 != 4) {
      parser_state = parser_state & 0xffdfffff;
      puVar6 = pushed_string_list;
      if (DAT_00176b74 != (char *)0x0) {
        free(DAT_00176b74);
        puVar6 = pushed_string_list;
      }
      DAT_00176b74 = (char *)puVar6[2];
      DAT_00176b70 = puVar6[5];
      DAT_00176b6c = puVar6[4];
      DAT_00176b64 = puVar6[6];
      uVar5 = parser_state & 0xfffffffd;
      if (puVar6[1] != 0) {
        uVar5 = parser_state | 2;
      }
      pushed_string_list = (undefined4 *)*puVar6;
      parser_state = uVar5;
      if (puVar6[3] != 0) {
        pbVar1 = (byte *)(puVar6[3] + 8);
        *pbVar1 = *pbVar1 & 0xfd;
      }
      free(puVar6);
      FUN_00033160();
      bVar9 = DAT_00176b74[DAT_00176b70];
      if (bVar9 == 0) break;
LAB_00035b58:
      DAT_00176b70 = DAT_00176b70 + 1;
      if ((bVar9 != 0x5c) || ((param_1 & 1) == 0)) {
        if (bVar9 != 0) {
          return (uint)bVar9;
        }
        break;
      }
      if ((DAT_00176b74[DAT_00176b70] != '\n') ||
         ((1 < DAT_00176b70 && (*(char *)(DAT_00176bc4 + -1 + DAT_00176b70) == '\0')))) {
        return 0x5c;
      }
      if ((interactive == 0) || (1 < bash_input - 1U)) {
LAB_00035bbb:
        line_number = line_number + 1;
        puVar6 = (undefined4 *)PTR_stdin_00171f40;
        if (pushed_string_list == (undefined4 *)0x0) goto joined_r0x00035c60;
      }
      else {
        if ((pushed_string_list == (undefined4 *)0x0) || (pushed_string_list[3] == 0)) {
          FUN_000354c0();
          goto LAB_00035bbb;
        }
        line_number = line_number + 1;
      }
      puVar6 = (undefined4 *)PTR_stdin_00171f40;
      if (pushed_string_list[3] == 0) goto joined_r0x00035c60;
      bVar9 = DAT_00176b74[DAT_00176b70 + 1];
      uVar5 = DAT_00176b70 + 1;
      if (bVar9 != 0) goto LAB_00035a68;
      local_44 = pushed_string_list[7];
    }
  }
  if (DAT_00176b64 == -1) {
    uVar5 = 0xffffffff;
    if (DAT_00176b70 != 0) {
      uVar5 = 10;
    }
  }
  else {
    if ((((bash_input == 3) && (*DAT_0017ac84 != '\0')) && (pushed_string_list != (undefined4 *)0x0)
        ) && ((pushed_string_list[7] == 4 && (DAT_00176b64 == 0)))) {
      DAT_00176b70 = 0;
      DAT_00176b64 = 0;
      puVar6 = (undefined4 *)PTR_stdin_00171f40;
joined_r0x00035c60:
      if (terminating_signal != 0) {
        termsig_handler(terminating_signal);
      }
      if (interrupt_state != 0) {
        throw_to_top_level();
      }
      DAT_00176b64 = 0;
      if (interactive_shell == 0) {
LAB_00035e18:
        notify_and_cleanup();
        puVar4 = PTR_stderr_00171e54;
        if (((no_line_editing != 0) && (interactive != 0)) && (bash_input - 1U < 2)) {
          fputs(DAT_00176b54,*(FILE **)PTR_stderr_00171e54);
          fflush(*(FILE **)puVar4);
        }
joined_r0x00035e4b:
        if (bash_input == 2) {
          clearerr((FILE *)*puVar6);
        }
      }
      else {
        if (interactive == 0) goto joined_r0x00035e4b;
        if (bash_input - 1U < 2) goto LAB_00035e18;
      }
      sVar10 = 0;
      do {
        iVar7 = (*DAT_0017ac88)();
        while( true ) {
          if (terminating_signal != 0) {
            termsig_handler(terminating_signal);
          }
          if (interrupt_state != 0) {
            throw_to_top_level();
          }
          if (iVar7 == 0) break;
          if (DAT_00176b6c < 0xffffff00) {
            if (DAT_00176b6c <= sVar10 + 2) {
              do {
                DAT_00176b6c = DAT_00176b6c + 0x100;
              } while (DAT_00176b6c <= sVar10 + 2);
              DAT_00176b74 = (char *)xrealloc(DAT_00176b74,DAT_00176b6c);
            }
          }
          else if (DAT_00176b6c != 0xffffffff) {
            DAT_00176b6c = 0xffffffff;
            DAT_00176b74 = (char *)xrealloc(DAT_00176b74,0xffffffff);
          }
          pcVar8 = DAT_00176b74 + sVar10;
          if (iVar7 == -1) {
            if (bash_input == 2) {
              clearerr(*(FILE **)PTR_stdin_00171f40);
            }
            if (sVar10 == 0) {
              DAT_00176b64 = -1;
            }
            *pcVar8 = '\0';
            bVar9 = 1;
            goto LAB_00035cff;
          }
          *pcVar8 = (char)iVar7;
          if (iVar7 == 10) {
            *pcVar8 = '\0';
            bVar9 = 0;
            current_command_line_count = current_command_line_count + 1;
            goto LAB_00035cff;
          }
          bVar3 = iVar7 == 0x5c && !bVar3;
          iVar7 = (*DAT_0017ac88)();
          sVar10 = sVar10 + 1;
        }
      } while (bash_input != 3);
      if (sVar10 == 0) {
        DAT_00176b64 = -1;
      }
      DAT_00176b74[sVar10] = '\0';
      bVar9 = 1;
LAB_00035cff:
      DAT_00176b70 = 0;
      DAT_00176b68 = sVar10;
      FUN_00033160();
      if (remember_on_history == 0) goto joined_r0x00035d82;
      if (DAT_00176b74 != (char *)0x0) {
        if (*DAT_00176b74 == '\0') {
          if (current_command_line_count < 2) {
            if (echo_input_at_read != 0) goto LAB_00036218;
            goto LAB_00036178;
          }
          if (((DAT_001768ac != 0) && (*(char *)(dstack + -1 + DAT_001768ac) != '\0')) ||
             ((pcVar8 = (char *)history_delimiting_chars(DAT_00176b74), pcVar8 != (char *)0x0 &&
              (*pcVar8 == ';')))) {
            maybe_add_history(DAT_00176b74);
          }
        }
        else {
          if (DAT_001768ac == 0) {
LAB_00035f8e:
            history_quoting_state = 0;
          }
          else {
            cVar2 = *(char *)(dstack + -1 + DAT_001768ac);
            if (cVar2 == '\'') {
              history_quoting_state = 0x27;
            }
            else {
              if (cVar2 != '\"') goto LAB_00035f8e;
              history_quoting_state = 0x22;
            }
          }
          pcVar8 = (char *)pre_process_line(DAT_00176b74,1,1);
          history_quoting_state = 0;
          if (pcVar8 != DAT_00176b74) {
            free(DAT_00176b74);
            DAT_00176b74 = pcVar8;
            if (pcVar8 == (char *)0x0) {
              DAT_00176b68 = 0;
LAB_000362e0:
              current_command_line_count = current_command_line_count + -1;
              DAT_00176b6c = 0;
            }
            else {
              DAT_00176b6c = strlen(pcVar8);
              DAT_00176b68 = DAT_00176b6c;
              if (DAT_00176b6c == 0) goto LAB_000362e0;
            }
            FUN_00033160();
          }
        }
joined_r0x00035d82:
        if (DAT_00176b74 != (char *)0x0) goto LAB_000362a8;
      }
      DAT_00176b6c = 0;
      prompt_string_pointer = &current_prompt_string;
      if (((interactive != 0) && (bash_input - 1U < 2)) &&
         ((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)))) {
        FUN_000354c0();
      }
      goto joined_r0x00035c60;
    }
    uVar5 = 0;
  }
  return uVar5;
LAB_000362a8:
  if (echo_input_at_read == 0) {
LAB_00036178:
    if (DAT_00176b64 == -1) goto LAB_000361c3;
  }
  else {
    if (*DAT_00176b74 != '\0') {
      if (shell_eof_token == 0) {
LAB_00036231:
        __fprintf_chk(*(undefined4 *)PTR_stderr_00171e54,1,&DAT_00125177,DAT_00176b74);
      }
      goto LAB_00036178;
    }
LAB_00036218:
    if (DAT_00176b64 == -1) goto LAB_000361c3;
    if (shell_eof_token == 0) goto LAB_00036231;
  }
  if ((DAT_00176b6c < 0xfffffffc) && (DAT_00176b6c < DAT_00176b68 + 3)) {
    iVar7 = DAT_00176b6c + 3;
    DAT_00176b6c = DAT_00176b6c + 2;
    DAT_00176b74 = (char *)xrealloc(DAT_00176b74,iVar7);
  }
  pcVar8 = DAT_00176b74;
  sVar10 = DAT_00176b68;
  if (((bash_input == 3) &&
      (((pushed_string_list == (undefined4 *)0x0 || (pushed_string_list[3] == 0)) && (bVar3)))) &&
     ((param_1 & bVar9) != 0)) {
    DAT_00176b74[DAT_00176b68] = '\\';
  }
  else {
    DAT_00176b74[DAT_00176b68] = '\n';
  }
  pcVar8[sVar10 + 1] = '\0';
  FUN_00033160();
LAB_000361c3:
  bVar9 = DAT_00176b74[DAT_00176b70];
  uVar5 = DAT_00176b70;
  goto LAB_00035a68;
}

