
int execute_builtin(sh_builtin_func_t *builtin,WORD_LIST *words,int flags,int subshell)

{
  bool bVar1;
  undefined *puVar2;
  undefined *puVar3;
  uint uVar4;
  uint uVar5;
  char *pcVar6;
  int iVar7;
  WORD_LIST *pWVar8;
  undefined4 uVar9;
  word_list *pwVar10;
  undefined *puVar11;
  int iVar12;
  int isbltinenv;
  uint uVar13;
  undefined4 *puVar14;
  int *piVar15;
  int *piVar16;
  int iStack_30;
  
  puVar2 = PTR_source_builtin_00144bf0;
  if (subshell == 0) {
    if ((flags & 8U) == 0) {
      iVar12 = 0;
      bVar1 = false;
      goto LAB_00049928;
    }
    if (((builtin == (sh_builtin_func_t *)PTR_eval_builtin_00144be8) ||
        (builtin == (sh_builtin_func_t *)PTR_command_builtin_00144bec)) ||
       (bVar1 = false, builtin == (sh_builtin_func_t *)PTR_source_builtin_00144bf0)) {
      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914);
      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4);
      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4);
      iVar12 = (*(code *)PTR_signal_is_trapped_00144664)(0x81);
      if (((iVar12 == 0) || (iVar12 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar12 != 0))
         || (iVar12 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar12 == 0)) {
        iVar12 = 0;
      }
      else {
        iVar7 = (*(code *)PTR_strlen_00146390)(iVar12);
        uVar9 = (*(code *)PTR_xmalloc_001445b0)(iVar7 + 1);
        iVar12 = (*(code *)PTR_strcpy_00146418)(uVar9,iVar12);
        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar12);
        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar12);
        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);
      }
      puVar11 = PTR_builtin_ignoring_errexit_00144c0c;
      bVar1 = true;
      iStack_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c;
      *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0;
      *(undefined4 *)puVar11 = 1;
      goto LAB_00049928;
    }
    iVar12 = 0;
LAB_00049808:
    if (builtin == (sh_builtin_func_t *)PTR_unset_builtin_00144bf4) goto LAB_00049938;
    if ((builtin == (sh_builtin_func_t *)PTR_mapfile_builtin_00144bf8) ||
       (builtin == (sh_builtin_func_t *)PTR_fc_builtin_00144bfc)) goto LAB_00049a2c;
    uVar13 = 0;
    if (builtin == (sh_builtin_func_t *)PTR_read_builtin_00144c00) goto LAB_00049954;
joined_r0x00049978:
    piVar15 = (int *)PTR_evalnest_00144c38;
    piVar16 = (int *)PTR_sourcenest_00144c44;
    if (subshell != 0) goto LAB_00049830;
joined_r0x00049b04:
    PTR_evalnest_00144c38 = (undefined *)piVar15;
    PTR_sourcenest_00144c44 = (undefined *)piVar16;
    if (builtin == (sh_builtin_func_t *)PTR_eval_builtin_00144be8) {
      if ((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar15)
         ) {
        pcVar6 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);
        internal_error(pcVar6,*piVar15);
        piVar16 = piVar15;
        goto LAB_00049d4c;
      }
LAB_00049b38:
      (*(code *)PTR_unwind_protect_mem_00144c3c)(piVar15,4);
      *piVar15 = *piVar15 + 1;
    }
    else if (builtin == (sh_builtin_func_t *)puVar2) {
      piVar15 = piVar16;
      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&
         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar16)) {
        do {
          pcVar6 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);
          internal_error(pcVar6,*(undefined4 *)PTR_this_command_name_00144728,*piVar16);
LAB_00049d4c:
          puVar2 = PTR_jump_to_top_level_00144808;
          *piVar16 = 0;
          (*(code *)puVar2)(2);
        } while( true );
      }
      goto LAB_00049b38;
    }
    puVar11 = PTR_executing_command_builtin_00144c08;
    puVar2 = PTR_posixly_correct_0014458c;
    uVar4 = (uint)(builtin == (sh_builtin_func_t *)PTR_command_builtin_00144bec);
    if (*(int *)PTR_posixly_correct_0014458c == 0) {
      pWVar8 = words->next;
      iVar7 = *(int *)PTR_executing_builtin_00144c04 + 1;
      uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08;
      goto LAB_000499c8;
    }
    if (builtin == (sh_builtin_func_t *)PTR_return_builtin_00144c28) {
      if (((flags & 0x800U) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)) {
        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);
        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);
      }
      puVar3 = PTR_return_builtin_00144c28;
      puVar11 = PTR_executing_command_builtin_00144c08;
      pwVar10 = words->next;
      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;
      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;
      *(uint *)puVar11 = uVar5 | uVar4;
      iVar7 = (*(code *)puVar3)(pwVar10);
      if (*(int *)puVar2 == 0) goto LAB_00049a90;
LAB_000499f4:
      if (*(int *)PTR_temporary_env_00144858 != 0) {
        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);
      }
    }
    else {
      pWVar8 = words->next;
      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;
      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;
      *(uint *)puVar11 = uVar5 | uVar4;
      iVar7 = (*builtin)(pWVar8);
    }
  }
  else {
    iVar12 = 0;
    bVar1 = false;
LAB_00049928:
    if ((builtin != (sh_builtin_func_t *)puVar2) &&
       (builtin != (sh_builtin_func_t *)PTR_eval_builtin_00144be8)) goto LAB_00049808;
LAB_00049938:
    if ((builtin == (sh_builtin_func_t *)PTR_mapfile_builtin_00144bf8) ||
       (builtin == (sh_builtin_func_t *)PTR_fc_builtin_00144bfc)) {
LAB_00049a2c:
      uVar13 = 0;
      if (subshell != 0) goto LAB_0004995c;
LAB_00049a38:
      puVar14 = (undefined4 *)PTR_temporary_env_00144858;
      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);
      if ((HASH_TABLE *)*puVar14 != (HASH_TABLE *)0x0) {
        push_scope(8,(HASH_TABLE *)*puVar14);
        if (((flags & 0x800U) == 0) && (uVar13 != 0)) {
          puVar11 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;
        }
        else {
          puVar11 = (undefined *)0x0;
        }
        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar11);
LAB_00049978:
        uVar13 = 1;
        *puVar14 = 0;
        goto joined_r0x00049978;
      }
      uVar13 = 1;
      piVar15 = (int *)PTR_evalnest_00144c38;
      piVar16 = (int *)PTR_sourcenest_00144c44;
      goto joined_r0x00049b04;
    }
    uVar13 = (uint)(builtin != (sh_builtin_func_t *)PTR_read_builtin_00144c00);
LAB_00049954:
    if (subshell == 0) goto LAB_00049a38;
LAB_0004995c:
    puVar14 = (undefined4 *)PTR_temporary_env_00144858;
    uVar13 = subshell;
    if (*(HASH_TABLE **)PTR_temporary_env_00144858 != (HASH_TABLE *)0x0) {
      push_scope(8,*(HASH_TABLE **)PTR_temporary_env_00144858);
      goto LAB_00049978;
    }
LAB_00049830:
    puVar11 = PTR_executing_command_builtin_00144c08;
    puVar2 = PTR_posixly_correct_0014458c;
    iVar7 = *(int *)PTR_executing_builtin_00144c04 + 1;
    pWVar8 = words->next;
    uVar4 = (uint)(builtin == (sh_builtin_func_t *)PTR_command_builtin_00144bec) |
            *(uint *)PTR_executing_command_builtin_00144c08;
    if (*(int *)PTR_posixly_correct_0014458c == 0) {
LAB_000499c8:
      puVar11 = PTR_executing_command_builtin_00144c08;
      puVar2 = PTR_posixly_correct_0014458c;
      *(int *)PTR_executing_builtin_00144c04 = iVar7;
      *(uint *)puVar11 = uVar4;
      iVar7 = (*builtin)(pWVar8);
      if (*(int *)puVar2 != 0) {
        if (subshell != 0) goto LAB_00049880;
        if (builtin == (sh_builtin_func_t *)PTR_return_builtin_00144c28) goto LAB_000499f4;
        goto LAB_00049a90;
      }
    }
    else {
      *(int *)PTR_executing_builtin_00144c04 = iVar7;
      *(uint *)puVar11 = uVar4;
      iVar7 = (*builtin)(pWVar8);
      if (*(int *)puVar2 != 0) goto LAB_00049880;
    }
    if (subshell != 0) goto LAB_00049880;
  }
LAB_00049a90:
  if (uVar13 != 0) {
    (*(code *)PTR_run_unwind_frame_00144c34)(PTR_LAB_00144578 + 0x6924);
  }
LAB_00049880:
  if (bVar1) {
    *(int *)PTR_builtin_ignoring_errexit_00144c0c = iStack_30;
    if (iStack_30 == 0) {
      uVar9 = *(undefined4 *)PTR_errexit_flag_00144c10;
    }
    else {
      uVar9 = 0;
    }
    *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = uVar9;
    if (iVar12 != 0) {
      (*(code *)PTR_set_error_trap_00144c14)(iVar12);
      (*(code *)PTR_free_001464fc)(iVar12);
    }
    (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6914);
  }
  return iVar7;
}



undefined4 FUN_0004978c(code *param_1,undefined4 *param_2,uint param_3,uint param_4)

{
  bool bVar1;
  undefined *puVar2;
  undefined *puVar3;
  uint uVar4;
  uint uVar5;
  int iVar6;
  undefined4 uVar7;
  undefined4 uVar8;
  undefined *puVar9;
  int iVar10;
  uint uVar11;
  undefined4 *puVar12;
  int *piVar13;
  int *piVar14;
  int local_30;
  
  puVar2 = PTR_source_builtin_00144bf0;
  if (param_4 == 0) {
    if ((param_3 & 8) == 0) {
      iVar10 = 0;
      bVar1 = false;
      goto LAB_00049928;
    }
    if (((param_1 == (code *)PTR_eval_builtin_00144be8) ||
        (param_1 == (code *)PTR_command_builtin_00144bec)) ||
       (bVar1 = false, param_1 == (code *)PTR_source_builtin_00144bf0)) {
      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914);
      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4);
      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4);
      iVar10 = (*(code *)PTR_signal_is_trapped_00144664)(0x81);
      if (((iVar10 == 0) || (iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0))
         || (iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar10 == 0)) {
        iVar10 = 0;
      }
      else {
        iVar6 = (*(code *)PTR_strlen_00146390)(iVar10);
        uVar7 = (*(code *)PTR_xmalloc_001445b0)(iVar6 + 1);
        iVar10 = (*(code *)PTR_strcpy_00146418)(uVar7,iVar10);
        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar10);
        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar10);
        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);
      }
      puVar9 = PTR_builtin_ignoring_errexit_00144c0c;
      bVar1 = true;
      local_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c;
      *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0;
      *(undefined4 *)puVar9 = 1;
      goto LAB_00049928;
    }
    iVar10 = 0;
LAB_00049808:
    if (param_1 == (code *)PTR_unset_builtin_00144bf4) goto LAB_00049938;
    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||
       (param_1 == (code *)PTR_fc_builtin_00144bfc)) goto LAB_00049a2c;
    uVar11 = 0;
    if (param_1 == (code *)PTR_read_builtin_00144c00) goto LAB_00049954;
joined_r0x00049978:
    piVar13 = (int *)PTR_evalnest_00144c38;
    piVar14 = (int *)PTR_sourcenest_00144c44;
    if (param_4 != 0) goto LAB_00049830;
joined_r0x00049b04:
    PTR_evalnest_00144c38 = (undefined *)piVar13;
    PTR_sourcenest_00144c44 = (undefined *)piVar14;
    if (param_1 == (code *)PTR_eval_builtin_00144be8) {
      if ((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar13)
         ) {
        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);
        internal_error(uVar7,*piVar13);
        piVar14 = piVar13;
        goto LAB_00049d4c;
      }
LAB_00049b38:
      (*(code *)PTR_unwind_protect_mem_00144c3c)(piVar13,4);
      *piVar13 = *piVar13 + 1;
    }
    else if (param_1 == (code *)puVar2) {
      piVar13 = piVar14;
      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&
         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar14)) {
        do {
          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);
          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);
LAB_00049d4c:
          puVar2 = PTR_jump_to_top_level_00144808;
          *piVar14 = 0;
          (*(code *)puVar2)(2);
        } while( true );
      }
      goto LAB_00049b38;
    }
    puVar9 = PTR_executing_command_builtin_00144c08;
    puVar2 = PTR_posixly_correct_0014458c;
    uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec);
    if (*(int *)PTR_posixly_correct_0014458c == 0) {
      uVar7 = *param_2;
      iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;
      uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08;
      goto LAB_000499c8;
    }
    if (param_1 == (code *)PTR_return_builtin_00144c28) {
      if (((param_3 & 0x800) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)) {
        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);
        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);
      }
      puVar3 = PTR_return_builtin_00144c28;
      puVar9 = PTR_executing_command_builtin_00144c08;
      uVar7 = *param_2;
      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;
      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;
      *(uint *)puVar9 = uVar5 | uVar4;
      uVar7 = (*(code *)puVar3)(uVar7);
      if (*(int *)puVar2 == 0) goto LAB_00049a90;
LAB_000499f4:
      if (*(int *)PTR_temporary_env_00144858 != 0) {
        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);
      }
    }
    else {
      uVar7 = *param_2;
      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;
      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;
      *(uint *)puVar9 = uVar5 | uVar4;
      uVar7 = (*param_1)(uVar7);
    }
  }
  else {
    iVar10 = 0;
    bVar1 = false;
LAB_00049928:
    if ((param_1 != (code *)puVar2) && (param_1 != (code *)PTR_eval_builtin_00144be8))
    goto LAB_00049808;
LAB_00049938:
    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||
       (param_1 == (code *)PTR_fc_builtin_00144bfc)) {
LAB_00049a2c:
      uVar11 = 0;
      if (param_4 != 0) goto LAB_0004995c;
LAB_00049a38:
      puVar12 = (undefined4 *)PTR_temporary_env_00144858;
      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);
      if (*puVar12 != 0) {
        push_scope(8);
        if (((param_3 & 0x800) == 0) && (uVar11 != 0)) {
          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;
        }
        else {
          puVar9 = (undefined *)0x0;
        }
        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9);
LAB_00049978:
        uVar11 = 1;
        *puVar12 = 0;
        goto joined_r0x00049978;
      }
      uVar11 = 1;
      piVar13 = (int *)PTR_evalnest_00144c38;
      piVar14 = (int *)PTR_sourcenest_00144c44;
      goto joined_r0x00049b04;
    }
    uVar11 = (uint)(param_1 != (code *)PTR_read_builtin_00144c00);
LAB_00049954:
    if (param_4 == 0) goto LAB_00049a38;
LAB_0004995c:
    puVar12 = (undefined4 *)PTR_temporary_env_00144858;
    uVar11 = param_4;
    if (*(int *)PTR_temporary_env_00144858 != 0) {
      push_scope(8);
      goto LAB_00049978;
    }
LAB_00049830:
    puVar9 = PTR_executing_command_builtin_00144c08;
    puVar2 = PTR_posixly_correct_0014458c;
    iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;
    uVar7 = *param_2;
    uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec) |
            *(uint *)PTR_executing_command_builtin_00144c08;
    if (*(int *)PTR_posixly_correct_0014458c == 0) {
LAB_000499c8:
      puVar9 = PTR_executing_command_builtin_00144c08;
      puVar2 = PTR_posixly_correct_0014458c;
      *(int *)PTR_executing_builtin_00144c04 = iVar6;
      *(uint *)puVar9 = uVar4;
      uVar7 = (*param_1)(uVar7);
      if (*(int *)puVar2 != 0) {
        if (param_4 != 0) goto LAB_00049880;
        if (param_1 == (code *)PTR_return_builtin_00144c28) goto LAB_000499f4;
        goto LAB_00049a90;
      }
    }
    else {
      *(int *)PTR_executing_builtin_00144c04 = iVar6;
      *(uint *)puVar9 = uVar4;
      uVar7 = (*param_1)();
      if (*(int *)puVar2 != 0) goto LAB_00049880;
    }
    if (param_4 != 0) goto LAB_00049880;
  }
LAB_00049a90:
  if (uVar11 != 0) {
    (*(code *)PTR_run_unwind_frame_00144c34)(PTR_LAB_00144578 + 0x6924);
  }
LAB_00049880:
  if (bVar1) {
    *(int *)PTR_builtin_ignoring_errexit_00144c0c = local_30;
    if (local_30 == 0) {
      uVar8 = *(undefined4 *)PTR_errexit_flag_00144c10;
    }
    else {
      uVar8 = 0;
    }
    *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = uVar8;
    if (iVar10 != 0) {
      (*(code *)PTR_set_error_trap_00144c14)(iVar10);
      (*(code *)PTR_free_001464fc)(iVar10);
    }
    (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6914);
  }
  return uVar7;
}


lui gp,0x10
addiu gp,gp,0x2db4
addu gp,gp,t9
addiu sp,sp,-0x48
sw gp,0x10(sp)
sw s8,0x40(sp)
or s8,a2,zero
sw s6,0x38(sp)
or s6,a1,zero
sw s5,0x34(sp)
or s5,a3,zero
sw s0,0x20(sp)
or s0,a0,zero
sw ra,0x44(sp)
sw s7,0x3c(sp)
sw s4,0x30(sp)
sw s3,0x2c(sp)
sw s2,0x28(sp)
bne a3,zero,0x0004991c
_sw s1,0x24(sp)
andi s1,a2,0x8
beq s1,zero,0x00049a20
_lw v0,-0x7958(gp)
beq a0,v0,0x00049bd4
_lw v0,-0x7954(gp)
beq a0,v0,0x00049bd8
_lw s7,-0x7950(gp)
beq a0,s7,0x00049bd8
_or s1,zero,zero
or s2,zero,zero
lw v0,-0x794c(gp)
beq s0,v0,0x00049938
_lw v0,-0x7948(gp)
beq s0,v0,0x00049a2c
_lw v0,-0x7944(gp)
beq s0,v0,0x00049a2c
_lw v0,-0x7940(gp)
beq s0,v0,0x00049954
_or s3,zero,zero
beq s5,zero,0x00049980
_nop
lw a2,-0x793c(gp)
lw a1,-0x7938(gp)
lw s4,-0x7fb4(gp)
lw v0,-0x7954(gp)
lw v1,0x0(a2)
lw t1,0x0(a1)
subu v0,s0,v0
lw t0,0x0(s4)
addiu v1,v1,0x1
lw a0,0x0(s6)
sltiu v0,v0,0x1
beq t0,zero,0x000499c8
_or v0,v0,t1
sw v1,0x0(a2)
or t9,s0,zero
jalr t9
_sw v0,0x0(a1)
lw v1,0x0(s4)
beq v1,zero,0x00049a88
_lw gp,0x10(sp)
beq s1,zero,0x000498f0
_lw ra,0x44(sp)
lw v1,-0x7934(gp)
lw a0,0x18(sp)
bne a0,zero,0x00049ab4
_sw a0,0x0(v1)
lw v1,-0x7930(gp)
lw a0,0x0(v1)
lw v1,-0x7f50(gp)
beq s2,zero,0x000498d4
_sw a0,0x0(v1)
lw t9,-0x792c(gp)
or a0,s2,zero
jalr t9
_sw v0,0x18(sp)
lw gp,0x10(sp)
lw t9,-0x6044(gp)
jalr t9
_or a0,s2,zero
lw gp,0x10(sp)
lw v0,0x18(sp)
lw a0,-0x7fc8(gp)
lw t9,-0x7928(gp)
sw v0,0x18(sp)
jalr t9
_addiu a0,a0,0x6914
lw v0,0x18(sp)
lw ra,0x44(sp)
lw s8,0x40(sp)
lw s7,0x3c(sp)
lw s6,0x38(sp)
lw s5,0x34(sp)
lw s4,0x30(sp)
lw s3,0x2c(sp)
lw s2,0x28(sp)
lw s1,0x24(sp)
lw s0,0x20(sp)
jr ra
_addiu sp,sp,0x48
lw s7,-0x7950(gp)
or s2,zero,zero
or s1,zero,zero
beq s0,s7,0x00049938
_lw v0,-0x7958(gp)
bne s0,v0,0x00049808
_lw v0,-0x794c(gp)
lw v0,-0x7948(gp)
beq s0,v0,0x00049a2c
_lw v0,-0x7944(gp)
beq s0,v0,0x00049a2c
_lw s3,-0x7940(gp)
subu s3,s0,s3
sltu s3,zero,s3
beq s5,zero,0x00049a38
_lw s4,-0x7ce8(gp)
lw a1,0x0(s4)
beq a1,zero,0x00049af8
_lw t9,-0x7924(gp)
bal 0x0005e030
_li a0,0x8
lw gp,0x10(sp)
li s3,0x1
bne s5,zero,0x00049830
_sw zero,0x0(s4)
lw v0,-0x7958(gp)
beq s0,v0,0x00049b10
_lw v0,-0x7920(gp)
beq s0,s7,0x00049c60
_lw v0,-0x791c(gp)
lw s4,-0x7fb4(gp)
lw v0,-0x7954(gp)
lw v1,0x0(s4)
subu v0,s0,v0
bne v1,zero,0x00049abc
_sltiu s7,v0,0x1
lw a2,-0x793c(gp)
lw a1,-0x7938(gp)
lw a0,0x0(s6)
lw v1,0x0(a2)
lw v0,0x0(a1)
addiu v1,v1,0x1
or v0,s7,v0
sw v1,0x0(a2)
or t9,s0,zero
jalr t9
_sw v0,0x0(a1)
lw v1,0x0(s4)
beq v1,zero,0x00049a88
_lw gp,0x10(sp)
bne s5,zero,0x00049880
_lw v1,-0x7918(gp)
bne s0,v1,0x00049a90
_nop
lw v1,-0x7ce8(gp)
lw v1,0x0(v1)
beq v1,zero,0x00049a90
_lw a0,-0x7fc8(gp)
lw t9,-0x7928(gp)
sw v0,0x1c(sp)
jalr t9
_addiu a0,a0,0x6990
lw gp,0x10(sp)
b 0x00049a90
_lw v0,0x1c(sp)
lw s7,-0x7950(gp)
b 0x00049928
_or s2,zero,zero
or s3,zero,zero
bne s5,zero,0x0004995c
_lw s4,-0x7ce8(gp)
lw a0,-0x7fc8(gp)
lw t9,-0x7914(gp)
jalr t9
_addiu a0,a0,0x6924
lw a1,0x0(s4)
beq a1,zero,0x00049b00
_lw gp,0x10(sp)
lw t9,-0x7924(gp)
bal 0x0005e030
_li a0,0x8
andi v0,s8,0x800
beq v0,zero,0x00049c50
_lw gp,0x10(sp)
or a1,zero,zero
lw t9,-0x79d8(gp)
lw a0,-0x7910(gp)
jalr t9
_li s3,0x1
b 0x00049978
_lw gp,0x10(sp)
bne s5,zero,0x00049880
_nop
beq s3,zero,0x00049880
_lw a0,-0x7fc8(gp)
lw t9,-0x790c(gp)
sw v0,0x1c(sp)
jalr t9
_addiu a0,a0,0x6924
lw gp,0x10(sp)
b 0x00049880
_lw v0,0x1c(sp)
b 0x000498a0
_or a0,zero,zero
lw v0,-0x7918(gp)
beq s0,v0,0x00049b54
_lw a2,-0x793c(gp)
or t9,s0,zero
lw a1,-0x7938(gp)
lw a0,0x0(s6)
lw v1,0x0(a2)
lw v0,0x0(a1)
addiu v1,v1,0x1
or v0,v0,s7
sw v1,0x0(a2)
jalr t9
_sw v0,0x0(a1)
b 0x00049a90
_lw gp,0x10(sp)
b 0x00049830
_or s3,s5,zero
lw v0,-0x7958(gp)
bne s0,v0,0x0004998c
_li s3,0x1
lw v0,-0x7920(gp)
lw v0,0x0(v0)
blez v0,0x00049b2c
_lw s7,-0x7908(gp)
lw v1,0x0(s7)
slt v0,v1,v0
beq v0,zero,0x00049d20
_lw a1,-0x7fc8(gp)
lw t9,-0x7904(gp)
li a1,0x4
lw a0,-0x7908(gp)
jalr t9
_nop
lw v0,0x0(s7)
lw gp,0x10(sp)
addiu v0,v0,0x1
b 0x00049994
_sw v0,0x0(s7)
andi s8,s8,0x800
bne s8,zero,0x00049b9c
_lw a1,-0x7938(gp)
lw v0,-0x7ce8(gp)
lw v0,0x0(v0)
beq v0,zero,0x00049b94
_lw a0,-0x7fc8(gp)
lw t9,-0x7914(gp)
jalr t9
_addiu a0,a0,0x6990
lw gp,0x10(sp)
lw t9,-0x79d8(gp)
lw a0,-0x7900(gp)
jalr t9
_or a1,zero,zero
lw gp,0x10(sp)
lw a2,-0x793c(gp)
lw a1,-0x7938(gp)
lw t9,-0x7918(gp)
lw a0,0x0(s6)
lw v1,0x0(a2)
lw v0,0x0(a1)
addiu v1,v1,0x1
or v0,v0,s7
sw v1,0x0(a2)
jalr t9
_sw v0,0x0(a1)
lw v1,0x0(s4)
bne v1,zero,0x000499f4
_lw gp,0x10(sp)
b 0x00049a90
_nop
lw s7,-0x7950(gp)
lw a0,-0x7fc8(gp)
lw t9,-0x7914(gp)
jalr t9
_addiu a0,a0,0x6914
lw gp,0x10(sp)
lw t9,-0x7904(gp)
lw a0,-0x7f50(gp)
jalr t9
_li a1,0x4
lw gp,0x10(sp)
lw t9,-0x7904(gp)
lw a0,-0x7934(gp)
jalr t9
_li a1,0x4
lw gp,0x10(sp)
lw t9,-0x7edc(gp)
jalr t9
_li a0,0x81
bne v0,zero,0x00049c8c
_lw gp,0x10(sp)
or s2,zero,zero
lw v0,-0x7934(gp)
li s1,0x1
lw v1,0x0(v0)
sw v1,0x18(sp)
lw v1,-0x7f50(gp)
sw zero,0x0(v1)
li v1,0x1
b 0x00049928
_sw v1,0x0(v0)
beq s3,zero,0x00049a6c
_lw a1,-0x7aac(gp)
b 0x00049a70
_addiu a1,a1,-0x7f6c
lw v0,0x0(v0)
blez v0,0x00049c7c
_lw s7,-0x78fc(gp)
lw v1,0x0(s7)
slt v0,v1,v0
beq v0,zero,0x00049d5c
_li a2,0x5
lw t9,-0x7904(gp)
li a1,0x4
b 0x00049b38
_lw a0,-0x78fc(gp)
lw t9,-0x7cc0(gp)
jalr t9
_li a0,0x81
bne v0,zero,0x00049c28
_lw gp,0x10(sp)
lw v0,-0x78f8(gp)
lw s1,0x204(v0)
beq s1,zero,0x00049c28
_lw t9,-0x61b0(gp)
jalr t9
_or a0,s1,zero
lw gp,0x10(sp)
lw t9,-0x7f90(gp)
jalr t9
_addiu a0,v0,0x1
or a1,s1,zero
lw gp,0x10(sp)
lw t9,-0x6128(gp)
jalr t9
_or a0,v0,zero
lw gp,0x10(sp)
or a1,v0,zero
lw t9,-0x79d8(gp)
lw a0,-0x79b8(gp)
jalr t9
_or s2,v0,zero
lw gp,0x10(sp)
lw t9,-0x79d8(gp)
lw a0,-0x792c(gp)
jalr t9
_or a1,s2,zero
lw gp,0x10(sp)
lw t9,-0x78f4(gp)
jalr t9
_li a0,0x81
b 0x00049c2c
_lw gp,0x10(sp)
li a2,0x5
lw t9,-0x60a8(gp)
or a0,zero,zero
jalr t9
_addiu a1,a1,0x6930
lw gp,0x10(sp)
or a0,v0,zero
lw t9,-0x7d44(gp)
bal 0x0005faf8
_lw a1,0x0(s7)
lw gp,0x10(sp)
lw t9,-0x7d38(gp)
li a0,0x2
jalr t9
_sw zero,0x0(s7)
lw a1,-0x7fc8(gp)
lw t9,-0x60a8(gp)
or a0,zero,zero
jalr t9
_addiu a1,a1,0x6960
lw gp,0x10(sp)
or a0,v0,zero
lw a2,0x0(s7)
lw v0,-0x7e18(gp)
lw t9,-0x7d44(gp)
bal 0x0005faf8
_lw a1,0x0(v0)
b 0x00049d4c
_lw gp,0x10(sp)
(translation_unit "undefined4 FUN_0004978c(code *param_1,undefined4 *param_2,uint param_3,uint param_4)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  uint uVar4;\n  uint uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  undefined *puVar9;\n  int iVar10;\n  uint uVar11;\n  undefined4 *puVar12;\n  int *piVar13;\n  int *piVar14;\n  int local_30;\n  \n  puVar2 = PTR_source_builtin_00144bf0;\n  if (param_4 == 0) {\n    if ((param_3 & 8) == 0) {\n      iVar10 = 0;\n      bVar1 = false;\n      goto LAB_00049928;\n    }\n    if (((param_1 == (code *)PTR_eval_builtin_00144be8) ||\n        (param_1 == (code *)PTR_command_builtin_00144bec)) ||\n       (bVar1 = false, param_1 == (code *)PTR_source_builtin_00144bf0)) {\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4);\n      iVar10 = (*(code *)PTR_signal_is_trapped_00144664)(0x81);\n      if (((iVar10 == 0) || (iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0))\n         || (iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar10 == 0)) {\n        iVar10 = 0;\n      }\n      else {\n        iVar6 = (*(code *)PTR_strlen_00146390)(iVar10);\n        uVar7 = (*(code *)PTR_xmalloc_001445b0)(iVar6 + 1);\n        iVar10 = (*(code *)PTR_strcpy_00146418)(uVar7,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar10);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }\n      puVar9 = PTR_builtin_ignoring_errexit_00144c0c;\n      bVar1 = true;\n      local_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c;\n      *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0;\n      *(undefined4 *)puVar9 = 1;\n      goto LAB_00049928;\n    }\n    iVar10 = 0;\nLAB_00049808:\n    if (param_1 == (code *)PTR_unset_builtin_00144bf4) goto LAB_00049938;\n    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) goto LAB_00049a2c;\n    uVar11 = 0;\n    if (param_1 == (code *)PTR_read_builtin_00144c00) goto LAB_00049954;\njoined_r0x00049978:\n    piVar13 = (int *)PTR_evalnest_00144c38;\n    piVar14 = (int *)PTR_sourcenest_00144c44;\n    if (param_4 != 0) goto LAB_00049830;\njoined_r0x00049b04:\n    PTR_evalnest_00144c38 = (undefined *)piVar13;\n    PTR_sourcenest_00144c44 = (undefined *)piVar14;\n    if (param_1 == (code *)PTR_eval_builtin_00144be8) {\n      if ((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar13)\n         ) {\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);\n        internal_error(uVar7,*piVar13);\n        piVar14 = piVar13;\n        goto LAB_00049d4c;\n      }\nLAB_00049b38:\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(piVar13,4);\n      *piVar13 = *piVar13 + 1;\n    }\n    else if (param_1 == (code *)puVar2) {\n      piVar13 = piVar14;\n      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar14)) {\n        do {\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }\n      goto LAB_00049b38;\n    }\n    puVar9 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec);\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\n      uVar7 = *param_2;\n      iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08;\n      goto LAB_000499c8;\n    }\n    if (param_1 == (code *)PTR_return_builtin_00144c28) {\n      if (((param_3 & 0x800) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)) {\n        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);\n      }\n      puVar3 = PTR_return_builtin_00144c28;\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*(code *)puVar3)(uVar7);\n      if (*(int *)puVar2 == 0) goto LAB_00049a90;\nLAB_000499f4:\n      if (*(int *)PTR_temporary_env_00144858 != 0) {\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }\n    }\n    else {\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*param_1)(uVar7);\n    }\n  }\n  else {\n    iVar10 = 0;\n    bVar1 = false;\nLAB_00049928:\n    if ((param_1 != (code *)puVar2) && (param_1 != (code *)PTR_eval_builtin_00144be8))\n    goto LAB_00049808;\nLAB_00049938:\n    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) {\nLAB_00049a2c:\n      uVar11 = 0;\n      if (param_4 != 0) goto LAB_0004995c;\nLAB_00049a38:\n      puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);\n      if (*puVar12 != 0) {\n        push_scope(8);\n        if (((param_3 & 0x800) == 0) && (uVar11 != 0)) {\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar9 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9);\nLAB_00049978:\n        uVar11 = 1;\n        *puVar12 = 0;\n        goto joined_r0x00049978;\n      }\n      uVar11 = 1;\n      piVar13 = (int *)PTR_evalnest_00144c38;\n      piVar14 = (int *)PTR_sourcenest_00144c44;\n      goto joined_r0x00049b04;\n    }\n    uVar11 = (uint)(param_1 != (code *)PTR_read_builtin_00144c00);\nLAB_00049954:\n    if (param_4 == 0) goto LAB_00049a38;\nLAB_0004995c:\n    puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n    uVar11 = param_4;\n    if (*(int *)PTR_temporary_env_00144858 != 0) {\n      push_scope(8);\n      goto LAB_00049978;\n    }\nLAB_00049830:\n    puVar9 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;\n    uVar7 = *param_2;\n    uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec) |\n            *(uint *)PTR_executing_command_builtin_00144c08;\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\nLAB_000499c8:\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      puVar2 = PTR_posixly_correct_0014458c;\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)(uVar7);\n      if (*(int *)puVar2 != 0) {\n        if (param_4 != 0) goto LAB_00049880;\n        if (param_1 == (code *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }\n    }\n    else {\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)();\n      if (*(int *)puVar2 != 0) goto LAB_00049880;\n    }\n    if (param_4 != 0) goto LAB_00049880;\n  }\nLAB_00049a90:\n  if (uVar11 != 0) {\n    (*(code *)PTR_run_unwind_frame_00144c34)(PTR_LAB_00144578 + 0x6924);\n  }\nLAB_00049880:\n  if (bVar1) {\n    *(int *)PTR_builtin_ignoring_errexit_00144c0c = local_30;\n    if (local_30 == 0) {\n      uVar8 = *(undefined4 *)PTR_errexit_flag_00144c10;\n    }\n    else {\n      uVar8 = 0;\n    }\n    *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = uVar8;\n    if (iVar10 != 0) {\n      (*(code *)PTR_set_error_trap_00144c14)(iVar10);\n      (*(code *)PTR_free_001464fc)(iVar10);\n    }\n    (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6914);\n  }\n  return uVar7;\n}\n\n" (function_definition "undefined4 FUN_0004978c(code *param_1,undefined4 *param_2,uint param_3,uint param_4)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  uint uVar4;\n  uint uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  undefined *puVar9;\n  int iVar10;\n  uint uVar11;\n  undefined4 *puVar12;\n  int *piVar13;\n  int *piVar14;\n  int local_30;\n  \n  puVar2 = PTR_source_builtin_00144bf0;\n  if (param_4 == 0) {\n    if ((param_3 & 8) == 0) {\n      iVar10 = 0;\n      bVar1 = false;\n      goto LAB_00049928;\n    }\n    if (((param_1 == (code *)PTR_eval_builtin_00144be8) ||\n        (param_1 == (code *)PTR_command_builtin_00144bec)) ||\n       (bVar1 = false, param_1 == (code *)PTR_source_builtin_00144bf0)) {\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4);\n      iVar10 = (*(code *)PTR_signal_is_trapped_00144664)(0x81);\n      if (((iVar10 == 0) || (iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0))\n         || (iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar10 == 0)) {\n        iVar10 = 0;\n      }\n      else {\n        iVar6 = (*(code *)PTR_strlen_00146390)(iVar10);\n        uVar7 = (*(code *)PTR_xmalloc_001445b0)(iVar6 + 1);\n        iVar10 = (*(code *)PTR_strcpy_00146418)(uVar7,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar10);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }\n      puVar9 = PTR_builtin_ignoring_errexit_00144c0c;\n      bVar1 = true;\n      local_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c;\n      *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0;\n      *(undefined4 *)puVar9 = 1;\n      goto LAB_00049928;\n    }\n    iVar10 = 0;\nLAB_00049808:\n    if (param_1 == (code *)PTR_unset_builtin_00144bf4) goto LAB_00049938;\n    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) goto LAB_00049a2c;\n    uVar11 = 0;\n    if (param_1 == (code *)PTR_read_builtin_00144c00) goto LAB_00049954;\njoined_r0x00049978:\n    piVar13 = (int *)PTR_evalnest_00144c38;\n    piVar14 = (int *)PTR_sourcenest_00144c44;\n    if (param_4 != 0) goto LAB_00049830;\njoined_r0x00049b04:\n    PTR_evalnest_00144c38 = (undefined *)piVar13;\n    PTR_sourcenest_00144c44 = (undefined *)piVar14;\n    if (param_1 == (code *)PTR_eval_builtin_00144be8) {\n      if ((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar13)\n         ) {\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);\n        internal_error(uVar7,*piVar13);\n        piVar14 = piVar13;\n        goto LAB_00049d4c;\n      }\nLAB_00049b38:\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(piVar13,4);\n      *piVar13 = *piVar13 + 1;\n    }\n    else if (param_1 == (code *)puVar2) {\n      piVar13 = piVar14;\n      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar14)) {\n        do {\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }\n      goto LAB_00049b38;\n    }\n    puVar9 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec);\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\n      uVar7 = *param_2;\n      iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08;\n      goto LAB_000499c8;\n    }\n    if (param_1 == (code *)PTR_return_builtin_00144c28) {\n      if (((param_3 & 0x800) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)) {\n        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);\n      }\n      puVar3 = PTR_return_builtin_00144c28;\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*(code *)puVar3)(uVar7);\n      if (*(int *)puVar2 == 0) goto LAB_00049a90;\nLAB_000499f4:\n      if (*(int *)PTR_temporary_env_00144858 != 0) {\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }\n    }\n    else {\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*param_1)(uVar7);\n    }\n  }\n  else {\n    iVar10 = 0;\n    bVar1 = false;\nLAB_00049928:\n    if ((param_1 != (code *)puVar2) && (param_1 != (code *)PTR_eval_builtin_00144be8))\n    goto LAB_00049808;\nLAB_00049938:\n    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) {\nLAB_00049a2c:\n      uVar11 = 0;\n      if (param_4 != 0) goto LAB_0004995c;\nLAB_00049a38:\n      puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);\n      if (*puVar12 != 0) {\n        push_scope(8);\n        if (((param_3 & 0x800) == 0) && (uVar11 != 0)) {\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar9 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9);\nLAB_00049978:\n        uVar11 = 1;\n        *puVar12 = 0;\n        goto joined_r0x00049978;\n      }\n      uVar11 = 1;\n      piVar13 = (int *)PTR_evalnest_00144c38;\n      piVar14 = (int *)PTR_sourcenest_00144c44;\n      goto joined_r0x00049b04;\n    }\n    uVar11 = (uint)(param_1 != (code *)PTR_read_builtin_00144c00);\nLAB_00049954:\n    if (param_4 == 0) goto LAB_00049a38;\nLAB_0004995c:\n    puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n    uVar11 = param_4;\n    if (*(int *)PTR_temporary_env_00144858 != 0) {\n      push_scope(8);\n      goto LAB_00049978;\n    }\nLAB_00049830:\n    puVar9 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;\n    uVar7 = *param_2;\n    uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec) |\n            *(uint *)PTR_executing_command_builtin_00144c08;\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\nLAB_000499c8:\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      puVar2 = PTR_posixly_correct_0014458c;\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)(uVar7);\n      if (*(int *)puVar2 != 0) {\n        if (param_4 != 0) goto LAB_00049880;\n        if (param_1 == (code *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }\n    }\n    else {\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)();\n      if (*(int *)puVar2 != 0) goto LAB_00049880;\n    }\n    if (param_4 != 0) goto LAB_00049880;\n  }\nLAB_00049a90:\n  if (uVar11 != 0) {\n    (*(code *)PTR_run_unwind_frame_00144c34)(PTR_LAB_00144578 + 0x6924);\n  }\nLAB_00049880:\n  if (bVar1) {\n    *(int *)PTR_builtin_ignoring_errexit_00144c0c = local_30;\n    if (local_30 == 0) {\n      uVar8 = *(undefined4 *)PTR_errexit_flag_00144c10;\n    }\n    else {\n      uVar8 = 0;\n    }\n    *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = uVar8;\n    if (iVar10 != 0) {\n      (*(code *)PTR_set_error_trap_00144c14)(iVar10);\n      (*(code *)PTR_free_001464fc)(iVar10);\n    }\n    (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6914);\n  }\n  return uVar7;\n}" type_identifier (function_declarator "FUN_0004978c(code *param_1,undefined4 *param_2,uint param_3,uint param_4)" identifier (parameter_list "(code *param_1,undefined4 *param_2,uint param_3,uint param_4)" ( (parameter_declaration "code *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "uint param_4" type_identifier identifier) ))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  uint uVar4;\n  uint uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  undefined *puVar9;\n  int iVar10;\n  uint uVar11;\n  undefined4 *puVar12;\n  int *piVar13;\n  int *piVar14;\n  int local_30;\n  \n  puVar2 = PTR_source_builtin_00144bf0;\n  if (param_4 == 0) {\n    if ((param_3 & 8) == 0) {\n      iVar10 = 0;\n      bVar1 = false;\n      goto LAB_00049928;\n    }\n    if (((param_1 == (code *)PTR_eval_builtin_00144be8) ||\n        (param_1 == (code *)PTR_command_builtin_00144bec)) ||\n       (bVar1 = false, param_1 == (code *)PTR_source_builtin_00144bf0)) {\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4);\n      iVar10 = (*(code *)PTR_signal_is_trapped_00144664)(0x81);\n      if (((iVar10 == 0) || (iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0))\n         || (iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar10 == 0)) {\n        iVar10 = 0;\n      }\n      else {\n        iVar6 = (*(code *)PTR_strlen_00146390)(iVar10);\n        uVar7 = (*(code *)PTR_xmalloc_001445b0)(iVar6 + 1);\n        iVar10 = (*(code *)PTR_strcpy_00146418)(uVar7,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar10);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }\n      puVar9 = PTR_builtin_ignoring_errexit_00144c0c;\n      bVar1 = true;\n      local_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c;\n      *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0;\n      *(undefined4 *)puVar9 = 1;\n      goto LAB_00049928;\n    }\n    iVar10 = 0;\nLAB_00049808:\n    if (param_1 == (code *)PTR_unset_builtin_00144bf4) goto LAB_00049938;\n    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) goto LAB_00049a2c;\n    uVar11 = 0;\n    if (param_1 == (code *)PTR_read_builtin_00144c00) goto LAB_00049954;\njoined_r0x00049978:\n    piVar13 = (int *)PTR_evalnest_00144c38;\n    piVar14 = (int *)PTR_sourcenest_00144c44;\n    if (param_4 != 0) goto LAB_00049830;\njoined_r0x00049b04:\n    PTR_evalnest_00144c38 = (undefined *)piVar13;\n    PTR_sourcenest_00144c44 = (undefined *)piVar14;\n    if (param_1 == (code *)PTR_eval_builtin_00144be8) {\n      if ((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar13)\n         ) {\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);\n        internal_error(uVar7,*piVar13);\n        piVar14 = piVar13;\n        goto LAB_00049d4c;\n      }\nLAB_00049b38:\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(piVar13,4);\n      *piVar13 = *piVar13 + 1;\n    }\n    else if (param_1 == (code *)puVar2) {\n      piVar13 = piVar14;\n      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar14)) {\n        do {\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }\n      goto LAB_00049b38;\n    }\n    puVar9 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec);\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\n      uVar7 = *param_2;\n      iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08;\n      goto LAB_000499c8;\n    }\n    if (param_1 == (code *)PTR_return_builtin_00144c28) {\n      if (((param_3 & 0x800) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)) {\n        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);\n      }\n      puVar3 = PTR_return_builtin_00144c28;\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*(code *)puVar3)(uVar7);\n      if (*(int *)puVar2 == 0) goto LAB_00049a90;\nLAB_000499f4:\n      if (*(int *)PTR_temporary_env_00144858 != 0) {\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }\n    }\n    else {\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*param_1)(uVar7);\n    }\n  }\n  else {\n    iVar10 = 0;\n    bVar1 = false;\nLAB_00049928:\n    if ((param_1 != (code *)puVar2) && (param_1 != (code *)PTR_eval_builtin_00144be8))\n    goto LAB_00049808;\nLAB_00049938:\n    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) {\nLAB_00049a2c:\n      uVar11 = 0;\n      if (param_4 != 0) goto LAB_0004995c;\nLAB_00049a38:\n      puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);\n      if (*puVar12 != 0) {\n        push_scope(8);\n        if (((param_3 & 0x800) == 0) && (uVar11 != 0)) {\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar9 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9);\nLAB_00049978:\n        uVar11 = 1;\n        *puVar12 = 0;\n        goto joined_r0x00049978;\n      }\n      uVar11 = 1;\n      piVar13 = (int *)PTR_evalnest_00144c38;\n      piVar14 = (int *)PTR_sourcenest_00144c44;\n      goto joined_r0x00049b04;\n    }\n    uVar11 = (uint)(param_1 != (code *)PTR_read_builtin_00144c00);\nLAB_00049954:\n    if (param_4 == 0) goto LAB_00049a38;\nLAB_0004995c:\n    puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n    uVar11 = param_4;\n    if (*(int *)PTR_temporary_env_00144858 != 0) {\n      push_scope(8);\n      goto LAB_00049978;\n    }\nLAB_00049830:\n    puVar9 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;\n    uVar7 = *param_2;\n    uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec) |\n            *(uint *)PTR_executing_command_builtin_00144c08;\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\nLAB_000499c8:\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      puVar2 = PTR_posixly_correct_0014458c;\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)(uVar7);\n      if (*(int *)puVar2 != 0) {\n        if (param_4 != 0) goto LAB_00049880;\n        if (param_1 == (code *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }\n    }\n    else {\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)();\n      if (*(int *)puVar2 != 0) goto LAB_00049880;\n    }\n    if (param_4 != 0) goto LAB_00049880;\n  }\nLAB_00049a90:\n  if (uVar11 != 0) {\n    (*(code *)PTR_run_unwind_frame_00144c34)(PTR_LAB_00144578 + 0x6924);\n  }\nLAB_00049880:\n  if (bVar1) {\n    *(int *)PTR_builtin_ignoring_errexit_00144c0c = local_30;\n    if (local_30 == 0) {\n      uVar8 = *(undefined4 *)PTR_errexit_flag_00144c10;\n    }\n    else {\n      uVar8 = 0;\n    }\n    *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = uVar8;\n    if (iVar10 != 0) {\n      (*(code *)PTR_set_error_trap_00144c14)(iVar10);\n      (*(code *)PTR_free_001464fc)(iVar10);\n    }\n    (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6914);\n  }\n  return uVar7;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "undefined4 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "int local_30;" primitive_type identifier ;) (expression_statement "puVar2 = PTR_source_builtin_00144bf0;" (assignment_expression "puVar2 = PTR_source_builtin_00144bf0" identifier = identifier) ;) (if_statement "if (param_4 == 0) {\n    if ((param_3 & 8) == 0) {\n      iVar10 = 0;\n      bVar1 = false;\n      goto LAB_00049928;\n    }\n    if (((param_1 == (code *)PTR_eval_builtin_00144be8) ||\n        (param_1 == (code *)PTR_command_builtin_00144bec)) ||\n       (bVar1 = false, param_1 == (code *)PTR_source_builtin_00144bf0)) {\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4);\n      iVar10 = (*(code *)PTR_signal_is_trapped_00144664)(0x81);\n      if (((iVar10 == 0) || (iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0))\n         || (iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar10 == 0)) {\n        iVar10 = 0;\n      }\n      else {\n        iVar6 = (*(code *)PTR_strlen_00146390)(iVar10);\n        uVar7 = (*(code *)PTR_xmalloc_001445b0)(iVar6 + 1);\n        iVar10 = (*(code *)PTR_strcpy_00146418)(uVar7,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar10);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }\n      puVar9 = PTR_builtin_ignoring_errexit_00144c0c;\n      bVar1 = true;\n      local_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c;\n      *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0;\n      *(undefined4 *)puVar9 = 1;\n      goto LAB_00049928;\n    }\n    iVar10 = 0;\nLAB_00049808:\n    if (param_1 == (code *)PTR_unset_builtin_00144bf4) goto LAB_00049938;\n    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) goto LAB_00049a2c;\n    uVar11 = 0;\n    if (param_1 == (code *)PTR_read_builtin_00144c00) goto LAB_00049954;\njoined_r0x00049978:\n    piVar13 = (int *)PTR_evalnest_00144c38;\n    piVar14 = (int *)PTR_sourcenest_00144c44;\n    if (param_4 != 0) goto LAB_00049830;\njoined_r0x00049b04:\n    PTR_evalnest_00144c38 = (undefined *)piVar13;\n    PTR_sourcenest_00144c44 = (undefined *)piVar14;\n    if (param_1 == (code *)PTR_eval_builtin_00144be8) {\n      if ((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar13)\n         ) {\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);\n        internal_error(uVar7,*piVar13);\n        piVar14 = piVar13;\n        goto LAB_00049d4c;\n      }\nLAB_00049b38:\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(piVar13,4);\n      *piVar13 = *piVar13 + 1;\n    }\n    else if (param_1 == (code *)puVar2) {\n      piVar13 = piVar14;\n      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar14)) {\n        do {\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }\n      goto LAB_00049b38;\n    }\n    puVar9 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec);\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\n      uVar7 = *param_2;\n      iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08;\n      goto LAB_000499c8;\n    }\n    if (param_1 == (code *)PTR_return_builtin_00144c28) {\n      if (((param_3 & 0x800) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)) {\n        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);\n      }\n      puVar3 = PTR_return_builtin_00144c28;\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*(code *)puVar3)(uVar7);\n      if (*(int *)puVar2 == 0) goto LAB_00049a90;\nLAB_000499f4:\n      if (*(int *)PTR_temporary_env_00144858 != 0) {\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }\n    }\n    else {\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*param_1)(uVar7);\n    }\n  }\n  else {\n    iVar10 = 0;\n    bVar1 = false;\nLAB_00049928:\n    if ((param_1 != (code *)puVar2) && (param_1 != (code *)PTR_eval_builtin_00144be8))\n    goto LAB_00049808;\nLAB_00049938:\n    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) {\nLAB_00049a2c:\n      uVar11 = 0;\n      if (param_4 != 0) goto LAB_0004995c;\nLAB_00049a38:\n      puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);\n      if (*puVar12 != 0) {\n        push_scope(8);\n        if (((param_3 & 0x800) == 0) && (uVar11 != 0)) {\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar9 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9);\nLAB_00049978:\n        uVar11 = 1;\n        *puVar12 = 0;\n        goto joined_r0x00049978;\n      }\n      uVar11 = 1;\n      piVar13 = (int *)PTR_evalnest_00144c38;\n      piVar14 = (int *)PTR_sourcenest_00144c44;\n      goto joined_r0x00049b04;\n    }\n    uVar11 = (uint)(param_1 != (code *)PTR_read_builtin_00144c00);\nLAB_00049954:\n    if (param_4 == 0) goto LAB_00049a38;\nLAB_0004995c:\n    puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n    uVar11 = param_4;\n    if (*(int *)PTR_temporary_env_00144858 != 0) {\n      push_scope(8);\n      goto LAB_00049978;\n    }\nLAB_00049830:\n    puVar9 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;\n    uVar7 = *param_2;\n    uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec) |\n            *(uint *)PTR_executing_command_builtin_00144c08;\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\nLAB_000499c8:\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      puVar2 = PTR_posixly_correct_0014458c;\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)(uVar7);\n      if (*(int *)puVar2 != 0) {\n        if (param_4 != 0) goto LAB_00049880;\n        if (param_1 == (code *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }\n    }\n    else {\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)();\n      if (*(int *)puVar2 != 0) goto LAB_00049880;\n    }\n    if (param_4 != 0) goto LAB_00049880;\n  }" if (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) (compound_statement "{\n    if ((param_3 & 8) == 0) {\n      iVar10 = 0;\n      bVar1 = false;\n      goto LAB_00049928;\n    }\n    if (((param_1 == (code *)PTR_eval_builtin_00144be8) ||\n        (param_1 == (code *)PTR_command_builtin_00144bec)) ||\n       (bVar1 = false, param_1 == (code *)PTR_source_builtin_00144bf0)) {\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4);\n      iVar10 = (*(code *)PTR_signal_is_trapped_00144664)(0x81);\n      if (((iVar10 == 0) || (iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0))\n         || (iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar10 == 0)) {\n        iVar10 = 0;\n      }\n      else {\n        iVar6 = (*(code *)PTR_strlen_00146390)(iVar10);\n        uVar7 = (*(code *)PTR_xmalloc_001445b0)(iVar6 + 1);\n        iVar10 = (*(code *)PTR_strcpy_00146418)(uVar7,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar10);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }\n      puVar9 = PTR_builtin_ignoring_errexit_00144c0c;\n      bVar1 = true;\n      local_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c;\n      *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0;\n      *(undefined4 *)puVar9 = 1;\n      goto LAB_00049928;\n    }\n    iVar10 = 0;\nLAB_00049808:\n    if (param_1 == (code *)PTR_unset_builtin_00144bf4) goto LAB_00049938;\n    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) goto LAB_00049a2c;\n    uVar11 = 0;\n    if (param_1 == (code *)PTR_read_builtin_00144c00) goto LAB_00049954;\njoined_r0x00049978:\n    piVar13 = (int *)PTR_evalnest_00144c38;\n    piVar14 = (int *)PTR_sourcenest_00144c44;\n    if (param_4 != 0) goto LAB_00049830;\njoined_r0x00049b04:\n    PTR_evalnest_00144c38 = (undefined *)piVar13;\n    PTR_sourcenest_00144c44 = (undefined *)piVar14;\n    if (param_1 == (code *)PTR_eval_builtin_00144be8) {\n      if ((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar13)\n         ) {\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);\n        internal_error(uVar7,*piVar13);\n        piVar14 = piVar13;\n        goto LAB_00049d4c;\n      }\nLAB_00049b38:\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(piVar13,4);\n      *piVar13 = *piVar13 + 1;\n    }\n    else if (param_1 == (code *)puVar2) {\n      piVar13 = piVar14;\n      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar14)) {\n        do {\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }\n      goto LAB_00049b38;\n    }\n    puVar9 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec);\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\n      uVar7 = *param_2;\n      iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08;\n      goto LAB_000499c8;\n    }\n    if (param_1 == (code *)PTR_return_builtin_00144c28) {\n      if (((param_3 & 0x800) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)) {\n        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);\n      }\n      puVar3 = PTR_return_builtin_00144c28;\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*(code *)puVar3)(uVar7);\n      if (*(int *)puVar2 == 0) goto LAB_00049a90;\nLAB_000499f4:\n      if (*(int *)PTR_temporary_env_00144858 != 0) {\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }\n    }\n    else {\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*param_1)(uVar7);\n    }\n  }" { (if_statement "if ((param_3 & 8) == 0) {\n      iVar10 = 0;\n      bVar1 = false;\n      goto LAB_00049928;\n    }" if (parenthesized_expression "((param_3 & 8) == 0)" ( (binary_expression "(param_3 & 8) == 0" (parenthesized_expression "(param_3 & 8)" ( (binary_expression "param_3 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      iVar10 = 0;\n      bVar1 = false;\n      goto LAB_00049928;\n    }" { (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (goto_statement "goto LAB_00049928;" goto statement_identifier ;) })) (if_statement "if (((param_1 == (code *)PTR_eval_builtin_00144be8) ||\n        (param_1 == (code *)PTR_command_builtin_00144bec)) ||\n       (bVar1 = false, param_1 == (code *)PTR_source_builtin_00144bf0)) {\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4);\n      iVar10 = (*(code *)PTR_signal_is_trapped_00144664)(0x81);\n      if (((iVar10 == 0) || (iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0))\n         || (iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar10 == 0)) {\n        iVar10 = 0;\n      }\n      else {\n        iVar6 = (*(code *)PTR_strlen_00146390)(iVar10);\n        uVar7 = (*(code *)PTR_xmalloc_001445b0)(iVar6 + 1);\n        iVar10 = (*(code *)PTR_strcpy_00146418)(uVar7,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar10);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }\n      puVar9 = PTR_builtin_ignoring_errexit_00144c0c;\n      bVar1 = true;\n      local_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c;\n      *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0;\n      *(undefined4 *)puVar9 = 1;\n      goto LAB_00049928;\n    }" if (parenthesized_expression "(((param_1 == (code *)PTR_eval_builtin_00144be8) ||\n        (param_1 == (code *)PTR_command_builtin_00144bec)) ||\n       (bVar1 = false, param_1 == (code *)PTR_source_builtin_00144bf0))" ( (binary_expression "((param_1 == (code *)PTR_eval_builtin_00144be8) ||\n        (param_1 == (code *)PTR_command_builtin_00144bec)) ||\n       (bVar1 = false, param_1 == (code *)PTR_source_builtin_00144bf0)" (parenthesized_expression "((param_1 == (code *)PTR_eval_builtin_00144be8) ||\n        (param_1 == (code *)PTR_command_builtin_00144bec))" ( (binary_expression "(param_1 == (code *)PTR_eval_builtin_00144be8) ||\n        (param_1 == (code *)PTR_command_builtin_00144bec)" (parenthesized_expression "(param_1 == (code *)PTR_eval_builtin_00144be8)" ( (binary_expression "param_1 == (code *)PTR_eval_builtin_00144be8" identifier == (cast_expression "(code *)PTR_eval_builtin_00144be8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) || (parenthesized_expression "(param_1 == (code *)PTR_command_builtin_00144bec)" ( (binary_expression "param_1 == (code *)PTR_command_builtin_00144bec" identifier == (cast_expression "(code *)PTR_command_builtin_00144bec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) )) || (parenthesized_expression "(bVar1 = false, param_1 == (code *)PTR_source_builtin_00144bf0)" ( (comma_expression "bVar1 = false, param_1 == (code *)PTR_source_builtin_00144bf0" (assignment_expression "bVar1 = false" identifier = false) , (binary_expression "param_1 == (code *)PTR_source_builtin_00144bf0" identifier == (cast_expression "(code *)PTR_source_builtin_00144bf0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ))) )) (compound_statement "{\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4);\n      iVar10 = (*(code *)PTR_signal_is_trapped_00144664)(0x81);\n      if (((iVar10 == 0) || (iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0))\n         || (iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar10 == 0)) {\n        iVar10 = 0;\n      }\n      else {\n        iVar6 = (*(code *)PTR_strlen_00146390)(iVar10);\n        uVar7 = (*(code *)PTR_xmalloc_001445b0)(iVar6 + 1);\n        iVar10 = (*(code *)PTR_strcpy_00146418)(uVar7,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar10);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }\n      puVar9 = PTR_builtin_ignoring_errexit_00144c0c;\n      bVar1 = true;\n      local_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c;\n      *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0;\n      *(undefined4 *)puVar9 = 1;\n      goto LAB_00049928;\n    }" { (expression_statement "(*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914);" (call_expression "(*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914)" (parenthesized_expression "(*(code *)PTR_begin_unwind_frame_00144c2c)" ( (pointer_expression "*(code *)PTR_begin_unwind_frame_00144c2c" * (cast_expression "(code *)PTR_begin_unwind_frame_00144c2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_00144578 + 0x6914)" ( (binary_expression "PTR_LAB_00144578 + 0x6914" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4);" (call_expression "(*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4)" (parenthesized_expression "(*(code *)PTR_unwind_protect_mem_00144c3c)" ( (pointer_expression "*(code *)PTR_unwind_protect_mem_00144c3c" * (cast_expression "(code *)PTR_unwind_protect_mem_00144c3c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_exit_immediately_on_error_001445f0,4)" ( identifier , number_literal ))) ;) (expression_statement "(*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4);" (call_expression "(*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4)" (parenthesized_expression "(*(code *)PTR_unwind_protect_mem_00144c3c)" ( (pointer_expression "*(code *)PTR_unwind_protect_mem_00144c3c" * (cast_expression "(code *)PTR_unwind_protect_mem_00144c3c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_builtin_ignoring_errexit_00144c0c,4)" ( identifier , number_literal ))) ;) (expression_statement "iVar10 = (*(code *)PTR_signal_is_trapped_00144664)(0x81);" (assignment_expression "iVar10 = (*(code *)PTR_signal_is_trapped_00144664)(0x81)" identifier = (call_expression "(*(code *)PTR_signal_is_trapped_00144664)(0x81)" (parenthesized_expression "(*(code *)PTR_signal_is_trapped_00144664)" ( (pointer_expression "*(code *)PTR_signal_is_trapped_00144664" * (cast_expression "(code *)PTR_signal_is_trapped_00144664" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x81)" ( number_literal )))) ;) (if_statement "if (((iVar10 == 0) || (iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0))\n         || (iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar10 == 0)) {\n        iVar10 = 0;\n      }\n      else {\n        iVar6 = (*(code *)PTR_strlen_00146390)(iVar10);\n        uVar7 = (*(code *)PTR_xmalloc_001445b0)(iVar6 + 1);\n        iVar10 = (*(code *)PTR_strcpy_00146418)(uVar7,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar10);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }" if (parenthesized_expression "(((iVar10 == 0) || (iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0))\n         || (iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar10 == 0))" ( (binary_expression "((iVar10 == 0) || (iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0))\n         || (iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar10 == 0)" (parenthesized_expression "((iVar10 == 0) || (iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0))" ( (binary_expression "(iVar10 == 0) || (iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0)" (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0)" ( (comma_expression "iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0" (assignment_expression "iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81)" identifier = (call_expression "(*(code *)PTR_signal_is_ignored_00144880)(0x81)" (parenthesized_expression "(*(code *)PTR_signal_is_ignored_00144880)" ( (pointer_expression "*(code *)PTR_signal_is_ignored_00144880" * (cast_expression "(code *)PTR_signal_is_ignored_00144880" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x81)" ( number_literal )))) , (binary_expression "iVar10 != 0" identifier != number_literal)) ))) )) || (parenthesized_expression "(iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar10 == 0)" ( (comma_expression "iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar10 == 0" (assignment_expression "iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204)" identifier = (pointer_expression "*(int *)(PTR_trap_list_00144c48 + 0x204)" * (cast_expression "(int *)(PTR_trap_list_00144c48 + 0x204)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_trap_list_00144c48 + 0x204)" ( (binary_expression "PTR_trap_list_00144c48 + 0x204" identifier + number_literal) ))))) , (binary_expression "iVar10 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        iVar10 = 0;\n      }" { (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        iVar6 = (*(code *)PTR_strlen_00146390)(iVar10);\n        uVar7 = (*(code *)PTR_xmalloc_001445b0)(iVar6 + 1);\n        iVar10 = (*(code *)PTR_strcpy_00146418)(uVar7,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar10);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }" else (compound_statement "{\n        iVar6 = (*(code *)PTR_strlen_00146390)(iVar10);\n        uVar7 = (*(code *)PTR_xmalloc_001445b0)(iVar6 + 1);\n        iVar10 = (*(code *)PTR_strcpy_00146418)(uVar7,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar10);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }" { (expression_statement "iVar6 = (*(code *)PTR_strlen_00146390)(iVar10);" (assignment_expression "iVar6 = (*(code *)PTR_strlen_00146390)(iVar10)" identifier = (call_expression "(*(code *)PTR_strlen_00146390)(iVar10)" (parenthesized_expression "(*(code *)PTR_strlen_00146390)" ( (pointer_expression "*(code *)PTR_strlen_00146390" * (cast_expression "(code *)PTR_strlen_00146390" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar10)" ( identifier )))) ;) (expression_statement "uVar7 = (*(code *)PTR_xmalloc_001445b0)(iVar6 + 1);" (assignment_expression "uVar7 = (*(code *)PTR_xmalloc_001445b0)(iVar6 + 1)" identifier = (call_expression "(*(code *)PTR_xmalloc_001445b0)(iVar6 + 1)" (parenthesized_expression "(*(code *)PTR_xmalloc_001445b0)" ( (pointer_expression "*(code *)PTR_xmalloc_001445b0" * (cast_expression "(code *)PTR_xmalloc_001445b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6 + 1)" ( (binary_expression "iVar6 + 1" identifier + number_literal) )))) ;) (expression_statement "iVar10 = (*(code *)PTR_strcpy_00146418)(uVar7,iVar10);" (assignment_expression "iVar10 = (*(code *)PTR_strcpy_00146418)(uVar7,iVar10)" identifier = (call_expression "(*(code *)PTR_strcpy_00146418)(uVar7,iVar10)" (parenthesized_expression "(*(code *)PTR_strcpy_00146418)" ( (pointer_expression "*(code *)PTR_strcpy_00146418" * (cast_expression "(code *)PTR_strcpy_00146418" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar7,iVar10)" ( identifier , identifier )))) ;) (expression_statement "(*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar10);" (call_expression "(*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar10)" (parenthesized_expression "(*(code *)PTR_add_unwind_protect_00144b68)" ( (pointer_expression "*(code *)PTR_add_unwind_protect_00144b68" * (cast_expression "(code *)PTR_add_unwind_protect_00144b68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_xfree_00144b88,iVar10)" ( identifier , identifier ))) ;) (expression_statement "(*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar10);" (call_expression "(*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar10)" (parenthesized_expression "(*(code *)PTR_add_unwind_protect_00144b68)" ( (pointer_expression "*(code *)PTR_add_unwind_protect_00144b68" * (cast_expression "(code *)PTR_add_unwind_protect_00144b68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_set_error_trap_00144c14,iVar10)" ( identifier , identifier ))) ;) (expression_statement "(*(code *)PTR_restore_default_signal_00144c4c)(0x81);" (call_expression "(*(code *)PTR_restore_default_signal_00144c4c)(0x81)" (parenthesized_expression "(*(code *)PTR_restore_default_signal_00144c4c)" ( (pointer_expression "*(code *)PTR_restore_default_signal_00144c4c" * (cast_expression "(code *)PTR_restore_default_signal_00144c4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x81)" ( number_literal ))) ;) }))) (expression_statement "puVar9 = PTR_builtin_ignoring_errexit_00144c0c;" (assignment_expression "puVar9 = PTR_builtin_ignoring_errexit_00144c0c" identifier = identifier) ;) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (expression_statement "local_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c;" (assignment_expression "local_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c" identifier = (pointer_expression "*(int *)PTR_builtin_ignoring_errexit_00144c0c" * (cast_expression "(int *)PTR_builtin_ignoring_errexit_00144c0c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0;" (assignment_expression "*(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0" (pointer_expression "*(undefined4 *)PTR_exit_immediately_on_error_001445f0" * (cast_expression "(undefined4 *)PTR_exit_immediately_on_error_001445f0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "*(undefined4 *)puVar9 = 1;" (assignment_expression "*(undefined4 *)puVar9 = 1" (pointer_expression "*(undefined4 *)puVar9" * (cast_expression "(undefined4 *)puVar9" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (goto_statement "goto LAB_00049928;" goto statement_identifier ;) })) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00049808:\n    if (param_1 == (code *)PTR_unset_builtin_00144bf4) goto LAB_00049938;" statement_identifier : (if_statement "if (param_1 == (code *)PTR_unset_builtin_00144bf4) goto LAB_00049938;" if (parenthesized_expression "(param_1 == (code *)PTR_unset_builtin_00144bf4)" ( (binary_expression "param_1 == (code *)PTR_unset_builtin_00144bf4" identifier == (cast_expression "(code *)PTR_unset_builtin_00144bf4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (goto_statement "goto LAB_00049938;" goto statement_identifier ;))) (if_statement "if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) goto LAB_00049a2c;" if (parenthesized_expression "((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc))" ( (binary_expression "(param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)" (parenthesized_expression "(param_1 == (code *)PTR_mapfile_builtin_00144bf8)" ( (binary_expression "param_1 == (code *)PTR_mapfile_builtin_00144bf8" identifier == (cast_expression "(code *)PTR_mapfile_builtin_00144bf8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) || (parenthesized_expression "(param_1 == (code *)PTR_fc_builtin_00144bfc)" ( (binary_expression "param_1 == (code *)PTR_fc_builtin_00144bfc" identifier == (cast_expression "(code *)PTR_fc_builtin_00144bfc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) )) (goto_statement "goto LAB_00049a2c;" goto statement_identifier ;)) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (if_statement "if (param_1 == (code *)PTR_read_builtin_00144c00) goto LAB_00049954;" if (parenthesized_expression "(param_1 == (code *)PTR_read_builtin_00144c00)" ( (binary_expression "param_1 == (code *)PTR_read_builtin_00144c00" identifier == (cast_expression "(code *)PTR_read_builtin_00144c00" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (goto_statement "goto LAB_00049954;" goto statement_identifier ;)) (labeled_statement "joined_r0x00049978:\n    piVar13 = (int *)PTR_evalnest_00144c38;" statement_identifier : (expression_statement "piVar13 = (int *)PTR_evalnest_00144c38;" (assignment_expression "piVar13 = (int *)PTR_evalnest_00144c38" identifier = (cast_expression "(int *)PTR_evalnest_00144c38" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "piVar14 = (int *)PTR_sourcenest_00144c44;" (assignment_expression "piVar14 = (int *)PTR_sourcenest_00144c44" identifier = (cast_expression "(int *)PTR_sourcenest_00144c44" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (param_4 != 0) goto LAB_00049830;" if (parenthesized_expression "(param_4 != 0)" ( (binary_expression "param_4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00049830;" goto statement_identifier ;)) (labeled_statement "joined_r0x00049b04:\n    PTR_evalnest_00144c38 = (undefined *)piVar13;" statement_identifier : (expression_statement "PTR_evalnest_00144c38 = (undefined *)piVar13;" (assignment_expression "PTR_evalnest_00144c38 = (undefined *)piVar13" identifier = (cast_expression "(undefined *)piVar13" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "PTR_sourcenest_00144c44 = (undefined *)piVar14;" (assignment_expression "PTR_sourcenest_00144c44 = (undefined *)piVar14" identifier = (cast_expression "(undefined *)piVar14" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (param_1 == (code *)PTR_eval_builtin_00144be8) {\n      if ((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar13)\n         ) {\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);\n        internal_error(uVar7,*piVar13);\n        piVar14 = piVar13;\n        goto LAB_00049d4c;\n      }\nLAB_00049b38:\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(piVar13,4);\n      *piVar13 = *piVar13 + 1;\n    }\n    else if (param_1 == (code *)puVar2) {\n      piVar13 = piVar14;\n      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar14)) {\n        do {\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }\n      goto LAB_00049b38;\n    }" if (parenthesized_expression "(param_1 == (code *)PTR_eval_builtin_00144be8)" ( (binary_expression "param_1 == (code *)PTR_eval_builtin_00144be8" identifier == (cast_expression "(code *)PTR_eval_builtin_00144be8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n      if ((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar13)\n         ) {\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);\n        internal_error(uVar7,*piVar13);\n        piVar14 = piVar13;\n        goto LAB_00049d4c;\n      }\nLAB_00049b38:\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(piVar13,4);\n      *piVar13 = *piVar13 + 1;\n    }" { (if_statement "if ((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar13)\n         ) {\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);\n        internal_error(uVar7,*piVar13);\n        piVar14 = piVar13;\n        goto LAB_00049d4c;\n      }" if (parenthesized_expression "((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar13)\n         )" ( (binary_expression "(0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar13)" (parenthesized_expression "(0 < *(int *)PTR_evalnest_max_00144c20)" ( (binary_expression "0 < *(int *)PTR_evalnest_max_00144c20" number_literal < (pointer_expression "*(int *)PTR_evalnest_max_00144c20" * (cast_expression "(int *)PTR_evalnest_max_00144c20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) && (parenthesized_expression "(*(int *)PTR_evalnest_max_00144c20 <= *piVar13)" ( (binary_expression "*(int *)PTR_evalnest_max_00144c20 <= *piVar13" (pointer_expression "*(int *)PTR_evalnest_max_00144c20" * (cast_expression "(int *)PTR_evalnest_max_00144c20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) <= (pointer_expression "*piVar13" * identifier)) ))) )) (compound_statement "{\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);\n        internal_error(uVar7,*piVar13);\n        piVar14 = piVar13;\n        goto LAB_00049d4c;\n      }" { (expression_statement "uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);" (assignment_expression "uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_00146498)" ( (pointer_expression "*(code *)PTR_dcgettext_00146498" * (cast_expression "(code *)PTR_dcgettext_00146498" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_00144578 + 0x6930,5)" ( number_literal , (binary_expression "PTR_LAB_00144578 + 0x6930" identifier + number_literal) , number_literal )))) ;) (expression_statement "internal_error(uVar7,*piVar13);" (call_expression "internal_error(uVar7,*piVar13)" identifier (argument_list "(uVar7,*piVar13)" ( identifier , (pointer_expression "*piVar13" * identifier) ))) ;) (expression_statement "piVar14 = piVar13;" (assignment_expression "piVar14 = piVar13" identifier = identifier) ;) (goto_statement "goto LAB_00049d4c;" goto statement_identifier ;) })) (labeled_statement "LAB_00049b38:\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(piVar13,4);" statement_identifier : (expression_statement "(*(code *)PTR_unwind_protect_mem_00144c3c)(piVar13,4);" (call_expression "(*(code *)PTR_unwind_protect_mem_00144c3c)(piVar13,4)" (parenthesized_expression "(*(code *)PTR_unwind_protect_mem_00144c3c)" ( (pointer_expression "*(code *)PTR_unwind_protect_mem_00144c3c" * (cast_expression "(code *)PTR_unwind_protect_mem_00144c3c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar13,4)" ( identifier , number_literal ))) ;)) (expression_statement "*piVar13 = *piVar13 + 1;" (assignment_expression "*piVar13 = *piVar13 + 1" (pointer_expression "*piVar13" * identifier) = (binary_expression "*piVar13 + 1" (pointer_expression "*piVar13" * identifier) + number_literal)) ;) }) (else_clause "else if (param_1 == (code *)puVar2) {\n      piVar13 = piVar14;\n      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar14)) {\n        do {\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }\n      goto LAB_00049b38;\n    }" else (if_statement "if (param_1 == (code *)puVar2) {\n      piVar13 = piVar14;\n      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar14)) {\n        do {\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }\n      goto LAB_00049b38;\n    }" if (parenthesized_expression "(param_1 == (code *)puVar2)" ( (binary_expression "param_1 == (code *)puVar2" identifier == (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n      piVar13 = piVar14;\n      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar14)) {\n        do {\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }\n      goto LAB_00049b38;\n    }" { (expression_statement "piVar13 = piVar14;" (assignment_expression "piVar13 = piVar14" identifier = identifier) ;) (if_statement "if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar14)) {\n        do {\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }" if (parenthesized_expression "((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar14))" ( (binary_expression "(0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar14)" (parenthesized_expression "(0 < *(int *)PTR_sourcenest_max_00144c24)" ( (binary_expression "0 < *(int *)PTR_sourcenest_max_00144c24" number_literal < (pointer_expression "*(int *)PTR_sourcenest_max_00144c24" * (cast_expression "(int *)PTR_sourcenest_max_00144c24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) && (parenthesized_expression "(*(int *)PTR_sourcenest_max_00144c24 <= *piVar14)" ( (binary_expression "*(int *)PTR_sourcenest_max_00144c24 <= *piVar14" (pointer_expression "*(int *)PTR_sourcenest_max_00144c24" * (cast_expression "(int *)PTR_sourcenest_max_00144c24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) <= (pointer_expression "*piVar14" * identifier)) ))) )) (compound_statement "{\n        do {\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }" { (do_statement "do {\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );" do (compound_statement "{\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        }" { (expression_statement "uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);" (assignment_expression "uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960)" identifier = (call_expression "(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960)" (parenthesized_expression "(*(code *)PTR_dcgettext_00146498)" ( (pointer_expression "*(code *)PTR_dcgettext_00146498" * (cast_expression "(code *)PTR_dcgettext_00146498" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_00144578 + 0x6960)" ( number_literal , (binary_expression "PTR_LAB_00144578 + 0x6960" identifier + number_literal) )))) ;) (expression_statement "internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);" (call_expression "internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14)" identifier (argument_list "(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14)" ( identifier , (pointer_expression "*(undefined4 *)PTR_this_command_name_00144728" * (cast_expression "(undefined4 *)PTR_this_command_name_00144728" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (pointer_expression "*piVar14" * identifier) ))) ;) (labeled_statement "LAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;" statement_identifier : (expression_statement "puVar2 = PTR_jump_to_top_level_00144808;" (assignment_expression "puVar2 = PTR_jump_to_top_level_00144808" identifier = identifier) ;)) (expression_statement "*piVar14 = 0;" (assignment_expression "*piVar14 = 0" (pointer_expression "*piVar14" * identifier) = number_literal) ;) (expression_statement "(*(code *)puVar2)(2);" (call_expression "(*(code *)puVar2)(2)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(2)" ( number_literal ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (goto_statement "goto LAB_00049b38;" goto statement_identifier ;) })))) (expression_statement "puVar9 = PTR_executing_command_builtin_00144c08;" (assignment_expression "puVar9 = PTR_executing_command_builtin_00144c08" identifier = identifier) ;) (expression_statement "puVar2 = PTR_posixly_correct_0014458c;" (assignment_expression "puVar2 = PTR_posixly_correct_0014458c" identifier = identifier) ;) (expression_statement "uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec);" (assignment_expression "uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec)" identifier = (call_expression "(uint)(param_1 == (code *)PTR_command_builtin_00144bec)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_1 == (code *)PTR_command_builtin_00144bec)" ( (binary_expression "param_1 == (code *)PTR_command_builtin_00144bec" identifier == (cast_expression "(code *)PTR_command_builtin_00144bec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (*(int *)PTR_posixly_correct_0014458c == 0) {\n      uVar7 = *param_2;\n      iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08;\n      goto LAB_000499c8;\n    }" if (parenthesized_expression "(*(int *)PTR_posixly_correct_0014458c == 0)" ( (binary_expression "*(int *)PTR_posixly_correct_0014458c == 0" (pointer_expression "*(int *)PTR_posixly_correct_0014458c" * (cast_expression "(int *)PTR_posixly_correct_0014458c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) (compound_statement "{\n      uVar7 = *param_2;\n      iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08;\n      goto LAB_000499c8;\n    }" { (expression_statement "uVar7 = *param_2;" (assignment_expression "uVar7 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;" (assignment_expression "iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1" identifier = (binary_expression "*(int *)PTR_executing_builtin_00144c04 + 1" (pointer_expression "*(int *)PTR_executing_builtin_00144c04" * (cast_expression "(int *)PTR_executing_builtin_00144c04" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal)) ;) (expression_statement "uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08;" (assignment_expression "uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08" identifier = (binary_expression "uVar4 | *(uint *)PTR_executing_command_builtin_00144c08" identifier | (pointer_expression "*(uint *)PTR_executing_command_builtin_00144c08" * (cast_expression "(uint *)PTR_executing_command_builtin_00144c08" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (goto_statement "goto LAB_000499c8;" goto statement_identifier ;) })) (if_statement "if (param_1 == (code *)PTR_return_builtin_00144c28) {\n      if (((param_3 & 0x800) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)) {\n        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);\n      }\n      puVar3 = PTR_return_builtin_00144c28;\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*(code *)puVar3)(uVar7);\n      if (*(int *)puVar2 == 0) goto LAB_00049a90;\nLAB_000499f4:\n      if (*(int *)PTR_temporary_env_00144858 != 0) {\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }\n    }\n    else {\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*param_1)(uVar7);\n    }" if (parenthesized_expression "(param_1 == (code *)PTR_return_builtin_00144c28)" ( (binary_expression "param_1 == (code *)PTR_return_builtin_00144c28" identifier == (cast_expression "(code *)PTR_return_builtin_00144c28" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n      if (((param_3 & 0x800) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)) {\n        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);\n      }\n      puVar3 = PTR_return_builtin_00144c28;\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*(code *)puVar3)(uVar7);\n      if (*(int *)puVar2 == 0) goto LAB_00049a90;\nLAB_000499f4:\n      if (*(int *)PTR_temporary_env_00144858 != 0) {\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }\n    }" { (if_statement "if (((param_3 & 0x800) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)) {\n        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);\n      }" if (parenthesized_expression "(((param_3 & 0x800) == 0) && (*(int *)PTR_temporary_env_00144858 != 0))" ( (binary_expression "((param_3 & 0x800) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)" (parenthesized_expression "((param_3 & 0x800) == 0)" ( (binary_expression "(param_3 & 0x800) == 0" (parenthesized_expression "(param_3 & 0x800)" ( (binary_expression "param_3 & 0x800" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(*(int *)PTR_temporary_env_00144858 != 0)" ( (binary_expression "*(int *)PTR_temporary_env_00144858 != 0" (pointer_expression "*(int *)PTR_temporary_env_00144858" * (cast_expression "(int *)PTR_temporary_env_00144858" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) ))) )) (compound_statement "{\n        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);\n      }" { (expression_statement "(*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);" (call_expression "(*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990)" (parenthesized_expression "(*(code *)PTR_begin_unwind_frame_00144c2c)" ( (pointer_expression "*(code *)PTR_begin_unwind_frame_00144c2c" * (cast_expression "(code *)PTR_begin_unwind_frame_00144c2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_00144578 + 0x6990)" ( (binary_expression "PTR_LAB_00144578 + 0x6990" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);" (call_expression "(*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0)" (parenthesized_expression "(*(code *)PTR_add_unwind_protect_00144b68)" ( (pointer_expression "*(code *)PTR_add_unwind_protect_00144b68" * (cast_expression "(code *)PTR_add_unwind_protect_00144b68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_merge_temporary_env_00144c40,0)" ( identifier , number_literal ))) ;) })) (expression_statement "puVar3 = PTR_return_builtin_00144c28;" (assignment_expression "puVar3 = PTR_return_builtin_00144c28" identifier = identifier) ;) (expression_statement "puVar9 = PTR_executing_command_builtin_00144c08;" (assignment_expression "puVar9 = PTR_executing_command_builtin_00144c08" identifier = identifier) ;) (expression_statement "uVar7 = *param_2;" (assignment_expression "uVar7 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;" (assignment_expression "uVar5 = *(uint *)PTR_executing_command_builtin_00144c08" identifier = (pointer_expression "*(uint *)PTR_executing_command_builtin_00144c08" * (cast_expression "(uint *)PTR_executing_command_builtin_00144c08" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;" (assignment_expression "*(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1" (pointer_expression "*(int *)PTR_executing_builtin_00144c04" * (cast_expression "(int *)PTR_executing_builtin_00144c04" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "*(int *)PTR_executing_builtin_00144c04 + 1" (pointer_expression "*(int *)PTR_executing_builtin_00144c04" * (cast_expression "(int *)PTR_executing_builtin_00144c04" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal)) ;) (expression_statement "*(uint *)puVar9 = uVar5 | uVar4;" (assignment_expression "*(uint *)puVar9 = uVar5 | uVar4" (pointer_expression "*(uint *)puVar9" * (cast_expression "(uint *)puVar9" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "uVar5 | uVar4" identifier | identifier)) ;) (expression_statement "uVar7 = (*(code *)puVar3)(uVar7);" (assignment_expression "uVar7 = (*(code *)puVar3)(uVar7)" identifier = (call_expression "(*(code *)puVar3)(uVar7)" (parenthesized_expression "(*(code *)puVar3)" ( (pointer_expression "*(code *)puVar3" * (cast_expression "(code *)puVar3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar7)" ( identifier )))) ;) (if_statement "if (*(int *)puVar2 == 0) goto LAB_00049a90;" if (parenthesized_expression "(*(int *)puVar2 == 0)" ( (binary_expression "*(int *)puVar2 == 0" (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) (goto_statement "goto LAB_00049a90;" goto statement_identifier ;)) (labeled_statement "LAB_000499f4:\n      if (*(int *)PTR_temporary_env_00144858 != 0) {\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }" statement_identifier : (if_statement "if (*(int *)PTR_temporary_env_00144858 != 0) {\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }" if (parenthesized_expression "(*(int *)PTR_temporary_env_00144858 != 0)" ( (binary_expression "*(int *)PTR_temporary_env_00144858 != 0" (pointer_expression "*(int *)PTR_temporary_env_00144858" * (cast_expression "(int *)PTR_temporary_env_00144858" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }" { (expression_statement "(*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);" (call_expression "(*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990)" (parenthesized_expression "(*(code *)PTR_discard_unwind_frame_00144c18)" ( (pointer_expression "*(code *)PTR_discard_unwind_frame_00144c18" * (cast_expression "(code *)PTR_discard_unwind_frame_00144c18" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_00144578 + 0x6990)" ( (binary_expression "PTR_LAB_00144578 + 0x6990" identifier + number_literal) ))) ;) }))) }) (else_clause "else {\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*param_1)(uVar7);\n    }" else (compound_statement "{\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*param_1)(uVar7);\n    }" { (expression_statement "uVar7 = *param_2;" (assignment_expression "uVar7 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;" (assignment_expression "uVar5 = *(uint *)PTR_executing_command_builtin_00144c08" identifier = (pointer_expression "*(uint *)PTR_executing_command_builtin_00144c08" * (cast_expression "(uint *)PTR_executing_command_builtin_00144c08" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;" (assignment_expression "*(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1" (pointer_expression "*(int *)PTR_executing_builtin_00144c04" * (cast_expression "(int *)PTR_executing_builtin_00144c04" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "*(int *)PTR_executing_builtin_00144c04 + 1" (pointer_expression "*(int *)PTR_executing_builtin_00144c04" * (cast_expression "(int *)PTR_executing_builtin_00144c04" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal)) ;) (expression_statement "*(uint *)puVar9 = uVar5 | uVar4;" (assignment_expression "*(uint *)puVar9 = uVar5 | uVar4" (pointer_expression "*(uint *)puVar9" * (cast_expression "(uint *)puVar9" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "uVar5 | uVar4" identifier | identifier)) ;) (expression_statement "uVar7 = (*param_1)(uVar7);" (assignment_expression "uVar7 = (*param_1)(uVar7)" identifier = (call_expression "(*param_1)(uVar7)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(uVar7)" ( identifier )))) ;) }))) }) (else_clause "else {\n    iVar10 = 0;\n    bVar1 = false;\nLAB_00049928:\n    if ((param_1 != (code *)puVar2) && (param_1 != (code *)PTR_eval_builtin_00144be8))\n    goto LAB_00049808;\nLAB_00049938:\n    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) {\nLAB_00049a2c:\n      uVar11 = 0;\n      if (param_4 != 0) goto LAB_0004995c;\nLAB_00049a38:\n      puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);\n      if (*puVar12 != 0) {\n        push_scope(8);\n        if (((param_3 & 0x800) == 0) && (uVar11 != 0)) {\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar9 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9);\nLAB_00049978:\n        uVar11 = 1;\n        *puVar12 = 0;\n        goto joined_r0x00049978;\n      }\n      uVar11 = 1;\n      piVar13 = (int *)PTR_evalnest_00144c38;\n      piVar14 = (int *)PTR_sourcenest_00144c44;\n      goto joined_r0x00049b04;\n    }\n    uVar11 = (uint)(param_1 != (code *)PTR_read_builtin_00144c00);\nLAB_00049954:\n    if (param_4 == 0) goto LAB_00049a38;\nLAB_0004995c:\n    puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n    uVar11 = param_4;\n    if (*(int *)PTR_temporary_env_00144858 != 0) {\n      push_scope(8);\n      goto LAB_00049978;\n    }\nLAB_00049830:\n    puVar9 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;\n    uVar7 = *param_2;\n    uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec) |\n            *(uint *)PTR_executing_command_builtin_00144c08;\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\nLAB_000499c8:\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      puVar2 = PTR_posixly_correct_0014458c;\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)(uVar7);\n      if (*(int *)puVar2 != 0) {\n        if (param_4 != 0) goto LAB_00049880;\n        if (param_1 == (code *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }\n    }\n    else {\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)();\n      if (*(int *)puVar2 != 0) goto LAB_00049880;\n    }\n    if (param_4 != 0) goto LAB_00049880;\n  }" else (compound_statement "{\n    iVar10 = 0;\n    bVar1 = false;\nLAB_00049928:\n    if ((param_1 != (code *)puVar2) && (param_1 != (code *)PTR_eval_builtin_00144be8))\n    goto LAB_00049808;\nLAB_00049938:\n    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) {\nLAB_00049a2c:\n      uVar11 = 0;\n      if (param_4 != 0) goto LAB_0004995c;\nLAB_00049a38:\n      puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);\n      if (*puVar12 != 0) {\n        push_scope(8);\n        if (((param_3 & 0x800) == 0) && (uVar11 != 0)) {\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar9 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9);\nLAB_00049978:\n        uVar11 = 1;\n        *puVar12 = 0;\n        goto joined_r0x00049978;\n      }\n      uVar11 = 1;\n      piVar13 = (int *)PTR_evalnest_00144c38;\n      piVar14 = (int *)PTR_sourcenest_00144c44;\n      goto joined_r0x00049b04;\n    }\n    uVar11 = (uint)(param_1 != (code *)PTR_read_builtin_00144c00);\nLAB_00049954:\n    if (param_4 == 0) goto LAB_00049a38;\nLAB_0004995c:\n    puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n    uVar11 = param_4;\n    if (*(int *)PTR_temporary_env_00144858 != 0) {\n      push_scope(8);\n      goto LAB_00049978;\n    }\nLAB_00049830:\n    puVar9 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;\n    uVar7 = *param_2;\n    uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec) |\n            *(uint *)PTR_executing_command_builtin_00144c08;\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\nLAB_000499c8:\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      puVar2 = PTR_posixly_correct_0014458c;\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)(uVar7);\n      if (*(int *)puVar2 != 0) {\n        if (param_4 != 0) goto LAB_00049880;\n        if (param_1 == (code *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }\n    }\n    else {\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)();\n      if (*(int *)puVar2 != 0) goto LAB_00049880;\n    }\n    if (param_4 != 0) goto LAB_00049880;\n  }" { (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (labeled_statement "LAB_00049928:\n    if ((param_1 != (code *)puVar2) && (param_1 != (code *)PTR_eval_builtin_00144be8))\n    goto LAB_00049808;" statement_identifier : (if_statement "if ((param_1 != (code *)puVar2) && (param_1 != (code *)PTR_eval_builtin_00144be8))\n    goto LAB_00049808;" if (parenthesized_expression "((param_1 != (code *)puVar2) && (param_1 != (code *)PTR_eval_builtin_00144be8))" ( (binary_expression "(param_1 != (code *)puVar2) && (param_1 != (code *)PTR_eval_builtin_00144be8)" (parenthesized_expression "(param_1 != (code *)puVar2)" ( (binary_expression "param_1 != (code *)puVar2" identifier != (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) && (parenthesized_expression "(param_1 != (code *)PTR_eval_builtin_00144be8)" ( (binary_expression "param_1 != (code *)PTR_eval_builtin_00144be8" identifier != (cast_expression "(code *)PTR_eval_builtin_00144be8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) )) (goto_statement "goto LAB_00049808;" goto statement_identifier ;))) (labeled_statement "LAB_00049938:\n    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) {\nLAB_00049a2c:\n      uVar11 = 0;\n      if (param_4 != 0) goto LAB_0004995c;\nLAB_00049a38:\n      puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);\n      if (*puVar12 != 0) {\n        push_scope(8);\n        if (((param_3 & 0x800) == 0) && (uVar11 != 0)) {\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar9 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9);\nLAB_00049978:\n        uVar11 = 1;\n        *puVar12 = 0;\n        goto joined_r0x00049978;\n      }\n      uVar11 = 1;\n      piVar13 = (int *)PTR_evalnest_00144c38;\n      piVar14 = (int *)PTR_sourcenest_00144c44;\n      goto joined_r0x00049b04;\n    }" statement_identifier : (if_statement "if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) {\nLAB_00049a2c:\n      uVar11 = 0;\n      if (param_4 != 0) goto LAB_0004995c;\nLAB_00049a38:\n      puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);\n      if (*puVar12 != 0) {\n        push_scope(8);\n        if (((param_3 & 0x800) == 0) && (uVar11 != 0)) {\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar9 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9);\nLAB_00049978:\n        uVar11 = 1;\n        *puVar12 = 0;\n        goto joined_r0x00049978;\n      }\n      uVar11 = 1;\n      piVar13 = (int *)PTR_evalnest_00144c38;\n      piVar14 = (int *)PTR_sourcenest_00144c44;\n      goto joined_r0x00049b04;\n    }" if (parenthesized_expression "((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc))" ( (binary_expression "(param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)" (parenthesized_expression "(param_1 == (code *)PTR_mapfile_builtin_00144bf8)" ( (binary_expression "param_1 == (code *)PTR_mapfile_builtin_00144bf8" identifier == (cast_expression "(code *)PTR_mapfile_builtin_00144bf8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) || (parenthesized_expression "(param_1 == (code *)PTR_fc_builtin_00144bfc)" ( (binary_expression "param_1 == (code *)PTR_fc_builtin_00144bfc" identifier == (cast_expression "(code *)PTR_fc_builtin_00144bfc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) )) (compound_statement "{\nLAB_00049a2c:\n      uVar11 = 0;\n      if (param_4 != 0) goto LAB_0004995c;\nLAB_00049a38:\n      puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);\n      if (*puVar12 != 0) {\n        push_scope(8);\n        if (((param_3 & 0x800) == 0) && (uVar11 != 0)) {\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar9 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9);\nLAB_00049978:\n        uVar11 = 1;\n        *puVar12 = 0;\n        goto joined_r0x00049978;\n      }\n      uVar11 = 1;\n      piVar13 = (int *)PTR_evalnest_00144c38;\n      piVar14 = (int *)PTR_sourcenest_00144c44;\n      goto joined_r0x00049b04;\n    }" { (labeled_statement "LAB_00049a2c:\n      uVar11 = 0;" statement_identifier : (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;)) (if_statement "if (param_4 != 0) goto LAB_0004995c;" if (parenthesized_expression "(param_4 != 0)" ( (binary_expression "param_4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0004995c;" goto statement_identifier ;)) (labeled_statement "LAB_00049a38:\n      puVar12 = (undefined4 *)PTR_temporary_env_00144858;" statement_identifier : (expression_statement "puVar12 = (undefined4 *)PTR_temporary_env_00144858;" (assignment_expression "puVar12 = (undefined4 *)PTR_temporary_env_00144858" identifier = (cast_expression "(undefined4 *)PTR_temporary_env_00144858" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "(*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);" (call_expression "(*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924)" (parenthesized_expression "(*(code *)PTR_begin_unwind_frame_00144c2c)" ( (pointer_expression "*(code *)PTR_begin_unwind_frame_00144c2c" * (cast_expression "(code *)PTR_begin_unwind_frame_00144c2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_00144578 + 0x6924)" ( (binary_expression "PTR_LAB_00144578 + 0x6924" identifier + number_literal) ))) ;) (if_statement "if (*puVar12 != 0) {\n        push_scope(8);\n        if (((param_3 & 0x800) == 0) && (uVar11 != 0)) {\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar9 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9);\nLAB_00049978:\n        uVar11 = 1;\n        *puVar12 = 0;\n        goto joined_r0x00049978;\n      }" if (parenthesized_expression "(*puVar12 != 0)" ( (binary_expression "*puVar12 != 0" (pointer_expression "*puVar12" * identifier) != number_literal) )) (compound_statement "{\n        push_scope(8);\n        if (((param_3 & 0x800) == 0) && (uVar11 != 0)) {\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar9 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9);\nLAB_00049978:\n        uVar11 = 1;\n        *puVar12 = 0;\n        goto joined_r0x00049978;\n      }" { (expression_statement "push_scope(8);" (call_expression "push_scope(8)" identifier (argument_list "(8)" ( number_literal ))) ;) (if_statement "if (((param_3 & 0x800) == 0) && (uVar11 != 0)) {\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar9 = (undefined *)0x0;\n        }" if (parenthesized_expression "(((param_3 & 0x800) == 0) && (uVar11 != 0))" ( (binary_expression "((param_3 & 0x800) == 0) && (uVar11 != 0)" (parenthesized_expression "((param_3 & 0x800) == 0)" ( (binary_expression "(param_3 & 0x800) == 0" (parenthesized_expression "(param_3 & 0x800)" ( (binary_expression "param_3 & 0x800" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(uVar11 != 0)" ( (binary_expression "uVar11 != 0" identifier != number_literal) ))) )) (compound_statement "{\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }" { (expression_statement "puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;" (assignment_expression "puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c" identifier = (binary_expression "PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c" identifier + number_literal)) ;) }) (else_clause "else {\n          puVar9 = (undefined *)0x0;\n        }" else (compound_statement "{\n          puVar9 = (undefined *)0x0;\n        }" { (expression_statement "puVar9 = (undefined *)0x0;" (assignment_expression "puVar9 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "(*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9);" (call_expression "(*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9)" (parenthesized_expression "(*(code *)PTR_add_unwind_protect_00144b68)" ( (pointer_expression "*(code *)PTR_add_unwind_protect_00144b68" * (cast_expression "(code *)PTR_add_unwind_protect_00144b68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_pop_scope_00144c30,puVar9)" ( identifier , identifier ))) ;) (labeled_statement "LAB_00049978:\n        uVar11 = 1;" statement_identifier : (expression_statement "uVar11 = 1;" (assignment_expression "uVar11 = 1" identifier = number_literal) ;)) (expression_statement "*puVar12 = 0;" (assignment_expression "*puVar12 = 0" (pointer_expression "*puVar12" * identifier) = number_literal) ;) (goto_statement "goto joined_r0x00049978;" goto statement_identifier ;) })) (expression_statement "uVar11 = 1;" (assignment_expression "uVar11 = 1" identifier = number_literal) ;) (expression_statement "piVar13 = (int *)PTR_evalnest_00144c38;" (assignment_expression "piVar13 = (int *)PTR_evalnest_00144c38" identifier = (cast_expression "(int *)PTR_evalnest_00144c38" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "piVar14 = (int *)PTR_sourcenest_00144c44;" (assignment_expression "piVar14 = (int *)PTR_sourcenest_00144c44" identifier = (cast_expression "(int *)PTR_sourcenest_00144c44" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto joined_r0x00049b04;" goto statement_identifier ;) }))) (expression_statement "uVar11 = (uint)(param_1 != (code *)PTR_read_builtin_00144c00);" (assignment_expression "uVar11 = (uint)(param_1 != (code *)PTR_read_builtin_00144c00)" identifier = (call_expression "(uint)(param_1 != (code *)PTR_read_builtin_00144c00)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_1 != (code *)PTR_read_builtin_00144c00)" ( (binary_expression "param_1 != (code *)PTR_read_builtin_00144c00" identifier != (cast_expression "(code *)PTR_read_builtin_00144c00" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (labeled_statement "LAB_00049954:\n    if (param_4 == 0) goto LAB_00049a38;" statement_identifier : (if_statement "if (param_4 == 0) goto LAB_00049a38;" if (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00049a38;" goto statement_identifier ;))) (labeled_statement "LAB_0004995c:\n    puVar12 = (undefined4 *)PTR_temporary_env_00144858;" statement_identifier : (expression_statement "puVar12 = (undefined4 *)PTR_temporary_env_00144858;" (assignment_expression "puVar12 = (undefined4 *)PTR_temporary_env_00144858" identifier = (cast_expression "(undefined4 *)PTR_temporary_env_00144858" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "uVar11 = param_4;" (assignment_expression "uVar11 = param_4" identifier = identifier) ;) (if_statement "if (*(int *)PTR_temporary_env_00144858 != 0) {\n      push_scope(8);\n      goto LAB_00049978;\n    }" if (parenthesized_expression "(*(int *)PTR_temporary_env_00144858 != 0)" ( (binary_expression "*(int *)PTR_temporary_env_00144858 != 0" (pointer_expression "*(int *)PTR_temporary_env_00144858" * (cast_expression "(int *)PTR_temporary_env_00144858" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n      push_scope(8);\n      goto LAB_00049978;\n    }" { (expression_statement "push_scope(8);" (call_expression "push_scope(8)" identifier (argument_list "(8)" ( number_literal ))) ;) (goto_statement "goto LAB_00049978;" goto statement_identifier ;) })) (labeled_statement "LAB_00049830:\n    puVar9 = PTR_executing_command_builtin_00144c08;" statement_identifier : (expression_statement "puVar9 = PTR_executing_command_builtin_00144c08;" (assignment_expression "puVar9 = PTR_executing_command_builtin_00144c08" identifier = identifier) ;)) (expression_statement "puVar2 = PTR_posixly_correct_0014458c;" (assignment_expression "puVar2 = PTR_posixly_correct_0014458c" identifier = identifier) ;) (expression_statement "iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;" (assignment_expression "iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1" identifier = (binary_expression "*(int *)PTR_executing_builtin_00144c04 + 1" (pointer_expression "*(int *)PTR_executing_builtin_00144c04" * (cast_expression "(int *)PTR_executing_builtin_00144c04" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal)) ;) (expression_statement "uVar7 = *param_2;" (assignment_expression "uVar7 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec) |\n            *(uint *)PTR_executing_command_builtin_00144c08;" (assignment_expression "uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec) |\n            *(uint *)PTR_executing_command_builtin_00144c08" identifier = (binary_expression "(uint)(param_1 == (code *)PTR_command_builtin_00144bec) |\n            *(uint *)PTR_executing_command_builtin_00144c08" (call_expression "(uint)(param_1 == (code *)PTR_command_builtin_00144bec)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_1 == (code *)PTR_command_builtin_00144bec)" ( (binary_expression "param_1 == (code *)PTR_command_builtin_00144bec" identifier == (cast_expression "(code *)PTR_command_builtin_00144bec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) | (pointer_expression "*(uint *)PTR_executing_command_builtin_00144c08" * (cast_expression "(uint *)PTR_executing_command_builtin_00144c08" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (if_statement "if (*(int *)PTR_posixly_correct_0014458c == 0) {\nLAB_000499c8:\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      puVar2 = PTR_posixly_correct_0014458c;\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)(uVar7);\n      if (*(int *)puVar2 != 0) {\n        if (param_4 != 0) goto LAB_00049880;\n        if (param_1 == (code *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }\n    }\n    else {\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)();\n      if (*(int *)puVar2 != 0) goto LAB_00049880;\n    }" if (parenthesized_expression "(*(int *)PTR_posixly_correct_0014458c == 0)" ( (binary_expression "*(int *)PTR_posixly_correct_0014458c == 0" (pointer_expression "*(int *)PTR_posixly_correct_0014458c" * (cast_expression "(int *)PTR_posixly_correct_0014458c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) (compound_statement "{\nLAB_000499c8:\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      puVar2 = PTR_posixly_correct_0014458c;\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)(uVar7);\n      if (*(int *)puVar2 != 0) {\n        if (param_4 != 0) goto LAB_00049880;\n        if (param_1 == (code *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }\n    }" { (labeled_statement "LAB_000499c8:\n      puVar9 = PTR_executing_command_builtin_00144c08;" statement_identifier : (expression_statement "puVar9 = PTR_executing_command_builtin_00144c08;" (assignment_expression "puVar9 = PTR_executing_command_builtin_00144c08" identifier = identifier) ;)) (expression_statement "puVar2 = PTR_posixly_correct_0014458c;" (assignment_expression "puVar2 = PTR_posixly_correct_0014458c" identifier = identifier) ;) (expression_statement "*(int *)PTR_executing_builtin_00144c04 = iVar6;" (assignment_expression "*(int *)PTR_executing_builtin_00144c04 = iVar6" (pointer_expression "*(int *)PTR_executing_builtin_00144c04" * (cast_expression "(int *)PTR_executing_builtin_00144c04" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(uint *)puVar9 = uVar4;" (assignment_expression "*(uint *)puVar9 = uVar4" (pointer_expression "*(uint *)puVar9" * (cast_expression "(uint *)puVar9" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "uVar7 = (*param_1)(uVar7);" (assignment_expression "uVar7 = (*param_1)(uVar7)" identifier = (call_expression "(*param_1)(uVar7)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(uVar7)" ( identifier )))) ;) (if_statement "if (*(int *)puVar2 != 0) {\n        if (param_4 != 0) goto LAB_00049880;\n        if (param_1 == (code *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }" if (parenthesized_expression "(*(int *)puVar2 != 0)" ( (binary_expression "*(int *)puVar2 != 0" (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n        if (param_4 != 0) goto LAB_00049880;\n        if (param_1 == (code *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }" { (if_statement "if (param_4 != 0) goto LAB_00049880;" if (parenthesized_expression "(param_4 != 0)" ( (binary_expression "param_4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00049880;" goto statement_identifier ;)) (if_statement "if (param_1 == (code *)PTR_return_builtin_00144c28) goto LAB_000499f4;" if (parenthesized_expression "(param_1 == (code *)PTR_return_builtin_00144c28)" ( (binary_expression "param_1 == (code *)PTR_return_builtin_00144c28" identifier == (cast_expression "(code *)PTR_return_builtin_00144c28" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (goto_statement "goto LAB_000499f4;" goto statement_identifier ;)) (goto_statement "goto LAB_00049a90;" goto statement_identifier ;) })) }) (else_clause "else {\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)();\n      if (*(int *)puVar2 != 0) goto LAB_00049880;\n    }" else (compound_statement "{\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)();\n      if (*(int *)puVar2 != 0) goto LAB_00049880;\n    }" { (expression_statement "*(int *)PTR_executing_builtin_00144c04 = iVar6;" (assignment_expression "*(int *)PTR_executing_builtin_00144c04 = iVar6" (pointer_expression "*(int *)PTR_executing_builtin_00144c04" * (cast_expression "(int *)PTR_executing_builtin_00144c04" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(uint *)puVar9 = uVar4;" (assignment_expression "*(uint *)puVar9 = uVar4" (pointer_expression "*(uint *)puVar9" * (cast_expression "(uint *)puVar9" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "uVar7 = (*param_1)();" (assignment_expression "uVar7 = (*param_1)()" identifier = (call_expression "(*param_1)()" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "()" ( )))) ;) (if_statement "if (*(int *)puVar2 != 0) goto LAB_00049880;" if (parenthesized_expression "(*(int *)puVar2 != 0)" ( (binary_expression "*(int *)puVar2 != 0" (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (goto_statement "goto LAB_00049880;" goto statement_identifier ;)) }))) (if_statement "if (param_4 != 0) goto LAB_00049880;" if (parenthesized_expression "(param_4 != 0)" ( (binary_expression "param_4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00049880;" goto statement_identifier ;)) }))) (labeled_statement "LAB_00049a90:\n  if (uVar11 != 0) {\n    (*(code *)PTR_run_unwind_frame_00144c34)(PTR_LAB_00144578 + 0x6924);\n  }" statement_identifier : (if_statement "if (uVar11 != 0) {\n    (*(code *)PTR_run_unwind_frame_00144c34)(PTR_LAB_00144578 + 0x6924);\n  }" if (parenthesized_expression "(uVar11 != 0)" ( (binary_expression "uVar11 != 0" identifier != number_literal) )) (compound_statement "{\n    (*(code *)PTR_run_unwind_frame_00144c34)(PTR_LAB_00144578 + 0x6924);\n  }" { (expression_statement "(*(code *)PTR_run_unwind_frame_00144c34)(PTR_LAB_00144578 + 0x6924);" (call_expression "(*(code *)PTR_run_unwind_frame_00144c34)(PTR_LAB_00144578 + 0x6924)" (parenthesized_expression "(*(code *)PTR_run_unwind_frame_00144c34)" ( (pointer_expression "*(code *)PTR_run_unwind_frame_00144c34" * (cast_expression "(code *)PTR_run_unwind_frame_00144c34" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_00144578 + 0x6924)" ( (binary_expression "PTR_LAB_00144578 + 0x6924" identifier + number_literal) ))) ;) }))) (labeled_statement "LAB_00049880:\n  if (bVar1) {\n    *(int *)PTR_builtin_ignoring_errexit_00144c0c = local_30;\n    if (local_30 == 0) {\n      uVar8 = *(undefined4 *)PTR_errexit_flag_00144c10;\n    }\n    else {\n      uVar8 = 0;\n    }\n    *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = uVar8;\n    if (iVar10 != 0) {\n      (*(code *)PTR_set_error_trap_00144c14)(iVar10);\n      (*(code *)PTR_free_001464fc)(iVar10);\n    }\n    (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6914);\n  }" statement_identifier : (if_statement "if (bVar1) {\n    *(int *)PTR_builtin_ignoring_errexit_00144c0c = local_30;\n    if (local_30 == 0) {\n      uVar8 = *(undefined4 *)PTR_errexit_flag_00144c10;\n    }\n    else {\n      uVar8 = 0;\n    }\n    *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = uVar8;\n    if (iVar10 != 0) {\n      (*(code *)PTR_set_error_trap_00144c14)(iVar10);\n      (*(code *)PTR_free_001464fc)(iVar10);\n    }\n    (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6914);\n  }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n    *(int *)PTR_builtin_ignoring_errexit_00144c0c = local_30;\n    if (local_30 == 0) {\n      uVar8 = *(undefined4 *)PTR_errexit_flag_00144c10;\n    }\n    else {\n      uVar8 = 0;\n    }\n    *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = uVar8;\n    if (iVar10 != 0) {\n      (*(code *)PTR_set_error_trap_00144c14)(iVar10);\n      (*(code *)PTR_free_001464fc)(iVar10);\n    }\n    (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6914);\n  }" { (expression_statement "*(int *)PTR_builtin_ignoring_errexit_00144c0c = local_30;" (assignment_expression "*(int *)PTR_builtin_ignoring_errexit_00144c0c = local_30" (pointer_expression "*(int *)PTR_builtin_ignoring_errexit_00144c0c" * (cast_expression "(int *)PTR_builtin_ignoring_errexit_00144c0c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (if_statement "if (local_30 == 0) {\n      uVar8 = *(undefined4 *)PTR_errexit_flag_00144c10;\n    }\n    else {\n      uVar8 = 0;\n    }" if (parenthesized_expression "(local_30 == 0)" ( (binary_expression "local_30 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar8 = *(undefined4 *)PTR_errexit_flag_00144c10;\n    }" { (expression_statement "uVar8 = *(undefined4 *)PTR_errexit_flag_00144c10;" (assignment_expression "uVar8 = *(undefined4 *)PTR_errexit_flag_00144c10" identifier = (pointer_expression "*(undefined4 *)PTR_errexit_flag_00144c10" * (cast_expression "(undefined4 *)PTR_errexit_flag_00144c10" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }) (else_clause "else {\n      uVar8 = 0;\n    }" else (compound_statement "{\n      uVar8 = 0;\n    }" { (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) }))) (expression_statement "*(undefined4 *)PTR_exit_immediately_on_error_001445f0 = uVar8;" (assignment_expression "*(undefined4 *)PTR_exit_immediately_on_error_001445f0 = uVar8" (pointer_expression "*(undefined4 *)PTR_exit_immediately_on_error_001445f0" * (cast_expression "(undefined4 *)PTR_exit_immediately_on_error_001445f0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (if_statement "if (iVar10 != 0) {\n      (*(code *)PTR_set_error_trap_00144c14)(iVar10);\n      (*(code *)PTR_free_001464fc)(iVar10);\n    }" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (compound_statement "{\n      (*(code *)PTR_set_error_trap_00144c14)(iVar10);\n      (*(code *)PTR_free_001464fc)(iVar10);\n    }" { (expression_statement "(*(code *)PTR_set_error_trap_00144c14)(iVar10);" (call_expression "(*(code *)PTR_set_error_trap_00144c14)(iVar10)" (parenthesized_expression "(*(code *)PTR_set_error_trap_00144c14)" ( (pointer_expression "*(code *)PTR_set_error_trap_00144c14" * (cast_expression "(code *)PTR_set_error_trap_00144c14" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar10)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_free_001464fc)(iVar10);" (call_expression "(*(code *)PTR_free_001464fc)(iVar10)" (parenthesized_expression "(*(code *)PTR_free_001464fc)" ( (pointer_expression "*(code *)PTR_free_001464fc" * (cast_expression "(code *)PTR_free_001464fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar10)" ( identifier ))) ;) })) (expression_statement "(*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6914);" (call_expression "(*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6914)" (parenthesized_expression "(*(code *)PTR_discard_unwind_frame_00144c18)" ( (pointer_expression "*(code *)PTR_discard_unwind_frame_00144c18" * (cast_expression "(code *)PTR_discard_unwind_frame_00144c18" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_00144578 + 0x6914)" ( (binary_expression "PTR_LAB_00144578 + 0x6914" identifier + number_literal) ))) ;) }))) (return_statement "return uVar7;" return identifier ;) })))
(translation_unit "int execute_builtin(sh_builtin_func_t *builtin,WORD_LIST *words,int flags,int subshell)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  uint uVar4;\n  uint uVar5;\n  char *pcVar6;\n  int iVar7;\n  WORD_LIST *pWVar8;\n  undefined4 uVar9;\n  word_list *pwVar10;\n  undefined *puVar11;\n  int iVar12;\n  int isbltinenv;\n  uint uVar13;\n  undefined4 *puVar14;\n  int *piVar15;\n  int *piVar16;\n  int iStack_30;\n  \n  puVar2 = PTR_source_builtin_00144bf0;\n  if (subshell == 0) {\n    if ((flags & 8U) == 0) {\n      iVar12 = 0;\n      bVar1 = false;\n      goto LAB_00049928;\n    }\n    if (((builtin == (sh_builtin_func_t *)PTR_eval_builtin_00144be8) ||\n        (builtin == (sh_builtin_func_t *)PTR_command_builtin_00144bec)) ||\n       (bVar1 = false, builtin == (sh_builtin_func_t *)PTR_source_builtin_00144bf0)) {\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4);\n      iVar12 = (*(code *)PTR_signal_is_trapped_00144664)(0x81);\n      if (((iVar12 == 0) || (iVar12 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar12 != 0))\n         || (iVar12 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar12 == 0)) {\n        iVar12 = 0;\n      }\n      else {\n        iVar7 = (*(code *)PTR_strlen_00146390)(iVar12);\n        uVar9 = (*(code *)PTR_xmalloc_001445b0)(iVar7 + 1);\n        iVar12 = (*(code *)PTR_strcpy_00146418)(uVar9,iVar12);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar12);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar12);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }\n      puVar11 = PTR_builtin_ignoring_errexit_00144c0c;\n      bVar1 = true;\n      iStack_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c;\n      *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0;\n      *(undefined4 *)puVar11 = 1;\n      goto LAB_00049928;\n    }\n    iVar12 = 0;\nLAB_00049808:\n    if (builtin == (sh_builtin_func_t *)PTR_unset_builtin_00144bf4) goto LAB_00049938;\n    if ((builtin == (sh_builtin_func_t *)PTR_mapfile_builtin_00144bf8) ||\n       (builtin == (sh_builtin_func_t *)PTR_fc_builtin_00144bfc)) goto LAB_00049a2c;\n    uVar13 = 0;\n    if (builtin == (sh_builtin_func_t *)PTR_read_builtin_00144c00) goto LAB_00049954;\njoined_r0x00049978:\n    piVar15 = (int *)PTR_evalnest_00144c38;\n    piVar16 = (int *)PTR_sourcenest_00144c44;\n    if (subshell != 0) goto LAB_00049830;\njoined_r0x00049b04:\n    PTR_evalnest_00144c38 = (undefined *)piVar15;\n    PTR_sourcenest_00144c44 = (undefined *)piVar16;\n    if (builtin == (sh_builtin_func_t *)PTR_eval_builtin_00144be8) {\n      if ((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar15)\n         ) {\n        pcVar6 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);\n        internal_error(pcVar6,*piVar15);\n        piVar16 = piVar15;\n        goto LAB_00049d4c;\n      }\nLAB_00049b38:\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(piVar15,4);\n      *piVar15 = *piVar15 + 1;\n    }\n    else if (builtin == (sh_builtin_func_t *)puVar2) {\n      piVar15 = piVar16;\n      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar16)) {\n        do {\n          pcVar6 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(pcVar6,*(undefined4 *)PTR_this_command_name_00144728,*piVar16);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar16 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }\n      goto LAB_00049b38;\n    }\n    puVar11 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    uVar4 = (uint)(builtin == (sh_builtin_func_t *)PTR_command_builtin_00144bec);\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\n      pWVar8 = words->next;\n      iVar7 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08;\n      goto LAB_000499c8;\n    }\n    if (builtin == (sh_builtin_func_t *)PTR_return_builtin_00144c28) {\n      if (((flags & 0x800U) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)) {\n        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);\n      }\n      puVar3 = PTR_return_builtin_00144c28;\n      puVar11 = PTR_executing_command_builtin_00144c08;\n      pwVar10 = words->next;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar11 = uVar5 | uVar4;\n      iVar7 = (*(code *)puVar3)(pwVar10);\n      if (*(int *)puVar2 == 0) goto LAB_00049a90;\nLAB_000499f4:\n      if (*(int *)PTR_temporary_env_00144858 != 0) {\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }\n    }\n    else {\n      pWVar8 = words->next;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar11 = uVar5 | uVar4;\n      iVar7 = (*builtin)(pWVar8);\n    }\n  }\n  else {\n    iVar12 = 0;\n    bVar1 = false;\nLAB_00049928:\n    if ((builtin != (sh_builtin_func_t *)puVar2) &&\n       (builtin != (sh_builtin_func_t *)PTR_eval_builtin_00144be8)) goto LAB_00049808;\nLAB_00049938:\n    if ((builtin == (sh_builtin_func_t *)PTR_mapfile_builtin_00144bf8) ||\n       (builtin == (sh_builtin_func_t *)PTR_fc_builtin_00144bfc)) {\nLAB_00049a2c:\n      uVar13 = 0;\n      if (subshell != 0) goto LAB_0004995c;\nLAB_00049a38:\n      puVar14 = (undefined4 *)PTR_temporary_env_00144858;\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);\n      if ((HASH_TABLE *)*puVar14 != (HASH_TABLE *)0x0) {\n        push_scope(8,(HASH_TABLE *)*puVar14);\n        if (((flags & 0x800U) == 0) && (uVar13 != 0)) {\n          puVar11 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar11 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar11);\nLAB_00049978:\n        uVar13 = 1;\n        *puVar14 = 0;\n        goto joined_r0x00049978;\n      }\n      uVar13 = 1;\n      piVar15 = (int *)PTR_evalnest_00144c38;\n      piVar16 = (int *)PTR_sourcenest_00144c44;\n      goto joined_r0x00049b04;\n    }\n    uVar13 = (uint)(builtin != (sh_builtin_func_t *)PTR_read_builtin_00144c00);\nLAB_00049954:\n    if (subshell == 0) goto LAB_00049a38;\nLAB_0004995c:\n    puVar14 = (undefined4 *)PTR_temporary_env_00144858;\n    uVar13 = subshell;\n    if (*(HASH_TABLE **)PTR_temporary_env_00144858 != (HASH_TABLE *)0x0) {\n      push_scope(8,*(HASH_TABLE **)PTR_temporary_env_00144858);\n      goto LAB_00049978;\n    }\nLAB_00049830:\n    puVar11 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    iVar7 = *(int *)PTR_executing_builtin_00144c04 + 1;\n    pWVar8 = words->next;\n    uVar4 = (uint)(builtin == (sh_builtin_func_t *)PTR_command_builtin_00144bec) |\n            *(uint *)PTR_executing_command_builtin_00144c08;\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\nLAB_000499c8:\n      puVar11 = PTR_executing_command_builtin_00144c08;\n      puVar2 = PTR_posixly_correct_0014458c;\n      *(int *)PTR_executing_builtin_00144c04 = iVar7;\n      *(uint *)puVar11 = uVar4;\n      iVar7 = (*builtin)(pWVar8);\n      if (*(int *)puVar2 != 0) {\n        if (subshell != 0) goto LAB_00049880;\n        if (builtin == (sh_builtin_func_t *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }\n    }\n    else {\n      *(int *)PTR_executing_builtin_00144c04 = iVar7;\n      *(uint *)puVar11 = uVar4;\n      iVar7 = (*builtin)(pWVar8);\n      if (*(int *)puVar2 != 0) goto LAB_00049880;\n    }\n    if (subshell != 0) goto LAB_00049880;\n  }\nLAB_00049a90:\n  if (uVar13 != 0) {\n    (*(code *)PTR_run_unwind_frame_00144c34)(PTR_LAB_00144578 + 0x6924);\n  }\nLAB_00049880:\n  if (bVar1) {\n    *(int *)PTR_builtin_ignoring_errexit_00144c0c = iStack_30;\n    if (iStack_30 == 0) {\n      uVar9 = *(undefined4 *)PTR_errexit_flag_00144c10;\n    }\n    else {\n      uVar9 = 0;\n    }\n    *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = uVar9;\n    if (iVar12 != 0) {\n      (*(code *)PTR_set_error_trap_00144c14)(iVar12);\n      (*(code *)PTR_free_001464fc)(iVar12);\n    }\n    (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6914);\n  }\n  return iVar7;\n}\n\n" (function_definition "int execute_builtin(sh_builtin_func_t *builtin,WORD_LIST *words,int flags,int subshell)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  uint uVar4;\n  uint uVar5;\n  char *pcVar6;\n  int iVar7;\n  WORD_LIST *pWVar8;\n  undefined4 uVar9;\n  word_list *pwVar10;\n  undefined *puVar11;\n  int iVar12;\n  int isbltinenv;\n  uint uVar13;\n  undefined4 *puVar14;\n  int *piVar15;\n  int *piVar16;\n  int iStack_30;\n  \n  puVar2 = PTR_source_builtin_00144bf0;\n  if (subshell == 0) {\n    if ((flags & 8U) == 0) {\n      iVar12 = 0;\n      bVar1 = false;\n      goto LAB_00049928;\n    }\n    if (((builtin == (sh_builtin_func_t *)PTR_eval_builtin_00144be8) ||\n        (builtin == (sh_builtin_func_t *)PTR_command_builtin_00144bec)) ||\n       (bVar1 = false, builtin == (sh_builtin_func_t *)PTR_source_builtin_00144bf0)) {\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4);\n      iVar12 = (*(code *)PTR_signal_is_trapped_00144664)(0x81);\n      if (((iVar12 == 0) || (iVar12 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar12 != 0))\n         || (iVar12 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar12 == 0)) {\n        iVar12 = 0;\n      }\n      else {\n        iVar7 = (*(code *)PTR_strlen_00146390)(iVar12);\n        uVar9 = (*(code *)PTR_xmalloc_001445b0)(iVar7 + 1);\n        iVar12 = (*(code *)PTR_strcpy_00146418)(uVar9,iVar12);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar12);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar12);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }\n      puVar11 = PTR_builtin_ignoring_errexit_00144c0c;\n      bVar1 = true;\n      iStack_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c;\n      *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0;\n      *(undefined4 *)puVar11 = 1;\n      goto LAB_00049928;\n    }\n    iVar12 = 0;\nLAB_00049808:\n    if (builtin == (sh_builtin_func_t *)PTR_unset_builtin_00144bf4) goto LAB_00049938;\n    if ((builtin == (sh_builtin_func_t *)PTR_mapfile_builtin_00144bf8) ||\n       (builtin == (sh_builtin_func_t *)PTR_fc_builtin_00144bfc)) goto LAB_00049a2c;\n    uVar13 = 0;\n    if (builtin == (sh_builtin_func_t *)PTR_read_builtin_00144c00) goto LAB_00049954;\njoined_r0x00049978:\n    piVar15 = (int *)PTR_evalnest_00144c38;\n    piVar16 = (int *)PTR_sourcenest_00144c44;\n    if (subshell != 0) goto LAB_00049830;\njoined_r0x00049b04:\n    PTR_evalnest_00144c38 = (undefined *)piVar15;\n    PTR_sourcenest_00144c44 = (undefined *)piVar16;\n    if (builtin == (sh_builtin_func_t *)PTR_eval_builtin_00144be8) {\n      if ((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar15)\n         ) {\n        pcVar6 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);\n        internal_error(pcVar6,*piVar15);\n        piVar16 = piVar15;\n        goto LAB_00049d4c;\n      }\nLAB_00049b38:\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(piVar15,4);\n      *piVar15 = *piVar15 + 1;\n    }\n    else if (builtin == (sh_builtin_func_t *)puVar2) {\n      piVar15 = piVar16;\n      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar16)) {\n        do {\n          pcVar6 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(pcVar6,*(undefined4 *)PTR_this_command_name_00144728,*piVar16);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar16 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }\n      goto LAB_00049b38;\n    }\n    puVar11 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    uVar4 = (uint)(builtin == (sh_builtin_func_t *)PTR_command_builtin_00144bec);\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\n      pWVar8 = words->next;\n      iVar7 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08;\n      goto LAB_000499c8;\n    }\n    if (builtin == (sh_builtin_func_t *)PTR_return_builtin_00144c28) {\n      if (((flags & 0x800U) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)) {\n        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);\n      }\n      puVar3 = PTR_return_builtin_00144c28;\n      puVar11 = PTR_executing_command_builtin_00144c08;\n      pwVar10 = words->next;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar11 = uVar5 | uVar4;\n      iVar7 = (*(code *)puVar3)(pwVar10);\n      if (*(int *)puVar2 == 0) goto LAB_00049a90;\nLAB_000499f4:\n      if (*(int *)PTR_temporary_env_00144858 != 0) {\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }\n    }\n    else {\n      pWVar8 = words->next;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar11 = uVar5 | uVar4;\n      iVar7 = (*builtin)(pWVar8);\n    }\n  }\n  else {\n    iVar12 = 0;\n    bVar1 = false;\nLAB_00049928:\n    if ((builtin != (sh_builtin_func_t *)puVar2) &&\n       (builtin != (sh_builtin_func_t *)PTR_eval_builtin_00144be8)) goto LAB_00049808;\nLAB_00049938:\n    if ((builtin == (sh_builtin_func_t *)PTR_mapfile_builtin_00144bf8) ||\n       (builtin == (sh_builtin_func_t *)PTR_fc_builtin_00144bfc)) {\nLAB_00049a2c:\n      uVar13 = 0;\n      if (subshell != 0) goto LAB_0004995c;\nLAB_00049a38:\n      puVar14 = (undefined4 *)PTR_temporary_env_00144858;\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);\n      if ((HASH_TABLE *)*puVar14 != (HASH_TABLE *)0x0) {\n        push_scope(8,(HASH_TABLE *)*puVar14);\n        if (((flags & 0x800U) == 0) && (uVar13 != 0)) {\n          puVar11 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar11 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar11);\nLAB_00049978:\n        uVar13 = 1;\n        *puVar14 = 0;\n        goto joined_r0x00049978;\n      }\n      uVar13 = 1;\n      piVar15 = (int *)PTR_evalnest_00144c38;\n      piVar16 = (int *)PTR_sourcenest_00144c44;\n      goto joined_r0x00049b04;\n    }\n    uVar13 = (uint)(builtin != (sh_builtin_func_t *)PTR_read_builtin_00144c00);\nLAB_00049954:\n    if (subshell == 0) goto LAB_00049a38;\nLAB_0004995c:\n    puVar14 = (undefined4 *)PTR_temporary_env_00144858;\n    uVar13 = subshell;\n    if (*(HASH_TABLE **)PTR_temporary_env_00144858 != (HASH_TABLE *)0x0) {\n      push_scope(8,*(HASH_TABLE **)PTR_temporary_env_00144858);\n      goto LAB_00049978;\n    }\nLAB_00049830:\n    puVar11 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    iVar7 = *(int *)PTR_executing_builtin_00144c04 + 1;\n    pWVar8 = words->next;\n    uVar4 = (uint)(builtin == (sh_builtin_func_t *)PTR_command_builtin_00144bec) |\n            *(uint *)PTR_executing_command_builtin_00144c08;\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\nLAB_000499c8:\n      puVar11 = PTR_executing_command_builtin_00144c08;\n      puVar2 = PTR_posixly_correct_0014458c;\n      *(int *)PTR_executing_builtin_00144c04 = iVar7;\n      *(uint *)puVar11 = uVar4;\n      iVar7 = (*builtin)(pWVar8);\n      if (*(int *)puVar2 != 0) {\n        if (subshell != 0) goto LAB_00049880;\n        if (builtin == (sh_builtin_func_t *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }\n    }\n    else {\n      *(int *)PTR_executing_builtin_00144c04 = iVar7;\n      *(uint *)puVar11 = uVar4;\n      iVar7 = (*builtin)(pWVar8);\n      if (*(int *)puVar2 != 0) goto LAB_00049880;\n    }\n    if (subshell != 0) goto LAB_00049880;\n  }\nLAB_00049a90:\n  if (uVar13 != 0) {\n    (*(code *)PTR_run_unwind_frame_00144c34)(PTR_LAB_00144578 + 0x6924);\n  }\nLAB_00049880:\n  if (bVar1) {\n    *(int *)PTR_builtin_ignoring_errexit_00144c0c = iStack_30;\n    if (iStack_30 == 0) {\n      uVar9 = *(undefined4 *)PTR_errexit_flag_00144c10;\n    }\n    else {\n      uVar9 = 0;\n    }\n    *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = uVar9;\n    if (iVar12 != 0) {\n      (*(code *)PTR_set_error_trap_00144c14)(iVar12);\n      (*(code *)PTR_free_001464fc)(iVar12);\n    }\n    (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6914);\n  }\n  return iVar7;\n}" primitive_type (function_declarator "execute_builtin(sh_builtin_func_t *builtin,WORD_LIST *words,int flags,int subshell)" identifier (parameter_list "(sh_builtin_func_t *builtin,WORD_LIST *words,int flags,int subshell)" ( (parameter_declaration "sh_builtin_func_t *builtin" type_identifier (pointer_declarator "*builtin" * identifier)) , (parameter_declaration "WORD_LIST *words" type_identifier (pointer_declarator "*words" * identifier)) , (parameter_declaration "int flags" primitive_type identifier) , (parameter_declaration "int subshell" primitive_type identifier) ))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  uint uVar4;\n  uint uVar5;\n  char *pcVar6;\n  int iVar7;\n  WORD_LIST *pWVar8;\n  undefined4 uVar9;\n  word_list *pwVar10;\n  undefined *puVar11;\n  int iVar12;\n  int isbltinenv;\n  uint uVar13;\n  undefined4 *puVar14;\n  int *piVar15;\n  int *piVar16;\n  int iStack_30;\n  \n  puVar2 = PTR_source_builtin_00144bf0;\n  if (subshell == 0) {\n    if ((flags & 8U) == 0) {\n      iVar12 = 0;\n      bVar1 = false;\n      goto LAB_00049928;\n    }\n    if (((builtin == (sh_builtin_func_t *)PTR_eval_builtin_00144be8) ||\n        (builtin == (sh_builtin_func_t *)PTR_command_builtin_00144bec)) ||\n       (bVar1 = false, builtin == (sh_builtin_func_t *)PTR_source_builtin_00144bf0)) {\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4);\n      iVar12 = (*(code *)PTR_signal_is_trapped_00144664)(0x81);\n      if (((iVar12 == 0) || (iVar12 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar12 != 0))\n         || (iVar12 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar12 == 0)) {\n        iVar12 = 0;\n      }\n      else {\n        iVar7 = (*(code *)PTR_strlen_00146390)(iVar12);\n        uVar9 = (*(code *)PTR_xmalloc_001445b0)(iVar7 + 1);\n        iVar12 = (*(code *)PTR_strcpy_00146418)(uVar9,iVar12);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar12);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar12);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }\n      puVar11 = PTR_builtin_ignoring_errexit_00144c0c;\n      bVar1 = true;\n      iStack_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c;\n      *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0;\n      *(undefined4 *)puVar11 = 1;\n      goto LAB_00049928;\n    }\n    iVar12 = 0;\nLAB_00049808:\n    if (builtin == (sh_builtin_func_t *)PTR_unset_builtin_00144bf4) goto LAB_00049938;\n    if ((builtin == (sh_builtin_func_t *)PTR_mapfile_builtin_00144bf8) ||\n       (builtin == (sh_builtin_func_t *)PTR_fc_builtin_00144bfc)) goto LAB_00049a2c;\n    uVar13 = 0;\n    if (builtin == (sh_builtin_func_t *)PTR_read_builtin_00144c00) goto LAB_00049954;\njoined_r0x00049978:\n    piVar15 = (int *)PTR_evalnest_00144c38;\n    piVar16 = (int *)PTR_sourcenest_00144c44;\n    if (subshell != 0) goto LAB_00049830;\njoined_r0x00049b04:\n    PTR_evalnest_00144c38 = (undefined *)piVar15;\n    PTR_sourcenest_00144c44 = (undefined *)piVar16;\n    if (builtin == (sh_builtin_func_t *)PTR_eval_builtin_00144be8) {\n      if ((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar15)\n         ) {\n        pcVar6 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);\n        internal_error(pcVar6,*piVar15);\n        piVar16 = piVar15;\n        goto LAB_00049d4c;\n      }\nLAB_00049b38:\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(piVar15,4);\n      *piVar15 = *piVar15 + 1;\n    }\n    else if (builtin == (sh_builtin_func_t *)puVar2) {\n      piVar15 = piVar16;\n      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar16)) {\n        do {\n          pcVar6 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(pcVar6,*(undefined4 *)PTR_this_command_name_00144728,*piVar16);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar16 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }\n      goto LAB_00049b38;\n    }\n    puVar11 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    uVar4 = (uint)(builtin == (sh_builtin_func_t *)PTR_command_builtin_00144bec);\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\n      pWVar8 = words->next;\n      iVar7 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08;\n      goto LAB_000499c8;\n    }\n    if (builtin == (sh_builtin_func_t *)PTR_return_builtin_00144c28) {\n      if (((flags & 0x800U) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)) {\n        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);\n      }\n      puVar3 = PTR_return_builtin_00144c28;\n      puVar11 = PTR_executing_command_builtin_00144c08;\n      pwVar10 = words->next;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar11 = uVar5 | uVar4;\n      iVar7 = (*(code *)puVar3)(pwVar10);\n      if (*(int *)puVar2 == 0) goto LAB_00049a90;\nLAB_000499f4:\n      if (*(int *)PTR_temporary_env_00144858 != 0) {\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }\n    }\n    else {\n      pWVar8 = words->next;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar11 = uVar5 | uVar4;\n      iVar7 = (*builtin)(pWVar8);\n    }\n  }\n  else {\n    iVar12 = 0;\n    bVar1 = false;\nLAB_00049928:\n    if ((builtin != (sh_builtin_func_t *)puVar2) &&\n       (builtin != (sh_builtin_func_t *)PTR_eval_builtin_00144be8)) goto LAB_00049808;\nLAB_00049938:\n    if ((builtin == (sh_builtin_func_t *)PTR_mapfile_builtin_00144bf8) ||\n       (builtin == (sh_builtin_func_t *)PTR_fc_builtin_00144bfc)) {\nLAB_00049a2c:\n      uVar13 = 0;\n      if (subshell != 0) goto LAB_0004995c;\nLAB_00049a38:\n      puVar14 = (undefined4 *)PTR_temporary_env_00144858;\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);\n      if ((HASH_TABLE *)*puVar14 != (HASH_TABLE *)0x0) {\n        push_scope(8,(HASH_TABLE *)*puVar14);\n        if (((flags & 0x800U) == 0) && (uVar13 != 0)) {\n          puVar11 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar11 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar11);\nLAB_00049978:\n        uVar13 = 1;\n        *puVar14 = 0;\n        goto joined_r0x00049978;\n      }\n      uVar13 = 1;\n      piVar15 = (int *)PTR_evalnest_00144c38;\n      piVar16 = (int *)PTR_sourcenest_00144c44;\n      goto joined_r0x00049b04;\n    }\n    uVar13 = (uint)(builtin != (sh_builtin_func_t *)PTR_read_builtin_00144c00);\nLAB_00049954:\n    if (subshell == 0) goto LAB_00049a38;\nLAB_0004995c:\n    puVar14 = (undefined4 *)PTR_temporary_env_00144858;\n    uVar13 = subshell;\n    if (*(HASH_TABLE **)PTR_temporary_env_00144858 != (HASH_TABLE *)0x0) {\n      push_scope(8,*(HASH_TABLE **)PTR_temporary_env_00144858);\n      goto LAB_00049978;\n    }\nLAB_00049830:\n    puVar11 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    iVar7 = *(int *)PTR_executing_builtin_00144c04 + 1;\n    pWVar8 = words->next;\n    uVar4 = (uint)(builtin == (sh_builtin_func_t *)PTR_command_builtin_00144bec) |\n            *(uint *)PTR_executing_command_builtin_00144c08;\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\nLAB_000499c8:\n      puVar11 = PTR_executing_command_builtin_00144c08;\n      puVar2 = PTR_posixly_correct_0014458c;\n      *(int *)PTR_executing_builtin_00144c04 = iVar7;\n      *(uint *)puVar11 = uVar4;\n      iVar7 = (*builtin)(pWVar8);\n      if (*(int *)puVar2 != 0) {\n        if (subshell != 0) goto LAB_00049880;\n        if (builtin == (sh_builtin_func_t *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }\n    }\n    else {\n      *(int *)PTR_executing_builtin_00144c04 = iVar7;\n      *(uint *)puVar11 = uVar4;\n      iVar7 = (*builtin)(pWVar8);\n      if (*(int *)puVar2 != 0) goto LAB_00049880;\n    }\n    if (subshell != 0) goto LAB_00049880;\n  }\nLAB_00049a90:\n  if (uVar13 != 0) {\n    (*(code *)PTR_run_unwind_frame_00144c34)(PTR_LAB_00144578 + 0x6924);\n  }\nLAB_00049880:\n  if (bVar1) {\n    *(int *)PTR_builtin_ignoring_errexit_00144c0c = iStack_30;\n    if (iStack_30 == 0) {\n      uVar9 = *(undefined4 *)PTR_errexit_flag_00144c10;\n    }\n    else {\n      uVar9 = 0;\n    }\n    *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = uVar9;\n    if (iVar12 != 0) {\n      (*(code *)PTR_set_error_trap_00144c14)(iVar12);\n      (*(code *)PTR_free_001464fc)(iVar12);\n    }\n    (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6914);\n  }\n  return iVar7;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "WORD_LIST *pWVar8;" type_identifier (pointer_declarator "*pWVar8" * identifier) ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "word_list *pwVar10;" type_identifier (pointer_declarator "*pwVar10" * identifier) ;) (declaration "undefined *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int isbltinenv;" primitive_type identifier ;) (declaration "uint uVar13;" type_identifier identifier ;) (declaration "undefined4 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "int *piVar15;" primitive_type (pointer_declarator "*piVar15" * identifier) ;) (declaration "int *piVar16;" primitive_type (pointer_declarator "*piVar16" * identifier) ;) (declaration "int iStack_30;" primitive_type identifier ;) (expression_statement "puVar2 = PTR_source_builtin_00144bf0;" (assignment_expression "puVar2 = PTR_source_builtin_00144bf0" identifier = identifier) ;) (if_statement "if (subshell == 0) {\n    if ((flags & 8U) == 0) {\n      iVar12 = 0;\n      bVar1 = false;\n      goto LAB_00049928;\n    }\n    if (((builtin == (sh_builtin_func_t *)PTR_eval_builtin_00144be8) ||\n        (builtin == (sh_builtin_func_t *)PTR_command_builtin_00144bec)) ||\n       (bVar1 = false, builtin == (sh_builtin_func_t *)PTR_source_builtin_00144bf0)) {\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4);\n      iVar12 = (*(code *)PTR_signal_is_trapped_00144664)(0x81);\n      if (((iVar12 == 0) || (iVar12 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar12 != 0))\n         || (iVar12 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar12 == 0)) {\n        iVar12 = 0;\n      }\n      else {\n        iVar7 = (*(code *)PTR_strlen_00146390)(iVar12);\n        uVar9 = (*(code *)PTR_xmalloc_001445b0)(iVar7 + 1);\n        iVar12 = (*(code *)PTR_strcpy_00146418)(uVar9,iVar12);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar12);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar12);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }\n      puVar11 = PTR_builtin_ignoring_errexit_00144c0c;\n      bVar1 = true;\n      iStack_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c;\n      *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0;\n      *(undefined4 *)puVar11 = 1;\n      goto LAB_00049928;\n    }\n    iVar12 = 0;\nLAB_00049808:\n    if (builtin == (sh_builtin_func_t *)PTR_unset_builtin_00144bf4) goto LAB_00049938;\n    if ((builtin == (sh_builtin_func_t *)PTR_mapfile_builtin_00144bf8) ||\n       (builtin == (sh_builtin_func_t *)PTR_fc_builtin_00144bfc)) goto LAB_00049a2c;\n    uVar13 = 0;\n    if (builtin == (sh_builtin_func_t *)PTR_read_builtin_00144c00) goto LAB_00049954;\njoined_r0x00049978:\n    piVar15 = (int *)PTR_evalnest_00144c38;\n    piVar16 = (int *)PTR_sourcenest_00144c44;\n    if (subshell != 0) goto LAB_00049830;\njoined_r0x00049b04:\n    PTR_evalnest_00144c38 = (undefined *)piVar15;\n    PTR_sourcenest_00144c44 = (undefined *)piVar16;\n    if (builtin == (sh_builtin_func_t *)PTR_eval_builtin_00144be8) {\n      if ((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar15)\n         ) {\n        pcVar6 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);\n        internal_error(pcVar6,*piVar15);\n        piVar16 = piVar15;\n        goto LAB_00049d4c;\n      }\nLAB_00049b38:\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(piVar15,4);\n      *piVar15 = *piVar15 + 1;\n    }\n    else if (builtin == (sh_builtin_func_t *)puVar2) {\n      piVar15 = piVar16;\n      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar16)) {\n        do {\n          pcVar6 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(pcVar6,*(undefined4 *)PTR_this_command_name_00144728,*piVar16);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar16 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }\n      goto LAB_00049b38;\n    }\n    puVar11 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    uVar4 = (uint)(builtin == (sh_builtin_func_t *)PTR_command_builtin_00144bec);\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\n      pWVar8 = words->next;\n      iVar7 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08;\n      goto LAB_000499c8;\n    }\n    if (builtin == (sh_builtin_func_t *)PTR_return_builtin_00144c28) {\n      if (((flags & 0x800U) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)) {\n        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);\n      }\n      puVar3 = PTR_return_builtin_00144c28;\n      puVar11 = PTR_executing_command_builtin_00144c08;\n      pwVar10 = words->next;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar11 = uVar5 | uVar4;\n      iVar7 = (*(code *)puVar3)(pwVar10);\n      if (*(int *)puVar2 == 0) goto LAB_00049a90;\nLAB_000499f4:\n      if (*(int *)PTR_temporary_env_00144858 != 0) {\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }\n    }\n    else {\n      pWVar8 = words->next;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar11 = uVar5 | uVar4;\n      iVar7 = (*builtin)(pWVar8);\n    }\n  }\n  else {\n    iVar12 = 0;\n    bVar1 = false;\nLAB_00049928:\n    if ((builtin != (sh_builtin_func_t *)puVar2) &&\n       (builtin != (sh_builtin_func_t *)PTR_eval_builtin_00144be8)) goto LAB_00049808;\nLAB_00049938:\n    if ((builtin == (sh_builtin_func_t *)PTR_mapfile_builtin_00144bf8) ||\n       (builtin == (sh_builtin_func_t *)PTR_fc_builtin_00144bfc)) {\nLAB_00049a2c:\n      uVar13 = 0;\n      if (subshell != 0) goto LAB_0004995c;\nLAB_00049a38:\n      puVar14 = (undefined4 *)PTR_temporary_env_00144858;\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);\n      if ((HASH_TABLE *)*puVar14 != (HASH_TABLE *)0x0) {\n        push_scope(8,(HASH_TABLE *)*puVar14);\n        if (((flags & 0x800U) == 0) && (uVar13 != 0)) {\n          puVar11 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar11 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar11);\nLAB_00049978:\n        uVar13 = 1;\n        *puVar14 = 0;\n        goto joined_r0x00049978;\n      }\n      uVar13 = 1;\n      piVar15 = (int *)PTR_evalnest_00144c38;\n      piVar16 = (int *)PTR_sourcenest_00144c44;\n      goto joined_r0x00049b04;\n    }\n    uVar13 = (uint)(builtin != (sh_builtin_func_t *)PTR_read_builtin_00144c00);\nLAB_00049954:\n    if (subshell == 0) goto LAB_00049a38;\nLAB_0004995c:\n    puVar14 = (undefined4 *)PTR_temporary_env_00144858;\n    uVar13 = subshell;\n    if (*(HASH_TABLE **)PTR_temporary_env_00144858 != (HASH_TABLE *)0x0) {\n      push_scope(8,*(HASH_TABLE **)PTR_temporary_env_00144858);\n      goto LAB_00049978;\n    }\nLAB_00049830:\n    puVar11 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    iVar7 = *(int *)PTR_executing_builtin_00144c04 + 1;\n    pWVar8 = words->next;\n    uVar4 = (uint)(builtin == (sh_builtin_func_t *)PTR_command_builtin_00144bec) |\n            *(uint *)PTR_executing_command_builtin_00144c08;\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\nLAB_000499c8:\n      puVar11 = PTR_executing_command_builtin_00144c08;\n      puVar2 = PTR_posixly_correct_0014458c;\n      *(int *)PTR_executing_builtin_00144c04 = iVar7;\n      *(uint *)puVar11 = uVar4;\n      iVar7 = (*builtin)(pWVar8);\n      if (*(int *)puVar2 != 0) {\n        if (subshell != 0) goto LAB_00049880;\n        if (builtin == (sh_builtin_func_t *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }\n    }\n    else {\n      *(int *)PTR_executing_builtin_00144c04 = iVar7;\n      *(uint *)puVar11 = uVar4;\n      iVar7 = (*builtin)(pWVar8);\n      if (*(int *)puVar2 != 0) goto LAB_00049880;\n    }\n    if (subshell != 0) goto LAB_00049880;\n  }" if (parenthesized_expression "(subshell == 0)" ( (binary_expression "subshell == 0" identifier == number_literal) )) (compound_statement "{\n    if ((flags & 8U) == 0) {\n      iVar12 = 0;\n      bVar1 = false;\n      goto LAB_00049928;\n    }\n    if (((builtin == (sh_builtin_func_t *)PTR_eval_builtin_00144be8) ||\n        (builtin == (sh_builtin_func_t *)PTR_command_builtin_00144bec)) ||\n       (bVar1 = false, builtin == (sh_builtin_func_t *)PTR_source_builtin_00144bf0)) {\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4);\n      iVar12 = (*(code *)PTR_signal_is_trapped_00144664)(0x81);\n      if (((iVar12 == 0) || (iVar12 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar12 != 0))\n         || (iVar12 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar12 == 0)) {\n        iVar12 = 0;\n      }\n      else {\n        iVar7 = (*(code *)PTR_strlen_00146390)(iVar12);\n        uVar9 = (*(code *)PTR_xmalloc_001445b0)(iVar7 + 1);\n        iVar12 = (*(code *)PTR_strcpy_00146418)(uVar9,iVar12);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar12);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar12);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }\n      puVar11 = PTR_builtin_ignoring_errexit_00144c0c;\n      bVar1 = true;\n      iStack_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c;\n      *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0;\n      *(undefined4 *)puVar11 = 1;\n      goto LAB_00049928;\n    }\n    iVar12 = 0;\nLAB_00049808:\n    if (builtin == (sh_builtin_func_t *)PTR_unset_builtin_00144bf4) goto LAB_00049938;\n    if ((builtin == (sh_builtin_func_t *)PTR_mapfile_builtin_00144bf8) ||\n       (builtin == (sh_builtin_func_t *)PTR_fc_builtin_00144bfc)) goto LAB_00049a2c;\n    uVar13 = 0;\n    if (builtin == (sh_builtin_func_t *)PTR_read_builtin_00144c00) goto LAB_00049954;\njoined_r0x00049978:\n    piVar15 = (int *)PTR_evalnest_00144c38;\n    piVar16 = (int *)PTR_sourcenest_00144c44;\n    if (subshell != 0) goto LAB_00049830;\njoined_r0x00049b04:\n    PTR_evalnest_00144c38 = (undefined *)piVar15;\n    PTR_sourcenest_00144c44 = (undefined *)piVar16;\n    if (builtin == (sh_builtin_func_t *)PTR_eval_builtin_00144be8) {\n      if ((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar15)\n         ) {\n        pcVar6 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);\n        internal_error(pcVar6,*piVar15);\n        piVar16 = piVar15;\n        goto LAB_00049d4c;\n      }\nLAB_00049b38:\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(piVar15,4);\n      *piVar15 = *piVar15 + 1;\n    }\n    else if (builtin == (sh_builtin_func_t *)puVar2) {\n      piVar15 = piVar16;\n      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar16)) {\n        do {\n          pcVar6 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(pcVar6,*(undefined4 *)PTR_this_command_name_00144728,*piVar16);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar16 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }\n      goto LAB_00049b38;\n    }\n    puVar11 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    uVar4 = (uint)(builtin == (sh_builtin_func_t *)PTR_command_builtin_00144bec);\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\n      pWVar8 = words->next;\n      iVar7 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08;\n      goto LAB_000499c8;\n    }\n    if (builtin == (sh_builtin_func_t *)PTR_return_builtin_00144c28) {\n      if (((flags & 0x800U) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)) {\n        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);\n      }\n      puVar3 = PTR_return_builtin_00144c28;\n      puVar11 = PTR_executing_command_builtin_00144c08;\n      pwVar10 = words->next;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar11 = uVar5 | uVar4;\n      iVar7 = (*(code *)puVar3)(pwVar10);\n      if (*(int *)puVar2 == 0) goto LAB_00049a90;\nLAB_000499f4:\n      if (*(int *)PTR_temporary_env_00144858 != 0) {\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }\n    }\n    else {\n      pWVar8 = words->next;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar11 = uVar5 | uVar4;\n      iVar7 = (*builtin)(pWVar8);\n    }\n  }" { (if_statement "if ((flags & 8U) == 0) {\n      iVar12 = 0;\n      bVar1 = false;\n      goto LAB_00049928;\n    }" if (parenthesized_expression "((flags & 8U) == 0)" ( (binary_expression "(flags & 8U) == 0" (parenthesized_expression "(flags & 8U)" ( (binary_expression "flags & 8U" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      iVar12 = 0;\n      bVar1 = false;\n      goto LAB_00049928;\n    }" { (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (goto_statement "goto LAB_00049928;" goto statement_identifier ;) })) (if_statement "if (((builtin == (sh_builtin_func_t *)PTR_eval_builtin_00144be8) ||\n        (builtin == (sh_builtin_func_t *)PTR_command_builtin_00144bec)) ||\n       (bVar1 = false, builtin == (sh_builtin_func_t *)PTR_source_builtin_00144bf0)) {\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4);\n      iVar12 = (*(code *)PTR_signal_is_trapped_00144664)(0x81);\n      if (((iVar12 == 0) || (iVar12 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar12 != 0))\n         || (iVar12 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar12 == 0)) {\n        iVar12 = 0;\n      }\n      else {\n        iVar7 = (*(code *)PTR_strlen_00146390)(iVar12);\n        uVar9 = (*(code *)PTR_xmalloc_001445b0)(iVar7 + 1);\n        iVar12 = (*(code *)PTR_strcpy_00146418)(uVar9,iVar12);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar12);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar12);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }\n      puVar11 = PTR_builtin_ignoring_errexit_00144c0c;\n      bVar1 = true;\n      iStack_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c;\n      *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0;\n      *(undefined4 *)puVar11 = 1;\n      goto LAB_00049928;\n    }" if (parenthesized_expression "(((builtin == (sh_builtin_func_t *)PTR_eval_builtin_00144be8) ||\n        (builtin == (sh_builtin_func_t *)PTR_command_builtin_00144bec)) ||\n       (bVar1 = false, builtin == (sh_builtin_func_t *)PTR_source_builtin_00144bf0))" ( (binary_expression "((builtin == (sh_builtin_func_t *)PTR_eval_builtin_00144be8) ||\n        (builtin == (sh_builtin_func_t *)PTR_command_builtin_00144bec)) ||\n       (bVar1 = false, builtin == (sh_builtin_func_t *)PTR_source_builtin_00144bf0)" (parenthesized_expression "((builtin == (sh_builtin_func_t *)PTR_eval_builtin_00144be8) ||\n        (builtin == (sh_builtin_func_t *)PTR_command_builtin_00144bec))" ( (binary_expression "(builtin == (sh_builtin_func_t *)PTR_eval_builtin_00144be8) ||\n        (builtin == (sh_builtin_func_t *)PTR_command_builtin_00144bec)" (parenthesized_expression "(builtin == (sh_builtin_func_t *)PTR_eval_builtin_00144be8)" ( (binary_expression "builtin == (sh_builtin_func_t *)PTR_eval_builtin_00144be8" identifier == (cast_expression "(sh_builtin_func_t *)PTR_eval_builtin_00144be8" ( (type_descriptor "sh_builtin_func_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) || (parenthesized_expression "(builtin == (sh_builtin_func_t *)PTR_command_builtin_00144bec)" ( (binary_expression "builtin == (sh_builtin_func_t *)PTR_command_builtin_00144bec" identifier == (cast_expression "(sh_builtin_func_t *)PTR_command_builtin_00144bec" ( (type_descriptor "sh_builtin_func_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) )) || (parenthesized_expression "(bVar1 = false, builtin == (sh_builtin_func_t *)PTR_source_builtin_00144bf0)" ( (comma_expression "bVar1 = false, builtin == (sh_builtin_func_t *)PTR_source_builtin_00144bf0" (assignment_expression "bVar1 = false" identifier = false) , (binary_expression "builtin == (sh_builtin_func_t *)PTR_source_builtin_00144bf0" identifier == (cast_expression "(sh_builtin_func_t *)PTR_source_builtin_00144bf0" ( (type_descriptor "sh_builtin_func_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ))) )) (compound_statement "{\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4);\n      iVar12 = (*(code *)PTR_signal_is_trapped_00144664)(0x81);\n      if (((iVar12 == 0) || (iVar12 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar12 != 0))\n         || (iVar12 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar12 == 0)) {\n        iVar12 = 0;\n      }\n      else {\n        iVar7 = (*(code *)PTR_strlen_00146390)(iVar12);\n        uVar9 = (*(code *)PTR_xmalloc_001445b0)(iVar7 + 1);\n        iVar12 = (*(code *)PTR_strcpy_00146418)(uVar9,iVar12);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar12);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar12);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }\n      puVar11 = PTR_builtin_ignoring_errexit_00144c0c;\n      bVar1 = true;\n      iStack_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c;\n      *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0;\n      *(undefined4 *)puVar11 = 1;\n      goto LAB_00049928;\n    }" { (expression_statement "(*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914);" (call_expression "(*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914)" (parenthesized_expression "(*(code *)PTR_begin_unwind_frame_00144c2c)" ( (pointer_expression "*(code *)PTR_begin_unwind_frame_00144c2c" * (cast_expression "(code *)PTR_begin_unwind_frame_00144c2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_00144578 + 0x6914)" ( (binary_expression "PTR_LAB_00144578 + 0x6914" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4);" (call_expression "(*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4)" (parenthesized_expression "(*(code *)PTR_unwind_protect_mem_00144c3c)" ( (pointer_expression "*(code *)PTR_unwind_protect_mem_00144c3c" * (cast_expression "(code *)PTR_unwind_protect_mem_00144c3c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_exit_immediately_on_error_001445f0,4)" ( identifier , number_literal ))) ;) (expression_statement "(*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4);" (call_expression "(*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4)" (parenthesized_expression "(*(code *)PTR_unwind_protect_mem_00144c3c)" ( (pointer_expression "*(code *)PTR_unwind_protect_mem_00144c3c" * (cast_expression "(code *)PTR_unwind_protect_mem_00144c3c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_builtin_ignoring_errexit_00144c0c,4)" ( identifier , number_literal ))) ;) (expression_statement "iVar12 = (*(code *)PTR_signal_is_trapped_00144664)(0x81);" (assignment_expression "iVar12 = (*(code *)PTR_signal_is_trapped_00144664)(0x81)" identifier = (call_expression "(*(code *)PTR_signal_is_trapped_00144664)(0x81)" (parenthesized_expression "(*(code *)PTR_signal_is_trapped_00144664)" ( (pointer_expression "*(code *)PTR_signal_is_trapped_00144664" * (cast_expression "(code *)PTR_signal_is_trapped_00144664" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x81)" ( number_literal )))) ;) (if_statement "if (((iVar12 == 0) || (iVar12 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar12 != 0))\n         || (iVar12 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar12 == 0)) {\n        iVar12 = 0;\n      }\n      else {\n        iVar7 = (*(code *)PTR_strlen_00146390)(iVar12);\n        uVar9 = (*(code *)PTR_xmalloc_001445b0)(iVar7 + 1);\n        iVar12 = (*(code *)PTR_strcpy_00146418)(uVar9,iVar12);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar12);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar12);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }" if (parenthesized_expression "(((iVar12 == 0) || (iVar12 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar12 != 0))\n         || (iVar12 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar12 == 0))" ( (binary_expression "((iVar12 == 0) || (iVar12 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar12 != 0))\n         || (iVar12 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar12 == 0)" (parenthesized_expression "((iVar12 == 0) || (iVar12 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar12 != 0))" ( (binary_expression "(iVar12 == 0) || (iVar12 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar12 != 0)" (parenthesized_expression "(iVar12 == 0)" ( (binary_expression "iVar12 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar12 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar12 != 0)" ( (comma_expression "iVar12 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar12 != 0" (assignment_expression "iVar12 = (*(code *)PTR_signal_is_ignored_00144880)(0x81)" identifier = (call_expression "(*(code *)PTR_signal_is_ignored_00144880)(0x81)" (parenthesized_expression "(*(code *)PTR_signal_is_ignored_00144880)" ( (pointer_expression "*(code *)PTR_signal_is_ignored_00144880" * (cast_expression "(code *)PTR_signal_is_ignored_00144880" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x81)" ( number_literal )))) , (binary_expression "iVar12 != 0" identifier != number_literal)) ))) )) || (parenthesized_expression "(iVar12 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar12 == 0)" ( (comma_expression "iVar12 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar12 == 0" (assignment_expression "iVar12 = *(int *)(PTR_trap_list_00144c48 + 0x204)" identifier = (pointer_expression "*(int *)(PTR_trap_list_00144c48 + 0x204)" * (cast_expression "(int *)(PTR_trap_list_00144c48 + 0x204)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_trap_list_00144c48 + 0x204)" ( (binary_expression "PTR_trap_list_00144c48 + 0x204" identifier + number_literal) ))))) , (binary_expression "iVar12 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        iVar12 = 0;\n      }" { (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        iVar7 = (*(code *)PTR_strlen_00146390)(iVar12);\n        uVar9 = (*(code *)PTR_xmalloc_001445b0)(iVar7 + 1);\n        iVar12 = (*(code *)PTR_strcpy_00146418)(uVar9,iVar12);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar12);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar12);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }" else (compound_statement "{\n        iVar7 = (*(code *)PTR_strlen_00146390)(iVar12);\n        uVar9 = (*(code *)PTR_xmalloc_001445b0)(iVar7 + 1);\n        iVar12 = (*(code *)PTR_strcpy_00146418)(uVar9,iVar12);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar12);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar12);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }" { (expression_statement "iVar7 = (*(code *)PTR_strlen_00146390)(iVar12);" (assignment_expression "iVar7 = (*(code *)PTR_strlen_00146390)(iVar12)" identifier = (call_expression "(*(code *)PTR_strlen_00146390)(iVar12)" (parenthesized_expression "(*(code *)PTR_strlen_00146390)" ( (pointer_expression "*(code *)PTR_strlen_00146390" * (cast_expression "(code *)PTR_strlen_00146390" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar12)" ( identifier )))) ;) (expression_statement "uVar9 = (*(code *)PTR_xmalloc_001445b0)(iVar7 + 1);" (assignment_expression "uVar9 = (*(code *)PTR_xmalloc_001445b0)(iVar7 + 1)" identifier = (call_expression "(*(code *)PTR_xmalloc_001445b0)(iVar7 + 1)" (parenthesized_expression "(*(code *)PTR_xmalloc_001445b0)" ( (pointer_expression "*(code *)PTR_xmalloc_001445b0" * (cast_expression "(code *)PTR_xmalloc_001445b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7 + 1)" ( (binary_expression "iVar7 + 1" identifier + number_literal) )))) ;) (expression_statement "iVar12 = (*(code *)PTR_strcpy_00146418)(uVar9,iVar12);" (assignment_expression "iVar12 = (*(code *)PTR_strcpy_00146418)(uVar9,iVar12)" identifier = (call_expression "(*(code *)PTR_strcpy_00146418)(uVar9,iVar12)" (parenthesized_expression "(*(code *)PTR_strcpy_00146418)" ( (pointer_expression "*(code *)PTR_strcpy_00146418" * (cast_expression "(code *)PTR_strcpy_00146418" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar9,iVar12)" ( identifier , identifier )))) ;) (expression_statement "(*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar12);" (call_expression "(*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar12)" (parenthesized_expression "(*(code *)PTR_add_unwind_protect_00144b68)" ( (pointer_expression "*(code *)PTR_add_unwind_protect_00144b68" * (cast_expression "(code *)PTR_add_unwind_protect_00144b68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_xfree_00144b88,iVar12)" ( identifier , identifier ))) ;) (expression_statement "(*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar12);" (call_expression "(*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar12)" (parenthesized_expression "(*(code *)PTR_add_unwind_protect_00144b68)" ( (pointer_expression "*(code *)PTR_add_unwind_protect_00144b68" * (cast_expression "(code *)PTR_add_unwind_protect_00144b68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_set_error_trap_00144c14,iVar12)" ( identifier , identifier ))) ;) (expression_statement "(*(code *)PTR_restore_default_signal_00144c4c)(0x81);" (call_expression "(*(code *)PTR_restore_default_signal_00144c4c)(0x81)" (parenthesized_expression "(*(code *)PTR_restore_default_signal_00144c4c)" ( (pointer_expression "*(code *)PTR_restore_default_signal_00144c4c" * (cast_expression "(code *)PTR_restore_default_signal_00144c4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x81)" ( number_literal ))) ;) }))) (expression_statement "puVar11 = PTR_builtin_ignoring_errexit_00144c0c;" (assignment_expression "puVar11 = PTR_builtin_ignoring_errexit_00144c0c" identifier = identifier) ;) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (expression_statement "iStack_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c;" (assignment_expression "iStack_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c" identifier = (pointer_expression "*(int *)PTR_builtin_ignoring_errexit_00144c0c" * (cast_expression "(int *)PTR_builtin_ignoring_errexit_00144c0c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0;" (assignment_expression "*(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0" (pointer_expression "*(undefined4 *)PTR_exit_immediately_on_error_001445f0" * (cast_expression "(undefined4 *)PTR_exit_immediately_on_error_001445f0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "*(undefined4 *)puVar11 = 1;" (assignment_expression "*(undefined4 *)puVar11 = 1" (pointer_expression "*(undefined4 *)puVar11" * (cast_expression "(undefined4 *)puVar11" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (goto_statement "goto LAB_00049928;" goto statement_identifier ;) })) (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00049808:\n    if (builtin == (sh_builtin_func_t *)PTR_unset_builtin_00144bf4) goto LAB_00049938;" statement_identifier : (if_statement "if (builtin == (sh_builtin_func_t *)PTR_unset_builtin_00144bf4) goto LAB_00049938;" if (parenthesized_expression "(builtin == (sh_builtin_func_t *)PTR_unset_builtin_00144bf4)" ( (binary_expression "builtin == (sh_builtin_func_t *)PTR_unset_builtin_00144bf4" identifier == (cast_expression "(sh_builtin_func_t *)PTR_unset_builtin_00144bf4" ( (type_descriptor "sh_builtin_func_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (goto_statement "goto LAB_00049938;" goto statement_identifier ;))) (if_statement "if ((builtin == (sh_builtin_func_t *)PTR_mapfile_builtin_00144bf8) ||\n       (builtin == (sh_builtin_func_t *)PTR_fc_builtin_00144bfc)) goto LAB_00049a2c;" if (parenthesized_expression "((builtin == (sh_builtin_func_t *)PTR_mapfile_builtin_00144bf8) ||\n       (builtin == (sh_builtin_func_t *)PTR_fc_builtin_00144bfc))" ( (binary_expression "(builtin == (sh_builtin_func_t *)PTR_mapfile_builtin_00144bf8) ||\n       (builtin == (sh_builtin_func_t *)PTR_fc_builtin_00144bfc)" (parenthesized_expression "(builtin == (sh_builtin_func_t *)PTR_mapfile_builtin_00144bf8)" ( (binary_expression "builtin == (sh_builtin_func_t *)PTR_mapfile_builtin_00144bf8" identifier == (cast_expression "(sh_builtin_func_t *)PTR_mapfile_builtin_00144bf8" ( (type_descriptor "sh_builtin_func_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) || (parenthesized_expression "(builtin == (sh_builtin_func_t *)PTR_fc_builtin_00144bfc)" ( (binary_expression "builtin == (sh_builtin_func_t *)PTR_fc_builtin_00144bfc" identifier == (cast_expression "(sh_builtin_func_t *)PTR_fc_builtin_00144bfc" ( (type_descriptor "sh_builtin_func_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) )) (goto_statement "goto LAB_00049a2c;" goto statement_identifier ;)) (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;) (if_statement "if (builtin == (sh_builtin_func_t *)PTR_read_builtin_00144c00) goto LAB_00049954;" if (parenthesized_expression "(builtin == (sh_builtin_func_t *)PTR_read_builtin_00144c00)" ( (binary_expression "builtin == (sh_builtin_func_t *)PTR_read_builtin_00144c00" identifier == (cast_expression "(sh_builtin_func_t *)PTR_read_builtin_00144c00" ( (type_descriptor "sh_builtin_func_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (goto_statement "goto LAB_00049954;" goto statement_identifier ;)) (labeled_statement "joined_r0x00049978:\n    piVar15 = (int *)PTR_evalnest_00144c38;" statement_identifier : (expression_statement "piVar15 = (int *)PTR_evalnest_00144c38;" (assignment_expression "piVar15 = (int *)PTR_evalnest_00144c38" identifier = (cast_expression "(int *)PTR_evalnest_00144c38" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "piVar16 = (int *)PTR_sourcenest_00144c44;" (assignment_expression "piVar16 = (int *)PTR_sourcenest_00144c44" identifier = (cast_expression "(int *)PTR_sourcenest_00144c44" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (subshell != 0) goto LAB_00049830;" if (parenthesized_expression "(subshell != 0)" ( (binary_expression "subshell != 0" identifier != number_literal) )) (goto_statement "goto LAB_00049830;" goto statement_identifier ;)) (labeled_statement "joined_r0x00049b04:\n    PTR_evalnest_00144c38 = (undefined *)piVar15;" statement_identifier : (expression_statement "PTR_evalnest_00144c38 = (undefined *)piVar15;" (assignment_expression "PTR_evalnest_00144c38 = (undefined *)piVar15" identifier = (cast_expression "(undefined *)piVar15" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "PTR_sourcenest_00144c44 = (undefined *)piVar16;" (assignment_expression "PTR_sourcenest_00144c44 = (undefined *)piVar16" identifier = (cast_expression "(undefined *)piVar16" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (builtin == (sh_builtin_func_t *)PTR_eval_builtin_00144be8) {\n      if ((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar15)\n         ) {\n        pcVar6 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);\n        internal_error(pcVar6,*piVar15);\n        piVar16 = piVar15;\n        goto LAB_00049d4c;\n      }\nLAB_00049b38:\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(piVar15,4);\n      *piVar15 = *piVar15 + 1;\n    }\n    else if (builtin == (sh_builtin_func_t *)puVar2) {\n      piVar15 = piVar16;\n      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar16)) {\n        do {\n          pcVar6 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(pcVar6,*(undefined4 *)PTR_this_command_name_00144728,*piVar16);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar16 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }\n      goto LAB_00049b38;\n    }" if (parenthesized_expression "(builtin == (sh_builtin_func_t *)PTR_eval_builtin_00144be8)" ( (binary_expression "builtin == (sh_builtin_func_t *)PTR_eval_builtin_00144be8" identifier == (cast_expression "(sh_builtin_func_t *)PTR_eval_builtin_00144be8" ( (type_descriptor "sh_builtin_func_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n      if ((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar15)\n         ) {\n        pcVar6 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);\n        internal_error(pcVar6,*piVar15);\n        piVar16 = piVar15;\n        goto LAB_00049d4c;\n      }\nLAB_00049b38:\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(piVar15,4);\n      *piVar15 = *piVar15 + 1;\n    }" { (if_statement "if ((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar15)\n         ) {\n        pcVar6 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);\n        internal_error(pcVar6,*piVar15);\n        piVar16 = piVar15;\n        goto LAB_00049d4c;\n      }" if (parenthesized_expression "((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar15)\n         )" ( (binary_expression "(0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar15)" (parenthesized_expression "(0 < *(int *)PTR_evalnest_max_00144c20)" ( (binary_expression "0 < *(int *)PTR_evalnest_max_00144c20" number_literal < (pointer_expression "*(int *)PTR_evalnest_max_00144c20" * (cast_expression "(int *)PTR_evalnest_max_00144c20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) && (parenthesized_expression "(*(int *)PTR_evalnest_max_00144c20 <= *piVar15)" ( (binary_expression "*(int *)PTR_evalnest_max_00144c20 <= *piVar15" (pointer_expression "*(int *)PTR_evalnest_max_00144c20" * (cast_expression "(int *)PTR_evalnest_max_00144c20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) <= (pointer_expression "*piVar15" * identifier)) ))) )) (compound_statement "{\n        pcVar6 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);\n        internal_error(pcVar6,*piVar15);\n        piVar16 = piVar15;\n        goto LAB_00049d4c;\n      }" { (expression_statement "pcVar6 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);" (assignment_expression "pcVar6 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5)" identifier = (cast_expression "(char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_00146498)" ( (pointer_expression "*(code *)PTR_dcgettext_00146498" * (cast_expression "(code *)PTR_dcgettext_00146498" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_00144578 + 0x6930,5)" ( number_literal , (binary_expression "PTR_LAB_00144578 + 0x6930" identifier + number_literal) , number_literal ))))) ;) (expression_statement "internal_error(pcVar6,*piVar15);" (call_expression "internal_error(pcVar6,*piVar15)" identifier (argument_list "(pcVar6,*piVar15)" ( identifier , (pointer_expression "*piVar15" * identifier) ))) ;) (expression_statement "piVar16 = piVar15;" (assignment_expression "piVar16 = piVar15" identifier = identifier) ;) (goto_statement "goto LAB_00049d4c;" goto statement_identifier ;) })) (labeled_statement "LAB_00049b38:\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(piVar15,4);" statement_identifier : (expression_statement "(*(code *)PTR_unwind_protect_mem_00144c3c)(piVar15,4);" (call_expression "(*(code *)PTR_unwind_protect_mem_00144c3c)(piVar15,4)" (parenthesized_expression "(*(code *)PTR_unwind_protect_mem_00144c3c)" ( (pointer_expression "*(code *)PTR_unwind_protect_mem_00144c3c" * (cast_expression "(code *)PTR_unwind_protect_mem_00144c3c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar15,4)" ( identifier , number_literal ))) ;)) (expression_statement "*piVar15 = *piVar15 + 1;" (assignment_expression "*piVar15 = *piVar15 + 1" (pointer_expression "*piVar15" * identifier) = (binary_expression "*piVar15 + 1" (pointer_expression "*piVar15" * identifier) + number_literal)) ;) }) (else_clause "else if (builtin == (sh_builtin_func_t *)puVar2) {\n      piVar15 = piVar16;\n      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar16)) {\n        do {\n          pcVar6 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(pcVar6,*(undefined4 *)PTR_this_command_name_00144728,*piVar16);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar16 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }\n      goto LAB_00049b38;\n    }" else (if_statement "if (builtin == (sh_builtin_func_t *)puVar2) {\n      piVar15 = piVar16;\n      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar16)) {\n        do {\n          pcVar6 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(pcVar6,*(undefined4 *)PTR_this_command_name_00144728,*piVar16);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar16 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }\n      goto LAB_00049b38;\n    }" if (parenthesized_expression "(builtin == (sh_builtin_func_t *)puVar2)" ( (binary_expression "builtin == (sh_builtin_func_t *)puVar2" identifier == (cast_expression "(sh_builtin_func_t *)puVar2" ( (type_descriptor "sh_builtin_func_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n      piVar15 = piVar16;\n      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar16)) {\n        do {\n          pcVar6 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(pcVar6,*(undefined4 *)PTR_this_command_name_00144728,*piVar16);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar16 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }\n      goto LAB_00049b38;\n    }" { (expression_statement "piVar15 = piVar16;" (assignment_expression "piVar15 = piVar16" identifier = identifier) ;) (if_statement "if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar16)) {\n        do {\n          pcVar6 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(pcVar6,*(undefined4 *)PTR_this_command_name_00144728,*piVar16);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar16 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }" if (parenthesized_expression "((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar16))" ( (binary_expression "(0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar16)" (parenthesized_expression "(0 < *(int *)PTR_sourcenest_max_00144c24)" ( (binary_expression "0 < *(int *)PTR_sourcenest_max_00144c24" number_literal < (pointer_expression "*(int *)PTR_sourcenest_max_00144c24" * (cast_expression "(int *)PTR_sourcenest_max_00144c24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) && (parenthesized_expression "(*(int *)PTR_sourcenest_max_00144c24 <= *piVar16)" ( (binary_expression "*(int *)PTR_sourcenest_max_00144c24 <= *piVar16" (pointer_expression "*(int *)PTR_sourcenest_max_00144c24" * (cast_expression "(int *)PTR_sourcenest_max_00144c24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) <= (pointer_expression "*piVar16" * identifier)) ))) )) (compound_statement "{\n        do {\n          pcVar6 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(pcVar6,*(undefined4 *)PTR_this_command_name_00144728,*piVar16);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar16 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }" { (do_statement "do {\n          pcVar6 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(pcVar6,*(undefined4 *)PTR_this_command_name_00144728,*piVar16);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar16 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );" do (compound_statement "{\n          pcVar6 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(pcVar6,*(undefined4 *)PTR_this_command_name_00144728,*piVar16);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar16 = 0;\n          (*(code *)puVar2)(2);\n        }" { (expression_statement "pcVar6 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);" (assignment_expression "pcVar6 = (char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960)" identifier = (cast_expression "(char *)(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960)" (parenthesized_expression "(*(code *)PTR_dcgettext_00146498)" ( (pointer_expression "*(code *)PTR_dcgettext_00146498" * (cast_expression "(code *)PTR_dcgettext_00146498" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_00144578 + 0x6960)" ( number_literal , (binary_expression "PTR_LAB_00144578 + 0x6960" identifier + number_literal) ))))) ;) (expression_statement "internal_error(pcVar6,*(undefined4 *)PTR_this_command_name_00144728,*piVar16);" (call_expression "internal_error(pcVar6,*(undefined4 *)PTR_this_command_name_00144728,*piVar16)" identifier (argument_list "(pcVar6,*(undefined4 *)PTR_this_command_name_00144728,*piVar16)" ( identifier , (pointer_expression "*(undefined4 *)PTR_this_command_name_00144728" * (cast_expression "(undefined4 *)PTR_this_command_name_00144728" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (pointer_expression "*piVar16" * identifier) ))) ;) (labeled_statement "LAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;" statement_identifier : (expression_statement "puVar2 = PTR_jump_to_top_level_00144808;" (assignment_expression "puVar2 = PTR_jump_to_top_level_00144808" identifier = identifier) ;)) (expression_statement "*piVar16 = 0;" (assignment_expression "*piVar16 = 0" (pointer_expression "*piVar16" * identifier) = number_literal) ;) (expression_statement "(*(code *)puVar2)(2);" (call_expression "(*(code *)puVar2)(2)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(2)" ( number_literal ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (goto_statement "goto LAB_00049b38;" goto statement_identifier ;) })))) (expression_statement "puVar11 = PTR_executing_command_builtin_00144c08;" (assignment_expression "puVar11 = PTR_executing_command_builtin_00144c08" identifier = identifier) ;) (expression_statement "puVar2 = PTR_posixly_correct_0014458c;" (assignment_expression "puVar2 = PTR_posixly_correct_0014458c" identifier = identifier) ;) (expression_statement "uVar4 = (uint)(builtin == (sh_builtin_func_t *)PTR_command_builtin_00144bec);" (assignment_expression "uVar4 = (uint)(builtin == (sh_builtin_func_t *)PTR_command_builtin_00144bec)" identifier = (call_expression "(uint)(builtin == (sh_builtin_func_t *)PTR_command_builtin_00144bec)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(builtin == (sh_builtin_func_t *)PTR_command_builtin_00144bec)" ( (binary_expression "builtin == (sh_builtin_func_t *)PTR_command_builtin_00144bec" identifier == (cast_expression "(sh_builtin_func_t *)PTR_command_builtin_00144bec" ( (type_descriptor "sh_builtin_func_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (*(int *)PTR_posixly_correct_0014458c == 0) {\n      pWVar8 = words->next;\n      iVar7 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08;\n      goto LAB_000499c8;\n    }" if (parenthesized_expression "(*(int *)PTR_posixly_correct_0014458c == 0)" ( (binary_expression "*(int *)PTR_posixly_correct_0014458c == 0" (pointer_expression "*(int *)PTR_posixly_correct_0014458c" * (cast_expression "(int *)PTR_posixly_correct_0014458c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) (compound_statement "{\n      pWVar8 = words->next;\n      iVar7 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08;\n      goto LAB_000499c8;\n    }" { (expression_statement "pWVar8 = words->next;" (assignment_expression "pWVar8 = words->next" identifier = (field_expression "words->next" identifier -> field_identifier)) ;) (expression_statement "iVar7 = *(int *)PTR_executing_builtin_00144c04 + 1;" (assignment_expression "iVar7 = *(int *)PTR_executing_builtin_00144c04 + 1" identifier = (binary_expression "*(int *)PTR_executing_builtin_00144c04 + 1" (pointer_expression "*(int *)PTR_executing_builtin_00144c04" * (cast_expression "(int *)PTR_executing_builtin_00144c04" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal)) ;) (expression_statement "uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08;" (assignment_expression "uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08" identifier = (binary_expression "uVar4 | *(uint *)PTR_executing_command_builtin_00144c08" identifier | (pointer_expression "*(uint *)PTR_executing_command_builtin_00144c08" * (cast_expression "(uint *)PTR_executing_command_builtin_00144c08" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (goto_statement "goto LAB_000499c8;" goto statement_identifier ;) })) (if_statement "if (builtin == (sh_builtin_func_t *)PTR_return_builtin_00144c28) {\n      if (((flags & 0x800U) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)) {\n        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);\n      }\n      puVar3 = PTR_return_builtin_00144c28;\n      puVar11 = PTR_executing_command_builtin_00144c08;\n      pwVar10 = words->next;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar11 = uVar5 | uVar4;\n      iVar7 = (*(code *)puVar3)(pwVar10);\n      if (*(int *)puVar2 == 0) goto LAB_00049a90;\nLAB_000499f4:\n      if (*(int *)PTR_temporary_env_00144858 != 0) {\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }\n    }\n    else {\n      pWVar8 = words->next;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar11 = uVar5 | uVar4;\n      iVar7 = (*builtin)(pWVar8);\n    }" if (parenthesized_expression "(builtin == (sh_builtin_func_t *)PTR_return_builtin_00144c28)" ( (binary_expression "builtin == (sh_builtin_func_t *)PTR_return_builtin_00144c28" identifier == (cast_expression "(sh_builtin_func_t *)PTR_return_builtin_00144c28" ( (type_descriptor "sh_builtin_func_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n      if (((flags & 0x800U) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)) {\n        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);\n      }\n      puVar3 = PTR_return_builtin_00144c28;\n      puVar11 = PTR_executing_command_builtin_00144c08;\n      pwVar10 = words->next;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar11 = uVar5 | uVar4;\n      iVar7 = (*(code *)puVar3)(pwVar10);\n      if (*(int *)puVar2 == 0) goto LAB_00049a90;\nLAB_000499f4:\n      if (*(int *)PTR_temporary_env_00144858 != 0) {\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }\n    }" { (if_statement "if (((flags & 0x800U) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)) {\n        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);\n      }" if (parenthesized_expression "(((flags & 0x800U) == 0) && (*(int *)PTR_temporary_env_00144858 != 0))" ( (binary_expression "((flags & 0x800U) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)" (parenthesized_expression "((flags & 0x800U) == 0)" ( (binary_expression "(flags & 0x800U) == 0" (parenthesized_expression "(flags & 0x800U)" ( (binary_expression "flags & 0x800U" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(*(int *)PTR_temporary_env_00144858 != 0)" ( (binary_expression "*(int *)PTR_temporary_env_00144858 != 0" (pointer_expression "*(int *)PTR_temporary_env_00144858" * (cast_expression "(int *)PTR_temporary_env_00144858" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) ))) )) (compound_statement "{\n        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);\n      }" { (expression_statement "(*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);" (call_expression "(*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990)" (parenthesized_expression "(*(code *)PTR_begin_unwind_frame_00144c2c)" ( (pointer_expression "*(code *)PTR_begin_unwind_frame_00144c2c" * (cast_expression "(code *)PTR_begin_unwind_frame_00144c2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_00144578 + 0x6990)" ( (binary_expression "PTR_LAB_00144578 + 0x6990" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);" (call_expression "(*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0)" (parenthesized_expression "(*(code *)PTR_add_unwind_protect_00144b68)" ( (pointer_expression "*(code *)PTR_add_unwind_protect_00144b68" * (cast_expression "(code *)PTR_add_unwind_protect_00144b68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_merge_temporary_env_00144c40,0)" ( identifier , number_literal ))) ;) })) (expression_statement "puVar3 = PTR_return_builtin_00144c28;" (assignment_expression "puVar3 = PTR_return_builtin_00144c28" identifier = identifier) ;) (expression_statement "puVar11 = PTR_executing_command_builtin_00144c08;" (assignment_expression "puVar11 = PTR_executing_command_builtin_00144c08" identifier = identifier) ;) (expression_statement "pwVar10 = words->next;" (assignment_expression "pwVar10 = words->next" identifier = (field_expression "words->next" identifier -> field_identifier)) ;) (expression_statement "uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;" (assignment_expression "uVar5 = *(uint *)PTR_executing_command_builtin_00144c08" identifier = (pointer_expression "*(uint *)PTR_executing_command_builtin_00144c08" * (cast_expression "(uint *)PTR_executing_command_builtin_00144c08" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;" (assignment_expression "*(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1" (pointer_expression "*(int *)PTR_executing_builtin_00144c04" * (cast_expression "(int *)PTR_executing_builtin_00144c04" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "*(int *)PTR_executing_builtin_00144c04 + 1" (pointer_expression "*(int *)PTR_executing_builtin_00144c04" * (cast_expression "(int *)PTR_executing_builtin_00144c04" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal)) ;) (expression_statement "*(uint *)puVar11 = uVar5 | uVar4;" (assignment_expression "*(uint *)puVar11 = uVar5 | uVar4" (pointer_expression "*(uint *)puVar11" * (cast_expression "(uint *)puVar11" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "uVar5 | uVar4" identifier | identifier)) ;) (expression_statement "iVar7 = (*(code *)puVar3)(pwVar10);" (assignment_expression "iVar7 = (*(code *)puVar3)(pwVar10)" identifier = (call_expression "(*(code *)puVar3)(pwVar10)" (parenthesized_expression "(*(code *)puVar3)" ( (pointer_expression "*(code *)puVar3" * (cast_expression "(code *)puVar3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pwVar10)" ( identifier )))) ;) (if_statement "if (*(int *)puVar2 == 0) goto LAB_00049a90;" if (parenthesized_expression "(*(int *)puVar2 == 0)" ( (binary_expression "*(int *)puVar2 == 0" (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) (goto_statement "goto LAB_00049a90;" goto statement_identifier ;)) (labeled_statement "LAB_000499f4:\n      if (*(int *)PTR_temporary_env_00144858 != 0) {\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }" statement_identifier : (if_statement "if (*(int *)PTR_temporary_env_00144858 != 0) {\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }" if (parenthesized_expression "(*(int *)PTR_temporary_env_00144858 != 0)" ( (binary_expression "*(int *)PTR_temporary_env_00144858 != 0" (pointer_expression "*(int *)PTR_temporary_env_00144858" * (cast_expression "(int *)PTR_temporary_env_00144858" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }" { (expression_statement "(*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);" (call_expression "(*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990)" (parenthesized_expression "(*(code *)PTR_discard_unwind_frame_00144c18)" ( (pointer_expression "*(code *)PTR_discard_unwind_frame_00144c18" * (cast_expression "(code *)PTR_discard_unwind_frame_00144c18" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_00144578 + 0x6990)" ( (binary_expression "PTR_LAB_00144578 + 0x6990" identifier + number_literal) ))) ;) }))) }) (else_clause "else {\n      pWVar8 = words->next;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar11 = uVar5 | uVar4;\n      iVar7 = (*builtin)(pWVar8);\n    }" else (compound_statement "{\n      pWVar8 = words->next;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar11 = uVar5 | uVar4;\n      iVar7 = (*builtin)(pWVar8);\n    }" { (expression_statement "pWVar8 = words->next;" (assignment_expression "pWVar8 = words->next" identifier = (field_expression "words->next" identifier -> field_identifier)) ;) (expression_statement "uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;" (assignment_expression "uVar5 = *(uint *)PTR_executing_command_builtin_00144c08" identifier = (pointer_expression "*(uint *)PTR_executing_command_builtin_00144c08" * (cast_expression "(uint *)PTR_executing_command_builtin_00144c08" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;" (assignment_expression "*(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1" (pointer_expression "*(int *)PTR_executing_builtin_00144c04" * (cast_expression "(int *)PTR_executing_builtin_00144c04" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "*(int *)PTR_executing_builtin_00144c04 + 1" (pointer_expression "*(int *)PTR_executing_builtin_00144c04" * (cast_expression "(int *)PTR_executing_builtin_00144c04" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal)) ;) (expression_statement "*(uint *)puVar11 = uVar5 | uVar4;" (assignment_expression "*(uint *)puVar11 = uVar5 | uVar4" (pointer_expression "*(uint *)puVar11" * (cast_expression "(uint *)puVar11" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "uVar5 | uVar4" identifier | identifier)) ;) (expression_statement "iVar7 = (*builtin)(pWVar8);" (assignment_expression "iVar7 = (*builtin)(pWVar8)" identifier = (call_expression "(*builtin)(pWVar8)" (parenthesized_expression "(*builtin)" ( (pointer_expression "*builtin" * identifier) )) (argument_list "(pWVar8)" ( identifier )))) ;) }))) }) (else_clause "else {\n    iVar12 = 0;\n    bVar1 = false;\nLAB_00049928:\n    if ((builtin != (sh_builtin_func_t *)puVar2) &&\n       (builtin != (sh_builtin_func_t *)PTR_eval_builtin_00144be8)) goto LAB_00049808;\nLAB_00049938:\n    if ((builtin == (sh_builtin_func_t *)PTR_mapfile_builtin_00144bf8) ||\n       (builtin == (sh_builtin_func_t *)PTR_fc_builtin_00144bfc)) {\nLAB_00049a2c:\n      uVar13 = 0;\n      if (subshell != 0) goto LAB_0004995c;\nLAB_00049a38:\n      puVar14 = (undefined4 *)PTR_temporary_env_00144858;\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);\n      if ((HASH_TABLE *)*puVar14 != (HASH_TABLE *)0x0) {\n        push_scope(8,(HASH_TABLE *)*puVar14);\n        if (((flags & 0x800U) == 0) && (uVar13 != 0)) {\n          puVar11 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar11 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar11);\nLAB_00049978:\n        uVar13 = 1;\n        *puVar14 = 0;\n        goto joined_r0x00049978;\n      }\n      uVar13 = 1;\n      piVar15 = (int *)PTR_evalnest_00144c38;\n      piVar16 = (int *)PTR_sourcenest_00144c44;\n      goto joined_r0x00049b04;\n    }\n    uVar13 = (uint)(builtin != (sh_builtin_func_t *)PTR_read_builtin_00144c00);\nLAB_00049954:\n    if (subshell == 0) goto LAB_00049a38;\nLAB_0004995c:\n    puVar14 = (undefined4 *)PTR_temporary_env_00144858;\n    uVar13 = subshell;\n    if (*(HASH_TABLE **)PTR_temporary_env_00144858 != (HASH_TABLE *)0x0) {\n      push_scope(8,*(HASH_TABLE **)PTR_temporary_env_00144858);\n      goto LAB_00049978;\n    }\nLAB_00049830:\n    puVar11 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    iVar7 = *(int *)PTR_executing_builtin_00144c04 + 1;\n    pWVar8 = words->next;\n    uVar4 = (uint)(builtin == (sh_builtin_func_t *)PTR_command_builtin_00144bec) |\n            *(uint *)PTR_executing_command_builtin_00144c08;\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\nLAB_000499c8:\n      puVar11 = PTR_executing_command_builtin_00144c08;\n      puVar2 = PTR_posixly_correct_0014458c;\n      *(int *)PTR_executing_builtin_00144c04 = iVar7;\n      *(uint *)puVar11 = uVar4;\n      iVar7 = (*builtin)(pWVar8);\n      if (*(int *)puVar2 != 0) {\n        if (subshell != 0) goto LAB_00049880;\n        if (builtin == (sh_builtin_func_t *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }\n    }\n    else {\n      *(int *)PTR_executing_builtin_00144c04 = iVar7;\n      *(uint *)puVar11 = uVar4;\n      iVar7 = (*builtin)(pWVar8);\n      if (*(int *)puVar2 != 0) goto LAB_00049880;\n    }\n    if (subshell != 0) goto LAB_00049880;\n  }" else (compound_statement "{\n    iVar12 = 0;\n    bVar1 = false;\nLAB_00049928:\n    if ((builtin != (sh_builtin_func_t *)puVar2) &&\n       (builtin != (sh_builtin_func_t *)PTR_eval_builtin_00144be8)) goto LAB_00049808;\nLAB_00049938:\n    if ((builtin == (sh_builtin_func_t *)PTR_mapfile_builtin_00144bf8) ||\n       (builtin == (sh_builtin_func_t *)PTR_fc_builtin_00144bfc)) {\nLAB_00049a2c:\n      uVar13 = 0;\n      if (subshell != 0) goto LAB_0004995c;\nLAB_00049a38:\n      puVar14 = (undefined4 *)PTR_temporary_env_00144858;\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);\n      if ((HASH_TABLE *)*puVar14 != (HASH_TABLE *)0x0) {\n        push_scope(8,(HASH_TABLE *)*puVar14);\n        if (((flags & 0x800U) == 0) && (uVar13 != 0)) {\n          puVar11 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar11 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar11);\nLAB_00049978:\n        uVar13 = 1;\n        *puVar14 = 0;\n        goto joined_r0x00049978;\n      }\n      uVar13 = 1;\n      piVar15 = (int *)PTR_evalnest_00144c38;\n      piVar16 = (int *)PTR_sourcenest_00144c44;\n      goto joined_r0x00049b04;\n    }\n    uVar13 = (uint)(builtin != (sh_builtin_func_t *)PTR_read_builtin_00144c00);\nLAB_00049954:\n    if (subshell == 0) goto LAB_00049a38;\nLAB_0004995c:\n    puVar14 = (undefined4 *)PTR_temporary_env_00144858;\n    uVar13 = subshell;\n    if (*(HASH_TABLE **)PTR_temporary_env_00144858 != (HASH_TABLE *)0x0) {\n      push_scope(8,*(HASH_TABLE **)PTR_temporary_env_00144858);\n      goto LAB_00049978;\n    }\nLAB_00049830:\n    puVar11 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    iVar7 = *(int *)PTR_executing_builtin_00144c04 + 1;\n    pWVar8 = words->next;\n    uVar4 = (uint)(builtin == (sh_builtin_func_t *)PTR_command_builtin_00144bec) |\n            *(uint *)PTR_executing_command_builtin_00144c08;\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\nLAB_000499c8:\n      puVar11 = PTR_executing_command_builtin_00144c08;\n      puVar2 = PTR_posixly_correct_0014458c;\n      *(int *)PTR_executing_builtin_00144c04 = iVar7;\n      *(uint *)puVar11 = uVar4;\n      iVar7 = (*builtin)(pWVar8);\n      if (*(int *)puVar2 != 0) {\n        if (subshell != 0) goto LAB_00049880;\n        if (builtin == (sh_builtin_func_t *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }\n    }\n    else {\n      *(int *)PTR_executing_builtin_00144c04 = iVar7;\n      *(uint *)puVar11 = uVar4;\n      iVar7 = (*builtin)(pWVar8);\n      if (*(int *)puVar2 != 0) goto LAB_00049880;\n    }\n    if (subshell != 0) goto LAB_00049880;\n  }" { (expression_statement "iVar12 = 0;" (assignment_expression "iVar12 = 0" identifier = number_literal) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (labeled_statement "LAB_00049928:\n    if ((builtin != (sh_builtin_func_t *)puVar2) &&\n       (builtin != (sh_builtin_func_t *)PTR_eval_builtin_00144be8)) goto LAB_00049808;" statement_identifier : (if_statement "if ((builtin != (sh_builtin_func_t *)puVar2) &&\n       (builtin != (sh_builtin_func_t *)PTR_eval_builtin_00144be8)) goto LAB_00049808;" if (parenthesized_expression "((builtin != (sh_builtin_func_t *)puVar2) &&\n       (builtin != (sh_builtin_func_t *)PTR_eval_builtin_00144be8))" ( (binary_expression "(builtin != (sh_builtin_func_t *)puVar2) &&\n       (builtin != (sh_builtin_func_t *)PTR_eval_builtin_00144be8)" (parenthesized_expression "(builtin != (sh_builtin_func_t *)puVar2)" ( (binary_expression "builtin != (sh_builtin_func_t *)puVar2" identifier != (cast_expression "(sh_builtin_func_t *)puVar2" ( (type_descriptor "sh_builtin_func_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) && (parenthesized_expression "(builtin != (sh_builtin_func_t *)PTR_eval_builtin_00144be8)" ( (binary_expression "builtin != (sh_builtin_func_t *)PTR_eval_builtin_00144be8" identifier != (cast_expression "(sh_builtin_func_t *)PTR_eval_builtin_00144be8" ( (type_descriptor "sh_builtin_func_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) )) (goto_statement "goto LAB_00049808;" goto statement_identifier ;))) (labeled_statement "LAB_00049938:\n    if ((builtin == (sh_builtin_func_t *)PTR_mapfile_builtin_00144bf8) ||\n       (builtin == (sh_builtin_func_t *)PTR_fc_builtin_00144bfc)) {\nLAB_00049a2c:\n      uVar13 = 0;\n      if (subshell != 0) goto LAB_0004995c;\nLAB_00049a38:\n      puVar14 = (undefined4 *)PTR_temporary_env_00144858;\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);\n      if ((HASH_TABLE *)*puVar14 != (HASH_TABLE *)0x0) {\n        push_scope(8,(HASH_TABLE *)*puVar14);\n        if (((flags & 0x800U) == 0) && (uVar13 != 0)) {\n          puVar11 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar11 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar11);\nLAB_00049978:\n        uVar13 = 1;\n        *puVar14 = 0;\n        goto joined_r0x00049978;\n      }\n      uVar13 = 1;\n      piVar15 = (int *)PTR_evalnest_00144c38;\n      piVar16 = (int *)PTR_sourcenest_00144c44;\n      goto joined_r0x00049b04;\n    }" statement_identifier : (if_statement "if ((builtin == (sh_builtin_func_t *)PTR_mapfile_builtin_00144bf8) ||\n       (builtin == (sh_builtin_func_t *)PTR_fc_builtin_00144bfc)) {\nLAB_00049a2c:\n      uVar13 = 0;\n      if (subshell != 0) goto LAB_0004995c;\nLAB_00049a38:\n      puVar14 = (undefined4 *)PTR_temporary_env_00144858;\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);\n      if ((HASH_TABLE *)*puVar14 != (HASH_TABLE *)0x0) {\n        push_scope(8,(HASH_TABLE *)*puVar14);\n        if (((flags & 0x800U) == 0) && (uVar13 != 0)) {\n          puVar11 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar11 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar11);\nLAB_00049978:\n        uVar13 = 1;\n        *puVar14 = 0;\n        goto joined_r0x00049978;\n      }\n      uVar13 = 1;\n      piVar15 = (int *)PTR_evalnest_00144c38;\n      piVar16 = (int *)PTR_sourcenest_00144c44;\n      goto joined_r0x00049b04;\n    }" if (parenthesized_expression "((builtin == (sh_builtin_func_t *)PTR_mapfile_builtin_00144bf8) ||\n       (builtin == (sh_builtin_func_t *)PTR_fc_builtin_00144bfc))" ( (binary_expression "(builtin == (sh_builtin_func_t *)PTR_mapfile_builtin_00144bf8) ||\n       (builtin == (sh_builtin_func_t *)PTR_fc_builtin_00144bfc)" (parenthesized_expression "(builtin == (sh_builtin_func_t *)PTR_mapfile_builtin_00144bf8)" ( (binary_expression "builtin == (sh_builtin_func_t *)PTR_mapfile_builtin_00144bf8" identifier == (cast_expression "(sh_builtin_func_t *)PTR_mapfile_builtin_00144bf8" ( (type_descriptor "sh_builtin_func_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) || (parenthesized_expression "(builtin == (sh_builtin_func_t *)PTR_fc_builtin_00144bfc)" ( (binary_expression "builtin == (sh_builtin_func_t *)PTR_fc_builtin_00144bfc" identifier == (cast_expression "(sh_builtin_func_t *)PTR_fc_builtin_00144bfc" ( (type_descriptor "sh_builtin_func_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) )) (compound_statement "{\nLAB_00049a2c:\n      uVar13 = 0;\n      if (subshell != 0) goto LAB_0004995c;\nLAB_00049a38:\n      puVar14 = (undefined4 *)PTR_temporary_env_00144858;\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);\n      if ((HASH_TABLE *)*puVar14 != (HASH_TABLE *)0x0) {\n        push_scope(8,(HASH_TABLE *)*puVar14);\n        if (((flags & 0x800U) == 0) && (uVar13 != 0)) {\n          puVar11 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar11 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar11);\nLAB_00049978:\n        uVar13 = 1;\n        *puVar14 = 0;\n        goto joined_r0x00049978;\n      }\n      uVar13 = 1;\n      piVar15 = (int *)PTR_evalnest_00144c38;\n      piVar16 = (int *)PTR_sourcenest_00144c44;\n      goto joined_r0x00049b04;\n    }" { (labeled_statement "LAB_00049a2c:\n      uVar13 = 0;" statement_identifier : (expression_statement "uVar13 = 0;" (assignment_expression "uVar13 = 0" identifier = number_literal) ;)) (if_statement "if (subshell != 0) goto LAB_0004995c;" if (parenthesized_expression "(subshell != 0)" ( (binary_expression "subshell != 0" identifier != number_literal) )) (goto_statement "goto LAB_0004995c;" goto statement_identifier ;)) (labeled_statement "LAB_00049a38:\n      puVar14 = (undefined4 *)PTR_temporary_env_00144858;" statement_identifier : (expression_statement "puVar14 = (undefined4 *)PTR_temporary_env_00144858;" (assignment_expression "puVar14 = (undefined4 *)PTR_temporary_env_00144858" identifier = (cast_expression "(undefined4 *)PTR_temporary_env_00144858" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "(*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);" (call_expression "(*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924)" (parenthesized_expression "(*(code *)PTR_begin_unwind_frame_00144c2c)" ( (pointer_expression "*(code *)PTR_begin_unwind_frame_00144c2c" * (cast_expression "(code *)PTR_begin_unwind_frame_00144c2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_00144578 + 0x6924)" ( (binary_expression "PTR_LAB_00144578 + 0x6924" identifier + number_literal) ))) ;) (if_statement "if ((HASH_TABLE *)*puVar14 != (HASH_TABLE *)0x0) {\n        push_scope(8,(HASH_TABLE *)*puVar14);\n        if (((flags & 0x800U) == 0) && (uVar13 != 0)) {\n          puVar11 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar11 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar11);\nLAB_00049978:\n        uVar13 = 1;\n        *puVar14 = 0;\n        goto joined_r0x00049978;\n      }" if (parenthesized_expression "((HASH_TABLE *)*puVar14 != (HASH_TABLE *)0x0)" ( (binary_expression "(HASH_TABLE *)*puVar14 != (HASH_TABLE *)0x0" (cast_expression "(HASH_TABLE *)*puVar14" ( (type_descriptor "HASH_TABLE *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar14" * identifier)) != (cast_expression "(HASH_TABLE *)0x0" ( (type_descriptor "HASH_TABLE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        push_scope(8,(HASH_TABLE *)*puVar14);\n        if (((flags & 0x800U) == 0) && (uVar13 != 0)) {\n          puVar11 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar11 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar11);\nLAB_00049978:\n        uVar13 = 1;\n        *puVar14 = 0;\n        goto joined_r0x00049978;\n      }" { (expression_statement "push_scope(8,(HASH_TABLE *)*puVar14);" (call_expression "push_scope(8,(HASH_TABLE *)*puVar14)" identifier (argument_list "(8,(HASH_TABLE *)*puVar14)" ( number_literal , (cast_expression "(HASH_TABLE *)*puVar14" ( (type_descriptor "HASH_TABLE *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar14" * identifier)) ))) ;) (if_statement "if (((flags & 0x800U) == 0) && (uVar13 != 0)) {\n          puVar11 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar11 = (undefined *)0x0;\n        }" if (parenthesized_expression "(((flags & 0x800U) == 0) && (uVar13 != 0))" ( (binary_expression "((flags & 0x800U) == 0) && (uVar13 != 0)" (parenthesized_expression "((flags & 0x800U) == 0)" ( (binary_expression "(flags & 0x800U) == 0" (parenthesized_expression "(flags & 0x800U)" ( (binary_expression "flags & 0x800U" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(uVar13 != 0)" ( (binary_expression "uVar13 != 0" identifier != number_literal) ))) )) (compound_statement "{\n          puVar11 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }" { (expression_statement "puVar11 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;" (assignment_expression "puVar11 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c" identifier = (binary_expression "PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c" identifier + number_literal)) ;) }) (else_clause "else {\n          puVar11 = (undefined *)0x0;\n        }" else (compound_statement "{\n          puVar11 = (undefined *)0x0;\n        }" { (expression_statement "puVar11 = (undefined *)0x0;" (assignment_expression "puVar11 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "(*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar11);" (call_expression "(*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar11)" (parenthesized_expression "(*(code *)PTR_add_unwind_protect_00144b68)" ( (pointer_expression "*(code *)PTR_add_unwind_protect_00144b68" * (cast_expression "(code *)PTR_add_unwind_protect_00144b68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_pop_scope_00144c30,puVar11)" ( identifier , identifier ))) ;) (labeled_statement "LAB_00049978:\n        uVar13 = 1;" statement_identifier : (expression_statement "uVar13 = 1;" (assignment_expression "uVar13 = 1" identifier = number_literal) ;)) (expression_statement "*puVar14 = 0;" (assignment_expression "*puVar14 = 0" (pointer_expression "*puVar14" * identifier) = number_literal) ;) (goto_statement "goto joined_r0x00049978;" goto statement_identifier ;) })) (expression_statement "uVar13 = 1;" (assignment_expression "uVar13 = 1" identifier = number_literal) ;) (expression_statement "piVar15 = (int *)PTR_evalnest_00144c38;" (assignment_expression "piVar15 = (int *)PTR_evalnest_00144c38" identifier = (cast_expression "(int *)PTR_evalnest_00144c38" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "piVar16 = (int *)PTR_sourcenest_00144c44;" (assignment_expression "piVar16 = (int *)PTR_sourcenest_00144c44" identifier = (cast_expression "(int *)PTR_sourcenest_00144c44" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto joined_r0x00049b04;" goto statement_identifier ;) }))) (expression_statement "uVar13 = (uint)(builtin != (sh_builtin_func_t *)PTR_read_builtin_00144c00);" (assignment_expression "uVar13 = (uint)(builtin != (sh_builtin_func_t *)PTR_read_builtin_00144c00)" identifier = (call_expression "(uint)(builtin != (sh_builtin_func_t *)PTR_read_builtin_00144c00)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(builtin != (sh_builtin_func_t *)PTR_read_builtin_00144c00)" ( (binary_expression "builtin != (sh_builtin_func_t *)PTR_read_builtin_00144c00" identifier != (cast_expression "(sh_builtin_func_t *)PTR_read_builtin_00144c00" ( (type_descriptor "sh_builtin_func_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (labeled_statement "LAB_00049954:\n    if (subshell == 0) goto LAB_00049a38;" statement_identifier : (if_statement "if (subshell == 0) goto LAB_00049a38;" if (parenthesized_expression "(subshell == 0)" ( (binary_expression "subshell == 0" identifier == number_literal) )) (goto_statement "goto LAB_00049a38;" goto statement_identifier ;))) (labeled_statement "LAB_0004995c:\n    puVar14 = (undefined4 *)PTR_temporary_env_00144858;" statement_identifier : (expression_statement "puVar14 = (undefined4 *)PTR_temporary_env_00144858;" (assignment_expression "puVar14 = (undefined4 *)PTR_temporary_env_00144858" identifier = (cast_expression "(undefined4 *)PTR_temporary_env_00144858" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "uVar13 = subshell;" (assignment_expression "uVar13 = subshell" identifier = identifier) ;) (if_statement "if (*(HASH_TABLE **)PTR_temporary_env_00144858 != (HASH_TABLE *)0x0) {\n      push_scope(8,*(HASH_TABLE **)PTR_temporary_env_00144858);\n      goto LAB_00049978;\n    }" if (parenthesized_expression "(*(HASH_TABLE **)PTR_temporary_env_00144858 != (HASH_TABLE *)0x0)" ( (binary_expression "*(HASH_TABLE **)PTR_temporary_env_00144858 != (HASH_TABLE *)0x0" (pointer_expression "*(HASH_TABLE **)PTR_temporary_env_00144858" * (cast_expression "(HASH_TABLE **)PTR_temporary_env_00144858" ( (type_descriptor "HASH_TABLE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) != (cast_expression "(HASH_TABLE *)0x0" ( (type_descriptor "HASH_TABLE *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      push_scope(8,*(HASH_TABLE **)PTR_temporary_env_00144858);\n      goto LAB_00049978;\n    }" { (expression_statement "push_scope(8,*(HASH_TABLE **)PTR_temporary_env_00144858);" (call_expression "push_scope(8,*(HASH_TABLE **)PTR_temporary_env_00144858)" identifier (argument_list "(8,*(HASH_TABLE **)PTR_temporary_env_00144858)" ( number_literal , (pointer_expression "*(HASH_TABLE **)PTR_temporary_env_00144858" * (cast_expression "(HASH_TABLE **)PTR_temporary_env_00144858" ( (type_descriptor "HASH_TABLE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (goto_statement "goto LAB_00049978;" goto statement_identifier ;) })) (labeled_statement "LAB_00049830:\n    puVar11 = PTR_executing_command_builtin_00144c08;" statement_identifier : (expression_statement "puVar11 = PTR_executing_command_builtin_00144c08;" (assignment_expression "puVar11 = PTR_executing_command_builtin_00144c08" identifier = identifier) ;)) (expression_statement "puVar2 = PTR_posixly_correct_0014458c;" (assignment_expression "puVar2 = PTR_posixly_correct_0014458c" identifier = identifier) ;) (expression_statement "iVar7 = *(int *)PTR_executing_builtin_00144c04 + 1;" (assignment_expression "iVar7 = *(int *)PTR_executing_builtin_00144c04 + 1" identifier = (binary_expression "*(int *)PTR_executing_builtin_00144c04 + 1" (pointer_expression "*(int *)PTR_executing_builtin_00144c04" * (cast_expression "(int *)PTR_executing_builtin_00144c04" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal)) ;) (expression_statement "pWVar8 = words->next;" (assignment_expression "pWVar8 = words->next" identifier = (field_expression "words->next" identifier -> field_identifier)) ;) (expression_statement "uVar4 = (uint)(builtin == (sh_builtin_func_t *)PTR_command_builtin_00144bec) |\n            *(uint *)PTR_executing_command_builtin_00144c08;" (assignment_expression "uVar4 = (uint)(builtin == (sh_builtin_func_t *)PTR_command_builtin_00144bec) |\n            *(uint *)PTR_executing_command_builtin_00144c08" identifier = (binary_expression "(uint)(builtin == (sh_builtin_func_t *)PTR_command_builtin_00144bec) |\n            *(uint *)PTR_executing_command_builtin_00144c08" (call_expression "(uint)(builtin == (sh_builtin_func_t *)PTR_command_builtin_00144bec)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(builtin == (sh_builtin_func_t *)PTR_command_builtin_00144bec)" ( (binary_expression "builtin == (sh_builtin_func_t *)PTR_command_builtin_00144bec" identifier == (cast_expression "(sh_builtin_func_t *)PTR_command_builtin_00144bec" ( (type_descriptor "sh_builtin_func_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) | (pointer_expression "*(uint *)PTR_executing_command_builtin_00144c08" * (cast_expression "(uint *)PTR_executing_command_builtin_00144c08" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (if_statement "if (*(int *)PTR_posixly_correct_0014458c == 0) {\nLAB_000499c8:\n      puVar11 = PTR_executing_command_builtin_00144c08;\n      puVar2 = PTR_posixly_correct_0014458c;\n      *(int *)PTR_executing_builtin_00144c04 = iVar7;\n      *(uint *)puVar11 = uVar4;\n      iVar7 = (*builtin)(pWVar8);\n      if (*(int *)puVar2 != 0) {\n        if (subshell != 0) goto LAB_00049880;\n        if (builtin == (sh_builtin_func_t *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }\n    }\n    else {\n      *(int *)PTR_executing_builtin_00144c04 = iVar7;\n      *(uint *)puVar11 = uVar4;\n      iVar7 = (*builtin)(pWVar8);\n      if (*(int *)puVar2 != 0) goto LAB_00049880;\n    }" if (parenthesized_expression "(*(int *)PTR_posixly_correct_0014458c == 0)" ( (binary_expression "*(int *)PTR_posixly_correct_0014458c == 0" (pointer_expression "*(int *)PTR_posixly_correct_0014458c" * (cast_expression "(int *)PTR_posixly_correct_0014458c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) (compound_statement "{\nLAB_000499c8:\n      puVar11 = PTR_executing_command_builtin_00144c08;\n      puVar2 = PTR_posixly_correct_0014458c;\n      *(int *)PTR_executing_builtin_00144c04 = iVar7;\n      *(uint *)puVar11 = uVar4;\n      iVar7 = (*builtin)(pWVar8);\n      if (*(int *)puVar2 != 0) {\n        if (subshell != 0) goto LAB_00049880;\n        if (builtin == (sh_builtin_func_t *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }\n    }" { (labeled_statement "LAB_000499c8:\n      puVar11 = PTR_executing_command_builtin_00144c08;" statement_identifier : (expression_statement "puVar11 = PTR_executing_command_builtin_00144c08;" (assignment_expression "puVar11 = PTR_executing_command_builtin_00144c08" identifier = identifier) ;)) (expression_statement "puVar2 = PTR_posixly_correct_0014458c;" (assignment_expression "puVar2 = PTR_posixly_correct_0014458c" identifier = identifier) ;) (expression_statement "*(int *)PTR_executing_builtin_00144c04 = iVar7;" (assignment_expression "*(int *)PTR_executing_builtin_00144c04 = iVar7" (pointer_expression "*(int *)PTR_executing_builtin_00144c04" * (cast_expression "(int *)PTR_executing_builtin_00144c04" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(uint *)puVar11 = uVar4;" (assignment_expression "*(uint *)puVar11 = uVar4" (pointer_expression "*(uint *)puVar11" * (cast_expression "(uint *)puVar11" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "iVar7 = (*builtin)(pWVar8);" (assignment_expression "iVar7 = (*builtin)(pWVar8)" identifier = (call_expression "(*builtin)(pWVar8)" (parenthesized_expression "(*builtin)" ( (pointer_expression "*builtin" * identifier) )) (argument_list "(pWVar8)" ( identifier )))) ;) (if_statement "if (*(int *)puVar2 != 0) {\n        if (subshell != 0) goto LAB_00049880;\n        if (builtin == (sh_builtin_func_t *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }" if (parenthesized_expression "(*(int *)puVar2 != 0)" ( (binary_expression "*(int *)puVar2 != 0" (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n        if (subshell != 0) goto LAB_00049880;\n        if (builtin == (sh_builtin_func_t *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }" { (if_statement "if (subshell != 0) goto LAB_00049880;" if (parenthesized_expression "(subshell != 0)" ( (binary_expression "subshell != 0" identifier != number_literal) )) (goto_statement "goto LAB_00049880;" goto statement_identifier ;)) (if_statement "if (builtin == (sh_builtin_func_t *)PTR_return_builtin_00144c28) goto LAB_000499f4;" if (parenthesized_expression "(builtin == (sh_builtin_func_t *)PTR_return_builtin_00144c28)" ( (binary_expression "builtin == (sh_builtin_func_t *)PTR_return_builtin_00144c28" identifier == (cast_expression "(sh_builtin_func_t *)PTR_return_builtin_00144c28" ( (type_descriptor "sh_builtin_func_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (goto_statement "goto LAB_000499f4;" goto statement_identifier ;)) (goto_statement "goto LAB_00049a90;" goto statement_identifier ;) })) }) (else_clause "else {\n      *(int *)PTR_executing_builtin_00144c04 = iVar7;\n      *(uint *)puVar11 = uVar4;\n      iVar7 = (*builtin)(pWVar8);\n      if (*(int *)puVar2 != 0) goto LAB_00049880;\n    }" else (compound_statement "{\n      *(int *)PTR_executing_builtin_00144c04 = iVar7;\n      *(uint *)puVar11 = uVar4;\n      iVar7 = (*builtin)(pWVar8);\n      if (*(int *)puVar2 != 0) goto LAB_00049880;\n    }" { (expression_statement "*(int *)PTR_executing_builtin_00144c04 = iVar7;" (assignment_expression "*(int *)PTR_executing_builtin_00144c04 = iVar7" (pointer_expression "*(int *)PTR_executing_builtin_00144c04" * (cast_expression "(int *)PTR_executing_builtin_00144c04" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(uint *)puVar11 = uVar4;" (assignment_expression "*(uint *)puVar11 = uVar4" (pointer_expression "*(uint *)puVar11" * (cast_expression "(uint *)puVar11" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "iVar7 = (*builtin)(pWVar8);" (assignment_expression "iVar7 = (*builtin)(pWVar8)" identifier = (call_expression "(*builtin)(pWVar8)" (parenthesized_expression "(*builtin)" ( (pointer_expression "*builtin" * identifier) )) (argument_list "(pWVar8)" ( identifier )))) ;) (if_statement "if (*(int *)puVar2 != 0) goto LAB_00049880;" if (parenthesized_expression "(*(int *)puVar2 != 0)" ( (binary_expression "*(int *)puVar2 != 0" (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (goto_statement "goto LAB_00049880;" goto statement_identifier ;)) }))) (if_statement "if (subshell != 0) goto LAB_00049880;" if (parenthesized_expression "(subshell != 0)" ( (binary_expression "subshell != 0" identifier != number_literal) )) (goto_statement "goto LAB_00049880;" goto statement_identifier ;)) }))) (labeled_statement "LAB_00049a90:\n  if (uVar13 != 0) {\n    (*(code *)PTR_run_unwind_frame_00144c34)(PTR_LAB_00144578 + 0x6924);\n  }" statement_identifier : (if_statement "if (uVar13 != 0) {\n    (*(code *)PTR_run_unwind_frame_00144c34)(PTR_LAB_00144578 + 0x6924);\n  }" if (parenthesized_expression "(uVar13 != 0)" ( (binary_expression "uVar13 != 0" identifier != number_literal) )) (compound_statement "{\n    (*(code *)PTR_run_unwind_frame_00144c34)(PTR_LAB_00144578 + 0x6924);\n  }" { (expression_statement "(*(code *)PTR_run_unwind_frame_00144c34)(PTR_LAB_00144578 + 0x6924);" (call_expression "(*(code *)PTR_run_unwind_frame_00144c34)(PTR_LAB_00144578 + 0x6924)" (parenthesized_expression "(*(code *)PTR_run_unwind_frame_00144c34)" ( (pointer_expression "*(code *)PTR_run_unwind_frame_00144c34" * (cast_expression "(code *)PTR_run_unwind_frame_00144c34" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_00144578 + 0x6924)" ( (binary_expression "PTR_LAB_00144578 + 0x6924" identifier + number_literal) ))) ;) }))) (labeled_statement "LAB_00049880:\n  if (bVar1) {\n    *(int *)PTR_builtin_ignoring_errexit_00144c0c = iStack_30;\n    if (iStack_30 == 0) {\n      uVar9 = *(undefined4 *)PTR_errexit_flag_00144c10;\n    }\n    else {\n      uVar9 = 0;\n    }\n    *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = uVar9;\n    if (iVar12 != 0) {\n      (*(code *)PTR_set_error_trap_00144c14)(iVar12);\n      (*(code *)PTR_free_001464fc)(iVar12);\n    }\n    (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6914);\n  }" statement_identifier : (if_statement "if (bVar1) {\n    *(int *)PTR_builtin_ignoring_errexit_00144c0c = iStack_30;\n    if (iStack_30 == 0) {\n      uVar9 = *(undefined4 *)PTR_errexit_flag_00144c10;\n    }\n    else {\n      uVar9 = 0;\n    }\n    *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = uVar9;\n    if (iVar12 != 0) {\n      (*(code *)PTR_set_error_trap_00144c14)(iVar12);\n      (*(code *)PTR_free_001464fc)(iVar12);\n    }\n    (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6914);\n  }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n    *(int *)PTR_builtin_ignoring_errexit_00144c0c = iStack_30;\n    if (iStack_30 == 0) {\n      uVar9 = *(undefined4 *)PTR_errexit_flag_00144c10;\n    }\n    else {\n      uVar9 = 0;\n    }\n    *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = uVar9;\n    if (iVar12 != 0) {\n      (*(code *)PTR_set_error_trap_00144c14)(iVar12);\n      (*(code *)PTR_free_001464fc)(iVar12);\n    }\n    (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6914);\n  }" { (expression_statement "*(int *)PTR_builtin_ignoring_errexit_00144c0c = iStack_30;" (assignment_expression "*(int *)PTR_builtin_ignoring_errexit_00144c0c = iStack_30" (pointer_expression "*(int *)PTR_builtin_ignoring_errexit_00144c0c" * (cast_expression "(int *)PTR_builtin_ignoring_errexit_00144c0c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (if_statement "if (iStack_30 == 0) {\n      uVar9 = *(undefined4 *)PTR_errexit_flag_00144c10;\n    }\n    else {\n      uVar9 = 0;\n    }" if (parenthesized_expression "(iStack_30 == 0)" ( (binary_expression "iStack_30 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar9 = *(undefined4 *)PTR_errexit_flag_00144c10;\n    }" { (expression_statement "uVar9 = *(undefined4 *)PTR_errexit_flag_00144c10;" (assignment_expression "uVar9 = *(undefined4 *)PTR_errexit_flag_00144c10" identifier = (pointer_expression "*(undefined4 *)PTR_errexit_flag_00144c10" * (cast_expression "(undefined4 *)PTR_errexit_flag_00144c10" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }) (else_clause "else {\n      uVar9 = 0;\n    }" else (compound_statement "{\n      uVar9 = 0;\n    }" { (expression_statement "uVar9 = 0;" (assignment_expression "uVar9 = 0" identifier = number_literal) ;) }))) (expression_statement "*(undefined4 *)PTR_exit_immediately_on_error_001445f0 = uVar9;" (assignment_expression "*(undefined4 *)PTR_exit_immediately_on_error_001445f0 = uVar9" (pointer_expression "*(undefined4 *)PTR_exit_immediately_on_error_001445f0" * (cast_expression "(undefined4 *)PTR_exit_immediately_on_error_001445f0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (if_statement "if (iVar12 != 0) {\n      (*(code *)PTR_set_error_trap_00144c14)(iVar12);\n      (*(code *)PTR_free_001464fc)(iVar12);\n    }" if (parenthesized_expression "(iVar12 != 0)" ( (binary_expression "iVar12 != 0" identifier != number_literal) )) (compound_statement "{\n      (*(code *)PTR_set_error_trap_00144c14)(iVar12);\n      (*(code *)PTR_free_001464fc)(iVar12);\n    }" { (expression_statement "(*(code *)PTR_set_error_trap_00144c14)(iVar12);" (call_expression "(*(code *)PTR_set_error_trap_00144c14)(iVar12)" (parenthesized_expression "(*(code *)PTR_set_error_trap_00144c14)" ( (pointer_expression "*(code *)PTR_set_error_trap_00144c14" * (cast_expression "(code *)PTR_set_error_trap_00144c14" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar12)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_free_001464fc)(iVar12);" (call_expression "(*(code *)PTR_free_001464fc)(iVar12)" (parenthesized_expression "(*(code *)PTR_free_001464fc)" ( (pointer_expression "*(code *)PTR_free_001464fc" * (cast_expression "(code *)PTR_free_001464fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar12)" ( identifier ))) ;) })) (expression_statement "(*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6914);" (call_expression "(*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6914)" (parenthesized_expression "(*(code *)PTR_discard_unwind_frame_00144c18)" ( (pointer_expression "*(code *)PTR_discard_unwind_frame_00144c18" * (cast_expression "(code *)PTR_discard_unwind_frame_00144c18" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_00144578 + 0x6914)" ( (binary_expression "PTR_LAB_00144578 + 0x6914" identifier + number_literal) ))) ;) }))) (return_statement "return iVar7;" return identifier ;) })))
(translation_unit "undefined4 FUN_0004978c(code *param_1,undefined4 *param_2,uint param_3,uint param_4)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  uint uVar4;\n  uint uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  undefined *puVar9;\n  int iVar10;\n  uint uVar11;\n  undefined4 *puVar12;\n  int *piVar13;\n  int *piVar14;\n  int local_30;\n  \n  puVar2 = PTR_source_builtin_00144bf0;\n  if (param_4 == 0) {\n    if ((param_3 & 8) == 0) {\n      iVar10 = 0;\n      bVar1 = false;\n      goto LAB_00049928;\n    }\n    if (((param_1 == (code *)PTR_eval_builtin_00144be8) ||\n        (param_1 == (code *)PTR_command_builtin_00144bec)) ||\n       (bVar1 = false, param_1 == (code *)PTR_source_builtin_00144bf0)) {\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4);\n      iVar10 = (*(code *)PTR_signal_is_trapped_00144664)(0x81);\n      if (((iVar10 == 0) || (iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0))\n         || (iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar10 == 0)) {\n        iVar10 = 0;\n      }\n      else {\n        iVar6 = (*(code *)PTR_strlen_00146390)(iVar10);\n        uVar7 = (*(code *)PTR_xmalloc_001445b0)(iVar6 + 1);\n        iVar10 = (*(code *)PTR_strcpy_00146418)(uVar7,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar10);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }\n      puVar9 = PTR_builtin_ignoring_errexit_00144c0c;\n      bVar1 = true;\n      local_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c;\n      *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0;\n      *(undefined4 *)puVar9 = 1;\n      goto LAB_00049928;\n    }\n    iVar10 = 0;\nLAB_00049808:\n    if (param_1 == (code *)PTR_unset_builtin_00144bf4) goto LAB_00049938;\n    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) goto LAB_00049a2c;\n    uVar11 = 0;\n    if (param_1 == (code *)PTR_read_builtin_00144c00) goto LAB_00049954;\njoined_r0x00049978:\n    piVar13 = (int *)PTR_evalnest_00144c38;\n    piVar14 = (int *)PTR_sourcenest_00144c44;\n    if (param_4 != 0) goto LAB_00049830;\njoined_r0x00049b04:\n    PTR_evalnest_00144c38 = (undefined *)piVar13;\n    PTR_sourcenest_00144c44 = (undefined *)piVar14;\n    if (param_1 == (code *)PTR_eval_builtin_00144be8) {\n      if ((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar13)\n         ) {\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);\n        internal_error(uVar7,*piVar13);\n        piVar14 = piVar13;\n        goto LAB_00049d4c;\n      }\nLAB_00049b38:\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(piVar13,4);\n      *piVar13 = *piVar13 + 1;\n    }\n    else if (param_1 == (code *)puVar2) {\n      piVar13 = piVar14;\n      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar14)) {\n        do {\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }\n      goto LAB_00049b38;\n    }\n    puVar9 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec);\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\n      uVar7 = *param_2;\n      iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08;\n      goto LAB_000499c8;\n    }\n    if (param_1 == (code *)PTR_return_builtin_00144c28) {\n      if (((param_3 & 0x800) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)) {\n        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);\n      }\n      puVar3 = PTR_return_builtin_00144c28;\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*(code *)puVar3)(uVar7);\n      if (*(int *)puVar2 == 0) goto LAB_00049a90;\nLAB_000499f4:\n      if (*(int *)PTR_temporary_env_00144858 != 0) {\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }\n    }\n    else {\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*param_1)(uVar7);\n    }\n  }\n  else {\n    iVar10 = 0;\n    bVar1 = false;\nLAB_00049928:\n    if ((param_1 != (code *)puVar2) && (param_1 != (code *)PTR_eval_builtin_00144be8))\n    goto LAB_00049808;\nLAB_00049938:\n    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) {\nLAB_00049a2c:\n      uVar11 = 0;\n      if (param_4 != 0) goto LAB_0004995c;\nLAB_00049a38:\n      puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);\n      if (*puVar12 != 0) {\n        push_scope(8);\n        if (((param_3 & 0x800) == 0) && (uVar11 != 0)) {\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar9 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9);\nLAB_00049978:\n        uVar11 = 1;\n        *puVar12 = 0;\n        goto joined_r0x00049978;\n      }\n      uVar11 = 1;\n      piVar13 = (int *)PTR_evalnest_00144c38;\n      piVar14 = (int *)PTR_sourcenest_00144c44;\n      goto joined_r0x00049b04;\n    }\n    uVar11 = (uint)(param_1 != (code *)PTR_read_builtin_00144c00);\nLAB_00049954:\n    if (param_4 == 0) goto LAB_00049a38;\nLAB_0004995c:\n    puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n    uVar11 = param_4;\n    if (*(int *)PTR_temporary_env_00144858 != 0) {\n      push_scope(8);\n      goto LAB_00049978;\n    }\nLAB_00049830:\n    puVar9 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;\n    uVar7 = *param_2;\n    uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec) |\n            *(uint *)PTR_executing_command_builtin_00144c08;\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\nLAB_000499c8:\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      puVar2 = PTR_posixly_correct_0014458c;\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)(uVar7);\n      if (*(int *)puVar2 != 0) {\n        if (param_4 != 0) goto LAB_00049880;\n        if (param_1 == (code *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }\n    }\n    else {\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)();\n      if (*(int *)puVar2 != 0) goto LAB_00049880;\n    }\n    if (param_4 != 0) goto LAB_00049880;\n  }\nLAB_00049a90:\n  if (uVar11 != 0) {\n    (*(code *)PTR_run_unwind_frame_00144c34)(PTR_LAB_00144578 + 0x6924);\n  }\nLAB_00049880:\n  if (bVar1) {\n    *(int *)PTR_builtin_ignoring_errexit_00144c0c = local_30;\n    if (local_30 == 0) {\n      uVar8 = *(undefined4 *)PTR_errexit_flag_00144c10;\n    }\n    else {\n      uVar8 = 0;\n    }\n    *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = uVar8;\n    if (iVar10 != 0) {\n      (*(code *)PTR_set_error_trap_00144c14)(iVar10);\n      (*(code *)PTR_free_001464fc)(iVar10);\n    }\n    (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6914);\n  }\n  return uVar7;\n}\n\n" (function_definition "undefined4 FUN_0004978c(code *param_1,undefined4 *param_2,uint param_3,uint param_4)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  uint uVar4;\n  uint uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  undefined *puVar9;\n  int iVar10;\n  uint uVar11;\n  undefined4 *puVar12;\n  int *piVar13;\n  int *piVar14;\n  int local_30;\n  \n  puVar2 = PTR_source_builtin_00144bf0;\n  if (param_4 == 0) {\n    if ((param_3 & 8) == 0) {\n      iVar10 = 0;\n      bVar1 = false;\n      goto LAB_00049928;\n    }\n    if (((param_1 == (code *)PTR_eval_builtin_00144be8) ||\n        (param_1 == (code *)PTR_command_builtin_00144bec)) ||\n       (bVar1 = false, param_1 == (code *)PTR_source_builtin_00144bf0)) {\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4);\n      iVar10 = (*(code *)PTR_signal_is_trapped_00144664)(0x81);\n      if (((iVar10 == 0) || (iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0))\n         || (iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar10 == 0)) {\n        iVar10 = 0;\n      }\n      else {\n        iVar6 = (*(code *)PTR_strlen_00146390)(iVar10);\n        uVar7 = (*(code *)PTR_xmalloc_001445b0)(iVar6 + 1);\n        iVar10 = (*(code *)PTR_strcpy_00146418)(uVar7,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar10);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }\n      puVar9 = PTR_builtin_ignoring_errexit_00144c0c;\n      bVar1 = true;\n      local_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c;\n      *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0;\n      *(undefined4 *)puVar9 = 1;\n      goto LAB_00049928;\n    }\n    iVar10 = 0;\nLAB_00049808:\n    if (param_1 == (code *)PTR_unset_builtin_00144bf4) goto LAB_00049938;\n    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) goto LAB_00049a2c;\n    uVar11 = 0;\n    if (param_1 == (code *)PTR_read_builtin_00144c00) goto LAB_00049954;\njoined_r0x00049978:\n    piVar13 = (int *)PTR_evalnest_00144c38;\n    piVar14 = (int *)PTR_sourcenest_00144c44;\n    if (param_4 != 0) goto LAB_00049830;\njoined_r0x00049b04:\n    PTR_evalnest_00144c38 = (undefined *)piVar13;\n    PTR_sourcenest_00144c44 = (undefined *)piVar14;\n    if (param_1 == (code *)PTR_eval_builtin_00144be8) {\n      if ((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar13)\n         ) {\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);\n        internal_error(uVar7,*piVar13);\n        piVar14 = piVar13;\n        goto LAB_00049d4c;\n      }\nLAB_00049b38:\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(piVar13,4);\n      *piVar13 = *piVar13 + 1;\n    }\n    else if (param_1 == (code *)puVar2) {\n      piVar13 = piVar14;\n      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar14)) {\n        do {\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }\n      goto LAB_00049b38;\n    }\n    puVar9 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec);\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\n      uVar7 = *param_2;\n      iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08;\n      goto LAB_000499c8;\n    }\n    if (param_1 == (code *)PTR_return_builtin_00144c28) {\n      if (((param_3 & 0x800) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)) {\n        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);\n      }\n      puVar3 = PTR_return_builtin_00144c28;\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*(code *)puVar3)(uVar7);\n      if (*(int *)puVar2 == 0) goto LAB_00049a90;\nLAB_000499f4:\n      if (*(int *)PTR_temporary_env_00144858 != 0) {\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }\n    }\n    else {\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*param_1)(uVar7);\n    }\n  }\n  else {\n    iVar10 = 0;\n    bVar1 = false;\nLAB_00049928:\n    if ((param_1 != (code *)puVar2) && (param_1 != (code *)PTR_eval_builtin_00144be8))\n    goto LAB_00049808;\nLAB_00049938:\n    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) {\nLAB_00049a2c:\n      uVar11 = 0;\n      if (param_4 != 0) goto LAB_0004995c;\nLAB_00049a38:\n      puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);\n      if (*puVar12 != 0) {\n        push_scope(8);\n        if (((param_3 & 0x800) == 0) && (uVar11 != 0)) {\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar9 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9);\nLAB_00049978:\n        uVar11 = 1;\n        *puVar12 = 0;\n        goto joined_r0x00049978;\n      }\n      uVar11 = 1;\n      piVar13 = (int *)PTR_evalnest_00144c38;\n      piVar14 = (int *)PTR_sourcenest_00144c44;\n      goto joined_r0x00049b04;\n    }\n    uVar11 = (uint)(param_1 != (code *)PTR_read_builtin_00144c00);\nLAB_00049954:\n    if (param_4 == 0) goto LAB_00049a38;\nLAB_0004995c:\n    puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n    uVar11 = param_4;\n    if (*(int *)PTR_temporary_env_00144858 != 0) {\n      push_scope(8);\n      goto LAB_00049978;\n    }\nLAB_00049830:\n    puVar9 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;\n    uVar7 = *param_2;\n    uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec) |\n            *(uint *)PTR_executing_command_builtin_00144c08;\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\nLAB_000499c8:\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      puVar2 = PTR_posixly_correct_0014458c;\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)(uVar7);\n      if (*(int *)puVar2 != 0) {\n        if (param_4 != 0) goto LAB_00049880;\n        if (param_1 == (code *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }\n    }\n    else {\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)();\n      if (*(int *)puVar2 != 0) goto LAB_00049880;\n    }\n    if (param_4 != 0) goto LAB_00049880;\n  }\nLAB_00049a90:\n  if (uVar11 != 0) {\n    (*(code *)PTR_run_unwind_frame_00144c34)(PTR_LAB_00144578 + 0x6924);\n  }\nLAB_00049880:\n  if (bVar1) {\n    *(int *)PTR_builtin_ignoring_errexit_00144c0c = local_30;\n    if (local_30 == 0) {\n      uVar8 = *(undefined4 *)PTR_errexit_flag_00144c10;\n    }\n    else {\n      uVar8 = 0;\n    }\n    *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = uVar8;\n    if (iVar10 != 0) {\n      (*(code *)PTR_set_error_trap_00144c14)(iVar10);\n      (*(code *)PTR_free_001464fc)(iVar10);\n    }\n    (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6914);\n  }\n  return uVar7;\n}" type_identifier (function_declarator "FUN_0004978c(code *param_1,undefined4 *param_2,uint param_3,uint param_4)" identifier (parameter_list "(code *param_1,undefined4 *param_2,uint param_3,uint param_4)" ( (parameter_declaration "code *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "uint param_4" type_identifier identifier) ))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  uint uVar4;\n  uint uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  undefined *puVar9;\n  int iVar10;\n  uint uVar11;\n  undefined4 *puVar12;\n  int *piVar13;\n  int *piVar14;\n  int local_30;\n  \n  puVar2 = PTR_source_builtin_00144bf0;\n  if (param_4 == 0) {\n    if ((param_3 & 8) == 0) {\n      iVar10 = 0;\n      bVar1 = false;\n      goto LAB_00049928;\n    }\n    if (((param_1 == (code *)PTR_eval_builtin_00144be8) ||\n        (param_1 == (code *)PTR_command_builtin_00144bec)) ||\n       (bVar1 = false, param_1 == (code *)PTR_source_builtin_00144bf0)) {\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4);\n      iVar10 = (*(code *)PTR_signal_is_trapped_00144664)(0x81);\n      if (((iVar10 == 0) || (iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0))\n         || (iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar10 == 0)) {\n        iVar10 = 0;\n      }\n      else {\n        iVar6 = (*(code *)PTR_strlen_00146390)(iVar10);\n        uVar7 = (*(code *)PTR_xmalloc_001445b0)(iVar6 + 1);\n        iVar10 = (*(code *)PTR_strcpy_00146418)(uVar7,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar10);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }\n      puVar9 = PTR_builtin_ignoring_errexit_00144c0c;\n      bVar1 = true;\n      local_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c;\n      *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0;\n      *(undefined4 *)puVar9 = 1;\n      goto LAB_00049928;\n    }\n    iVar10 = 0;\nLAB_00049808:\n    if (param_1 == (code *)PTR_unset_builtin_00144bf4) goto LAB_00049938;\n    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) goto LAB_00049a2c;\n    uVar11 = 0;\n    if (param_1 == (code *)PTR_read_builtin_00144c00) goto LAB_00049954;\njoined_r0x00049978:\n    piVar13 = (int *)PTR_evalnest_00144c38;\n    piVar14 = (int *)PTR_sourcenest_00144c44;\n    if (param_4 != 0) goto LAB_00049830;\njoined_r0x00049b04:\n    PTR_evalnest_00144c38 = (undefined *)piVar13;\n    PTR_sourcenest_00144c44 = (undefined *)piVar14;\n    if (param_1 == (code *)PTR_eval_builtin_00144be8) {\n      if ((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar13)\n         ) {\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);\n        internal_error(uVar7,*piVar13);\n        piVar14 = piVar13;\n        goto LAB_00049d4c;\n      }\nLAB_00049b38:\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(piVar13,4);\n      *piVar13 = *piVar13 + 1;\n    }\n    else if (param_1 == (code *)puVar2) {\n      piVar13 = piVar14;\n      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar14)) {\n        do {\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }\n      goto LAB_00049b38;\n    }\n    puVar9 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec);\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\n      uVar7 = *param_2;\n      iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08;\n      goto LAB_000499c8;\n    }\n    if (param_1 == (code *)PTR_return_builtin_00144c28) {\n      if (((param_3 & 0x800) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)) {\n        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);\n      }\n      puVar3 = PTR_return_builtin_00144c28;\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*(code *)puVar3)(uVar7);\n      if (*(int *)puVar2 == 0) goto LAB_00049a90;\nLAB_000499f4:\n      if (*(int *)PTR_temporary_env_00144858 != 0) {\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }\n    }\n    else {\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*param_1)(uVar7);\n    }\n  }\n  else {\n    iVar10 = 0;\n    bVar1 = false;\nLAB_00049928:\n    if ((param_1 != (code *)puVar2) && (param_1 != (code *)PTR_eval_builtin_00144be8))\n    goto LAB_00049808;\nLAB_00049938:\n    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) {\nLAB_00049a2c:\n      uVar11 = 0;\n      if (param_4 != 0) goto LAB_0004995c;\nLAB_00049a38:\n      puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);\n      if (*puVar12 != 0) {\n        push_scope(8);\n        if (((param_3 & 0x800) == 0) && (uVar11 != 0)) {\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar9 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9);\nLAB_00049978:\n        uVar11 = 1;\n        *puVar12 = 0;\n        goto joined_r0x00049978;\n      }\n      uVar11 = 1;\n      piVar13 = (int *)PTR_evalnest_00144c38;\n      piVar14 = (int *)PTR_sourcenest_00144c44;\n      goto joined_r0x00049b04;\n    }\n    uVar11 = (uint)(param_1 != (code *)PTR_read_builtin_00144c00);\nLAB_00049954:\n    if (param_4 == 0) goto LAB_00049a38;\nLAB_0004995c:\n    puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n    uVar11 = param_4;\n    if (*(int *)PTR_temporary_env_00144858 != 0) {\n      push_scope(8);\n      goto LAB_00049978;\n    }\nLAB_00049830:\n    puVar9 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;\n    uVar7 = *param_2;\n    uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec) |\n            *(uint *)PTR_executing_command_builtin_00144c08;\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\nLAB_000499c8:\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      puVar2 = PTR_posixly_correct_0014458c;\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)(uVar7);\n      if (*(int *)puVar2 != 0) {\n        if (param_4 != 0) goto LAB_00049880;\n        if (param_1 == (code *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }\n    }\n    else {\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)();\n      if (*(int *)puVar2 != 0) goto LAB_00049880;\n    }\n    if (param_4 != 0) goto LAB_00049880;\n  }\nLAB_00049a90:\n  if (uVar11 != 0) {\n    (*(code *)PTR_run_unwind_frame_00144c34)(PTR_LAB_00144578 + 0x6924);\n  }\nLAB_00049880:\n  if (bVar1) {\n    *(int *)PTR_builtin_ignoring_errexit_00144c0c = local_30;\n    if (local_30 == 0) {\n      uVar8 = *(undefined4 *)PTR_errexit_flag_00144c10;\n    }\n    else {\n      uVar8 = 0;\n    }\n    *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = uVar8;\n    if (iVar10 != 0) {\n      (*(code *)PTR_set_error_trap_00144c14)(iVar10);\n      (*(code *)PTR_free_001464fc)(iVar10);\n    }\n    (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6914);\n  }\n  return uVar7;\n}" { (declaration "bool bVar1;" primitive_type identifier ;) (declaration "undefined *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "undefined4 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "int *piVar13;" primitive_type (pointer_declarator "*piVar13" * identifier) ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (declaration "int local_30;" primitive_type identifier ;) (expression_statement "puVar2 = PTR_source_builtin_00144bf0;" (assignment_expression "puVar2 = PTR_source_builtin_00144bf0" identifier = identifier) ;) (if_statement "if (param_4 == 0) {\n    if ((param_3 & 8) == 0) {\n      iVar10 = 0;\n      bVar1 = false;\n      goto LAB_00049928;\n    }\n    if (((param_1 == (code *)PTR_eval_builtin_00144be8) ||\n        (param_1 == (code *)PTR_command_builtin_00144bec)) ||\n       (bVar1 = false, param_1 == (code *)PTR_source_builtin_00144bf0)) {\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4);\n      iVar10 = (*(code *)PTR_signal_is_trapped_00144664)(0x81);\n      if (((iVar10 == 0) || (iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0))\n         || (iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar10 == 0)) {\n        iVar10 = 0;\n      }\n      else {\n        iVar6 = (*(code *)PTR_strlen_00146390)(iVar10);\n        uVar7 = (*(code *)PTR_xmalloc_001445b0)(iVar6 + 1);\n        iVar10 = (*(code *)PTR_strcpy_00146418)(uVar7,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar10);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }\n      puVar9 = PTR_builtin_ignoring_errexit_00144c0c;\n      bVar1 = true;\n      local_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c;\n      *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0;\n      *(undefined4 *)puVar9 = 1;\n      goto LAB_00049928;\n    }\n    iVar10 = 0;\nLAB_00049808:\n    if (param_1 == (code *)PTR_unset_builtin_00144bf4) goto LAB_00049938;\n    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) goto LAB_00049a2c;\n    uVar11 = 0;\n    if (param_1 == (code *)PTR_read_builtin_00144c00) goto LAB_00049954;\njoined_r0x00049978:\n    piVar13 = (int *)PTR_evalnest_00144c38;\n    piVar14 = (int *)PTR_sourcenest_00144c44;\n    if (param_4 != 0) goto LAB_00049830;\njoined_r0x00049b04:\n    PTR_evalnest_00144c38 = (undefined *)piVar13;\n    PTR_sourcenest_00144c44 = (undefined *)piVar14;\n    if (param_1 == (code *)PTR_eval_builtin_00144be8) {\n      if ((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar13)\n         ) {\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);\n        internal_error(uVar7,*piVar13);\n        piVar14 = piVar13;\n        goto LAB_00049d4c;\n      }\nLAB_00049b38:\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(piVar13,4);\n      *piVar13 = *piVar13 + 1;\n    }\n    else if (param_1 == (code *)puVar2) {\n      piVar13 = piVar14;\n      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar14)) {\n        do {\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }\n      goto LAB_00049b38;\n    }\n    puVar9 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec);\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\n      uVar7 = *param_2;\n      iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08;\n      goto LAB_000499c8;\n    }\n    if (param_1 == (code *)PTR_return_builtin_00144c28) {\n      if (((param_3 & 0x800) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)) {\n        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);\n      }\n      puVar3 = PTR_return_builtin_00144c28;\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*(code *)puVar3)(uVar7);\n      if (*(int *)puVar2 == 0) goto LAB_00049a90;\nLAB_000499f4:\n      if (*(int *)PTR_temporary_env_00144858 != 0) {\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }\n    }\n    else {\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*param_1)(uVar7);\n    }\n  }\n  else {\n    iVar10 = 0;\n    bVar1 = false;\nLAB_00049928:\n    if ((param_1 != (code *)puVar2) && (param_1 != (code *)PTR_eval_builtin_00144be8))\n    goto LAB_00049808;\nLAB_00049938:\n    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) {\nLAB_00049a2c:\n      uVar11 = 0;\n      if (param_4 != 0) goto LAB_0004995c;\nLAB_00049a38:\n      puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);\n      if (*puVar12 != 0) {\n        push_scope(8);\n        if (((param_3 & 0x800) == 0) && (uVar11 != 0)) {\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar9 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9);\nLAB_00049978:\n        uVar11 = 1;\n        *puVar12 = 0;\n        goto joined_r0x00049978;\n      }\n      uVar11 = 1;\n      piVar13 = (int *)PTR_evalnest_00144c38;\n      piVar14 = (int *)PTR_sourcenest_00144c44;\n      goto joined_r0x00049b04;\n    }\n    uVar11 = (uint)(param_1 != (code *)PTR_read_builtin_00144c00);\nLAB_00049954:\n    if (param_4 == 0) goto LAB_00049a38;\nLAB_0004995c:\n    puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n    uVar11 = param_4;\n    if (*(int *)PTR_temporary_env_00144858 != 0) {\n      push_scope(8);\n      goto LAB_00049978;\n    }\nLAB_00049830:\n    puVar9 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;\n    uVar7 = *param_2;\n    uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec) |\n            *(uint *)PTR_executing_command_builtin_00144c08;\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\nLAB_000499c8:\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      puVar2 = PTR_posixly_correct_0014458c;\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)(uVar7);\n      if (*(int *)puVar2 != 0) {\n        if (param_4 != 0) goto LAB_00049880;\n        if (param_1 == (code *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }\n    }\n    else {\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)();\n      if (*(int *)puVar2 != 0) goto LAB_00049880;\n    }\n    if (param_4 != 0) goto LAB_00049880;\n  }" if (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) (compound_statement "{\n    if ((param_3 & 8) == 0) {\n      iVar10 = 0;\n      bVar1 = false;\n      goto LAB_00049928;\n    }\n    if (((param_1 == (code *)PTR_eval_builtin_00144be8) ||\n        (param_1 == (code *)PTR_command_builtin_00144bec)) ||\n       (bVar1 = false, param_1 == (code *)PTR_source_builtin_00144bf0)) {\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4);\n      iVar10 = (*(code *)PTR_signal_is_trapped_00144664)(0x81);\n      if (((iVar10 == 0) || (iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0))\n         || (iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar10 == 0)) {\n        iVar10 = 0;\n      }\n      else {\n        iVar6 = (*(code *)PTR_strlen_00146390)(iVar10);\n        uVar7 = (*(code *)PTR_xmalloc_001445b0)(iVar6 + 1);\n        iVar10 = (*(code *)PTR_strcpy_00146418)(uVar7,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar10);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }\n      puVar9 = PTR_builtin_ignoring_errexit_00144c0c;\n      bVar1 = true;\n      local_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c;\n      *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0;\n      *(undefined4 *)puVar9 = 1;\n      goto LAB_00049928;\n    }\n    iVar10 = 0;\nLAB_00049808:\n    if (param_1 == (code *)PTR_unset_builtin_00144bf4) goto LAB_00049938;\n    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) goto LAB_00049a2c;\n    uVar11 = 0;\n    if (param_1 == (code *)PTR_read_builtin_00144c00) goto LAB_00049954;\njoined_r0x00049978:\n    piVar13 = (int *)PTR_evalnest_00144c38;\n    piVar14 = (int *)PTR_sourcenest_00144c44;\n    if (param_4 != 0) goto LAB_00049830;\njoined_r0x00049b04:\n    PTR_evalnest_00144c38 = (undefined *)piVar13;\n    PTR_sourcenest_00144c44 = (undefined *)piVar14;\n    if (param_1 == (code *)PTR_eval_builtin_00144be8) {\n      if ((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar13)\n         ) {\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);\n        internal_error(uVar7,*piVar13);\n        piVar14 = piVar13;\n        goto LAB_00049d4c;\n      }\nLAB_00049b38:\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(piVar13,4);\n      *piVar13 = *piVar13 + 1;\n    }\n    else if (param_1 == (code *)puVar2) {\n      piVar13 = piVar14;\n      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar14)) {\n        do {\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }\n      goto LAB_00049b38;\n    }\n    puVar9 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec);\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\n      uVar7 = *param_2;\n      iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08;\n      goto LAB_000499c8;\n    }\n    if (param_1 == (code *)PTR_return_builtin_00144c28) {\n      if (((param_3 & 0x800) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)) {\n        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);\n      }\n      puVar3 = PTR_return_builtin_00144c28;\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*(code *)puVar3)(uVar7);\n      if (*(int *)puVar2 == 0) goto LAB_00049a90;\nLAB_000499f4:\n      if (*(int *)PTR_temporary_env_00144858 != 0) {\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }\n    }\n    else {\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*param_1)(uVar7);\n    }\n  }" { (if_statement "if ((param_3 & 8) == 0) {\n      iVar10 = 0;\n      bVar1 = false;\n      goto LAB_00049928;\n    }" if (parenthesized_expression "((param_3 & 8) == 0)" ( (binary_expression "(param_3 & 8) == 0" (parenthesized_expression "(param_3 & 8)" ( (binary_expression "param_3 & 8" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n      iVar10 = 0;\n      bVar1 = false;\n      goto LAB_00049928;\n    }" { (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (goto_statement "goto LAB_00049928;" goto statement_identifier ;) })) (if_statement "if (((param_1 == (code *)PTR_eval_builtin_00144be8) ||\n        (param_1 == (code *)PTR_command_builtin_00144bec)) ||\n       (bVar1 = false, param_1 == (code *)PTR_source_builtin_00144bf0)) {\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4);\n      iVar10 = (*(code *)PTR_signal_is_trapped_00144664)(0x81);\n      if (((iVar10 == 0) || (iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0))\n         || (iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar10 == 0)) {\n        iVar10 = 0;\n      }\n      else {\n        iVar6 = (*(code *)PTR_strlen_00146390)(iVar10);\n        uVar7 = (*(code *)PTR_xmalloc_001445b0)(iVar6 + 1);\n        iVar10 = (*(code *)PTR_strcpy_00146418)(uVar7,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar10);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }\n      puVar9 = PTR_builtin_ignoring_errexit_00144c0c;\n      bVar1 = true;\n      local_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c;\n      *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0;\n      *(undefined4 *)puVar9 = 1;\n      goto LAB_00049928;\n    }" if (parenthesized_expression "(((param_1 == (code *)PTR_eval_builtin_00144be8) ||\n        (param_1 == (code *)PTR_command_builtin_00144bec)) ||\n       (bVar1 = false, param_1 == (code *)PTR_source_builtin_00144bf0))" ( (binary_expression "((param_1 == (code *)PTR_eval_builtin_00144be8) ||\n        (param_1 == (code *)PTR_command_builtin_00144bec)) ||\n       (bVar1 = false, param_1 == (code *)PTR_source_builtin_00144bf0)" (parenthesized_expression "((param_1 == (code *)PTR_eval_builtin_00144be8) ||\n        (param_1 == (code *)PTR_command_builtin_00144bec))" ( (binary_expression "(param_1 == (code *)PTR_eval_builtin_00144be8) ||\n        (param_1 == (code *)PTR_command_builtin_00144bec)" (parenthesized_expression "(param_1 == (code *)PTR_eval_builtin_00144be8)" ( (binary_expression "param_1 == (code *)PTR_eval_builtin_00144be8" identifier == (cast_expression "(code *)PTR_eval_builtin_00144be8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) || (parenthesized_expression "(param_1 == (code *)PTR_command_builtin_00144bec)" ( (binary_expression "param_1 == (code *)PTR_command_builtin_00144bec" identifier == (cast_expression "(code *)PTR_command_builtin_00144bec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) )) || (parenthesized_expression "(bVar1 = false, param_1 == (code *)PTR_source_builtin_00144bf0)" ( (comma_expression "bVar1 = false, param_1 == (code *)PTR_source_builtin_00144bf0" (assignment_expression "bVar1 = false" identifier = false) , (binary_expression "param_1 == (code *)PTR_source_builtin_00144bf0" identifier == (cast_expression "(code *)PTR_source_builtin_00144bf0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ))) )) (compound_statement "{\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4);\n      iVar10 = (*(code *)PTR_signal_is_trapped_00144664)(0x81);\n      if (((iVar10 == 0) || (iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0))\n         || (iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar10 == 0)) {\n        iVar10 = 0;\n      }\n      else {\n        iVar6 = (*(code *)PTR_strlen_00146390)(iVar10);\n        uVar7 = (*(code *)PTR_xmalloc_001445b0)(iVar6 + 1);\n        iVar10 = (*(code *)PTR_strcpy_00146418)(uVar7,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar10);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }\n      puVar9 = PTR_builtin_ignoring_errexit_00144c0c;\n      bVar1 = true;\n      local_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c;\n      *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0;\n      *(undefined4 *)puVar9 = 1;\n      goto LAB_00049928;\n    }" { (expression_statement "(*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914);" (call_expression "(*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914)" (parenthesized_expression "(*(code *)PTR_begin_unwind_frame_00144c2c)" ( (pointer_expression "*(code *)PTR_begin_unwind_frame_00144c2c" * (cast_expression "(code *)PTR_begin_unwind_frame_00144c2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_00144578 + 0x6914)" ( (binary_expression "PTR_LAB_00144578 + 0x6914" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4);" (call_expression "(*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4)" (parenthesized_expression "(*(code *)PTR_unwind_protect_mem_00144c3c)" ( (pointer_expression "*(code *)PTR_unwind_protect_mem_00144c3c" * (cast_expression "(code *)PTR_unwind_protect_mem_00144c3c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_exit_immediately_on_error_001445f0,4)" ( identifier , number_literal ))) ;) (expression_statement "(*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4);" (call_expression "(*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4)" (parenthesized_expression "(*(code *)PTR_unwind_protect_mem_00144c3c)" ( (pointer_expression "*(code *)PTR_unwind_protect_mem_00144c3c" * (cast_expression "(code *)PTR_unwind_protect_mem_00144c3c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_builtin_ignoring_errexit_00144c0c,4)" ( identifier , number_literal ))) ;) (expression_statement "iVar10 = (*(code *)PTR_signal_is_trapped_00144664)(0x81);" (assignment_expression "iVar10 = (*(code *)PTR_signal_is_trapped_00144664)(0x81)" identifier = (call_expression "(*(code *)PTR_signal_is_trapped_00144664)(0x81)" (parenthesized_expression "(*(code *)PTR_signal_is_trapped_00144664)" ( (pointer_expression "*(code *)PTR_signal_is_trapped_00144664" * (cast_expression "(code *)PTR_signal_is_trapped_00144664" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x81)" ( number_literal )))) ;) (if_statement "if (((iVar10 == 0) || (iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0))\n         || (iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar10 == 0)) {\n        iVar10 = 0;\n      }\n      else {\n        iVar6 = (*(code *)PTR_strlen_00146390)(iVar10);\n        uVar7 = (*(code *)PTR_xmalloc_001445b0)(iVar6 + 1);\n        iVar10 = (*(code *)PTR_strcpy_00146418)(uVar7,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar10);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }" if (parenthesized_expression "(((iVar10 == 0) || (iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0))\n         || (iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar10 == 0))" ( (binary_expression "((iVar10 == 0) || (iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0))\n         || (iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar10 == 0)" (parenthesized_expression "((iVar10 == 0) || (iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0))" ( (binary_expression "(iVar10 == 0) || (iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0)" (parenthesized_expression "(iVar10 == 0)" ( (binary_expression "iVar10 == 0" identifier == number_literal) )) || (parenthesized_expression "(iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0)" ( (comma_expression "iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0" (assignment_expression "iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81)" identifier = (call_expression "(*(code *)PTR_signal_is_ignored_00144880)(0x81)" (parenthesized_expression "(*(code *)PTR_signal_is_ignored_00144880)" ( (pointer_expression "*(code *)PTR_signal_is_ignored_00144880" * (cast_expression "(code *)PTR_signal_is_ignored_00144880" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x81)" ( number_literal )))) , (binary_expression "iVar10 != 0" identifier != number_literal)) ))) )) || (parenthesized_expression "(iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar10 == 0)" ( (comma_expression "iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar10 == 0" (assignment_expression "iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204)" identifier = (pointer_expression "*(int *)(PTR_trap_list_00144c48 + 0x204)" * (cast_expression "(int *)(PTR_trap_list_00144c48 + 0x204)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_trap_list_00144c48 + 0x204)" ( (binary_expression "PTR_trap_list_00144c48 + 0x204" identifier + number_literal) ))))) , (binary_expression "iVar10 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n        iVar10 = 0;\n      }" { (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) }) (else_clause "else {\n        iVar6 = (*(code *)PTR_strlen_00146390)(iVar10);\n        uVar7 = (*(code *)PTR_xmalloc_001445b0)(iVar6 + 1);\n        iVar10 = (*(code *)PTR_strcpy_00146418)(uVar7,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar10);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }" else (compound_statement "{\n        iVar6 = (*(code *)PTR_strlen_00146390)(iVar10);\n        uVar7 = (*(code *)PTR_xmalloc_001445b0)(iVar6 + 1);\n        iVar10 = (*(code *)PTR_strcpy_00146418)(uVar7,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar10);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }" { (expression_statement "iVar6 = (*(code *)PTR_strlen_00146390)(iVar10);" (assignment_expression "iVar6 = (*(code *)PTR_strlen_00146390)(iVar10)" identifier = (call_expression "(*(code *)PTR_strlen_00146390)(iVar10)" (parenthesized_expression "(*(code *)PTR_strlen_00146390)" ( (pointer_expression "*(code *)PTR_strlen_00146390" * (cast_expression "(code *)PTR_strlen_00146390" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar10)" ( identifier )))) ;) (expression_statement "uVar7 = (*(code *)PTR_xmalloc_001445b0)(iVar6 + 1);" (assignment_expression "uVar7 = (*(code *)PTR_xmalloc_001445b0)(iVar6 + 1)" identifier = (call_expression "(*(code *)PTR_xmalloc_001445b0)(iVar6 + 1)" (parenthesized_expression "(*(code *)PTR_xmalloc_001445b0)" ( (pointer_expression "*(code *)PTR_xmalloc_001445b0" * (cast_expression "(code *)PTR_xmalloc_001445b0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar6 + 1)" ( (binary_expression "iVar6 + 1" identifier + number_literal) )))) ;) (expression_statement "iVar10 = (*(code *)PTR_strcpy_00146418)(uVar7,iVar10);" (assignment_expression "iVar10 = (*(code *)PTR_strcpy_00146418)(uVar7,iVar10)" identifier = (call_expression "(*(code *)PTR_strcpy_00146418)(uVar7,iVar10)" (parenthesized_expression "(*(code *)PTR_strcpy_00146418)" ( (pointer_expression "*(code *)PTR_strcpy_00146418" * (cast_expression "(code *)PTR_strcpy_00146418" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar7,iVar10)" ( identifier , identifier )))) ;) (expression_statement "(*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar10);" (call_expression "(*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar10)" (parenthesized_expression "(*(code *)PTR_add_unwind_protect_00144b68)" ( (pointer_expression "*(code *)PTR_add_unwind_protect_00144b68" * (cast_expression "(code *)PTR_add_unwind_protect_00144b68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_xfree_00144b88,iVar10)" ( identifier , identifier ))) ;) (expression_statement "(*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar10);" (call_expression "(*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar10)" (parenthesized_expression "(*(code *)PTR_add_unwind_protect_00144b68)" ( (pointer_expression "*(code *)PTR_add_unwind_protect_00144b68" * (cast_expression "(code *)PTR_add_unwind_protect_00144b68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_set_error_trap_00144c14,iVar10)" ( identifier , identifier ))) ;) (expression_statement "(*(code *)PTR_restore_default_signal_00144c4c)(0x81);" (call_expression "(*(code *)PTR_restore_default_signal_00144c4c)(0x81)" (parenthesized_expression "(*(code *)PTR_restore_default_signal_00144c4c)" ( (pointer_expression "*(code *)PTR_restore_default_signal_00144c4c" * (cast_expression "(code *)PTR_restore_default_signal_00144c4c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x81)" ( number_literal ))) ;) }))) (expression_statement "puVar9 = PTR_builtin_ignoring_errexit_00144c0c;" (assignment_expression "puVar9 = PTR_builtin_ignoring_errexit_00144c0c" identifier = identifier) ;) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" identifier = true) ;) (expression_statement "local_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c;" (assignment_expression "local_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c" identifier = (pointer_expression "*(int *)PTR_builtin_ignoring_errexit_00144c0c" * (cast_expression "(int *)PTR_builtin_ignoring_errexit_00144c0c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0;" (assignment_expression "*(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0" (pointer_expression "*(undefined4 *)PTR_exit_immediately_on_error_001445f0" * (cast_expression "(undefined4 *)PTR_exit_immediately_on_error_001445f0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (expression_statement "*(undefined4 *)puVar9 = 1;" (assignment_expression "*(undefined4 *)puVar9 = 1" (pointer_expression "*(undefined4 *)puVar9" * (cast_expression "(undefined4 *)puVar9" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = number_literal) ;) (goto_statement "goto LAB_00049928;" goto statement_identifier ;) })) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (labeled_statement "LAB_00049808:\n    if (param_1 == (code *)PTR_unset_builtin_00144bf4) goto LAB_00049938;" statement_identifier : (if_statement "if (param_1 == (code *)PTR_unset_builtin_00144bf4) goto LAB_00049938;" if (parenthesized_expression "(param_1 == (code *)PTR_unset_builtin_00144bf4)" ( (binary_expression "param_1 == (code *)PTR_unset_builtin_00144bf4" identifier == (cast_expression "(code *)PTR_unset_builtin_00144bf4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (goto_statement "goto LAB_00049938;" goto statement_identifier ;))) (if_statement "if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) goto LAB_00049a2c;" if (parenthesized_expression "((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc))" ( (binary_expression "(param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)" (parenthesized_expression "(param_1 == (code *)PTR_mapfile_builtin_00144bf8)" ( (binary_expression "param_1 == (code *)PTR_mapfile_builtin_00144bf8" identifier == (cast_expression "(code *)PTR_mapfile_builtin_00144bf8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) || (parenthesized_expression "(param_1 == (code *)PTR_fc_builtin_00144bfc)" ( (binary_expression "param_1 == (code *)PTR_fc_builtin_00144bfc" identifier == (cast_expression "(code *)PTR_fc_builtin_00144bfc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) )) (goto_statement "goto LAB_00049a2c;" goto statement_identifier ;)) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;) (if_statement "if (param_1 == (code *)PTR_read_builtin_00144c00) goto LAB_00049954;" if (parenthesized_expression "(param_1 == (code *)PTR_read_builtin_00144c00)" ( (binary_expression "param_1 == (code *)PTR_read_builtin_00144c00" identifier == (cast_expression "(code *)PTR_read_builtin_00144c00" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (goto_statement "goto LAB_00049954;" goto statement_identifier ;)) (labeled_statement "joined_r0x00049978:\n    piVar13 = (int *)PTR_evalnest_00144c38;" statement_identifier : (expression_statement "piVar13 = (int *)PTR_evalnest_00144c38;" (assignment_expression "piVar13 = (int *)PTR_evalnest_00144c38" identifier = (cast_expression "(int *)PTR_evalnest_00144c38" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "piVar14 = (int *)PTR_sourcenest_00144c44;" (assignment_expression "piVar14 = (int *)PTR_sourcenest_00144c44" identifier = (cast_expression "(int *)PTR_sourcenest_00144c44" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (param_4 != 0) goto LAB_00049830;" if (parenthesized_expression "(param_4 != 0)" ( (binary_expression "param_4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00049830;" goto statement_identifier ;)) (labeled_statement "joined_r0x00049b04:\n    PTR_evalnest_00144c38 = (undefined *)piVar13;" statement_identifier : (expression_statement "PTR_evalnest_00144c38 = (undefined *)piVar13;" (assignment_expression "PTR_evalnest_00144c38 = (undefined *)piVar13" identifier = (cast_expression "(undefined *)piVar13" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "PTR_sourcenest_00144c44 = (undefined *)piVar14;" (assignment_expression "PTR_sourcenest_00144c44 = (undefined *)piVar14" identifier = (cast_expression "(undefined *)piVar14" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (if_statement "if (param_1 == (code *)PTR_eval_builtin_00144be8) {\n      if ((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar13)\n         ) {\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);\n        internal_error(uVar7,*piVar13);\n        piVar14 = piVar13;\n        goto LAB_00049d4c;\n      }\nLAB_00049b38:\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(piVar13,4);\n      *piVar13 = *piVar13 + 1;\n    }\n    else if (param_1 == (code *)puVar2) {\n      piVar13 = piVar14;\n      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar14)) {\n        do {\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }\n      goto LAB_00049b38;\n    }" if (parenthesized_expression "(param_1 == (code *)PTR_eval_builtin_00144be8)" ( (binary_expression "param_1 == (code *)PTR_eval_builtin_00144be8" identifier == (cast_expression "(code *)PTR_eval_builtin_00144be8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n      if ((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar13)\n         ) {\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);\n        internal_error(uVar7,*piVar13);\n        piVar14 = piVar13;\n        goto LAB_00049d4c;\n      }\nLAB_00049b38:\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(piVar13,4);\n      *piVar13 = *piVar13 + 1;\n    }" { (if_statement "if ((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar13)\n         ) {\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);\n        internal_error(uVar7,*piVar13);\n        piVar14 = piVar13;\n        goto LAB_00049d4c;\n      }" if (parenthesized_expression "((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar13)\n         )" ( (binary_expression "(0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar13)" (parenthesized_expression "(0 < *(int *)PTR_evalnest_max_00144c20)" ( (binary_expression "0 < *(int *)PTR_evalnest_max_00144c20" number_literal < (pointer_expression "*(int *)PTR_evalnest_max_00144c20" * (cast_expression "(int *)PTR_evalnest_max_00144c20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) && (parenthesized_expression "(*(int *)PTR_evalnest_max_00144c20 <= *piVar13)" ( (binary_expression "*(int *)PTR_evalnest_max_00144c20 <= *piVar13" (pointer_expression "*(int *)PTR_evalnest_max_00144c20" * (cast_expression "(int *)PTR_evalnest_max_00144c20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) <= (pointer_expression "*piVar13" * identifier)) ))) )) (compound_statement "{\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);\n        internal_error(uVar7,*piVar13);\n        piVar14 = piVar13;\n        goto LAB_00049d4c;\n      }" { (expression_statement "uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);" (assignment_expression "uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_00146498)" ( (pointer_expression "*(code *)PTR_dcgettext_00146498" * (cast_expression "(code *)PTR_dcgettext_00146498" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_00144578 + 0x6930,5)" ( number_literal , (binary_expression "PTR_LAB_00144578 + 0x6930" identifier + number_literal) , number_literal )))) ;) (expression_statement "internal_error(uVar7,*piVar13);" (call_expression "internal_error(uVar7,*piVar13)" identifier (argument_list "(uVar7,*piVar13)" ( identifier , (pointer_expression "*piVar13" * identifier) ))) ;) (expression_statement "piVar14 = piVar13;" (assignment_expression "piVar14 = piVar13" identifier = identifier) ;) (goto_statement "goto LAB_00049d4c;" goto statement_identifier ;) })) (labeled_statement "LAB_00049b38:\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(piVar13,4);" statement_identifier : (expression_statement "(*(code *)PTR_unwind_protect_mem_00144c3c)(piVar13,4);" (call_expression "(*(code *)PTR_unwind_protect_mem_00144c3c)(piVar13,4)" (parenthesized_expression "(*(code *)PTR_unwind_protect_mem_00144c3c)" ( (pointer_expression "*(code *)PTR_unwind_protect_mem_00144c3c" * (cast_expression "(code *)PTR_unwind_protect_mem_00144c3c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(piVar13,4)" ( identifier , number_literal ))) ;)) (expression_statement "*piVar13 = *piVar13 + 1;" (assignment_expression "*piVar13 = *piVar13 + 1" (pointer_expression "*piVar13" * identifier) = (binary_expression "*piVar13 + 1" (pointer_expression "*piVar13" * identifier) + number_literal)) ;) }) (else_clause "else if (param_1 == (code *)puVar2) {\n      piVar13 = piVar14;\n      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar14)) {\n        do {\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }\n      goto LAB_00049b38;\n    }" else (if_statement "if (param_1 == (code *)puVar2) {\n      piVar13 = piVar14;\n      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar14)) {\n        do {\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }\n      goto LAB_00049b38;\n    }" if (parenthesized_expression "(param_1 == (code *)puVar2)" ( (binary_expression "param_1 == (code *)puVar2" identifier == (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n      piVar13 = piVar14;\n      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar14)) {\n        do {\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }\n      goto LAB_00049b38;\n    }" { (expression_statement "piVar13 = piVar14;" (assignment_expression "piVar13 = piVar14" identifier = identifier) ;) (if_statement "if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar14)) {\n        do {\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }" if (parenthesized_expression "((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar14))" ( (binary_expression "(0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar14)" (parenthesized_expression "(0 < *(int *)PTR_sourcenest_max_00144c24)" ( (binary_expression "0 < *(int *)PTR_sourcenest_max_00144c24" number_literal < (pointer_expression "*(int *)PTR_sourcenest_max_00144c24" * (cast_expression "(int *)PTR_sourcenest_max_00144c24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) && (parenthesized_expression "(*(int *)PTR_sourcenest_max_00144c24 <= *piVar14)" ( (binary_expression "*(int *)PTR_sourcenest_max_00144c24 <= *piVar14" (pointer_expression "*(int *)PTR_sourcenest_max_00144c24" * (cast_expression "(int *)PTR_sourcenest_max_00144c24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) <= (pointer_expression "*piVar14" * identifier)) ))) )) (compound_statement "{\n        do {\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }" { (do_statement "do {\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );" do (compound_statement "{\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        }" { (expression_statement "uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);" (assignment_expression "uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960)" identifier = (call_expression "(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960)" (parenthesized_expression "(*(code *)PTR_dcgettext_00146498)" ( (pointer_expression "*(code *)PTR_dcgettext_00146498" * (cast_expression "(code *)PTR_dcgettext_00146498" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_LAB_00144578 + 0x6960)" ( number_literal , (binary_expression "PTR_LAB_00144578 + 0x6960" identifier + number_literal) )))) ;) (expression_statement "internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);" (call_expression "internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14)" identifier (argument_list "(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14)" ( identifier , (pointer_expression "*(undefined4 *)PTR_this_command_name_00144728" * (cast_expression "(undefined4 *)PTR_this_command_name_00144728" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (pointer_expression "*piVar14" * identifier) ))) ;) (labeled_statement "LAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;" statement_identifier : (expression_statement "puVar2 = PTR_jump_to_top_level_00144808;" (assignment_expression "puVar2 = PTR_jump_to_top_level_00144808" identifier = identifier) ;)) (expression_statement "*piVar14 = 0;" (assignment_expression "*piVar14 = 0" (pointer_expression "*piVar14" * identifier) = number_literal) ;) (expression_statement "(*(code *)puVar2)(2);" (call_expression "(*(code *)puVar2)(2)" (parenthesized_expression "(*(code *)puVar2)" ( (pointer_expression "*(code *)puVar2" * (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(2)" ( number_literal ))) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })) (goto_statement "goto LAB_00049b38;" goto statement_identifier ;) })))) (expression_statement "puVar9 = PTR_executing_command_builtin_00144c08;" (assignment_expression "puVar9 = PTR_executing_command_builtin_00144c08" identifier = identifier) ;) (expression_statement "puVar2 = PTR_posixly_correct_0014458c;" (assignment_expression "puVar2 = PTR_posixly_correct_0014458c" identifier = identifier) ;) (expression_statement "uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec);" (assignment_expression "uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec)" identifier = (call_expression "(uint)(param_1 == (code *)PTR_command_builtin_00144bec)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_1 == (code *)PTR_command_builtin_00144bec)" ( (binary_expression "param_1 == (code *)PTR_command_builtin_00144bec" identifier == (cast_expression "(code *)PTR_command_builtin_00144bec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (if_statement "if (*(int *)PTR_posixly_correct_0014458c == 0) {\n      uVar7 = *param_2;\n      iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08;\n      goto LAB_000499c8;\n    }" if (parenthesized_expression "(*(int *)PTR_posixly_correct_0014458c == 0)" ( (binary_expression "*(int *)PTR_posixly_correct_0014458c == 0" (pointer_expression "*(int *)PTR_posixly_correct_0014458c" * (cast_expression "(int *)PTR_posixly_correct_0014458c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) (compound_statement "{\n      uVar7 = *param_2;\n      iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08;\n      goto LAB_000499c8;\n    }" { (expression_statement "uVar7 = *param_2;" (assignment_expression "uVar7 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;" (assignment_expression "iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1" identifier = (binary_expression "*(int *)PTR_executing_builtin_00144c04 + 1" (pointer_expression "*(int *)PTR_executing_builtin_00144c04" * (cast_expression "(int *)PTR_executing_builtin_00144c04" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal)) ;) (expression_statement "uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08;" (assignment_expression "uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08" identifier = (binary_expression "uVar4 | *(uint *)PTR_executing_command_builtin_00144c08" identifier | (pointer_expression "*(uint *)PTR_executing_command_builtin_00144c08" * (cast_expression "(uint *)PTR_executing_command_builtin_00144c08" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (goto_statement "goto LAB_000499c8;" goto statement_identifier ;) })) (if_statement "if (param_1 == (code *)PTR_return_builtin_00144c28) {\n      if (((param_3 & 0x800) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)) {\n        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);\n      }\n      puVar3 = PTR_return_builtin_00144c28;\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*(code *)puVar3)(uVar7);\n      if (*(int *)puVar2 == 0) goto LAB_00049a90;\nLAB_000499f4:\n      if (*(int *)PTR_temporary_env_00144858 != 0) {\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }\n    }\n    else {\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*param_1)(uVar7);\n    }" if (parenthesized_expression "(param_1 == (code *)PTR_return_builtin_00144c28)" ( (binary_expression "param_1 == (code *)PTR_return_builtin_00144c28" identifier == (cast_expression "(code *)PTR_return_builtin_00144c28" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (compound_statement "{\n      if (((param_3 & 0x800) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)) {\n        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);\n      }\n      puVar3 = PTR_return_builtin_00144c28;\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*(code *)puVar3)(uVar7);\n      if (*(int *)puVar2 == 0) goto LAB_00049a90;\nLAB_000499f4:\n      if (*(int *)PTR_temporary_env_00144858 != 0) {\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }\n    }" { (if_statement "if (((param_3 & 0x800) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)) {\n        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);\n      }" if (parenthesized_expression "(((param_3 & 0x800) == 0) && (*(int *)PTR_temporary_env_00144858 != 0))" ( (binary_expression "((param_3 & 0x800) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)" (parenthesized_expression "((param_3 & 0x800) == 0)" ( (binary_expression "(param_3 & 0x800) == 0" (parenthesized_expression "(param_3 & 0x800)" ( (binary_expression "param_3 & 0x800" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(*(int *)PTR_temporary_env_00144858 != 0)" ( (binary_expression "*(int *)PTR_temporary_env_00144858 != 0" (pointer_expression "*(int *)PTR_temporary_env_00144858" * (cast_expression "(int *)PTR_temporary_env_00144858" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) ))) )) (compound_statement "{\n        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);\n      }" { (expression_statement "(*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);" (call_expression "(*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990)" (parenthesized_expression "(*(code *)PTR_begin_unwind_frame_00144c2c)" ( (pointer_expression "*(code *)PTR_begin_unwind_frame_00144c2c" * (cast_expression "(code *)PTR_begin_unwind_frame_00144c2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_00144578 + 0x6990)" ( (binary_expression "PTR_LAB_00144578 + 0x6990" identifier + number_literal) ))) ;) (expression_statement "(*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);" (call_expression "(*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0)" (parenthesized_expression "(*(code *)PTR_add_unwind_protect_00144b68)" ( (pointer_expression "*(code *)PTR_add_unwind_protect_00144b68" * (cast_expression "(code *)PTR_add_unwind_protect_00144b68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_merge_temporary_env_00144c40,0)" ( identifier , number_literal ))) ;) })) (expression_statement "puVar3 = PTR_return_builtin_00144c28;" (assignment_expression "puVar3 = PTR_return_builtin_00144c28" identifier = identifier) ;) (expression_statement "puVar9 = PTR_executing_command_builtin_00144c08;" (assignment_expression "puVar9 = PTR_executing_command_builtin_00144c08" identifier = identifier) ;) (expression_statement "uVar7 = *param_2;" (assignment_expression "uVar7 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;" (assignment_expression "uVar5 = *(uint *)PTR_executing_command_builtin_00144c08" identifier = (pointer_expression "*(uint *)PTR_executing_command_builtin_00144c08" * (cast_expression "(uint *)PTR_executing_command_builtin_00144c08" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;" (assignment_expression "*(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1" (pointer_expression "*(int *)PTR_executing_builtin_00144c04" * (cast_expression "(int *)PTR_executing_builtin_00144c04" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "*(int *)PTR_executing_builtin_00144c04 + 1" (pointer_expression "*(int *)PTR_executing_builtin_00144c04" * (cast_expression "(int *)PTR_executing_builtin_00144c04" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal)) ;) (expression_statement "*(uint *)puVar9 = uVar5 | uVar4;" (assignment_expression "*(uint *)puVar9 = uVar5 | uVar4" (pointer_expression "*(uint *)puVar9" * (cast_expression "(uint *)puVar9" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "uVar5 | uVar4" identifier | identifier)) ;) (expression_statement "uVar7 = (*(code *)puVar3)(uVar7);" (assignment_expression "uVar7 = (*(code *)puVar3)(uVar7)" identifier = (call_expression "(*(code *)puVar3)(uVar7)" (parenthesized_expression "(*(code *)puVar3)" ( (pointer_expression "*(code *)puVar3" * (cast_expression "(code *)puVar3" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar7)" ( identifier )))) ;) (if_statement "if (*(int *)puVar2 == 0) goto LAB_00049a90;" if (parenthesized_expression "(*(int *)puVar2 == 0)" ( (binary_expression "*(int *)puVar2 == 0" (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) (goto_statement "goto LAB_00049a90;" goto statement_identifier ;)) (labeled_statement "LAB_000499f4:\n      if (*(int *)PTR_temporary_env_00144858 != 0) {\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }" statement_identifier : (if_statement "if (*(int *)PTR_temporary_env_00144858 != 0) {\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }" if (parenthesized_expression "(*(int *)PTR_temporary_env_00144858 != 0)" ( (binary_expression "*(int *)PTR_temporary_env_00144858 != 0" (pointer_expression "*(int *)PTR_temporary_env_00144858" * (cast_expression "(int *)PTR_temporary_env_00144858" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }" { (expression_statement "(*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);" (call_expression "(*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990)" (parenthesized_expression "(*(code *)PTR_discard_unwind_frame_00144c18)" ( (pointer_expression "*(code *)PTR_discard_unwind_frame_00144c18" * (cast_expression "(code *)PTR_discard_unwind_frame_00144c18" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_00144578 + 0x6990)" ( (binary_expression "PTR_LAB_00144578 + 0x6990" identifier + number_literal) ))) ;) }))) }) (else_clause "else {\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*param_1)(uVar7);\n    }" else (compound_statement "{\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*param_1)(uVar7);\n    }" { (expression_statement "uVar7 = *param_2;" (assignment_expression "uVar7 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;" (assignment_expression "uVar5 = *(uint *)PTR_executing_command_builtin_00144c08" identifier = (pointer_expression "*(uint *)PTR_executing_command_builtin_00144c08" * (cast_expression "(uint *)PTR_executing_command_builtin_00144c08" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;" (assignment_expression "*(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1" (pointer_expression "*(int *)PTR_executing_builtin_00144c04" * (cast_expression "(int *)PTR_executing_builtin_00144c04" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "*(int *)PTR_executing_builtin_00144c04 + 1" (pointer_expression "*(int *)PTR_executing_builtin_00144c04" * (cast_expression "(int *)PTR_executing_builtin_00144c04" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal)) ;) (expression_statement "*(uint *)puVar9 = uVar5 | uVar4;" (assignment_expression "*(uint *)puVar9 = uVar5 | uVar4" (pointer_expression "*(uint *)puVar9" * (cast_expression "(uint *)puVar9" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "uVar5 | uVar4" identifier | identifier)) ;) (expression_statement "uVar7 = (*param_1)(uVar7);" (assignment_expression "uVar7 = (*param_1)(uVar7)" identifier = (call_expression "(*param_1)(uVar7)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(uVar7)" ( identifier )))) ;) }))) }) (else_clause "else {\n    iVar10 = 0;\n    bVar1 = false;\nLAB_00049928:\n    if ((param_1 != (code *)puVar2) && (param_1 != (code *)PTR_eval_builtin_00144be8))\n    goto LAB_00049808;\nLAB_00049938:\n    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) {\nLAB_00049a2c:\n      uVar11 = 0;\n      if (param_4 != 0) goto LAB_0004995c;\nLAB_00049a38:\n      puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);\n      if (*puVar12 != 0) {\n        push_scope(8);\n        if (((param_3 & 0x800) == 0) && (uVar11 != 0)) {\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar9 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9);\nLAB_00049978:\n        uVar11 = 1;\n        *puVar12 = 0;\n        goto joined_r0x00049978;\n      }\n      uVar11 = 1;\n      piVar13 = (int *)PTR_evalnest_00144c38;\n      piVar14 = (int *)PTR_sourcenest_00144c44;\n      goto joined_r0x00049b04;\n    }\n    uVar11 = (uint)(param_1 != (code *)PTR_read_builtin_00144c00);\nLAB_00049954:\n    if (param_4 == 0) goto LAB_00049a38;\nLAB_0004995c:\n    puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n    uVar11 = param_4;\n    if (*(int *)PTR_temporary_env_00144858 != 0) {\n      push_scope(8);\n      goto LAB_00049978;\n    }\nLAB_00049830:\n    puVar9 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;\n    uVar7 = *param_2;\n    uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec) |\n            *(uint *)PTR_executing_command_builtin_00144c08;\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\nLAB_000499c8:\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      puVar2 = PTR_posixly_correct_0014458c;\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)(uVar7);\n      if (*(int *)puVar2 != 0) {\n        if (param_4 != 0) goto LAB_00049880;\n        if (param_1 == (code *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }\n    }\n    else {\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)();\n      if (*(int *)puVar2 != 0) goto LAB_00049880;\n    }\n    if (param_4 != 0) goto LAB_00049880;\n  }" else (compound_statement "{\n    iVar10 = 0;\n    bVar1 = false;\nLAB_00049928:\n    if ((param_1 != (code *)puVar2) && (param_1 != (code *)PTR_eval_builtin_00144be8))\n    goto LAB_00049808;\nLAB_00049938:\n    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) {\nLAB_00049a2c:\n      uVar11 = 0;\n      if (param_4 != 0) goto LAB_0004995c;\nLAB_00049a38:\n      puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);\n      if (*puVar12 != 0) {\n        push_scope(8);\n        if (((param_3 & 0x800) == 0) && (uVar11 != 0)) {\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar9 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9);\nLAB_00049978:\n        uVar11 = 1;\n        *puVar12 = 0;\n        goto joined_r0x00049978;\n      }\n      uVar11 = 1;\n      piVar13 = (int *)PTR_evalnest_00144c38;\n      piVar14 = (int *)PTR_sourcenest_00144c44;\n      goto joined_r0x00049b04;\n    }\n    uVar11 = (uint)(param_1 != (code *)PTR_read_builtin_00144c00);\nLAB_00049954:\n    if (param_4 == 0) goto LAB_00049a38;\nLAB_0004995c:\n    puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n    uVar11 = param_4;\n    if (*(int *)PTR_temporary_env_00144858 != 0) {\n      push_scope(8);\n      goto LAB_00049978;\n    }\nLAB_00049830:\n    puVar9 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;\n    uVar7 = *param_2;\n    uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec) |\n            *(uint *)PTR_executing_command_builtin_00144c08;\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\nLAB_000499c8:\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      puVar2 = PTR_posixly_correct_0014458c;\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)(uVar7);\n      if (*(int *)puVar2 != 0) {\n        if (param_4 != 0) goto LAB_00049880;\n        if (param_1 == (code *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }\n    }\n    else {\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)();\n      if (*(int *)puVar2 != 0) goto LAB_00049880;\n    }\n    if (param_4 != 0) goto LAB_00049880;\n  }" { (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" identifier = false) ;) (labeled_statement "LAB_00049928:\n    if ((param_1 != (code *)puVar2) && (param_1 != (code *)PTR_eval_builtin_00144be8))\n    goto LAB_00049808;" statement_identifier : (if_statement "if ((param_1 != (code *)puVar2) && (param_1 != (code *)PTR_eval_builtin_00144be8))\n    goto LAB_00049808;" if (parenthesized_expression "((param_1 != (code *)puVar2) && (param_1 != (code *)PTR_eval_builtin_00144be8))" ( (binary_expression "(param_1 != (code *)puVar2) && (param_1 != (code *)PTR_eval_builtin_00144be8)" (parenthesized_expression "(param_1 != (code *)puVar2)" ( (binary_expression "param_1 != (code *)puVar2" identifier != (cast_expression "(code *)puVar2" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) && (parenthesized_expression "(param_1 != (code *)PTR_eval_builtin_00144be8)" ( (binary_expression "param_1 != (code *)PTR_eval_builtin_00144be8" identifier != (cast_expression "(code *)PTR_eval_builtin_00144be8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) )) (goto_statement "goto LAB_00049808;" goto statement_identifier ;))) (labeled_statement "LAB_00049938:\n    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) {\nLAB_00049a2c:\n      uVar11 = 0;\n      if (param_4 != 0) goto LAB_0004995c;\nLAB_00049a38:\n      puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);\n      if (*puVar12 != 0) {\n        push_scope(8);\n        if (((param_3 & 0x800) == 0) && (uVar11 != 0)) {\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar9 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9);\nLAB_00049978:\n        uVar11 = 1;\n        *puVar12 = 0;\n        goto joined_r0x00049978;\n      }\n      uVar11 = 1;\n      piVar13 = (int *)PTR_evalnest_00144c38;\n      piVar14 = (int *)PTR_sourcenest_00144c44;\n      goto joined_r0x00049b04;\n    }" statement_identifier : (if_statement "if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) {\nLAB_00049a2c:\n      uVar11 = 0;\n      if (param_4 != 0) goto LAB_0004995c;\nLAB_00049a38:\n      puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);\n      if (*puVar12 != 0) {\n        push_scope(8);\n        if (((param_3 & 0x800) == 0) && (uVar11 != 0)) {\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar9 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9);\nLAB_00049978:\n        uVar11 = 1;\n        *puVar12 = 0;\n        goto joined_r0x00049978;\n      }\n      uVar11 = 1;\n      piVar13 = (int *)PTR_evalnest_00144c38;\n      piVar14 = (int *)PTR_sourcenest_00144c44;\n      goto joined_r0x00049b04;\n    }" if (parenthesized_expression "((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc))" ( (binary_expression "(param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)" (parenthesized_expression "(param_1 == (code *)PTR_mapfile_builtin_00144bf8)" ( (binary_expression "param_1 == (code *)PTR_mapfile_builtin_00144bf8" identifier == (cast_expression "(code *)PTR_mapfile_builtin_00144bf8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) || (parenthesized_expression "(param_1 == (code *)PTR_fc_builtin_00144bfc)" ( (binary_expression "param_1 == (code *)PTR_fc_builtin_00144bfc" identifier == (cast_expression "(code *)PTR_fc_builtin_00144bfc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) )) (compound_statement "{\nLAB_00049a2c:\n      uVar11 = 0;\n      if (param_4 != 0) goto LAB_0004995c;\nLAB_00049a38:\n      puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);\n      if (*puVar12 != 0) {\n        push_scope(8);\n        if (((param_3 & 0x800) == 0) && (uVar11 != 0)) {\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar9 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9);\nLAB_00049978:\n        uVar11 = 1;\n        *puVar12 = 0;\n        goto joined_r0x00049978;\n      }\n      uVar11 = 1;\n      piVar13 = (int *)PTR_evalnest_00144c38;\n      piVar14 = (int *)PTR_sourcenest_00144c44;\n      goto joined_r0x00049b04;\n    }" { (labeled_statement "LAB_00049a2c:\n      uVar11 = 0;" statement_identifier : (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" identifier = number_literal) ;)) (if_statement "if (param_4 != 0) goto LAB_0004995c;" if (parenthesized_expression "(param_4 != 0)" ( (binary_expression "param_4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_0004995c;" goto statement_identifier ;)) (labeled_statement "LAB_00049a38:\n      puVar12 = (undefined4 *)PTR_temporary_env_00144858;" statement_identifier : (expression_statement "puVar12 = (undefined4 *)PTR_temporary_env_00144858;" (assignment_expression "puVar12 = (undefined4 *)PTR_temporary_env_00144858" identifier = (cast_expression "(undefined4 *)PTR_temporary_env_00144858" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "(*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);" (call_expression "(*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924)" (parenthesized_expression "(*(code *)PTR_begin_unwind_frame_00144c2c)" ( (pointer_expression "*(code *)PTR_begin_unwind_frame_00144c2c" * (cast_expression "(code *)PTR_begin_unwind_frame_00144c2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_00144578 + 0x6924)" ( (binary_expression "PTR_LAB_00144578 + 0x6924" identifier + number_literal) ))) ;) (if_statement "if (*puVar12 != 0) {\n        push_scope(8);\n        if (((param_3 & 0x800) == 0) && (uVar11 != 0)) {\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar9 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9);\nLAB_00049978:\n        uVar11 = 1;\n        *puVar12 = 0;\n        goto joined_r0x00049978;\n      }" if (parenthesized_expression "(*puVar12 != 0)" ( (binary_expression "*puVar12 != 0" (pointer_expression "*puVar12" * identifier) != number_literal) )) (compound_statement "{\n        push_scope(8);\n        if (((param_3 & 0x800) == 0) && (uVar11 != 0)) {\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar9 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9);\nLAB_00049978:\n        uVar11 = 1;\n        *puVar12 = 0;\n        goto joined_r0x00049978;\n      }" { (expression_statement "push_scope(8);" (call_expression "push_scope(8)" identifier (argument_list "(8)" ( number_literal ))) ;) (if_statement "if (((param_3 & 0x800) == 0) && (uVar11 != 0)) {\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar9 = (undefined *)0x0;\n        }" if (parenthesized_expression "(((param_3 & 0x800) == 0) && (uVar11 != 0))" ( (binary_expression "((param_3 & 0x800) == 0) && (uVar11 != 0)" (parenthesized_expression "((param_3 & 0x800) == 0)" ( (binary_expression "(param_3 & 0x800) == 0" (parenthesized_expression "(param_3 & 0x800)" ( (binary_expression "param_3 & 0x800" identifier & number_literal) )) == number_literal) )) && (parenthesized_expression "(uVar11 != 0)" ( (binary_expression "uVar11 != 0" identifier != number_literal) ))) )) (compound_statement "{\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }" { (expression_statement "puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;" (assignment_expression "puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c" identifier = (binary_expression "PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c" identifier + number_literal)) ;) }) (else_clause "else {\n          puVar9 = (undefined *)0x0;\n        }" else (compound_statement "{\n          puVar9 = (undefined *)0x0;\n        }" { (expression_statement "puVar9 = (undefined *)0x0;" (assignment_expression "puVar9 = (undefined *)0x0" identifier = (cast_expression "(undefined *)0x0" ( (type_descriptor "undefined *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }))) (expression_statement "(*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9);" (call_expression "(*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9)" (parenthesized_expression "(*(code *)PTR_add_unwind_protect_00144b68)" ( (pointer_expression "*(code *)PTR_add_unwind_protect_00144b68" * (cast_expression "(code *)PTR_add_unwind_protect_00144b68" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_pop_scope_00144c30,puVar9)" ( identifier , identifier ))) ;) (labeled_statement "LAB_00049978:\n        uVar11 = 1;" statement_identifier : (expression_statement "uVar11 = 1;" (assignment_expression "uVar11 = 1" identifier = number_literal) ;)) (expression_statement "*puVar12 = 0;" (assignment_expression "*puVar12 = 0" (pointer_expression "*puVar12" * identifier) = number_literal) ;) (goto_statement "goto joined_r0x00049978;" goto statement_identifier ;) })) (expression_statement "uVar11 = 1;" (assignment_expression "uVar11 = 1" identifier = number_literal) ;) (expression_statement "piVar13 = (int *)PTR_evalnest_00144c38;" (assignment_expression "piVar13 = (int *)PTR_evalnest_00144c38" identifier = (cast_expression "(int *)PTR_evalnest_00144c38" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "piVar14 = (int *)PTR_sourcenest_00144c44;" (assignment_expression "piVar14 = (int *)PTR_sourcenest_00144c44" identifier = (cast_expression "(int *)PTR_sourcenest_00144c44" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (goto_statement "goto joined_r0x00049b04;" goto statement_identifier ;) }))) (expression_statement "uVar11 = (uint)(param_1 != (code *)PTR_read_builtin_00144c00);" (assignment_expression "uVar11 = (uint)(param_1 != (code *)PTR_read_builtin_00144c00)" identifier = (call_expression "(uint)(param_1 != (code *)PTR_read_builtin_00144c00)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_1 != (code *)PTR_read_builtin_00144c00)" ( (binary_expression "param_1 != (code *)PTR_read_builtin_00144c00" identifier != (cast_expression "(code *)PTR_read_builtin_00144c00" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )))) ;) (labeled_statement "LAB_00049954:\n    if (param_4 == 0) goto LAB_00049a38;" statement_identifier : (if_statement "if (param_4 == 0) goto LAB_00049a38;" if (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) (goto_statement "goto LAB_00049a38;" goto statement_identifier ;))) (labeled_statement "LAB_0004995c:\n    puVar12 = (undefined4 *)PTR_temporary_env_00144858;" statement_identifier : (expression_statement "puVar12 = (undefined4 *)PTR_temporary_env_00144858;" (assignment_expression "puVar12 = (undefined4 *)PTR_temporary_env_00144858" identifier = (cast_expression "(undefined4 *)PTR_temporary_env_00144858" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;)) (expression_statement "uVar11 = param_4;" (assignment_expression "uVar11 = param_4" identifier = identifier) ;) (if_statement "if (*(int *)PTR_temporary_env_00144858 != 0) {\n      push_scope(8);\n      goto LAB_00049978;\n    }" if (parenthesized_expression "(*(int *)PTR_temporary_env_00144858 != 0)" ( (binary_expression "*(int *)PTR_temporary_env_00144858 != 0" (pointer_expression "*(int *)PTR_temporary_env_00144858" * (cast_expression "(int *)PTR_temporary_env_00144858" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n      push_scope(8);\n      goto LAB_00049978;\n    }" { (expression_statement "push_scope(8);" (call_expression "push_scope(8)" identifier (argument_list "(8)" ( number_literal ))) ;) (goto_statement "goto LAB_00049978;" goto statement_identifier ;) })) (labeled_statement "LAB_00049830:\n    puVar9 = PTR_executing_command_builtin_00144c08;" statement_identifier : (expression_statement "puVar9 = PTR_executing_command_builtin_00144c08;" (assignment_expression "puVar9 = PTR_executing_command_builtin_00144c08" identifier = identifier) ;)) (expression_statement "puVar2 = PTR_posixly_correct_0014458c;" (assignment_expression "puVar2 = PTR_posixly_correct_0014458c" identifier = identifier) ;) (expression_statement "iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;" (assignment_expression "iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1" identifier = (binary_expression "*(int *)PTR_executing_builtin_00144c04 + 1" (pointer_expression "*(int *)PTR_executing_builtin_00144c04" * (cast_expression "(int *)PTR_executing_builtin_00144c04" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal)) ;) (expression_statement "uVar7 = *param_2;" (assignment_expression "uVar7 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec) |\n            *(uint *)PTR_executing_command_builtin_00144c08;" (assignment_expression "uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec) |\n            *(uint *)PTR_executing_command_builtin_00144c08" identifier = (binary_expression "(uint)(param_1 == (code *)PTR_command_builtin_00144bec) |\n            *(uint *)PTR_executing_command_builtin_00144c08" (call_expression "(uint)(param_1 == (code *)PTR_command_builtin_00144bec)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_1 == (code *)PTR_command_builtin_00144bec)" ( (binary_expression "param_1 == (code *)PTR_command_builtin_00144bec" identifier == (cast_expression "(code *)PTR_command_builtin_00144bec" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) | (pointer_expression "*(uint *)PTR_executing_command_builtin_00144c08" * (cast_expression "(uint *)PTR_executing_command_builtin_00144c08" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)))) ;) (if_statement "if (*(int *)PTR_posixly_correct_0014458c == 0) {\nLAB_000499c8:\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      puVar2 = PTR_posixly_correct_0014458c;\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)(uVar7);\n      if (*(int *)puVar2 != 0) {\n        if (param_4 != 0) goto LAB_00049880;\n        if (param_1 == (code *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }\n    }\n    else {\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)();\n      if (*(int *)puVar2 != 0) goto LAB_00049880;\n    }" if (parenthesized_expression "(*(int *)PTR_posixly_correct_0014458c == 0)" ( (binary_expression "*(int *)PTR_posixly_correct_0014458c == 0" (pointer_expression "*(int *)PTR_posixly_correct_0014458c" * (cast_expression "(int *)PTR_posixly_correct_0014458c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) == number_literal) )) (compound_statement "{\nLAB_000499c8:\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      puVar2 = PTR_posixly_correct_0014458c;\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)(uVar7);\n      if (*(int *)puVar2 != 0) {\n        if (param_4 != 0) goto LAB_00049880;\n        if (param_1 == (code *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }\n    }" { (labeled_statement "LAB_000499c8:\n      puVar9 = PTR_executing_command_builtin_00144c08;" statement_identifier : (expression_statement "puVar9 = PTR_executing_command_builtin_00144c08;" (assignment_expression "puVar9 = PTR_executing_command_builtin_00144c08" identifier = identifier) ;)) (expression_statement "puVar2 = PTR_posixly_correct_0014458c;" (assignment_expression "puVar2 = PTR_posixly_correct_0014458c" identifier = identifier) ;) (expression_statement "*(int *)PTR_executing_builtin_00144c04 = iVar6;" (assignment_expression "*(int *)PTR_executing_builtin_00144c04 = iVar6" (pointer_expression "*(int *)PTR_executing_builtin_00144c04" * (cast_expression "(int *)PTR_executing_builtin_00144c04" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(uint *)puVar9 = uVar4;" (assignment_expression "*(uint *)puVar9 = uVar4" (pointer_expression "*(uint *)puVar9" * (cast_expression "(uint *)puVar9" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "uVar7 = (*param_1)(uVar7);" (assignment_expression "uVar7 = (*param_1)(uVar7)" identifier = (call_expression "(*param_1)(uVar7)" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "(uVar7)" ( identifier )))) ;) (if_statement "if (*(int *)puVar2 != 0) {\n        if (param_4 != 0) goto LAB_00049880;\n        if (param_1 == (code *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }" if (parenthesized_expression "(*(int *)puVar2 != 0)" ( (binary_expression "*(int *)puVar2 != 0" (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (compound_statement "{\n        if (param_4 != 0) goto LAB_00049880;\n        if (param_1 == (code *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }" { (if_statement "if (param_4 != 0) goto LAB_00049880;" if (parenthesized_expression "(param_4 != 0)" ( (binary_expression "param_4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00049880;" goto statement_identifier ;)) (if_statement "if (param_1 == (code *)PTR_return_builtin_00144c28) goto LAB_000499f4;" if (parenthesized_expression "(param_1 == (code *)PTR_return_builtin_00144c28)" ( (binary_expression "param_1 == (code *)PTR_return_builtin_00144c28" identifier == (cast_expression "(code *)PTR_return_builtin_00144c28" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (goto_statement "goto LAB_000499f4;" goto statement_identifier ;)) (goto_statement "goto LAB_00049a90;" goto statement_identifier ;) })) }) (else_clause "else {\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)();\n      if (*(int *)puVar2 != 0) goto LAB_00049880;\n    }" else (compound_statement "{\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)();\n      if (*(int *)puVar2 != 0) goto LAB_00049880;\n    }" { (expression_statement "*(int *)PTR_executing_builtin_00144c04 = iVar6;" (assignment_expression "*(int *)PTR_executing_builtin_00144c04 = iVar6" (pointer_expression "*(int *)PTR_executing_builtin_00144c04" * (cast_expression "(int *)PTR_executing_builtin_00144c04" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "*(uint *)puVar9 = uVar4;" (assignment_expression "*(uint *)puVar9 = uVar4" (pointer_expression "*(uint *)puVar9" * (cast_expression "(uint *)puVar9" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (expression_statement "uVar7 = (*param_1)();" (assignment_expression "uVar7 = (*param_1)()" identifier = (call_expression "(*param_1)()" (parenthesized_expression "(*param_1)" ( (pointer_expression "*param_1" * identifier) )) (argument_list "()" ( )))) ;) (if_statement "if (*(int *)puVar2 != 0) goto LAB_00049880;" if (parenthesized_expression "(*(int *)puVar2 != 0)" ( (binary_expression "*(int *)puVar2 != 0" (pointer_expression "*(int *)puVar2" * (cast_expression "(int *)puVar2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) != number_literal) )) (goto_statement "goto LAB_00049880;" goto statement_identifier ;)) }))) (if_statement "if (param_4 != 0) goto LAB_00049880;" if (parenthesized_expression "(param_4 != 0)" ( (binary_expression "param_4 != 0" identifier != number_literal) )) (goto_statement "goto LAB_00049880;" goto statement_identifier ;)) }))) (labeled_statement "LAB_00049a90:\n  if (uVar11 != 0) {\n    (*(code *)PTR_run_unwind_frame_00144c34)(PTR_LAB_00144578 + 0x6924);\n  }" statement_identifier : (if_statement "if (uVar11 != 0) {\n    (*(code *)PTR_run_unwind_frame_00144c34)(PTR_LAB_00144578 + 0x6924);\n  }" if (parenthesized_expression "(uVar11 != 0)" ( (binary_expression "uVar11 != 0" identifier != number_literal) )) (compound_statement "{\n    (*(code *)PTR_run_unwind_frame_00144c34)(PTR_LAB_00144578 + 0x6924);\n  }" { (expression_statement "(*(code *)PTR_run_unwind_frame_00144c34)(PTR_LAB_00144578 + 0x6924);" (call_expression "(*(code *)PTR_run_unwind_frame_00144c34)(PTR_LAB_00144578 + 0x6924)" (parenthesized_expression "(*(code *)PTR_run_unwind_frame_00144c34)" ( (pointer_expression "*(code *)PTR_run_unwind_frame_00144c34" * (cast_expression "(code *)PTR_run_unwind_frame_00144c34" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_00144578 + 0x6924)" ( (binary_expression "PTR_LAB_00144578 + 0x6924" identifier + number_literal) ))) ;) }))) (labeled_statement "LAB_00049880:\n  if (bVar1) {\n    *(int *)PTR_builtin_ignoring_errexit_00144c0c = local_30;\n    if (local_30 == 0) {\n      uVar8 = *(undefined4 *)PTR_errexit_flag_00144c10;\n    }\n    else {\n      uVar8 = 0;\n    }\n    *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = uVar8;\n    if (iVar10 != 0) {\n      (*(code *)PTR_set_error_trap_00144c14)(iVar10);\n      (*(code *)PTR_free_001464fc)(iVar10);\n    }\n    (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6914);\n  }" statement_identifier : (if_statement "if (bVar1) {\n    *(int *)PTR_builtin_ignoring_errexit_00144c0c = local_30;\n    if (local_30 == 0) {\n      uVar8 = *(undefined4 *)PTR_errexit_flag_00144c10;\n    }\n    else {\n      uVar8 = 0;\n    }\n    *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = uVar8;\n    if (iVar10 != 0) {\n      (*(code *)PTR_set_error_trap_00144c14)(iVar10);\n      (*(code *)PTR_free_001464fc)(iVar10);\n    }\n    (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6914);\n  }" if (parenthesized_expression "(bVar1)" ( identifier )) (compound_statement "{\n    *(int *)PTR_builtin_ignoring_errexit_00144c0c = local_30;\n    if (local_30 == 0) {\n      uVar8 = *(undefined4 *)PTR_errexit_flag_00144c10;\n    }\n    else {\n      uVar8 = 0;\n    }\n    *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = uVar8;\n    if (iVar10 != 0) {\n      (*(code *)PTR_set_error_trap_00144c14)(iVar10);\n      (*(code *)PTR_free_001464fc)(iVar10);\n    }\n    (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6914);\n  }" { (expression_statement "*(int *)PTR_builtin_ignoring_errexit_00144c0c = local_30;" (assignment_expression "*(int *)PTR_builtin_ignoring_errexit_00144c0c = local_30" (pointer_expression "*(int *)PTR_builtin_ignoring_errexit_00144c0c" * (cast_expression "(int *)PTR_builtin_ignoring_errexit_00144c0c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (if_statement "if (local_30 == 0) {\n      uVar8 = *(undefined4 *)PTR_errexit_flag_00144c10;\n    }\n    else {\n      uVar8 = 0;\n    }" if (parenthesized_expression "(local_30 == 0)" ( (binary_expression "local_30 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar8 = *(undefined4 *)PTR_errexit_flag_00144c10;\n    }" { (expression_statement "uVar8 = *(undefined4 *)PTR_errexit_flag_00144c10;" (assignment_expression "uVar8 = *(undefined4 *)PTR_errexit_flag_00144c10" identifier = (pointer_expression "*(undefined4 *)PTR_errexit_flag_00144c10" * (cast_expression "(undefined4 *)PTR_errexit_flag_00144c10" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }) (else_clause "else {\n      uVar8 = 0;\n    }" else (compound_statement "{\n      uVar8 = 0;\n    }" { (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) }))) (expression_statement "*(undefined4 *)PTR_exit_immediately_on_error_001445f0 = uVar8;" (assignment_expression "*(undefined4 *)PTR_exit_immediately_on_error_001445f0 = uVar8" (pointer_expression "*(undefined4 *)PTR_exit_immediately_on_error_001445f0" * (cast_expression "(undefined4 *)PTR_exit_immediately_on_error_001445f0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (if_statement "if (iVar10 != 0) {\n      (*(code *)PTR_set_error_trap_00144c14)(iVar10);\n      (*(code *)PTR_free_001464fc)(iVar10);\n    }" if (parenthesized_expression "(iVar10 != 0)" ( (binary_expression "iVar10 != 0" identifier != number_literal) )) (compound_statement "{\n      (*(code *)PTR_set_error_trap_00144c14)(iVar10);\n      (*(code *)PTR_free_001464fc)(iVar10);\n    }" { (expression_statement "(*(code *)PTR_set_error_trap_00144c14)(iVar10);" (call_expression "(*(code *)PTR_set_error_trap_00144c14)(iVar10)" (parenthesized_expression "(*(code *)PTR_set_error_trap_00144c14)" ( (pointer_expression "*(code *)PTR_set_error_trap_00144c14" * (cast_expression "(code *)PTR_set_error_trap_00144c14" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar10)" ( identifier ))) ;) (expression_statement "(*(code *)PTR_free_001464fc)(iVar10);" (call_expression "(*(code *)PTR_free_001464fc)(iVar10)" (parenthesized_expression "(*(code *)PTR_free_001464fc)" ( (pointer_expression "*(code *)PTR_free_001464fc" * (cast_expression "(code *)PTR_free_001464fc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar10)" ( identifier ))) ;) })) (expression_statement "(*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6914);" (call_expression "(*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6914)" (parenthesized_expression "(*(code *)PTR_discard_unwind_frame_00144c18)" ( (pointer_expression "*(code *)PTR_discard_unwind_frame_00144c18" * (cast_expression "(code *)PTR_discard_unwind_frame_00144c18" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_00144578 + 0x6914)" ( (binary_expression "PTR_LAB_00144578 + 0x6914" identifier + number_literal) ))) ;) }))) (return_statement "return uVar7;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) || (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = BOOL) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT )))) , (binary_expression IDENT != LIT)) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) , (binary_expression IDENT == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (goto_statement goto statement_identifier ;))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) || (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 *)) ) IDENT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) <= (pointer_expression * IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT ))) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) <= (pointer_expression * IDENT)) ))) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , (pointer_expression * IDENT) ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT ))) ;) }) while (parenthesized_expression ( BOOL )) ;) })) (goto_statement goto statement_identifier ;) })))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != LIT) ))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (binary_expression IDENT | IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (binary_expression IDENT | IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) && (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) || (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;)) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (goto_statement goto statement_identifier ;) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )))) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( LIT ))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) | (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != LIT) )) (compound_statement { (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 *)) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) != LIT) )) (goto_statement goto statement_identifier ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))) ;) }))) (return_statement return IDENT ;) })))
(function_definition "undefined4 FUN_0004978c(code *param_1,undefined4 *param_2,uint param_3,uint param_4)\n\n{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  uint uVar4;\n  uint uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  undefined *puVar9;\n  int iVar10;\n  uint uVar11;\n  undefined4 *puVar12;\n  int *piVar13;\n  int *piVar14;\n  int local_30;\n  \n  puVar2 = PTR_source_builtin_00144bf0;\n  if (param_4 == 0) {\n    if ((param_3 & 8) == 0) {\n      iVar10 = 0;\n      bVar1 = false;\n      goto LAB_00049928;\n    }\n    if (((param_1 == (code *)PTR_eval_builtin_00144be8) ||\n        (param_1 == (code *)PTR_command_builtin_00144bec)) ||\n       (bVar1 = false, param_1 == (code *)PTR_source_builtin_00144bf0)) {\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4);\n      iVar10 = (*(code *)PTR_signal_is_trapped_00144664)(0x81);\n      if (((iVar10 == 0) || (iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0))\n         || (iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar10 == 0)) {\n        iVar10 = 0;\n      }\n      else {\n        iVar6 = (*(code *)PTR_strlen_00146390)(iVar10);\n        uVar7 = (*(code *)PTR_xmalloc_001445b0)(iVar6 + 1);\n        iVar10 = (*(code *)PTR_strcpy_00146418)(uVar7,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar10);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }\n      puVar9 = PTR_builtin_ignoring_errexit_00144c0c;\n      bVar1 = true;\n      local_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c;\n      *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0;\n      *(undefined4 *)puVar9 = 1;\n      goto LAB_00049928;\n    }\n    iVar10 = 0;\nLAB_00049808:\n    if (param_1 == (code *)PTR_unset_builtin_00144bf4) goto LAB_00049938;\n    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) goto LAB_00049a2c;\n    uVar11 = 0;\n    if (param_1 == (code *)PTR_read_builtin_00144c00) goto LAB_00049954;\njoined_r0x00049978:\n    piVar13 = (int *)PTR_evalnest_00144c38;\n    piVar14 = (int *)PTR_sourcenest_00144c44;\n    if (param_4 != 0) goto LAB_00049830;\njoined_r0x00049b04:\n    PTR_evalnest_00144c38 = (undefined *)piVar13;\n    PTR_sourcenest_00144c44 = (undefined *)piVar14;\n    if (param_1 == (code *)PTR_eval_builtin_00144be8) {\n      if ((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar13)\n         ) {\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);\n        internal_error(uVar7,*piVar13);\n        piVar14 = piVar13;\n        goto LAB_00049d4c;\n      }\nLAB_00049b38:\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(piVar13,4);\n      *piVar13 = *piVar13 + 1;\n    }\n    else if (param_1 == (code *)puVar2) {\n      piVar13 = piVar14;\n      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar14)) {\n        do {\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }\n      goto LAB_00049b38;\n    }\n    puVar9 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec);\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\n      uVar7 = *param_2;\n      iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08;\n      goto LAB_000499c8;\n    }\n    if (param_1 == (code *)PTR_return_builtin_00144c28) {\n      if (((param_3 & 0x800) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)) {\n        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);\n      }\n      puVar3 = PTR_return_builtin_00144c28;\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*(code *)puVar3)(uVar7);\n      if (*(int *)puVar2 == 0) goto LAB_00049a90;\nLAB_000499f4:\n      if (*(int *)PTR_temporary_env_00144858 != 0) {\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }\n    }\n    else {\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*param_1)(uVar7);\n    }\n  }\n  else {\n    iVar10 = 0;\n    bVar1 = false;\nLAB_00049928:\n    if ((param_1 != (code *)puVar2) && (param_1 != (code *)PTR_eval_builtin_00144be8))\n    goto LAB_00049808;\nLAB_00049938:\n    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) {\nLAB_00049a2c:\n      uVar11 = 0;\n      if (param_4 != 0) goto LAB_0004995c;\nLAB_00049a38:\n      puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);\n      if (*puVar12 != 0) {\n        push_scope(8);\n        if (((param_3 & 0x800) == 0) && (uVar11 != 0)) {\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar9 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9);\nLAB_00049978:\n        uVar11 = 1;\n        *puVar12 = 0;\n        goto joined_r0x00049978;\n      }\n      uVar11 = 1;\n      piVar13 = (int *)PTR_evalnest_00144c38;\n      piVar14 = (int *)PTR_sourcenest_00144c44;\n      goto joined_r0x00049b04;\n    }\n    uVar11 = (uint)(param_1 != (code *)PTR_read_builtin_00144c00);\nLAB_00049954:\n    if (param_4 == 0) goto LAB_00049a38;\nLAB_0004995c:\n    puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n    uVar11 = param_4;\n    if (*(int *)PTR_temporary_env_00144858 != 0) {\n      push_scope(8);\n      goto LAB_00049978;\n    }\nLAB_00049830:\n    puVar9 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;\n    uVar7 = *param_2;\n    uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec) |\n            *(uint *)PTR_executing_command_builtin_00144c08;\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\nLAB_000499c8:\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      puVar2 = PTR_posixly_correct_0014458c;\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)(uVar7);\n      if (*(int *)puVar2 != 0) {\n        if (param_4 != 0) goto LAB_00049880;\n        if (param_1 == (code *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }\n    }\n    else {\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)();\n      if (*(int *)puVar2 != 0) goto LAB_00049880;\n    }\n    if (param_4 != 0) goto LAB_00049880;\n  }\nLAB_00049a90:\n  if (uVar11 != 0) {\n    (*(code *)PTR_run_unwind_frame_00144c34)(PTR_LAB_00144578 + 0x6924);\n  }\nLAB_00049880:\n  if (bVar1) {\n    *(int *)PTR_builtin_ignoring_errexit_00144c0c = local_30;\n    if (local_30 == 0) {\n      uVar8 = *(undefined4 *)PTR_errexit_flag_00144c10;\n    }\n    else {\n      uVar8 = 0;\n    }\n    *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = uVar8;\n    if (iVar10 != 0) {\n      (*(code *)PTR_set_error_trap_00144c14)(iVar10);\n      (*(code *)PTR_free_001464fc)(iVar10);\n    }\n    (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6914);\n  }\n  return uVar7;\n}" (type_identifier "undefined4") (function_declarator "FUN_0004978c(code *param_1,undefined4 *param_2,uint param_3,uint param_4)" (identifier "FUN_0004978c") (parameter_list "(code *param_1,undefined4 *param_2,uint param_3,uint param_4)" (( "(") (parameter_declaration "code *param_1" (type_identifier "code") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined4 *param_2" (type_identifier "undefined4") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "uint param_3" (type_identifier "uint") (identifier "param_3")) (, ",") (parameter_declaration "uint param_4" (type_identifier "uint") (identifier "param_4")) () ")"))) (compound_statement "{\n  bool bVar1;\n  undefined *puVar2;\n  undefined *puVar3;\n  uint uVar4;\n  uint uVar5;\n  int iVar6;\n  undefined4 uVar7;\n  undefined4 uVar8;\n  undefined *puVar9;\n  int iVar10;\n  uint uVar11;\n  undefined4 *puVar12;\n  int *piVar13;\n  int *piVar14;\n  int local_30;\n  \n  puVar2 = PTR_source_builtin_00144bf0;\n  if (param_4 == 0) {\n    if ((param_3 & 8) == 0) {\n      iVar10 = 0;\n      bVar1 = false;\n      goto LAB_00049928;\n    }\n    if (((param_1 == (code *)PTR_eval_builtin_00144be8) ||\n        (param_1 == (code *)PTR_command_builtin_00144bec)) ||\n       (bVar1 = false, param_1 == (code *)PTR_source_builtin_00144bf0)) {\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4);\n      iVar10 = (*(code *)PTR_signal_is_trapped_00144664)(0x81);\n      if (((iVar10 == 0) || (iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0))\n         || (iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar10 == 0)) {\n        iVar10 = 0;\n      }\n      else {\n        iVar6 = (*(code *)PTR_strlen_00146390)(iVar10);\n        uVar7 = (*(code *)PTR_xmalloc_001445b0)(iVar6 + 1);\n        iVar10 = (*(code *)PTR_strcpy_00146418)(uVar7,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar10);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }\n      puVar9 = PTR_builtin_ignoring_errexit_00144c0c;\n      bVar1 = true;\n      local_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c;\n      *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0;\n      *(undefined4 *)puVar9 = 1;\n      goto LAB_00049928;\n    }\n    iVar10 = 0;\nLAB_00049808:\n    if (param_1 == (code *)PTR_unset_builtin_00144bf4) goto LAB_00049938;\n    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) goto LAB_00049a2c;\n    uVar11 = 0;\n    if (param_1 == (code *)PTR_read_builtin_00144c00) goto LAB_00049954;\njoined_r0x00049978:\n    piVar13 = (int *)PTR_evalnest_00144c38;\n    piVar14 = (int *)PTR_sourcenest_00144c44;\n    if (param_4 != 0) goto LAB_00049830;\njoined_r0x00049b04:\n    PTR_evalnest_00144c38 = (undefined *)piVar13;\n    PTR_sourcenest_00144c44 = (undefined *)piVar14;\n    if (param_1 == (code *)PTR_eval_builtin_00144be8) {\n      if ((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar13)\n         ) {\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);\n        internal_error(uVar7,*piVar13);\n        piVar14 = piVar13;\n        goto LAB_00049d4c;\n      }\nLAB_00049b38:\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(piVar13,4);\n      *piVar13 = *piVar13 + 1;\n    }\n    else if (param_1 == (code *)puVar2) {\n      piVar13 = piVar14;\n      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar14)) {\n        do {\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }\n      goto LAB_00049b38;\n    }\n    puVar9 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec);\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\n      uVar7 = *param_2;\n      iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08;\n      goto LAB_000499c8;\n    }\n    if (param_1 == (code *)PTR_return_builtin_00144c28) {\n      if (((param_3 & 0x800) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)) {\n        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);\n      }\n      puVar3 = PTR_return_builtin_00144c28;\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*(code *)puVar3)(uVar7);\n      if (*(int *)puVar2 == 0) goto LAB_00049a90;\nLAB_000499f4:\n      if (*(int *)PTR_temporary_env_00144858 != 0) {\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }\n    }\n    else {\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*param_1)(uVar7);\n    }\n  }\n  else {\n    iVar10 = 0;\n    bVar1 = false;\nLAB_00049928:\n    if ((param_1 != (code *)puVar2) && (param_1 != (code *)PTR_eval_builtin_00144be8))\n    goto LAB_00049808;\nLAB_00049938:\n    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) {\nLAB_00049a2c:\n      uVar11 = 0;\n      if (param_4 != 0) goto LAB_0004995c;\nLAB_00049a38:\n      puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);\n      if (*puVar12 != 0) {\n        push_scope(8);\n        if (((param_3 & 0x800) == 0) && (uVar11 != 0)) {\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar9 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9);\nLAB_00049978:\n        uVar11 = 1;\n        *puVar12 = 0;\n        goto joined_r0x00049978;\n      }\n      uVar11 = 1;\n      piVar13 = (int *)PTR_evalnest_00144c38;\n      piVar14 = (int *)PTR_sourcenest_00144c44;\n      goto joined_r0x00049b04;\n    }\n    uVar11 = (uint)(param_1 != (code *)PTR_read_builtin_00144c00);\nLAB_00049954:\n    if (param_4 == 0) goto LAB_00049a38;\nLAB_0004995c:\n    puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n    uVar11 = param_4;\n    if (*(int *)PTR_temporary_env_00144858 != 0) {\n      push_scope(8);\n      goto LAB_00049978;\n    }\nLAB_00049830:\n    puVar9 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;\n    uVar7 = *param_2;\n    uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec) |\n            *(uint *)PTR_executing_command_builtin_00144c08;\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\nLAB_000499c8:\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      puVar2 = PTR_posixly_correct_0014458c;\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)(uVar7);\n      if (*(int *)puVar2 != 0) {\n        if (param_4 != 0) goto LAB_00049880;\n        if (param_1 == (code *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }\n    }\n    else {\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)();\n      if (*(int *)puVar2 != 0) goto LAB_00049880;\n    }\n    if (param_4 != 0) goto LAB_00049880;\n  }\nLAB_00049a90:\n  if (uVar11 != 0) {\n    (*(code *)PTR_run_unwind_frame_00144c34)(PTR_LAB_00144578 + 0x6924);\n  }\nLAB_00049880:\n  if (bVar1) {\n    *(int *)PTR_builtin_ignoring_errexit_00144c0c = local_30;\n    if (local_30 == 0) {\n      uVar8 = *(undefined4 *)PTR_errexit_flag_00144c10;\n    }\n    else {\n      uVar8 = 0;\n    }\n    *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = uVar8;\n    if (iVar10 != 0) {\n      (*(code *)PTR_set_error_trap_00144c14)(iVar10);\n      (*(code *)PTR_free_001464fc)(iVar10);\n    }\n    (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6914);\n  }\n  return uVar7;\n}" ({ "{") (declaration "bool bVar1;" (primitive_type "bool") (identifier "bVar1") (; ";")) (declaration "undefined *puVar2;" (type_identifier "undefined") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "undefined4 uVar8;" (type_identifier "undefined4") (identifier "uVar8") (; ";")) (declaration "undefined *puVar9;" (type_identifier "undefined") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "uint uVar11;" (type_identifier "uint") (identifier "uVar11") (; ";")) (declaration "undefined4 *puVar12;" (type_identifier "undefined4") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "int *piVar13;" (primitive_type "int") (pointer_declarator "*piVar13" (* "*") (identifier "piVar13")) (; ";")) (declaration "int *piVar14;" (primitive_type "int") (pointer_declarator "*piVar14" (* "*") (identifier "piVar14")) (; ";")) (declaration "int local_30;" (primitive_type "int") (identifier "local_30") (; ";")) (expression_statement "puVar2 = PTR_source_builtin_00144bf0;" (assignment_expression "puVar2 = PTR_source_builtin_00144bf0" (identifier "puVar2") (= "=") (identifier "PTR_source_builtin_00144bf0")) (; ";")) (if_statement "if (param_4 == 0) {\n    if ((param_3 & 8) == 0) {\n      iVar10 = 0;\n      bVar1 = false;\n      goto LAB_00049928;\n    }\n    if (((param_1 == (code *)PTR_eval_builtin_00144be8) ||\n        (param_1 == (code *)PTR_command_builtin_00144bec)) ||\n       (bVar1 = false, param_1 == (code *)PTR_source_builtin_00144bf0)) {\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4);\n      iVar10 = (*(code *)PTR_signal_is_trapped_00144664)(0x81);\n      if (((iVar10 == 0) || (iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0))\n         || (iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar10 == 0)) {\n        iVar10 = 0;\n      }\n      else {\n        iVar6 = (*(code *)PTR_strlen_00146390)(iVar10);\n        uVar7 = (*(code *)PTR_xmalloc_001445b0)(iVar6 + 1);\n        iVar10 = (*(code *)PTR_strcpy_00146418)(uVar7,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar10);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }\n      puVar9 = PTR_builtin_ignoring_errexit_00144c0c;\n      bVar1 = true;\n      local_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c;\n      *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0;\n      *(undefined4 *)puVar9 = 1;\n      goto LAB_00049928;\n    }\n    iVar10 = 0;\nLAB_00049808:\n    if (param_1 == (code *)PTR_unset_builtin_00144bf4) goto LAB_00049938;\n    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) goto LAB_00049a2c;\n    uVar11 = 0;\n    if (param_1 == (code *)PTR_read_builtin_00144c00) goto LAB_00049954;\njoined_r0x00049978:\n    piVar13 = (int *)PTR_evalnest_00144c38;\n    piVar14 = (int *)PTR_sourcenest_00144c44;\n    if (param_4 != 0) goto LAB_00049830;\njoined_r0x00049b04:\n    PTR_evalnest_00144c38 = (undefined *)piVar13;\n    PTR_sourcenest_00144c44 = (undefined *)piVar14;\n    if (param_1 == (code *)PTR_eval_builtin_00144be8) {\n      if ((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar13)\n         ) {\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);\n        internal_error(uVar7,*piVar13);\n        piVar14 = piVar13;\n        goto LAB_00049d4c;\n      }\nLAB_00049b38:\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(piVar13,4);\n      *piVar13 = *piVar13 + 1;\n    }\n    else if (param_1 == (code *)puVar2) {\n      piVar13 = piVar14;\n      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar14)) {\n        do {\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }\n      goto LAB_00049b38;\n    }\n    puVar9 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec);\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\n      uVar7 = *param_2;\n      iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08;\n      goto LAB_000499c8;\n    }\n    if (param_1 == (code *)PTR_return_builtin_00144c28) {\n      if (((param_3 & 0x800) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)) {\n        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);\n      }\n      puVar3 = PTR_return_builtin_00144c28;\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*(code *)puVar3)(uVar7);\n      if (*(int *)puVar2 == 0) goto LAB_00049a90;\nLAB_000499f4:\n      if (*(int *)PTR_temporary_env_00144858 != 0) {\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }\n    }\n    else {\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*param_1)(uVar7);\n    }\n  }\n  else {\n    iVar10 = 0;\n    bVar1 = false;\nLAB_00049928:\n    if ((param_1 != (code *)puVar2) && (param_1 != (code *)PTR_eval_builtin_00144be8))\n    goto LAB_00049808;\nLAB_00049938:\n    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) {\nLAB_00049a2c:\n      uVar11 = 0;\n      if (param_4 != 0) goto LAB_0004995c;\nLAB_00049a38:\n      puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);\n      if (*puVar12 != 0) {\n        push_scope(8);\n        if (((param_3 & 0x800) == 0) && (uVar11 != 0)) {\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar9 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9);\nLAB_00049978:\n        uVar11 = 1;\n        *puVar12 = 0;\n        goto joined_r0x00049978;\n      }\n      uVar11 = 1;\n      piVar13 = (int *)PTR_evalnest_00144c38;\n      piVar14 = (int *)PTR_sourcenest_00144c44;\n      goto joined_r0x00049b04;\n    }\n    uVar11 = (uint)(param_1 != (code *)PTR_read_builtin_00144c00);\nLAB_00049954:\n    if (param_4 == 0) goto LAB_00049a38;\nLAB_0004995c:\n    puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n    uVar11 = param_4;\n    if (*(int *)PTR_temporary_env_00144858 != 0) {\n      push_scope(8);\n      goto LAB_00049978;\n    }\nLAB_00049830:\n    puVar9 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;\n    uVar7 = *param_2;\n    uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec) |\n            *(uint *)PTR_executing_command_builtin_00144c08;\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\nLAB_000499c8:\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      puVar2 = PTR_posixly_correct_0014458c;\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)(uVar7);\n      if (*(int *)puVar2 != 0) {\n        if (param_4 != 0) goto LAB_00049880;\n        if (param_1 == (code *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }\n    }\n    else {\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)();\n      if (*(int *)puVar2 != 0) goto LAB_00049880;\n    }\n    if (param_4 != 0) goto LAB_00049880;\n  }" (if "if") (parenthesized_expression "(param_4 == 0)" (( "(") (binary_expression "param_4 == 0" (identifier "param_4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if ((param_3 & 8) == 0) {\n      iVar10 = 0;\n      bVar1 = false;\n      goto LAB_00049928;\n    }\n    if (((param_1 == (code *)PTR_eval_builtin_00144be8) ||\n        (param_1 == (code *)PTR_command_builtin_00144bec)) ||\n       (bVar1 = false, param_1 == (code *)PTR_source_builtin_00144bf0)) {\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4);\n      iVar10 = (*(code *)PTR_signal_is_trapped_00144664)(0x81);\n      if (((iVar10 == 0) || (iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0))\n         || (iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar10 == 0)) {\n        iVar10 = 0;\n      }\n      else {\n        iVar6 = (*(code *)PTR_strlen_00146390)(iVar10);\n        uVar7 = (*(code *)PTR_xmalloc_001445b0)(iVar6 + 1);\n        iVar10 = (*(code *)PTR_strcpy_00146418)(uVar7,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar10);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }\n      puVar9 = PTR_builtin_ignoring_errexit_00144c0c;\n      bVar1 = true;\n      local_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c;\n      *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0;\n      *(undefined4 *)puVar9 = 1;\n      goto LAB_00049928;\n    }\n    iVar10 = 0;\nLAB_00049808:\n    if (param_1 == (code *)PTR_unset_builtin_00144bf4) goto LAB_00049938;\n    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) goto LAB_00049a2c;\n    uVar11 = 0;\n    if (param_1 == (code *)PTR_read_builtin_00144c00) goto LAB_00049954;\njoined_r0x00049978:\n    piVar13 = (int *)PTR_evalnest_00144c38;\n    piVar14 = (int *)PTR_sourcenest_00144c44;\n    if (param_4 != 0) goto LAB_00049830;\njoined_r0x00049b04:\n    PTR_evalnest_00144c38 = (undefined *)piVar13;\n    PTR_sourcenest_00144c44 = (undefined *)piVar14;\n    if (param_1 == (code *)PTR_eval_builtin_00144be8) {\n      if ((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar13)\n         ) {\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);\n        internal_error(uVar7,*piVar13);\n        piVar14 = piVar13;\n        goto LAB_00049d4c;\n      }\nLAB_00049b38:\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(piVar13,4);\n      *piVar13 = *piVar13 + 1;\n    }\n    else if (param_1 == (code *)puVar2) {\n      piVar13 = piVar14;\n      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar14)) {\n        do {\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }\n      goto LAB_00049b38;\n    }\n    puVar9 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec);\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\n      uVar7 = *param_2;\n      iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08;\n      goto LAB_000499c8;\n    }\n    if (param_1 == (code *)PTR_return_builtin_00144c28) {\n      if (((param_3 & 0x800) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)) {\n        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);\n      }\n      puVar3 = PTR_return_builtin_00144c28;\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*(code *)puVar3)(uVar7);\n      if (*(int *)puVar2 == 0) goto LAB_00049a90;\nLAB_000499f4:\n      if (*(int *)PTR_temporary_env_00144858 != 0) {\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }\n    }\n    else {\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*param_1)(uVar7);\n    }\n  }" ({ "{") (if_statement "if ((param_3 & 8) == 0) {\n      iVar10 = 0;\n      bVar1 = false;\n      goto LAB_00049928;\n    }" (if "if") (parenthesized_expression "((param_3 & 8) == 0)" (( "(") (binary_expression "(param_3 & 8) == 0" (parenthesized_expression "(param_3 & 8)" (( "(") (binary_expression "param_3 & 8" (identifier "param_3") (& "&") (number_literal "8")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      iVar10 = 0;\n      bVar1 = false;\n      goto LAB_00049928;\n    }" ({ "{") (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" (identifier "iVar10") (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" (identifier "bVar1") (= "=") (false "false")) (; ";")) (goto_statement "goto LAB_00049928;" (goto "goto") (statement_identifier "LAB_00049928") (; ";")) (} "}"))) (if_statement "if (((param_1 == (code *)PTR_eval_builtin_00144be8) ||\n        (param_1 == (code *)PTR_command_builtin_00144bec)) ||\n       (bVar1 = false, param_1 == (code *)PTR_source_builtin_00144bf0)) {\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4);\n      iVar10 = (*(code *)PTR_signal_is_trapped_00144664)(0x81);\n      if (((iVar10 == 0) || (iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0))\n         || (iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar10 == 0)) {\n        iVar10 = 0;\n      }\n      else {\n        iVar6 = (*(code *)PTR_strlen_00146390)(iVar10);\n        uVar7 = (*(code *)PTR_xmalloc_001445b0)(iVar6 + 1);\n        iVar10 = (*(code *)PTR_strcpy_00146418)(uVar7,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar10);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }\n      puVar9 = PTR_builtin_ignoring_errexit_00144c0c;\n      bVar1 = true;\n      local_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c;\n      *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0;\n      *(undefined4 *)puVar9 = 1;\n      goto LAB_00049928;\n    }" (if "if") (parenthesized_expression "(((param_1 == (code *)PTR_eval_builtin_00144be8) ||\n        (param_1 == (code *)PTR_command_builtin_00144bec)) ||\n       (bVar1 = false, param_1 == (code *)PTR_source_builtin_00144bf0))" (( "(") (binary_expression "((param_1 == (code *)PTR_eval_builtin_00144be8) ||\n        (param_1 == (code *)PTR_command_builtin_00144bec)) ||\n       (bVar1 = false, param_1 == (code *)PTR_source_builtin_00144bf0)" (parenthesized_expression "((param_1 == (code *)PTR_eval_builtin_00144be8) ||\n        (param_1 == (code *)PTR_command_builtin_00144bec))" (( "(") (binary_expression "(param_1 == (code *)PTR_eval_builtin_00144be8) ||\n        (param_1 == (code *)PTR_command_builtin_00144bec)" (parenthesized_expression "(param_1 == (code *)PTR_eval_builtin_00144be8)" (( "(") (binary_expression "param_1 == (code *)PTR_eval_builtin_00144be8" (identifier "param_1") (== "==") (cast_expression "(code *)PTR_eval_builtin_00144be8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_eval_builtin_00144be8"))) () ")")) (|| "||") (parenthesized_expression "(param_1 == (code *)PTR_command_builtin_00144bec)" (( "(") (binary_expression "param_1 == (code *)PTR_command_builtin_00144bec" (identifier "param_1") (== "==") (cast_expression "(code *)PTR_command_builtin_00144bec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_command_builtin_00144bec"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(bVar1 = false, param_1 == (code *)PTR_source_builtin_00144bf0)" (( "(") (comma_expression "bVar1 = false, param_1 == (code *)PTR_source_builtin_00144bf0" (assignment_expression "bVar1 = false" (identifier "bVar1") (= "=") (false "false")) (, ",") (binary_expression "param_1 == (code *)PTR_source_builtin_00144bf0" (identifier "param_1") (== "==") (cast_expression "(code *)PTR_source_builtin_00144bf0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_source_builtin_00144bf0")))) () ")"))) () ")")) (compound_statement "{\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4);\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4);\n      iVar10 = (*(code *)PTR_signal_is_trapped_00144664)(0x81);\n      if (((iVar10 == 0) || (iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0))\n         || (iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar10 == 0)) {\n        iVar10 = 0;\n      }\n      else {\n        iVar6 = (*(code *)PTR_strlen_00146390)(iVar10);\n        uVar7 = (*(code *)PTR_xmalloc_001445b0)(iVar6 + 1);\n        iVar10 = (*(code *)PTR_strcpy_00146418)(uVar7,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar10);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }\n      puVar9 = PTR_builtin_ignoring_errexit_00144c0c;\n      bVar1 = true;\n      local_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c;\n      *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0;\n      *(undefined4 *)puVar9 = 1;\n      goto LAB_00049928;\n    }" ({ "{") (expression_statement "(*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914);" (call_expression "(*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914)" (parenthesized_expression "(*(code *)PTR_begin_unwind_frame_00144c2c)" (( "(") (pointer_expression "*(code *)PTR_begin_unwind_frame_00144c2c" (* "*") (cast_expression "(code *)PTR_begin_unwind_frame_00144c2c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_begin_unwind_frame_00144c2c"))) () ")")) (argument_list "(PTR_LAB_00144578 + 0x6914)" (( "(") (binary_expression "PTR_LAB_00144578 + 0x6914" (identifier "PTR_LAB_00144578") (+ "+") (number_literal "0x6914")) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4);" (call_expression "(*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4)" (parenthesized_expression "(*(code *)PTR_unwind_protect_mem_00144c3c)" (( "(") (pointer_expression "*(code *)PTR_unwind_protect_mem_00144c3c" (* "*") (cast_expression "(code *)PTR_unwind_protect_mem_00144c3c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_unwind_protect_mem_00144c3c"))) () ")")) (argument_list "(PTR_exit_immediately_on_error_001445f0,4)" (( "(") (identifier "PTR_exit_immediately_on_error_001445f0") (, ",") (number_literal "4") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4);" (call_expression "(*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4)" (parenthesized_expression "(*(code *)PTR_unwind_protect_mem_00144c3c)" (( "(") (pointer_expression "*(code *)PTR_unwind_protect_mem_00144c3c" (* "*") (cast_expression "(code *)PTR_unwind_protect_mem_00144c3c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_unwind_protect_mem_00144c3c"))) () ")")) (argument_list "(PTR_builtin_ignoring_errexit_00144c0c,4)" (( "(") (identifier "PTR_builtin_ignoring_errexit_00144c0c") (, ",") (number_literal "4") () ")"))) (; ";")) (expression_statement "iVar10 = (*(code *)PTR_signal_is_trapped_00144664)(0x81);" (assignment_expression "iVar10 = (*(code *)PTR_signal_is_trapped_00144664)(0x81)" (identifier "iVar10") (= "=") (call_expression "(*(code *)PTR_signal_is_trapped_00144664)(0x81)" (parenthesized_expression "(*(code *)PTR_signal_is_trapped_00144664)" (( "(") (pointer_expression "*(code *)PTR_signal_is_trapped_00144664" (* "*") (cast_expression "(code *)PTR_signal_is_trapped_00144664" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_signal_is_trapped_00144664"))) () ")")) (argument_list "(0x81)" (( "(") (number_literal "0x81") () ")")))) (; ";")) (if_statement "if (((iVar10 == 0) || (iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0))\n         || (iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar10 == 0)) {\n        iVar10 = 0;\n      }\n      else {\n        iVar6 = (*(code *)PTR_strlen_00146390)(iVar10);\n        uVar7 = (*(code *)PTR_xmalloc_001445b0)(iVar6 + 1);\n        iVar10 = (*(code *)PTR_strcpy_00146418)(uVar7,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar10);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }" (if "if") (parenthesized_expression "(((iVar10 == 0) || (iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0))\n         || (iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar10 == 0))" (( "(") (binary_expression "((iVar10 == 0) || (iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0))\n         || (iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar10 == 0)" (parenthesized_expression "((iVar10 == 0) || (iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0))" (( "(") (binary_expression "(iVar10 == 0) || (iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0)" (parenthesized_expression "(iVar10 == 0)" (( "(") (binary_expression "iVar10 == 0" (identifier "iVar10") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0)" (( "(") (comma_expression "iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0" (assignment_expression "iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81)" (identifier "iVar10") (= "=") (call_expression "(*(code *)PTR_signal_is_ignored_00144880)(0x81)" (parenthesized_expression "(*(code *)PTR_signal_is_ignored_00144880)" (( "(") (pointer_expression "*(code *)PTR_signal_is_ignored_00144880" (* "*") (cast_expression "(code *)PTR_signal_is_ignored_00144880" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_signal_is_ignored_00144880"))) () ")")) (argument_list "(0x81)" (( "(") (number_literal "0x81") () ")")))) (, ",") (binary_expression "iVar10 != 0" (identifier "iVar10") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar10 == 0)" (( "(") (comma_expression "iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar10 == 0" (assignment_expression "iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(PTR_trap_list_00144c48 + 0x204)" (* "*") (cast_expression "(int *)(PTR_trap_list_00144c48 + 0x204)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_trap_list_00144c48 + 0x204)" (( "(") (binary_expression "PTR_trap_list_00144c48 + 0x204" (identifier "PTR_trap_list_00144c48") (+ "+") (number_literal "0x204")) () ")"))))) (, ",") (binary_expression "iVar10 == 0" (identifier "iVar10") (== "==") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n        iVar10 = 0;\n      }" ({ "{") (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" (identifier "iVar10") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n        iVar6 = (*(code *)PTR_strlen_00146390)(iVar10);\n        uVar7 = (*(code *)PTR_xmalloc_001445b0)(iVar6 + 1);\n        iVar10 = (*(code *)PTR_strcpy_00146418)(uVar7,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar10);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }" (else "else") (compound_statement "{\n        iVar6 = (*(code *)PTR_strlen_00146390)(iVar10);\n        uVar7 = (*(code *)PTR_xmalloc_001445b0)(iVar6 + 1);\n        iVar10 = (*(code *)PTR_strcpy_00146418)(uVar7,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar10);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar10);\n        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);\n      }" ({ "{") (expression_statement "iVar6 = (*(code *)PTR_strlen_00146390)(iVar10);" (assignment_expression "iVar6 = (*(code *)PTR_strlen_00146390)(iVar10)" (identifier "iVar6") (= "=") (call_expression "(*(code *)PTR_strlen_00146390)(iVar10)" (parenthesized_expression "(*(code *)PTR_strlen_00146390)" (( "(") (pointer_expression "*(code *)PTR_strlen_00146390" (* "*") (cast_expression "(code *)PTR_strlen_00146390" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_00146390"))) () ")")) (argument_list "(iVar10)" (( "(") (identifier "iVar10") () ")")))) (; ";")) (expression_statement "uVar7 = (*(code *)PTR_xmalloc_001445b0)(iVar6 + 1);" (assignment_expression "uVar7 = (*(code *)PTR_xmalloc_001445b0)(iVar6 + 1)" (identifier "uVar7") (= "=") (call_expression "(*(code *)PTR_xmalloc_001445b0)(iVar6 + 1)" (parenthesized_expression "(*(code *)PTR_xmalloc_001445b0)" (( "(") (pointer_expression "*(code *)PTR_xmalloc_001445b0" (* "*") (cast_expression "(code *)PTR_xmalloc_001445b0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_xmalloc_001445b0"))) () ")")) (argument_list "(iVar6 + 1)" (( "(") (binary_expression "iVar6 + 1" (identifier "iVar6") (+ "+") (number_literal "1")) () ")")))) (; ";")) (expression_statement "iVar10 = (*(code *)PTR_strcpy_00146418)(uVar7,iVar10);" (assignment_expression "iVar10 = (*(code *)PTR_strcpy_00146418)(uVar7,iVar10)" (identifier "iVar10") (= "=") (call_expression "(*(code *)PTR_strcpy_00146418)(uVar7,iVar10)" (parenthesized_expression "(*(code *)PTR_strcpy_00146418)" (( "(") (pointer_expression "*(code *)PTR_strcpy_00146418" (* "*") (cast_expression "(code *)PTR_strcpy_00146418" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcpy_00146418"))) () ")")) (argument_list "(uVar7,iVar10)" (( "(") (identifier "uVar7") (, ",") (identifier "iVar10") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar10);" (call_expression "(*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar10)" (parenthesized_expression "(*(code *)PTR_add_unwind_protect_00144b68)" (( "(") (pointer_expression "*(code *)PTR_add_unwind_protect_00144b68" (* "*") (cast_expression "(code *)PTR_add_unwind_protect_00144b68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_add_unwind_protect_00144b68"))) () ")")) (argument_list "(PTR_xfree_00144b88,iVar10)" (( "(") (identifier "PTR_xfree_00144b88") (, ",") (identifier "iVar10") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar10);" (call_expression "(*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar10)" (parenthesized_expression "(*(code *)PTR_add_unwind_protect_00144b68)" (( "(") (pointer_expression "*(code *)PTR_add_unwind_protect_00144b68" (* "*") (cast_expression "(code *)PTR_add_unwind_protect_00144b68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_add_unwind_protect_00144b68"))) () ")")) (argument_list "(PTR_set_error_trap_00144c14,iVar10)" (( "(") (identifier "PTR_set_error_trap_00144c14") (, ",") (identifier "iVar10") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_restore_default_signal_00144c4c)(0x81);" (call_expression "(*(code *)PTR_restore_default_signal_00144c4c)(0x81)" (parenthesized_expression "(*(code *)PTR_restore_default_signal_00144c4c)" (( "(") (pointer_expression "*(code *)PTR_restore_default_signal_00144c4c" (* "*") (cast_expression "(code *)PTR_restore_default_signal_00144c4c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_restore_default_signal_00144c4c"))) () ")")) (argument_list "(0x81)" (( "(") (number_literal "0x81") () ")"))) (; ";")) (} "}")))) (expression_statement "puVar9 = PTR_builtin_ignoring_errexit_00144c0c;" (assignment_expression "puVar9 = PTR_builtin_ignoring_errexit_00144c0c" (identifier "puVar9") (= "=") (identifier "PTR_builtin_ignoring_errexit_00144c0c")) (; ";")) (expression_statement "bVar1 = true;" (assignment_expression "bVar1 = true" (identifier "bVar1") (= "=") (true "true")) (; ";")) (expression_statement "local_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c;" (assignment_expression "local_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c" (identifier "local_30") (= "=") (pointer_expression "*(int *)PTR_builtin_ignoring_errexit_00144c0c" (* "*") (cast_expression "(int *)PTR_builtin_ignoring_errexit_00144c0c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_builtin_ignoring_errexit_00144c0c")))) (; ";")) (expression_statement "*(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0;" (assignment_expression "*(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0" (pointer_expression "*(undefined4 *)PTR_exit_immediately_on_error_001445f0" (* "*") (cast_expression "(undefined4 *)PTR_exit_immediately_on_error_001445f0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_exit_immediately_on_error_001445f0"))) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined4 *)puVar9 = 1;" (assignment_expression "*(undefined4 *)puVar9 = 1" (pointer_expression "*(undefined4 *)puVar9" (* "*") (cast_expression "(undefined4 *)puVar9" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar9"))) (= "=") (number_literal "1")) (; ";")) (goto_statement "goto LAB_00049928;" (goto "goto") (statement_identifier "LAB_00049928") (; ";")) (} "}"))) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" (identifier "iVar10") (= "=") (number_literal "0")) (; ";")) (labeled_statement "LAB_00049808:\n    if (param_1 == (code *)PTR_unset_builtin_00144bf4) goto LAB_00049938;" (statement_identifier "LAB_00049808") (: ":") (if_statement "if (param_1 == (code *)PTR_unset_builtin_00144bf4) goto LAB_00049938;" (if "if") (parenthesized_expression "(param_1 == (code *)PTR_unset_builtin_00144bf4)" (( "(") (binary_expression "param_1 == (code *)PTR_unset_builtin_00144bf4" (identifier "param_1") (== "==") (cast_expression "(code *)PTR_unset_builtin_00144bf4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_unset_builtin_00144bf4"))) () ")")) (goto_statement "goto LAB_00049938;" (goto "goto") (statement_identifier "LAB_00049938") (; ";")))) (if_statement "if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) goto LAB_00049a2c;" (if "if") (parenthesized_expression "((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc))" (( "(") (binary_expression "(param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)" (parenthesized_expression "(param_1 == (code *)PTR_mapfile_builtin_00144bf8)" (( "(") (binary_expression "param_1 == (code *)PTR_mapfile_builtin_00144bf8" (identifier "param_1") (== "==") (cast_expression "(code *)PTR_mapfile_builtin_00144bf8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_mapfile_builtin_00144bf8"))) () ")")) (|| "||") (parenthesized_expression "(param_1 == (code *)PTR_fc_builtin_00144bfc)" (( "(") (binary_expression "param_1 == (code *)PTR_fc_builtin_00144bfc" (identifier "param_1") (== "==") (cast_expression "(code *)PTR_fc_builtin_00144bfc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fc_builtin_00144bfc"))) () ")"))) () ")")) (goto_statement "goto LAB_00049a2c;" (goto "goto") (statement_identifier "LAB_00049a2c") (; ";"))) (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" (identifier "uVar11") (= "=") (number_literal "0")) (; ";")) (if_statement "if (param_1 == (code *)PTR_read_builtin_00144c00) goto LAB_00049954;" (if "if") (parenthesized_expression "(param_1 == (code *)PTR_read_builtin_00144c00)" (( "(") (binary_expression "param_1 == (code *)PTR_read_builtin_00144c00" (identifier "param_1") (== "==") (cast_expression "(code *)PTR_read_builtin_00144c00" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_read_builtin_00144c00"))) () ")")) (goto_statement "goto LAB_00049954;" (goto "goto") (statement_identifier "LAB_00049954") (; ";"))) (labeled_statement "joined_r0x00049978:\n    piVar13 = (int *)PTR_evalnest_00144c38;" (statement_identifier "joined_r0x00049978") (: ":") (expression_statement "piVar13 = (int *)PTR_evalnest_00144c38;" (assignment_expression "piVar13 = (int *)PTR_evalnest_00144c38" (identifier "piVar13") (= "=") (cast_expression "(int *)PTR_evalnest_00144c38" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_evalnest_00144c38"))) (; ";"))) (expression_statement "piVar14 = (int *)PTR_sourcenest_00144c44;" (assignment_expression "piVar14 = (int *)PTR_sourcenest_00144c44" (identifier "piVar14") (= "=") (cast_expression "(int *)PTR_sourcenest_00144c44" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sourcenest_00144c44"))) (; ";")) (if_statement "if (param_4 != 0) goto LAB_00049830;" (if "if") (parenthesized_expression "(param_4 != 0)" (( "(") (binary_expression "param_4 != 0" (identifier "param_4") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00049830;" (goto "goto") (statement_identifier "LAB_00049830") (; ";"))) (labeled_statement "joined_r0x00049b04:\n    PTR_evalnest_00144c38 = (undefined *)piVar13;" (statement_identifier "joined_r0x00049b04") (: ":") (expression_statement "PTR_evalnest_00144c38 = (undefined *)piVar13;" (assignment_expression "PTR_evalnest_00144c38 = (undefined *)piVar13" (identifier "PTR_evalnest_00144c38") (= "=") (cast_expression "(undefined *)piVar13" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "piVar13"))) (; ";"))) (expression_statement "PTR_sourcenest_00144c44 = (undefined *)piVar14;" (assignment_expression "PTR_sourcenest_00144c44 = (undefined *)piVar14" (identifier "PTR_sourcenest_00144c44") (= "=") (cast_expression "(undefined *)piVar14" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "piVar14"))) (; ";")) (if_statement "if (param_1 == (code *)PTR_eval_builtin_00144be8) {\n      if ((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar13)\n         ) {\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);\n        internal_error(uVar7,*piVar13);\n        piVar14 = piVar13;\n        goto LAB_00049d4c;\n      }\nLAB_00049b38:\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(piVar13,4);\n      *piVar13 = *piVar13 + 1;\n    }\n    else if (param_1 == (code *)puVar2) {\n      piVar13 = piVar14;\n      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar14)) {\n        do {\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }\n      goto LAB_00049b38;\n    }" (if "if") (parenthesized_expression "(param_1 == (code *)PTR_eval_builtin_00144be8)" (( "(") (binary_expression "param_1 == (code *)PTR_eval_builtin_00144be8" (identifier "param_1") (== "==") (cast_expression "(code *)PTR_eval_builtin_00144be8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_eval_builtin_00144be8"))) () ")")) (compound_statement "{\n      if ((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar13)\n         ) {\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);\n        internal_error(uVar7,*piVar13);\n        piVar14 = piVar13;\n        goto LAB_00049d4c;\n      }\nLAB_00049b38:\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(piVar13,4);\n      *piVar13 = *piVar13 + 1;\n    }" ({ "{") (if_statement "if ((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar13)\n         ) {\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);\n        internal_error(uVar7,*piVar13);\n        piVar14 = piVar13;\n        goto LAB_00049d4c;\n      }" (if "if") (parenthesized_expression "((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar13)\n         )" (( "(") (binary_expression "(0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar13)" (parenthesized_expression "(0 < *(int *)PTR_evalnest_max_00144c20)" (( "(") (binary_expression "0 < *(int *)PTR_evalnest_max_00144c20" (number_literal "0") (< "<") (pointer_expression "*(int *)PTR_evalnest_max_00144c20" (* "*") (cast_expression "(int *)PTR_evalnest_max_00144c20" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_evalnest_max_00144c20")))) () ")")) (&& "&&") (parenthesized_expression "(*(int *)PTR_evalnest_max_00144c20 <= *piVar13)" (( "(") (binary_expression "*(int *)PTR_evalnest_max_00144c20 <= *piVar13" (pointer_expression "*(int *)PTR_evalnest_max_00144c20" (* "*") (cast_expression "(int *)PTR_evalnest_max_00144c20" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_evalnest_max_00144c20"))) (<= "<=") (pointer_expression "*piVar13" (* "*") (identifier "piVar13"))) () ")"))) () ")")) (compound_statement "{\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);\n        internal_error(uVar7,*piVar13);\n        piVar14 = piVar13;\n        goto LAB_00049d4c;\n      }" ({ "{") (expression_statement "uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);" (assignment_expression "uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5)" (identifier "uVar7") (= "=") (call_expression "(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_00146498)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_00146498" (* "*") (cast_expression "(code *)PTR_dcgettext_00146498" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_00146498"))) () ")")) (argument_list "(0,PTR_LAB_00144578 + 0x6930,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_LAB_00144578 + 0x6930" (identifier "PTR_LAB_00144578") (+ "+") (number_literal "0x6930")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "internal_error(uVar7,*piVar13);" (call_expression "internal_error(uVar7,*piVar13)" (identifier "internal_error") (argument_list "(uVar7,*piVar13)" (( "(") (identifier "uVar7") (, ",") (pointer_expression "*piVar13" (* "*") (identifier "piVar13")) () ")"))) (; ";")) (expression_statement "piVar14 = piVar13;" (assignment_expression "piVar14 = piVar13" (identifier "piVar14") (= "=") (identifier "piVar13")) (; ";")) (goto_statement "goto LAB_00049d4c;" (goto "goto") (statement_identifier "LAB_00049d4c") (; ";")) (} "}"))) (labeled_statement "LAB_00049b38:\n      (*(code *)PTR_unwind_protect_mem_00144c3c)(piVar13,4);" (statement_identifier "LAB_00049b38") (: ":") (expression_statement "(*(code *)PTR_unwind_protect_mem_00144c3c)(piVar13,4);" (call_expression "(*(code *)PTR_unwind_protect_mem_00144c3c)(piVar13,4)" (parenthesized_expression "(*(code *)PTR_unwind_protect_mem_00144c3c)" (( "(") (pointer_expression "*(code *)PTR_unwind_protect_mem_00144c3c" (* "*") (cast_expression "(code *)PTR_unwind_protect_mem_00144c3c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_unwind_protect_mem_00144c3c"))) () ")")) (argument_list "(piVar13,4)" (( "(") (identifier "piVar13") (, ",") (number_literal "4") () ")"))) (; ";"))) (expression_statement "*piVar13 = *piVar13 + 1;" (assignment_expression "*piVar13 = *piVar13 + 1" (pointer_expression "*piVar13" (* "*") (identifier "piVar13")) (= "=") (binary_expression "*piVar13 + 1" (pointer_expression "*piVar13" (* "*") (identifier "piVar13")) (+ "+") (number_literal "1"))) (; ";")) (} "}")) (else_clause "else if (param_1 == (code *)puVar2) {\n      piVar13 = piVar14;\n      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar14)) {\n        do {\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }\n      goto LAB_00049b38;\n    }" (else "else") (if_statement "if (param_1 == (code *)puVar2) {\n      piVar13 = piVar14;\n      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar14)) {\n        do {\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }\n      goto LAB_00049b38;\n    }" (if "if") (parenthesized_expression "(param_1 == (code *)puVar2)" (( "(") (binary_expression "param_1 == (code *)puVar2" (identifier "param_1") (== "==") (cast_expression "(code *)puVar2" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) () ")")) (compound_statement "{\n      piVar13 = piVar14;\n      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar14)) {\n        do {\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }\n      goto LAB_00049b38;\n    }" ({ "{") (expression_statement "piVar13 = piVar14;" (assignment_expression "piVar13 = piVar14" (identifier "piVar13") (= "=") (identifier "piVar14")) (; ";")) (if_statement "if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar14)) {\n        do {\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }" (if "if") (parenthesized_expression "((0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar14))" (( "(") (binary_expression "(0 < *(int *)PTR_sourcenest_max_00144c24) &&\n         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar14)" (parenthesized_expression "(0 < *(int *)PTR_sourcenest_max_00144c24)" (( "(") (binary_expression "0 < *(int *)PTR_sourcenest_max_00144c24" (number_literal "0") (< "<") (pointer_expression "*(int *)PTR_sourcenest_max_00144c24" (* "*") (cast_expression "(int *)PTR_sourcenest_max_00144c24" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sourcenest_max_00144c24")))) () ")")) (&& "&&") (parenthesized_expression "(*(int *)PTR_sourcenest_max_00144c24 <= *piVar14)" (( "(") (binary_expression "*(int *)PTR_sourcenest_max_00144c24 <= *piVar14" (pointer_expression "*(int *)PTR_sourcenest_max_00144c24" (* "*") (cast_expression "(int *)PTR_sourcenest_max_00144c24" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sourcenest_max_00144c24"))) (<= "<=") (pointer_expression "*piVar14" (* "*") (identifier "piVar14"))) () ")"))) () ")")) (compound_statement "{\n        do {\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );\n      }" ({ "{") (do_statement "do {\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        } while( true );" (do "do") (compound_statement "{\n          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);\n          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);\nLAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;\n          *piVar14 = 0;\n          (*(code *)puVar2)(2);\n        }" ({ "{") (expression_statement "uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);" (assignment_expression "uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960)" (identifier "uVar7") (= "=") (call_expression "(*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960)" (parenthesized_expression "(*(code *)PTR_dcgettext_00146498)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_00146498" (* "*") (cast_expression "(code *)PTR_dcgettext_00146498" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_00146498"))) () ")")) (argument_list "(0,PTR_LAB_00144578 + 0x6960)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_LAB_00144578 + 0x6960" (identifier "PTR_LAB_00144578") (+ "+") (number_literal "0x6960")) () ")")))) (; ";")) (expression_statement "internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);" (call_expression "internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14)" (identifier "internal_error") (argument_list "(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14)" (( "(") (identifier "uVar7") (, ",") (pointer_expression "*(undefined4 *)PTR_this_command_name_00144728" (* "*") (cast_expression "(undefined4 *)PTR_this_command_name_00144728" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_this_command_name_00144728"))) (, ",") (pointer_expression "*piVar14" (* "*") (identifier "piVar14")) () ")"))) (; ";")) (labeled_statement "LAB_00049d4c:\n          puVar2 = PTR_jump_to_top_level_00144808;" (statement_identifier "LAB_00049d4c") (: ":") (expression_statement "puVar2 = PTR_jump_to_top_level_00144808;" (assignment_expression "puVar2 = PTR_jump_to_top_level_00144808" (identifier "puVar2") (= "=") (identifier "PTR_jump_to_top_level_00144808")) (; ";"))) (expression_statement "*piVar14 = 0;" (assignment_expression "*piVar14 = 0" (pointer_expression "*piVar14" (* "*") (identifier "piVar14")) (= "=") (number_literal "0")) (; ";")) (expression_statement "(*(code *)puVar2)(2);" (call_expression "(*(code *)puVar2)(2)" (parenthesized_expression "(*(code *)puVar2)" (( "(") (pointer_expression "*(code *)puVar2" (* "*") (cast_expression "(code *)puVar2" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) () ")")) (argument_list "(2)" (( "(") (number_literal "2") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (goto_statement "goto LAB_00049b38;" (goto "goto") (statement_identifier "LAB_00049b38") (; ";")) (} "}"))))) (expression_statement "puVar9 = PTR_executing_command_builtin_00144c08;" (assignment_expression "puVar9 = PTR_executing_command_builtin_00144c08" (identifier "puVar9") (= "=") (identifier "PTR_executing_command_builtin_00144c08")) (; ";")) (expression_statement "puVar2 = PTR_posixly_correct_0014458c;" (assignment_expression "puVar2 = PTR_posixly_correct_0014458c" (identifier "puVar2") (= "=") (identifier "PTR_posixly_correct_0014458c")) (; ";")) (expression_statement "uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec);" (assignment_expression "uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec)" (identifier "uVar4") (= "=") (call_expression "(uint)(param_1 == (code *)PTR_command_builtin_00144bec)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(param_1 == (code *)PTR_command_builtin_00144bec)" (( "(") (binary_expression "param_1 == (code *)PTR_command_builtin_00144bec" (identifier "param_1") (== "==") (cast_expression "(code *)PTR_command_builtin_00144bec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_command_builtin_00144bec"))) () ")")))) (; ";")) (if_statement "if (*(int *)PTR_posixly_correct_0014458c == 0) {\n      uVar7 = *param_2;\n      iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08;\n      goto LAB_000499c8;\n    }" (if "if") (parenthesized_expression "(*(int *)PTR_posixly_correct_0014458c == 0)" (( "(") (binary_expression "*(int *)PTR_posixly_correct_0014458c == 0" (pointer_expression "*(int *)PTR_posixly_correct_0014458c" (* "*") (cast_expression "(int *)PTR_posixly_correct_0014458c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_posixly_correct_0014458c"))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar7 = *param_2;\n      iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08;\n      goto LAB_000499c8;\n    }" ({ "{") (expression_statement "uVar7 = *param_2;" (assignment_expression "uVar7 = *param_2" (identifier "uVar7") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;" (assignment_expression "iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1" (identifier "iVar6") (= "=") (binary_expression "*(int *)PTR_executing_builtin_00144c04 + 1" (pointer_expression "*(int *)PTR_executing_builtin_00144c04" (* "*") (cast_expression "(int *)PTR_executing_builtin_00144c04" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_executing_builtin_00144c04"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08;" (assignment_expression "uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08" (identifier "uVar4") (= "=") (binary_expression "uVar4 | *(uint *)PTR_executing_command_builtin_00144c08" (identifier "uVar4") (| "|") (pointer_expression "*(uint *)PTR_executing_command_builtin_00144c08" (* "*") (cast_expression "(uint *)PTR_executing_command_builtin_00144c08" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_executing_command_builtin_00144c08"))))) (; ";")) (goto_statement "goto LAB_000499c8;" (goto "goto") (statement_identifier "LAB_000499c8") (; ";")) (} "}"))) (if_statement "if (param_1 == (code *)PTR_return_builtin_00144c28) {\n      if (((param_3 & 0x800) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)) {\n        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);\n      }\n      puVar3 = PTR_return_builtin_00144c28;\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*(code *)puVar3)(uVar7);\n      if (*(int *)puVar2 == 0) goto LAB_00049a90;\nLAB_000499f4:\n      if (*(int *)PTR_temporary_env_00144858 != 0) {\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }\n    }\n    else {\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*param_1)(uVar7);\n    }" (if "if") (parenthesized_expression "(param_1 == (code *)PTR_return_builtin_00144c28)" (( "(") (binary_expression "param_1 == (code *)PTR_return_builtin_00144c28" (identifier "param_1") (== "==") (cast_expression "(code *)PTR_return_builtin_00144c28" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_return_builtin_00144c28"))) () ")")) (compound_statement "{\n      if (((param_3 & 0x800) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)) {\n        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);\n      }\n      puVar3 = PTR_return_builtin_00144c28;\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*(code *)puVar3)(uVar7);\n      if (*(int *)puVar2 == 0) goto LAB_00049a90;\nLAB_000499f4:\n      if (*(int *)PTR_temporary_env_00144858 != 0) {\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }\n    }" ({ "{") (if_statement "if (((param_3 & 0x800) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)) {\n        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);\n      }" (if "if") (parenthesized_expression "(((param_3 & 0x800) == 0) && (*(int *)PTR_temporary_env_00144858 != 0))" (( "(") (binary_expression "((param_3 & 0x800) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)" (parenthesized_expression "((param_3 & 0x800) == 0)" (( "(") (binary_expression "(param_3 & 0x800) == 0" (parenthesized_expression "(param_3 & 0x800)" (( "(") (binary_expression "param_3 & 0x800" (identifier "param_3") (& "&") (number_literal "0x800")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*(int *)PTR_temporary_env_00144858 != 0)" (( "(") (binary_expression "*(int *)PTR_temporary_env_00144858 != 0" (pointer_expression "*(int *)PTR_temporary_env_00144858" (* "*") (cast_expression "(int *)PTR_temporary_env_00144858" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_temporary_env_00144858"))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);\n      }" ({ "{") (expression_statement "(*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);" (call_expression "(*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990)" (parenthesized_expression "(*(code *)PTR_begin_unwind_frame_00144c2c)" (( "(") (pointer_expression "*(code *)PTR_begin_unwind_frame_00144c2c" (* "*") (cast_expression "(code *)PTR_begin_unwind_frame_00144c2c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_begin_unwind_frame_00144c2c"))) () ")")) (argument_list "(PTR_LAB_00144578 + 0x6990)" (( "(") (binary_expression "PTR_LAB_00144578 + 0x6990" (identifier "PTR_LAB_00144578") (+ "+") (number_literal "0x6990")) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);" (call_expression "(*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0)" (parenthesized_expression "(*(code *)PTR_add_unwind_protect_00144b68)" (( "(") (pointer_expression "*(code *)PTR_add_unwind_protect_00144b68" (* "*") (cast_expression "(code *)PTR_add_unwind_protect_00144b68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_add_unwind_protect_00144b68"))) () ")")) (argument_list "(PTR_merge_temporary_env_00144c40,0)" (( "(") (identifier "PTR_merge_temporary_env_00144c40") (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar3 = PTR_return_builtin_00144c28;" (assignment_expression "puVar3 = PTR_return_builtin_00144c28" (identifier "puVar3") (= "=") (identifier "PTR_return_builtin_00144c28")) (; ";")) (expression_statement "puVar9 = PTR_executing_command_builtin_00144c08;" (assignment_expression "puVar9 = PTR_executing_command_builtin_00144c08" (identifier "puVar9") (= "=") (identifier "PTR_executing_command_builtin_00144c08")) (; ";")) (expression_statement "uVar7 = *param_2;" (assignment_expression "uVar7 = *param_2" (identifier "uVar7") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;" (assignment_expression "uVar5 = *(uint *)PTR_executing_command_builtin_00144c08" (identifier "uVar5") (= "=") (pointer_expression "*(uint *)PTR_executing_command_builtin_00144c08" (* "*") (cast_expression "(uint *)PTR_executing_command_builtin_00144c08" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_executing_command_builtin_00144c08")))) (; ";")) (expression_statement "*(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;" (assignment_expression "*(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1" (pointer_expression "*(int *)PTR_executing_builtin_00144c04" (* "*") (cast_expression "(int *)PTR_executing_builtin_00144c04" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_executing_builtin_00144c04"))) (= "=") (binary_expression "*(int *)PTR_executing_builtin_00144c04 + 1" (pointer_expression "*(int *)PTR_executing_builtin_00144c04" (* "*") (cast_expression "(int *)PTR_executing_builtin_00144c04" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_executing_builtin_00144c04"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(uint *)puVar9 = uVar5 | uVar4;" (assignment_expression "*(uint *)puVar9 = uVar5 | uVar4" (pointer_expression "*(uint *)puVar9" (* "*") (cast_expression "(uint *)puVar9" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar9"))) (= "=") (binary_expression "uVar5 | uVar4" (identifier "uVar5") (| "|") (identifier "uVar4"))) (; ";")) (expression_statement "uVar7 = (*(code *)puVar3)(uVar7);" (assignment_expression "uVar7 = (*(code *)puVar3)(uVar7)" (identifier "uVar7") (= "=") (call_expression "(*(code *)puVar3)(uVar7)" (parenthesized_expression "(*(code *)puVar3)" (( "(") (pointer_expression "*(code *)puVar3" (* "*") (cast_expression "(code *)puVar3" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar3"))) () ")")) (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")")))) (; ";")) (if_statement "if (*(int *)puVar2 == 0) goto LAB_00049a90;" (if "if") (parenthesized_expression "(*(int *)puVar2 == 0)" (( "(") (binary_expression "*(int *)puVar2 == 0" (pointer_expression "*(int *)puVar2" (* "*") (cast_expression "(int *)puVar2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00049a90;" (goto "goto") (statement_identifier "LAB_00049a90") (; ";"))) (labeled_statement "LAB_000499f4:\n      if (*(int *)PTR_temporary_env_00144858 != 0) {\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }" (statement_identifier "LAB_000499f4") (: ":") (if_statement "if (*(int *)PTR_temporary_env_00144858 != 0) {\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }" (if "if") (parenthesized_expression "(*(int *)PTR_temporary_env_00144858 != 0)" (( "(") (binary_expression "*(int *)PTR_temporary_env_00144858 != 0" (pointer_expression "*(int *)PTR_temporary_env_00144858" (* "*") (cast_expression "(int *)PTR_temporary_env_00144858" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_temporary_env_00144858"))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);\n      }" ({ "{") (expression_statement "(*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);" (call_expression "(*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990)" (parenthesized_expression "(*(code *)PTR_discard_unwind_frame_00144c18)" (( "(") (pointer_expression "*(code *)PTR_discard_unwind_frame_00144c18" (* "*") (cast_expression "(code *)PTR_discard_unwind_frame_00144c18" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_discard_unwind_frame_00144c18"))) () ")")) (argument_list "(PTR_LAB_00144578 + 0x6990)" (( "(") (binary_expression "PTR_LAB_00144578 + 0x6990" (identifier "PTR_LAB_00144578") (+ "+") (number_literal "0x6990")) () ")"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*param_1)(uVar7);\n    }" (else "else") (compound_statement "{\n      uVar7 = *param_2;\n      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;\n      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;\n      *(uint *)puVar9 = uVar5 | uVar4;\n      uVar7 = (*param_1)(uVar7);\n    }" ({ "{") (expression_statement "uVar7 = *param_2;" (assignment_expression "uVar7 = *param_2" (identifier "uVar7") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;" (assignment_expression "uVar5 = *(uint *)PTR_executing_command_builtin_00144c08" (identifier "uVar5") (= "=") (pointer_expression "*(uint *)PTR_executing_command_builtin_00144c08" (* "*") (cast_expression "(uint *)PTR_executing_command_builtin_00144c08" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_executing_command_builtin_00144c08")))) (; ";")) (expression_statement "*(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;" (assignment_expression "*(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1" (pointer_expression "*(int *)PTR_executing_builtin_00144c04" (* "*") (cast_expression "(int *)PTR_executing_builtin_00144c04" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_executing_builtin_00144c04"))) (= "=") (binary_expression "*(int *)PTR_executing_builtin_00144c04 + 1" (pointer_expression "*(int *)PTR_executing_builtin_00144c04" (* "*") (cast_expression "(int *)PTR_executing_builtin_00144c04" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_executing_builtin_00144c04"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(uint *)puVar9 = uVar5 | uVar4;" (assignment_expression "*(uint *)puVar9 = uVar5 | uVar4" (pointer_expression "*(uint *)puVar9" (* "*") (cast_expression "(uint *)puVar9" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar9"))) (= "=") (binary_expression "uVar5 | uVar4" (identifier "uVar5") (| "|") (identifier "uVar4"))) (; ";")) (expression_statement "uVar7 = (*param_1)(uVar7);" (assignment_expression "uVar7 = (*param_1)(uVar7)" (identifier "uVar7") (= "=") (call_expression "(*param_1)(uVar7)" (parenthesized_expression "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")")) (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")")))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n    iVar10 = 0;\n    bVar1 = false;\nLAB_00049928:\n    if ((param_1 != (code *)puVar2) && (param_1 != (code *)PTR_eval_builtin_00144be8))\n    goto LAB_00049808;\nLAB_00049938:\n    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) {\nLAB_00049a2c:\n      uVar11 = 0;\n      if (param_4 != 0) goto LAB_0004995c;\nLAB_00049a38:\n      puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);\n      if (*puVar12 != 0) {\n        push_scope(8);\n        if (((param_3 & 0x800) == 0) && (uVar11 != 0)) {\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar9 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9);\nLAB_00049978:\n        uVar11 = 1;\n        *puVar12 = 0;\n        goto joined_r0x00049978;\n      }\n      uVar11 = 1;\n      piVar13 = (int *)PTR_evalnest_00144c38;\n      piVar14 = (int *)PTR_sourcenest_00144c44;\n      goto joined_r0x00049b04;\n    }\n    uVar11 = (uint)(param_1 != (code *)PTR_read_builtin_00144c00);\nLAB_00049954:\n    if (param_4 == 0) goto LAB_00049a38;\nLAB_0004995c:\n    puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n    uVar11 = param_4;\n    if (*(int *)PTR_temporary_env_00144858 != 0) {\n      push_scope(8);\n      goto LAB_00049978;\n    }\nLAB_00049830:\n    puVar9 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;\n    uVar7 = *param_2;\n    uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec) |\n            *(uint *)PTR_executing_command_builtin_00144c08;\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\nLAB_000499c8:\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      puVar2 = PTR_posixly_correct_0014458c;\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)(uVar7);\n      if (*(int *)puVar2 != 0) {\n        if (param_4 != 0) goto LAB_00049880;\n        if (param_1 == (code *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }\n    }\n    else {\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)();\n      if (*(int *)puVar2 != 0) goto LAB_00049880;\n    }\n    if (param_4 != 0) goto LAB_00049880;\n  }" (else "else") (compound_statement "{\n    iVar10 = 0;\n    bVar1 = false;\nLAB_00049928:\n    if ((param_1 != (code *)puVar2) && (param_1 != (code *)PTR_eval_builtin_00144be8))\n    goto LAB_00049808;\nLAB_00049938:\n    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) {\nLAB_00049a2c:\n      uVar11 = 0;\n      if (param_4 != 0) goto LAB_0004995c;\nLAB_00049a38:\n      puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);\n      if (*puVar12 != 0) {\n        push_scope(8);\n        if (((param_3 & 0x800) == 0) && (uVar11 != 0)) {\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar9 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9);\nLAB_00049978:\n        uVar11 = 1;\n        *puVar12 = 0;\n        goto joined_r0x00049978;\n      }\n      uVar11 = 1;\n      piVar13 = (int *)PTR_evalnest_00144c38;\n      piVar14 = (int *)PTR_sourcenest_00144c44;\n      goto joined_r0x00049b04;\n    }\n    uVar11 = (uint)(param_1 != (code *)PTR_read_builtin_00144c00);\nLAB_00049954:\n    if (param_4 == 0) goto LAB_00049a38;\nLAB_0004995c:\n    puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n    uVar11 = param_4;\n    if (*(int *)PTR_temporary_env_00144858 != 0) {\n      push_scope(8);\n      goto LAB_00049978;\n    }\nLAB_00049830:\n    puVar9 = PTR_executing_command_builtin_00144c08;\n    puVar2 = PTR_posixly_correct_0014458c;\n    iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;\n    uVar7 = *param_2;\n    uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec) |\n            *(uint *)PTR_executing_command_builtin_00144c08;\n    if (*(int *)PTR_posixly_correct_0014458c == 0) {\nLAB_000499c8:\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      puVar2 = PTR_posixly_correct_0014458c;\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)(uVar7);\n      if (*(int *)puVar2 != 0) {\n        if (param_4 != 0) goto LAB_00049880;\n        if (param_1 == (code *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }\n    }\n    else {\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)();\n      if (*(int *)puVar2 != 0) goto LAB_00049880;\n    }\n    if (param_4 != 0) goto LAB_00049880;\n  }" ({ "{") (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" (identifier "iVar10") (= "=") (number_literal "0")) (; ";")) (expression_statement "bVar1 = false;" (assignment_expression "bVar1 = false" (identifier "bVar1") (= "=") (false "false")) (; ";")) (labeled_statement "LAB_00049928:\n    if ((param_1 != (code *)puVar2) && (param_1 != (code *)PTR_eval_builtin_00144be8))\n    goto LAB_00049808;" (statement_identifier "LAB_00049928") (: ":") (if_statement "if ((param_1 != (code *)puVar2) && (param_1 != (code *)PTR_eval_builtin_00144be8))\n    goto LAB_00049808;" (if "if") (parenthesized_expression "((param_1 != (code *)puVar2) && (param_1 != (code *)PTR_eval_builtin_00144be8))" (( "(") (binary_expression "(param_1 != (code *)puVar2) && (param_1 != (code *)PTR_eval_builtin_00144be8)" (parenthesized_expression "(param_1 != (code *)puVar2)" (( "(") (binary_expression "param_1 != (code *)puVar2" (identifier "param_1") (!= "!=") (cast_expression "(code *)puVar2" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) () ")")) (&& "&&") (parenthesized_expression "(param_1 != (code *)PTR_eval_builtin_00144be8)" (( "(") (binary_expression "param_1 != (code *)PTR_eval_builtin_00144be8" (identifier "param_1") (!= "!=") (cast_expression "(code *)PTR_eval_builtin_00144be8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_eval_builtin_00144be8"))) () ")"))) () ")")) (goto_statement "goto LAB_00049808;" (goto "goto") (statement_identifier "LAB_00049808") (; ";")))) (labeled_statement "LAB_00049938:\n    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) {\nLAB_00049a2c:\n      uVar11 = 0;\n      if (param_4 != 0) goto LAB_0004995c;\nLAB_00049a38:\n      puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);\n      if (*puVar12 != 0) {\n        push_scope(8);\n        if (((param_3 & 0x800) == 0) && (uVar11 != 0)) {\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar9 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9);\nLAB_00049978:\n        uVar11 = 1;\n        *puVar12 = 0;\n        goto joined_r0x00049978;\n      }\n      uVar11 = 1;\n      piVar13 = (int *)PTR_evalnest_00144c38;\n      piVar14 = (int *)PTR_sourcenest_00144c44;\n      goto joined_r0x00049b04;\n    }" (statement_identifier "LAB_00049938") (: ":") (if_statement "if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)) {\nLAB_00049a2c:\n      uVar11 = 0;\n      if (param_4 != 0) goto LAB_0004995c;\nLAB_00049a38:\n      puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);\n      if (*puVar12 != 0) {\n        push_scope(8);\n        if (((param_3 & 0x800) == 0) && (uVar11 != 0)) {\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar9 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9);\nLAB_00049978:\n        uVar11 = 1;\n        *puVar12 = 0;\n        goto joined_r0x00049978;\n      }\n      uVar11 = 1;\n      piVar13 = (int *)PTR_evalnest_00144c38;\n      piVar14 = (int *)PTR_sourcenest_00144c44;\n      goto joined_r0x00049b04;\n    }" (if "if") (parenthesized_expression "((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc))" (( "(") (binary_expression "(param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||\n       (param_1 == (code *)PTR_fc_builtin_00144bfc)" (parenthesized_expression "(param_1 == (code *)PTR_mapfile_builtin_00144bf8)" (( "(") (binary_expression "param_1 == (code *)PTR_mapfile_builtin_00144bf8" (identifier "param_1") (== "==") (cast_expression "(code *)PTR_mapfile_builtin_00144bf8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_mapfile_builtin_00144bf8"))) () ")")) (|| "||") (parenthesized_expression "(param_1 == (code *)PTR_fc_builtin_00144bfc)" (( "(") (binary_expression "param_1 == (code *)PTR_fc_builtin_00144bfc" (identifier "param_1") (== "==") (cast_expression "(code *)PTR_fc_builtin_00144bfc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fc_builtin_00144bfc"))) () ")"))) () ")")) (compound_statement "{\nLAB_00049a2c:\n      uVar11 = 0;\n      if (param_4 != 0) goto LAB_0004995c;\nLAB_00049a38:\n      puVar12 = (undefined4 *)PTR_temporary_env_00144858;\n      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);\n      if (*puVar12 != 0) {\n        push_scope(8);\n        if (((param_3 & 0x800) == 0) && (uVar11 != 0)) {\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar9 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9);\nLAB_00049978:\n        uVar11 = 1;\n        *puVar12 = 0;\n        goto joined_r0x00049978;\n      }\n      uVar11 = 1;\n      piVar13 = (int *)PTR_evalnest_00144c38;\n      piVar14 = (int *)PTR_sourcenest_00144c44;\n      goto joined_r0x00049b04;\n    }" ({ "{") (labeled_statement "LAB_00049a2c:\n      uVar11 = 0;" (statement_identifier "LAB_00049a2c") (: ":") (expression_statement "uVar11 = 0;" (assignment_expression "uVar11 = 0" (identifier "uVar11") (= "=") (number_literal "0")) (; ";"))) (if_statement "if (param_4 != 0) goto LAB_0004995c;" (if "if") (parenthesized_expression "(param_4 != 0)" (( "(") (binary_expression "param_4 != 0" (identifier "param_4") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_0004995c;" (goto "goto") (statement_identifier "LAB_0004995c") (; ";"))) (labeled_statement "LAB_00049a38:\n      puVar12 = (undefined4 *)PTR_temporary_env_00144858;" (statement_identifier "LAB_00049a38") (: ":") (expression_statement "puVar12 = (undefined4 *)PTR_temporary_env_00144858;" (assignment_expression "puVar12 = (undefined4 *)PTR_temporary_env_00144858" (identifier "puVar12") (= "=") (cast_expression "(undefined4 *)PTR_temporary_env_00144858" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_temporary_env_00144858"))) (; ";"))) (expression_statement "(*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);" (call_expression "(*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924)" (parenthesized_expression "(*(code *)PTR_begin_unwind_frame_00144c2c)" (( "(") (pointer_expression "*(code *)PTR_begin_unwind_frame_00144c2c" (* "*") (cast_expression "(code *)PTR_begin_unwind_frame_00144c2c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_begin_unwind_frame_00144c2c"))) () ")")) (argument_list "(PTR_LAB_00144578 + 0x6924)" (( "(") (binary_expression "PTR_LAB_00144578 + 0x6924" (identifier "PTR_LAB_00144578") (+ "+") (number_literal "0x6924")) () ")"))) (; ";")) (if_statement "if (*puVar12 != 0) {\n        push_scope(8);\n        if (((param_3 & 0x800) == 0) && (uVar11 != 0)) {\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar9 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9);\nLAB_00049978:\n        uVar11 = 1;\n        *puVar12 = 0;\n        goto joined_r0x00049978;\n      }" (if "if") (parenthesized_expression "(*puVar12 != 0)" (( "(") (binary_expression "*puVar12 != 0" (pointer_expression "*puVar12" (* "*") (identifier "puVar12")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        push_scope(8);\n        if (((param_3 & 0x800) == 0) && (uVar11 != 0)) {\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar9 = (undefined *)0x0;\n        }\n        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9);\nLAB_00049978:\n        uVar11 = 1;\n        *puVar12 = 0;\n        goto joined_r0x00049978;\n      }" ({ "{") (expression_statement "push_scope(8);" (call_expression "push_scope(8)" (identifier "push_scope") (argument_list "(8)" (( "(") (number_literal "8") () ")"))) (; ";")) (if_statement "if (((param_3 & 0x800) == 0) && (uVar11 != 0)) {\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }\n        else {\n          puVar9 = (undefined *)0x0;\n        }" (if "if") (parenthesized_expression "(((param_3 & 0x800) == 0) && (uVar11 != 0))" (( "(") (binary_expression "((param_3 & 0x800) == 0) && (uVar11 != 0)" (parenthesized_expression "((param_3 & 0x800) == 0)" (( "(") (binary_expression "(param_3 & 0x800) == 0" (parenthesized_expression "(param_3 & 0x800)" (( "(") (binary_expression "param_3 & 0x800" (identifier "param_3") (& "&") (number_literal "0x800")) () ")")) (== "==") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(uVar11 != 0)" (( "(") (binary_expression "uVar11 != 0" (identifier "uVar11") (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;\n        }" ({ "{") (expression_statement "puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;" (assignment_expression "puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c" (identifier "puVar9") (= "=") (binary_expression "PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c" (identifier "PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94") (+ "+") (number_literal "-0x7f6c"))) (; ";")) (} "}")) (else_clause "else {\n          puVar9 = (undefined *)0x0;\n        }" (else "else") (compound_statement "{\n          puVar9 = (undefined *)0x0;\n        }" ({ "{") (expression_statement "puVar9 = (undefined *)0x0;" (assignment_expression "puVar9 = (undefined *)0x0" (identifier "puVar9") (= "=") (cast_expression "(undefined *)0x0" (( "(") (type_descriptor "undefined *" (type_identifier "undefined") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (} "}")))) (expression_statement "(*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9);" (call_expression "(*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9)" (parenthesized_expression "(*(code *)PTR_add_unwind_protect_00144b68)" (( "(") (pointer_expression "*(code *)PTR_add_unwind_protect_00144b68" (* "*") (cast_expression "(code *)PTR_add_unwind_protect_00144b68" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_add_unwind_protect_00144b68"))) () ")")) (argument_list "(PTR_pop_scope_00144c30,puVar9)" (( "(") (identifier "PTR_pop_scope_00144c30") (, ",") (identifier "puVar9") () ")"))) (; ";")) (labeled_statement "LAB_00049978:\n        uVar11 = 1;" (statement_identifier "LAB_00049978") (: ":") (expression_statement "uVar11 = 1;" (assignment_expression "uVar11 = 1" (identifier "uVar11") (= "=") (number_literal "1")) (; ";"))) (expression_statement "*puVar12 = 0;" (assignment_expression "*puVar12 = 0" (pointer_expression "*puVar12" (* "*") (identifier "puVar12")) (= "=") (number_literal "0")) (; ";")) (goto_statement "goto joined_r0x00049978;" (goto "goto") (statement_identifier "joined_r0x00049978") (; ";")) (} "}"))) (expression_statement "uVar11 = 1;" (assignment_expression "uVar11 = 1" (identifier "uVar11") (= "=") (number_literal "1")) (; ";")) (expression_statement "piVar13 = (int *)PTR_evalnest_00144c38;" (assignment_expression "piVar13 = (int *)PTR_evalnest_00144c38" (identifier "piVar13") (= "=") (cast_expression "(int *)PTR_evalnest_00144c38" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_evalnest_00144c38"))) (; ";")) (expression_statement "piVar14 = (int *)PTR_sourcenest_00144c44;" (assignment_expression "piVar14 = (int *)PTR_sourcenest_00144c44" (identifier "piVar14") (= "=") (cast_expression "(int *)PTR_sourcenest_00144c44" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_sourcenest_00144c44"))) (; ";")) (goto_statement "goto joined_r0x00049b04;" (goto "goto") (statement_identifier "joined_r0x00049b04") (; ";")) (} "}")))) (expression_statement "uVar11 = (uint)(param_1 != (code *)PTR_read_builtin_00144c00);" (assignment_expression "uVar11 = (uint)(param_1 != (code *)PTR_read_builtin_00144c00)" (identifier "uVar11") (= "=") (call_expression "(uint)(param_1 != (code *)PTR_read_builtin_00144c00)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(param_1 != (code *)PTR_read_builtin_00144c00)" (( "(") (binary_expression "param_1 != (code *)PTR_read_builtin_00144c00" (identifier "param_1") (!= "!=") (cast_expression "(code *)PTR_read_builtin_00144c00" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_read_builtin_00144c00"))) () ")")))) (; ";")) (labeled_statement "LAB_00049954:\n    if (param_4 == 0) goto LAB_00049a38;" (statement_identifier "LAB_00049954") (: ":") (if_statement "if (param_4 == 0) goto LAB_00049a38;" (if "if") (parenthesized_expression "(param_4 == 0)" (( "(") (binary_expression "param_4 == 0" (identifier "param_4") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_00049a38;" (goto "goto") (statement_identifier "LAB_00049a38") (; ";")))) (labeled_statement "LAB_0004995c:\n    puVar12 = (undefined4 *)PTR_temporary_env_00144858;" (statement_identifier "LAB_0004995c") (: ":") (expression_statement "puVar12 = (undefined4 *)PTR_temporary_env_00144858;" (assignment_expression "puVar12 = (undefined4 *)PTR_temporary_env_00144858" (identifier "puVar12") (= "=") (cast_expression "(undefined4 *)PTR_temporary_env_00144858" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_temporary_env_00144858"))) (; ";"))) (expression_statement "uVar11 = param_4;" (assignment_expression "uVar11 = param_4" (identifier "uVar11") (= "=") (identifier "param_4")) (; ";")) (if_statement "if (*(int *)PTR_temporary_env_00144858 != 0) {\n      push_scope(8);\n      goto LAB_00049978;\n    }" (if "if") (parenthesized_expression "(*(int *)PTR_temporary_env_00144858 != 0)" (( "(") (binary_expression "*(int *)PTR_temporary_env_00144858 != 0" (pointer_expression "*(int *)PTR_temporary_env_00144858" (* "*") (cast_expression "(int *)PTR_temporary_env_00144858" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_temporary_env_00144858"))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      push_scope(8);\n      goto LAB_00049978;\n    }" ({ "{") (expression_statement "push_scope(8);" (call_expression "push_scope(8)" (identifier "push_scope") (argument_list "(8)" (( "(") (number_literal "8") () ")"))) (; ";")) (goto_statement "goto LAB_00049978;" (goto "goto") (statement_identifier "LAB_00049978") (; ";")) (} "}"))) (labeled_statement "LAB_00049830:\n    puVar9 = PTR_executing_command_builtin_00144c08;" (statement_identifier "LAB_00049830") (: ":") (expression_statement "puVar9 = PTR_executing_command_builtin_00144c08;" (assignment_expression "puVar9 = PTR_executing_command_builtin_00144c08" (identifier "puVar9") (= "=") (identifier "PTR_executing_command_builtin_00144c08")) (; ";"))) (expression_statement "puVar2 = PTR_posixly_correct_0014458c;" (assignment_expression "puVar2 = PTR_posixly_correct_0014458c" (identifier "puVar2") (= "=") (identifier "PTR_posixly_correct_0014458c")) (; ";")) (expression_statement "iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;" (assignment_expression "iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1" (identifier "iVar6") (= "=") (binary_expression "*(int *)PTR_executing_builtin_00144c04 + 1" (pointer_expression "*(int *)PTR_executing_builtin_00144c04" (* "*") (cast_expression "(int *)PTR_executing_builtin_00144c04" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_executing_builtin_00144c04"))) (+ "+") (number_literal "1"))) (; ";")) (expression_statement "uVar7 = *param_2;" (assignment_expression "uVar7 = *param_2" (identifier "uVar7") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec) |\n            *(uint *)PTR_executing_command_builtin_00144c08;" (assignment_expression "uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec) |\n            *(uint *)PTR_executing_command_builtin_00144c08" (identifier "uVar4") (= "=") (binary_expression "(uint)(param_1 == (code *)PTR_command_builtin_00144bec) |\n            *(uint *)PTR_executing_command_builtin_00144c08" (call_expression "(uint)(param_1 == (code *)PTR_command_builtin_00144bec)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(param_1 == (code *)PTR_command_builtin_00144bec)" (( "(") (binary_expression "param_1 == (code *)PTR_command_builtin_00144bec" (identifier "param_1") (== "==") (cast_expression "(code *)PTR_command_builtin_00144bec" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_command_builtin_00144bec"))) () ")"))) (| "|") (pointer_expression "*(uint *)PTR_executing_command_builtin_00144c08" (* "*") (cast_expression "(uint *)PTR_executing_command_builtin_00144c08" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_executing_command_builtin_00144c08"))))) (; ";")) (if_statement "if (*(int *)PTR_posixly_correct_0014458c == 0) {\nLAB_000499c8:\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      puVar2 = PTR_posixly_correct_0014458c;\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)(uVar7);\n      if (*(int *)puVar2 != 0) {\n        if (param_4 != 0) goto LAB_00049880;\n        if (param_1 == (code *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }\n    }\n    else {\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)();\n      if (*(int *)puVar2 != 0) goto LAB_00049880;\n    }" (if "if") (parenthesized_expression "(*(int *)PTR_posixly_correct_0014458c == 0)" (( "(") (binary_expression "*(int *)PTR_posixly_correct_0014458c == 0" (pointer_expression "*(int *)PTR_posixly_correct_0014458c" (* "*") (cast_expression "(int *)PTR_posixly_correct_0014458c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_posixly_correct_0014458c"))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_000499c8:\n      puVar9 = PTR_executing_command_builtin_00144c08;\n      puVar2 = PTR_posixly_correct_0014458c;\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)(uVar7);\n      if (*(int *)puVar2 != 0) {\n        if (param_4 != 0) goto LAB_00049880;\n        if (param_1 == (code *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }\n    }" ({ "{") (labeled_statement "LAB_000499c8:\n      puVar9 = PTR_executing_command_builtin_00144c08;" (statement_identifier "LAB_000499c8") (: ":") (expression_statement "puVar9 = PTR_executing_command_builtin_00144c08;" (assignment_expression "puVar9 = PTR_executing_command_builtin_00144c08" (identifier "puVar9") (= "=") (identifier "PTR_executing_command_builtin_00144c08")) (; ";"))) (expression_statement "puVar2 = PTR_posixly_correct_0014458c;" (assignment_expression "puVar2 = PTR_posixly_correct_0014458c" (identifier "puVar2") (= "=") (identifier "PTR_posixly_correct_0014458c")) (; ";")) (expression_statement "*(int *)PTR_executing_builtin_00144c04 = iVar6;" (assignment_expression "*(int *)PTR_executing_builtin_00144c04 = iVar6" (pointer_expression "*(int *)PTR_executing_builtin_00144c04" (* "*") (cast_expression "(int *)PTR_executing_builtin_00144c04" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_executing_builtin_00144c04"))) (= "=") (identifier "iVar6")) (; ";")) (expression_statement "*(uint *)puVar9 = uVar4;" (assignment_expression "*(uint *)puVar9 = uVar4" (pointer_expression "*(uint *)puVar9" (* "*") (cast_expression "(uint *)puVar9" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar9"))) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "uVar7 = (*param_1)(uVar7);" (assignment_expression "uVar7 = (*param_1)(uVar7)" (identifier "uVar7") (= "=") (call_expression "(*param_1)(uVar7)" (parenthesized_expression "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")")) (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")")))) (; ";")) (if_statement "if (*(int *)puVar2 != 0) {\n        if (param_4 != 0) goto LAB_00049880;\n        if (param_1 == (code *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }" (if "if") (parenthesized_expression "(*(int *)puVar2 != 0)" (( "(") (binary_expression "*(int *)puVar2 != 0" (pointer_expression "*(int *)puVar2" (* "*") (cast_expression "(int *)puVar2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        if (param_4 != 0) goto LAB_00049880;\n        if (param_1 == (code *)PTR_return_builtin_00144c28) goto LAB_000499f4;\n        goto LAB_00049a90;\n      }" ({ "{") (if_statement "if (param_4 != 0) goto LAB_00049880;" (if "if") (parenthesized_expression "(param_4 != 0)" (( "(") (binary_expression "param_4 != 0" (identifier "param_4") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00049880;" (goto "goto") (statement_identifier "LAB_00049880") (; ";"))) (if_statement "if (param_1 == (code *)PTR_return_builtin_00144c28) goto LAB_000499f4;" (if "if") (parenthesized_expression "(param_1 == (code *)PTR_return_builtin_00144c28)" (( "(") (binary_expression "param_1 == (code *)PTR_return_builtin_00144c28" (identifier "param_1") (== "==") (cast_expression "(code *)PTR_return_builtin_00144c28" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_return_builtin_00144c28"))) () ")")) (goto_statement "goto LAB_000499f4;" (goto "goto") (statement_identifier "LAB_000499f4") (; ";"))) (goto_statement "goto LAB_00049a90;" (goto "goto") (statement_identifier "LAB_00049a90") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)();\n      if (*(int *)puVar2 != 0) goto LAB_00049880;\n    }" (else "else") (compound_statement "{\n      *(int *)PTR_executing_builtin_00144c04 = iVar6;\n      *(uint *)puVar9 = uVar4;\n      uVar7 = (*param_1)();\n      if (*(int *)puVar2 != 0) goto LAB_00049880;\n    }" ({ "{") (expression_statement "*(int *)PTR_executing_builtin_00144c04 = iVar6;" (assignment_expression "*(int *)PTR_executing_builtin_00144c04 = iVar6" (pointer_expression "*(int *)PTR_executing_builtin_00144c04" (* "*") (cast_expression "(int *)PTR_executing_builtin_00144c04" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_executing_builtin_00144c04"))) (= "=") (identifier "iVar6")) (; ";")) (expression_statement "*(uint *)puVar9 = uVar4;" (assignment_expression "*(uint *)puVar9 = uVar4" (pointer_expression "*(uint *)puVar9" (* "*") (cast_expression "(uint *)puVar9" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar9"))) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "uVar7 = (*param_1)();" (assignment_expression "uVar7 = (*param_1)()" (identifier "uVar7") (= "=") (call_expression "(*param_1)()" (parenthesized_expression "(*param_1)" (( "(") (pointer_expression "*param_1" (* "*") (identifier "param_1")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (*(int *)puVar2 != 0) goto LAB_00049880;" (if "if") (parenthesized_expression "(*(int *)puVar2 != 0)" (( "(") (binary_expression "*(int *)puVar2 != 0" (pointer_expression "*(int *)puVar2" (* "*") (cast_expression "(int *)puVar2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar2"))) (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00049880;" (goto "goto") (statement_identifier "LAB_00049880") (; ";"))) (} "}")))) (if_statement "if (param_4 != 0) goto LAB_00049880;" (if "if") (parenthesized_expression "(param_4 != 0)" (( "(") (binary_expression "param_4 != 0" (identifier "param_4") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_00049880;" (goto "goto") (statement_identifier "LAB_00049880") (; ";"))) (} "}")))) (labeled_statement "LAB_00049a90:\n  if (uVar11 != 0) {\n    (*(code *)PTR_run_unwind_frame_00144c34)(PTR_LAB_00144578 + 0x6924);\n  }" (statement_identifier "LAB_00049a90") (: ":") (if_statement "if (uVar11 != 0) {\n    (*(code *)PTR_run_unwind_frame_00144c34)(PTR_LAB_00144578 + 0x6924);\n  }" (if "if") (parenthesized_expression "(uVar11 != 0)" (( "(") (binary_expression "uVar11 != 0" (identifier "uVar11") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    (*(code *)PTR_run_unwind_frame_00144c34)(PTR_LAB_00144578 + 0x6924);\n  }" ({ "{") (expression_statement "(*(code *)PTR_run_unwind_frame_00144c34)(PTR_LAB_00144578 + 0x6924);" (call_expression "(*(code *)PTR_run_unwind_frame_00144c34)(PTR_LAB_00144578 + 0x6924)" (parenthesized_expression "(*(code *)PTR_run_unwind_frame_00144c34)" (( "(") (pointer_expression "*(code *)PTR_run_unwind_frame_00144c34" (* "*") (cast_expression "(code *)PTR_run_unwind_frame_00144c34" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_run_unwind_frame_00144c34"))) () ")")) (argument_list "(PTR_LAB_00144578 + 0x6924)" (( "(") (binary_expression "PTR_LAB_00144578 + 0x6924" (identifier "PTR_LAB_00144578") (+ "+") (number_literal "0x6924")) () ")"))) (; ";")) (} "}")))) (labeled_statement "LAB_00049880:\n  if (bVar1) {\n    *(int *)PTR_builtin_ignoring_errexit_00144c0c = local_30;\n    if (local_30 == 0) {\n      uVar8 = *(undefined4 *)PTR_errexit_flag_00144c10;\n    }\n    else {\n      uVar8 = 0;\n    }\n    *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = uVar8;\n    if (iVar10 != 0) {\n      (*(code *)PTR_set_error_trap_00144c14)(iVar10);\n      (*(code *)PTR_free_001464fc)(iVar10);\n    }\n    (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6914);\n  }" (statement_identifier "LAB_00049880") (: ":") (if_statement "if (bVar1) {\n    *(int *)PTR_builtin_ignoring_errexit_00144c0c = local_30;\n    if (local_30 == 0) {\n      uVar8 = *(undefined4 *)PTR_errexit_flag_00144c10;\n    }\n    else {\n      uVar8 = 0;\n    }\n    *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = uVar8;\n    if (iVar10 != 0) {\n      (*(code *)PTR_set_error_trap_00144c14)(iVar10);\n      (*(code *)PTR_free_001464fc)(iVar10);\n    }\n    (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6914);\n  }" (if "if") (parenthesized_expression "(bVar1)" (( "(") (identifier "bVar1") () ")")) (compound_statement "{\n    *(int *)PTR_builtin_ignoring_errexit_00144c0c = local_30;\n    if (local_30 == 0) {\n      uVar8 = *(undefined4 *)PTR_errexit_flag_00144c10;\n    }\n    else {\n      uVar8 = 0;\n    }\n    *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = uVar8;\n    if (iVar10 != 0) {\n      (*(code *)PTR_set_error_trap_00144c14)(iVar10);\n      (*(code *)PTR_free_001464fc)(iVar10);\n    }\n    (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6914);\n  }" ({ "{") (expression_statement "*(int *)PTR_builtin_ignoring_errexit_00144c0c = local_30;" (assignment_expression "*(int *)PTR_builtin_ignoring_errexit_00144c0c = local_30" (pointer_expression "*(int *)PTR_builtin_ignoring_errexit_00144c0c" (* "*") (cast_expression "(int *)PTR_builtin_ignoring_errexit_00144c0c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_builtin_ignoring_errexit_00144c0c"))) (= "=") (identifier "local_30")) (; ";")) (if_statement "if (local_30 == 0) {\n      uVar8 = *(undefined4 *)PTR_errexit_flag_00144c10;\n    }\n    else {\n      uVar8 = 0;\n    }" (if "if") (parenthesized_expression "(local_30 == 0)" (( "(") (binary_expression "local_30 == 0" (identifier "local_30") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar8 = *(undefined4 *)PTR_errexit_flag_00144c10;\n    }" ({ "{") (expression_statement "uVar8 = *(undefined4 *)PTR_errexit_flag_00144c10;" (assignment_expression "uVar8 = *(undefined4 *)PTR_errexit_flag_00144c10" (identifier "uVar8") (= "=") (pointer_expression "*(undefined4 *)PTR_errexit_flag_00144c10" (* "*") (cast_expression "(undefined4 *)PTR_errexit_flag_00144c10" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_errexit_flag_00144c10")))) (; ";")) (} "}")) (else_clause "else {\n      uVar8 = 0;\n    }" (else "else") (compound_statement "{\n      uVar8 = 0;\n    }" ({ "{") (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" (identifier "uVar8") (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "*(undefined4 *)PTR_exit_immediately_on_error_001445f0 = uVar8;" (assignment_expression "*(undefined4 *)PTR_exit_immediately_on_error_001445f0 = uVar8" (pointer_expression "*(undefined4 *)PTR_exit_immediately_on_error_001445f0" (* "*") (cast_expression "(undefined4 *)PTR_exit_immediately_on_error_001445f0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_exit_immediately_on_error_001445f0"))) (= "=") (identifier "uVar8")) (; ";")) (if_statement "if (iVar10 != 0) {\n      (*(code *)PTR_set_error_trap_00144c14)(iVar10);\n      (*(code *)PTR_free_001464fc)(iVar10);\n    }" (if "if") (parenthesized_expression "(iVar10 != 0)" (( "(") (binary_expression "iVar10 != 0" (identifier "iVar10") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      (*(code *)PTR_set_error_trap_00144c14)(iVar10);\n      (*(code *)PTR_free_001464fc)(iVar10);\n    }" ({ "{") (expression_statement "(*(code *)PTR_set_error_trap_00144c14)(iVar10);" (call_expression "(*(code *)PTR_set_error_trap_00144c14)(iVar10)" (parenthesized_expression "(*(code *)PTR_set_error_trap_00144c14)" (( "(") (pointer_expression "*(code *)PTR_set_error_trap_00144c14" (* "*") (cast_expression "(code *)PTR_set_error_trap_00144c14" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_set_error_trap_00144c14"))) () ")")) (argument_list "(iVar10)" (( "(") (identifier "iVar10") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_free_001464fc)(iVar10);" (call_expression "(*(code *)PTR_free_001464fc)(iVar10)" (parenthesized_expression "(*(code *)PTR_free_001464fc)" (( "(") (pointer_expression "*(code *)PTR_free_001464fc" (* "*") (cast_expression "(code *)PTR_free_001464fc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_free_001464fc"))) () ")")) (argument_list "(iVar10)" (( "(") (identifier "iVar10") () ")"))) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6914);" (call_expression "(*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6914)" (parenthesized_expression "(*(code *)PTR_discard_unwind_frame_00144c18)" (( "(") (pointer_expression "*(code *)PTR_discard_unwind_frame_00144c18" (* "*") (cast_expression "(code *)PTR_discard_unwind_frame_00144c18" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_discard_unwind_frame_00144c18"))) () ")")) (argument_list "(PTR_LAB_00144578 + 0x6914)" (( "(") (binary_expression "PTR_LAB_00144578 + 0x6914" (identifier "PTR_LAB_00144578") (+ "+") (number_literal "0x6914")) () ")"))) (; ";")) (} "}")))) (return_statement "return uVar7;" (return "return") (identifier "uVar7") (; ";")) (} "}")))

int function_1(type_1 *var_3,type_2 *words,int var_2,int var_1)

{
  bool bVar1;
  type_3 *puVar2;
  type_3 *puVar3;
  type_4 var_9;
  type_4 var_10;
  char *pcVar6;
  int var_7;
  type_2 *pWVar8;
  type_5 uVar9;
  type_6 *pwVar10;
  type_3 *puVar11;
  int var_5;
  int isbltinenv;
  type_4 var_12;
  type_5 *puVar14;
  int *piVar15;
  int *piVar16;
  int var_14;
  
  puVar2 = PTR_source_builtin_00144bf0;
  if (var_1 == 0) {
    if ((var_2 & 8U) == 0) {
      var_5 = 0;
      bVar1 = false;
      goto LAB_00049928;
    }
    if (((var_3 == (type_1 *)PTR_eval_builtin_00144be8) ||
        (var_3 == (type_1 *)PTR_command_builtin_00144bec)) ||
       (bVar1 = false, var_3 == (type_1 *)PTR_source_builtin_00144bf0)) {
      (*(type_7 *)PTR_begin_unwind_frame_00144c2c)(var_4 + 0x6914);
      (*(type_7 *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4);
      (*(type_7 *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4);
      var_5 = (*(type_7 *)PTR_signal_is_trapped_00144664)(0x81);
      if (((var_5 == 0) || (var_5 = (*(type_7 *)PTR_signal_is_ignored_00144880)(0x81), var_5 != 0))
         || (var_5 = *(int *)(var_6 + 0x204), var_5 == 0)) {
        var_5 = 0;
      }
      else {
        var_7 = (*(type_7 *)PTR_strlen_00146390)(var_5);
        uVar9 = (*(type_7 *)PTR_xmalloc_001445b0)(var_7 + 1);
        var_5 = (*(type_7 *)PTR_strcpy_00146418)(uVar9,var_5);
        (*(type_7 *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,var_5);
        (*(type_7 *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,var_5);
        (*(type_7 *)PTR_restore_default_signal_00144c4c)(0x81);
      }
      puVar11 = PTR_builtin_ignoring_errexit_00144c0c;
      bVar1 = true;
      var_14 = *(int *)PTR_builtin_ignoring_errexit_00144c0c;
      *(type_5 *)PTR_exit_immediately_on_error_001445f0 = 0;
      *(type_5 *)puVar11 = 1;
      goto LAB_00049928;
    }
    var_5 = 0;
LAB_00049808:
    if (var_3 == (type_1 *)PTR_unset_builtin_00144bf4) goto LAB_00049938;
    if ((var_3 == (type_1 *)PTR_mapfile_builtin_00144bf8) ||
       (var_3 == (type_1 *)PTR_fc_builtin_00144bfc)) goto LAB_00049a2c;
    var_12 = 0;
    if (var_3 == (type_1 *)PTR_read_builtin_00144c00) goto LAB_00049954;
joined_r0x00049978:
    piVar15 = (int *)PTR_evalnest_00144c38;
    piVar16 = (int *)PTR_sourcenest_00144c44;
    if (var_1 != 0) goto LAB_00049830;
joined_r0x00049b04:
    PTR_evalnest_00144c38 = (type_3 *)piVar15;
    PTR_sourcenest_00144c44 = (type_3 *)piVar16;
    if (var_3 == (type_1 *)PTR_eval_builtin_00144be8) {
      if ((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar15)
         ) {
        pcVar6 = (char *)(*(type_7 *)PTR_dcgettext_00146498)(0,var_4 + 0x6930,5);
        var_8(pcVar6,*piVar15);
        piVar16 = piVar15;
        goto LAB_00049d4c;
      }
LAB_00049b38:
      (*(type_7 *)PTR_unwind_protect_mem_00144c3c)(piVar15,4);
      *piVar15 = *piVar15 + 1;
    }
    else if (var_3 == (type_1 *)puVar2) {
      piVar15 = piVar16;
      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&
         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar16)) {
        do {
          pcVar6 = (char *)(*(type_7 *)PTR_dcgettext_00146498)(0,var_4 + 0x6960);
          var_8(pcVar6,*(type_5 *)PTR_this_command_name_00144728,*piVar16);
LAB_00049d4c:
          puVar2 = PTR_jump_to_top_level_00144808;
          *piVar16 = 0;
          (*(type_7 *)puVar2)(2);
        } while( true );
      }
      goto LAB_00049b38;
    }
    puVar11 = PTR_executing_command_builtin_00144c08;
    puVar2 = PTR_posixly_correct_0014458c;
    var_9 = (type_4)(var_3 == (type_1 *)PTR_command_builtin_00144bec);
    if (*(int *)PTR_posixly_correct_0014458c == 0) {
      pWVar8 = words->next;
      var_7 = *(int *)PTR_executing_builtin_00144c04 + 1;
      var_9 = var_9 | *(type_4 *)PTR_executing_command_builtin_00144c08;
      goto LAB_000499c8;
    }
    if (var_3 == (type_1 *)PTR_return_builtin_00144c28) {
      if (((var_2 & 0x800U) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)) {
        (*(type_7 *)PTR_begin_unwind_frame_00144c2c)(var_4 + 0x6990);
        (*(type_7 *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);
      }
      puVar3 = PTR_return_builtin_00144c28;
      puVar11 = PTR_executing_command_builtin_00144c08;
      pwVar10 = words->next;
      var_10 = *(type_4 *)PTR_executing_command_builtin_00144c08;
      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;
      *(type_4 *)puVar11 = var_10 | var_9;
      var_7 = (*(type_7 *)puVar3)(pwVar10);
      if (*(int *)puVar2 == 0) goto LAB_00049a90;
LAB_000499f4:
      if (*(int *)PTR_temporary_env_00144858 != 0) {
        (*(type_7 *)PTR_discard_unwind_frame_00144c18)(var_4 + 0x6990);
      }
    }
    else {
      pWVar8 = words->next;
      var_10 = *(type_4 *)PTR_executing_command_builtin_00144c08;
      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;
      *(type_4 *)puVar11 = var_10 | var_9;
      var_7 = (*var_3)(pWVar8);
    }
  }
  else {
    var_5 = 0;
    bVar1 = false;
LAB_00049928:
    if ((var_3 != (type_1 *)puVar2) &&
       (var_3 != (type_1 *)PTR_eval_builtin_00144be8)) goto LAB_00049808;
LAB_00049938:
    if ((var_3 == (type_1 *)PTR_mapfile_builtin_00144bf8) ||
       (var_3 == (type_1 *)PTR_fc_builtin_00144bfc)) {
LAB_00049a2c:
      var_12 = 0;
      if (var_1 != 0) goto LAB_0004995c;
LAB_00049a38:
      puVar14 = (type_5 *)PTR_temporary_env_00144858;
      (*(type_7 *)PTR_begin_unwind_frame_00144c2c)(var_4 + 0x6924);
      if ((type_8 *)*puVar14 != (type_8 *)0x0) {
        var_11(8,(type_8 *)*puVar14);
        if (((var_2 & 0x800U) == 0) && (var_12 != 0)) {
          puVar11 = var_13 + -0x7f6c;
        }
        else {
          puVar11 = (type_3 *)0x0;
        }
        (*(type_7 *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar11);
LAB_00049978:
        var_12 = 1;
        *puVar14 = 0;
        goto joined_r0x00049978;
      }
      var_12 = 1;
      piVar15 = (int *)PTR_evalnest_00144c38;
      piVar16 = (int *)PTR_sourcenest_00144c44;
      goto joined_r0x00049b04;
    }
    var_12 = (type_4)(var_3 != (type_1 *)PTR_read_builtin_00144c00);
LAB_00049954:
    if (var_1 == 0) goto LAB_00049a38;
LAB_0004995c:
    puVar14 = (type_5 *)PTR_temporary_env_00144858;
    var_12 = var_1;
    if (*(type_8 **)PTR_temporary_env_00144858 != (type_8 *)0x0) {
      var_11(8,*(type_8 **)PTR_temporary_env_00144858);
      goto LAB_00049978;
    }
LAB_00049830:
    puVar11 = PTR_executing_command_builtin_00144c08;
    puVar2 = PTR_posixly_correct_0014458c;
    var_7 = *(int *)PTR_executing_builtin_00144c04 + 1;
    pWVar8 = words->next;
    var_9 = (type_4)(var_3 == (type_1 *)PTR_command_builtin_00144bec) |
            *(type_4 *)PTR_executing_command_builtin_00144c08;
    if (*(int *)PTR_posixly_correct_0014458c == 0) {
LAB_000499c8:
      puVar11 = PTR_executing_command_builtin_00144c08;
      puVar2 = PTR_posixly_correct_0014458c;
      *(int *)PTR_executing_builtin_00144c04 = var_7;
      *(type_4 *)puVar11 = var_9;
      var_7 = (*var_3)(pWVar8);
      if (*(int *)puVar2 != 0) {
        if (var_1 != 0) goto LAB_00049880;
        if (var_3 == (type_1 *)PTR_return_builtin_00144c28) goto LAB_000499f4;
        goto LAB_00049a90;
      }
    }
    else {
      *(int *)PTR_executing_builtin_00144c04 = var_7;
      *(type_4 *)puVar11 = var_9;
      var_7 = (*var_3)(pWVar8);
      if (*(int *)puVar2 != 0) goto LAB_00049880;
    }
    if (var_1 != 0) goto LAB_00049880;
  }
LAB_00049a90:
  if (var_12 != 0) {
    (*(type_7 *)PTR_run_unwind_frame_00144c34)(var_4 + 0x6924);
  }
LAB_00049880:
  if (bVar1) {
    *(int *)PTR_builtin_ignoring_errexit_00144c0c = var_14;
    if (var_14 == 0) {
      uVar9 = *(type_5 *)PTR_errexit_flag_00144c10;
    }
    else {
      uVar9 = 0;
    }
    *(type_5 *)PTR_exit_immediately_on_error_001445f0 = uVar9;
    if (var_5 != 0) {
      (*(type_7 *)PTR_set_error_trap_00144c14)(var_5);
      (*(type_7 *)PTR_free_001464fc)(var_5);
    }
    (*(type_7 *)PTR_discard_unwind_frame_00144c18)(var_4 + 0x6914);
  }
  return var_7;
}


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

undefined4 MASKED(code *param_1,undefined4 *param_2,uint param_3,uint param_4)

{
  bool bVar1;
  undefined *puVar2;
  undefined *puVar3;
  uint uVar4;
  uint uVar5;
  int iVar6;
  undefined4 uVar7;
  undefined4 uVar8;
  undefined *puVar9;
  int iVar10;
  uint uVar11;
  undefined4 *puVar12;
  int *piVar13;
  int *piVar14;
  int local_30;
  
  puVar2 = PTR_source_builtin_00144bf0;
  if (param_4 == 0) {
    if ((param_3 & 8) == 0) {
      iVar10 = 0;
      bVar1 = false;
      goto LAB_00049928;
    }
    if (((param_1 == (code *)PTR_eval_builtin_00144be8) ||
        (param_1 == (code *)PTR_command_builtin_00144bec)) ||
       (bVar1 = false, param_1 == (code *)PTR_source_builtin_00144bf0)) {
      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6914);
      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_exit_immediately_on_error_001445f0,4);
      (*(code *)PTR_unwind_protect_mem_00144c3c)(PTR_builtin_ignoring_errexit_00144c0c,4);
      iVar10 = (*(code *)PTR_signal_is_trapped_00144664)(0x81);
      if (((iVar10 == 0) || (iVar10 = (*(code *)PTR_signal_is_ignored_00144880)(0x81), iVar10 != 0))
         || (iVar10 = *(int *)(PTR_trap_list_00144c48 + 0x204), iVar10 == 0)) {
        iVar10 = 0;
      }
      else {
        iVar6 = (*(code *)PTR_strlen_00146390)(iVar10);
        uVar7 = (*(code *)PTR_xmalloc_001445b0)(iVar6 + 1);
        iVar10 = (*(code *)PTR_strcpy_00146418)(uVar7,iVar10);
        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_xfree_00144b88,iVar10);
        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_set_error_trap_00144c14,iVar10);
        (*(code *)PTR_restore_default_signal_00144c4c)(0x81);
      }
      puVar9 = PTR_builtin_ignoring_errexit_00144c0c;
      bVar1 = true;
      local_30 = *(int *)PTR_builtin_ignoring_errexit_00144c0c;
      *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = 0;
      *(undefined4 *)puVar9 = 1;
      goto LAB_00049928;
    }
    iVar10 = 0;
LAB_00049808:
    if (param_1 == (code *)PTR_unset_builtin_00144bf4) goto LAB_00049938;
    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||
       (param_1 == (code *)PTR_fc_builtin_00144bfc)) goto LAB_00049a2c;
    uVar11 = 0;
    if (param_1 == (code *)PTR_read_builtin_00144c00) goto LAB_00049954;
joined_r0x00049978:
    piVar13 = (int *)PTR_evalnest_00144c38;
    piVar14 = (int *)PTR_sourcenest_00144c44;
    if (param_4 != 0) goto LAB_00049830;
joined_r0x00049b04:
    PTR_evalnest_00144c38 = (undefined *)piVar13;
    PTR_sourcenest_00144c44 = (undefined *)piVar14;
    if (param_1 == (code *)PTR_eval_builtin_00144be8) {
      if ((0 < *(int *)PTR_evalnest_max_00144c20) && (*(int *)PTR_evalnest_max_00144c20 <= *piVar13)
         ) {
        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6930,5);
        internal_error(uVar7,*piVar13);
        piVar14 = piVar13;
        goto LAB_00049d4c;
      }
LAB_00049b38:
      (*(code *)PTR_unwind_protect_mem_00144c3c)(piVar13,4);
      *piVar13 = *piVar13 + 1;
    }
    else if (param_1 == (code *)puVar2) {
      piVar13 = piVar14;
      if ((0 < *(int *)PTR_sourcenest_max_00144c24) &&
         (*(int *)PTR_sourcenest_max_00144c24 <= *piVar14)) {
        do {
          uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_LAB_00144578 + 0x6960);
          internal_error(uVar7,*(undefined4 *)PTR_this_command_name_00144728,*piVar14);
LAB_00049d4c:
          puVar2 = PTR_jump_to_top_level_00144808;
          *piVar14 = 0;
          (*(code *)puVar2)(2);
        } while( true );
      }
      goto LAB_00049b38;
    }
    puVar9 = PTR_executing_command_builtin_00144c08;
    puVar2 = PTR_posixly_correct_0014458c;
    uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec);
    if (*(int *)PTR_posixly_correct_0014458c == 0) {
      uVar7 = *param_2;
      iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;
      uVar4 = uVar4 | *(uint *)PTR_executing_command_builtin_00144c08;
      goto LAB_000499c8;
    }
    if (param_1 == (code *)PTR_return_builtin_00144c28) {
      if (((param_3 & 0x800) == 0) && (*(int *)PTR_temporary_env_00144858 != 0)) {
        (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6990);
        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_merge_temporary_env_00144c40,0);
      }
      puVar3 = PTR_return_builtin_00144c28;
      puVar9 = PTR_executing_command_builtin_00144c08;
      uVar7 = *param_2;
      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;
      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;
      *(uint *)puVar9 = uVar5 | uVar4;
      uVar7 = (*(code *)puVar3)(uVar7);
      if (*(int *)puVar2 == 0) goto LAB_00049a90;
LAB_000499f4:
      if (*(int *)PTR_temporary_env_00144858 != 0) {
        (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6990);
      }
    }
    else {
      uVar7 = *param_2;
      uVar5 = *(uint *)PTR_executing_command_builtin_00144c08;
      *(int *)PTR_executing_builtin_00144c04 = *(int *)PTR_executing_builtin_00144c04 + 1;
      *(uint *)puVar9 = uVar5 | uVar4;
      uVar7 = (*param_1)(uVar7);
    }
  }
  else {
    iVar10 = 0;
    bVar1 = false;
LAB_00049928:
    if ((param_1 != (code *)puVar2) && (param_1 != (code *)PTR_eval_builtin_00144be8))
    goto LAB_00049808;
LAB_00049938:
    if ((param_1 == (code *)PTR_mapfile_builtin_00144bf8) ||
       (param_1 == (code *)PTR_fc_builtin_00144bfc)) {
LAB_00049a2c:
      uVar11 = 0;
      if (param_4 != 0) goto LAB_0004995c;
LAB_00049a38:
      puVar12 = (undefined4 *)PTR_temporary_env_00144858;
      (*(code *)PTR_begin_unwind_frame_00144c2c)(PTR_LAB_00144578 + 0x6924);
      if (*puVar12 != 0) {
        push_scope(8);
        if (((param_3 & 0x800) == 0) && (uVar11 != 0)) {
          puVar9 = PTR_s_elf__if_FILE_is_a_symbolic_link__00144a94 + -0x7f6c;
        }
        else {
          puVar9 = (undefined *)0x0;
        }
        (*(code *)PTR_add_unwind_protect_00144b68)(PTR_pop_scope_00144c30,puVar9);
LAB_00049978:
        uVar11 = 1;
        *puVar12 = 0;
        goto joined_r0x00049978;
      }
      uVar11 = 1;
      piVar13 = (int *)PTR_evalnest_00144c38;
      piVar14 = (int *)PTR_sourcenest_00144c44;
      goto joined_r0x00049b04;
    }
    uVar11 = (uint)(param_1 != (code *)PTR_read_builtin_00144c00);
LAB_00049954:
    if (param_4 == 0) goto LAB_00049a38;
LAB_0004995c:
    puVar12 = (undefined4 *)PTR_temporary_env_00144858;
    uVar11 = param_4;
    if (*(int *)PTR_temporary_env_00144858 != 0) {
      push_scope(8);
      goto LAB_00049978;
    }
LAB_00049830:
    puVar9 = PTR_executing_command_builtin_00144c08;
    puVar2 = PTR_posixly_correct_0014458c;
    iVar6 = *(int *)PTR_executing_builtin_00144c04 + 1;
    uVar7 = *param_2;
    uVar4 = (uint)(param_1 == (code *)PTR_command_builtin_00144bec) |
            *(uint *)PTR_executing_command_builtin_00144c08;
    if (*(int *)PTR_posixly_correct_0014458c == 0) {
LAB_000499c8:
      puVar9 = PTR_executing_command_builtin_00144c08;
      puVar2 = PTR_posixly_correct_0014458c;
      *(int *)PTR_executing_builtin_00144c04 = iVar6;
      *(uint *)puVar9 = uVar4;
      uVar7 = (*param_1)(uVar7);
      if (*(int *)puVar2 != 0) {
        if (param_4 != 0) goto LAB_00049880;
        if (param_1 == (code *)PTR_return_builtin_00144c28) goto LAB_000499f4;
        goto LAB_00049a90;
      }
    }
    else {
      *(int *)PTR_executing_builtin_00144c04 = iVar6;
      *(uint *)puVar9 = uVar4;
      uVar7 = (*param_1)();
      if (*(int *)puVar2 != 0) goto LAB_00049880;
    }
    if (param_4 != 0) goto LAB_00049880;
  }
LAB_00049a90:
  if (uVar11 != 0) {
    (*(code *)PTR_run_unwind_frame_00144c34)(PTR_LAB_00144578 + 0x6924);
  }
LAB_00049880:
  if (bVar1) {
    *(int *)PTR_builtin_ignoring_errexit_00144c0c = local_30;
    if (local_30 == 0) {
      uVar8 = *(undefined4 *)PTR_errexit_flag_00144c10;
    }
    else {
      uVar8 = 0;
    }
    *(undefined4 *)PTR_exit_immediately_on_error_001445f0 = uVar8;
    if (iVar10 != 0) {
      (*(code *)PTR_set_error_trap_00144c14)(iVar10);
      (*(code *)PTR_free_001464fc)(iVar10);
    }
    (*(code *)PTR_discard_unwind_frame_00144c18)(PTR_LAB_00144578 + 0x6914);
  }
  return uVar7;
}

