
int continue_builtin(WORD_LIST *list)

{
  int iVar1;
  sh_builtin_func_t *UNRECOVERED_JUMPTABLE;
  uint *puVar2;
  uint uVar3;
  uint uVar4;
  char *pcVar5;
  WORD_LIST *pWVar6;
  char *s;
  undefined4 *puVar7;
  int *piVar8;
  int in_t9;
  code *pcVar9;
  intmax_t newcont;
  WORD_LIST *local_14;
  
  piVar8 = *(int **)(&LAB_00097e58 + in_t9);
  local_14 = (WORD_LIST *)*piVar8;
  if ((list != (WORD_LIST *)0x0) && (list->word != (WORD_DESC *)0x0)) {
    pcVar5 = list->word->word;
    if ((*pcVar5 == '-') &&
       (iVar1 = (**(code **)(&LAB_00097ec4 + in_t9))(pcVar5,*(int *)(in_t9 + 0x95f28) + -0x7204),
       iVar1 == 0)) {
      builtin_help();
      iVar1 = 0x102;
      goto LAB_000ae6f4;
    }
  }
  iVar1 = check_loop_level();
  if (iVar1 != 0) {
    get_numeric_arg(list,1,&newcont);
    if (newcont._0_4_ < 1) {
      if ((newcont._0_4_ != 0) || (puVar2 = *(uint **)(in_t9 + 0x96740), newcont._4_4_ == 0)) {
        s = list->word->word;
        pcVar5 = (char *)(**(code **)(&LAB_00097e14 + in_t9))
                                   (0,*(int *)(in_t9 + 0x95f28) + -0x71fc,5);
        sh_erange(s,pcVar5);
        iVar1 = 1;
        **(undefined4 **)(in_t9 + 0x96704) = **(undefined4 **)(in_t9 + 0x96740);
        goto LAB_000ae6f4;
      }
    }
    else {
      puVar2 = *(uint **)(in_t9 + 0x96740);
    }
    uVar3 = *puVar2;
    uVar4 = uVar3;
    if (((int)uVar3 >> 0x1f < newcont._0_4_) ||
       (uVar4 = newcont._4_4_, newcont._0_4_ != (int)uVar3 >> 0x1f)) {
      puVar2 = *(uint **)(in_t9 + 0x96708);
    }
    else {
      puVar2 = *(uint **)(in_t9 + 0x96708);
      uVar4 = uVar3;
      if (newcont._4_4_ <= uVar3) {
        uVar4 = newcont._4_4_;
      }
    }
    iVar1 = 0;
    *puVar2 = uVar4;
  }
LAB_000ae6f4:
  if (local_14 == (WORD_LIST *)*piVar8) {
    return iVar1;
  }
  pcVar9 = *(code **)(&LAB_00097e04 + in_t9);
  pWVar6 = local_14;
  (*pcVar9)();
  iVar1 = no_options(pWVar6);
  if (iVar1 == 0) {
    puVar7 = (undefined4 *)**(undefined4 **)(pcVar9 + 0x97044);
    iVar1 = 0;
    if (puVar7 != (undefined4 *)0x0) {
      pcVar5 = *(char **)puVar7[1];
      UNRECOVERED_JUMPTABLE = find_shell_builtin(pcVar5);
      if (UNRECOVERED_JUMPTABLE != (sh_builtin_func_t *)0x0) {
        pWVar6 = (WORD_LIST *)*puVar7;
        **(undefined4 **)(pcVar9 + 0x95f08) = pcVar5;
        **(undefined4 **)(pcVar9 + 0x96264) = UNRECOVERED_JUMPTABLE;
                    /* WARNING: Could not recover jumptable at 0x000ae89c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
        iVar1 = (*UNRECOVERED_JUMPTABLE)(pWVar6);
        return iVar1;
      }
      sh_notbuiltin(pcVar5);
      iVar1 = 1;
    }
  }
  else {
    iVar1 = 0x102;
  }
  return iVar1;
}



int continue_builtin(int param_1)

{
  int iVar1;
  code *UNRECOVERED_JUMPTABLE;
  uint uVar2;
  uint uVar3;
  char *pcVar4;
  undefined4 uVar5;
  undefined4 *puVar6;
  undefined4 uVar7;
  undefined *puVar8;
  int local_20;
  uint local_1c;
  int local_14;
  
  puVar8 = PTR___stack_chk_guard_001464dc;
  local_14 = *(int *)PTR___stack_chk_guard_001464dc;
  if ((((param_1 == 0) || (*(undefined4 **)(param_1 + 4) == (undefined4 *)0x0)) ||
      (pcVar4 = (char *)**(undefined4 **)(param_1 + 4), *pcVar4 != '-')) ||
     (iVar1 = (*(code *)PTR_strcmp_00146548)(pcVar4,PTR_DAT_001445ac + -0x7204), iVar1 != 0)) {
    iVar1 = FUN_000ae470();
    if (iVar1 != 0) {
      get_numeric_arg(param_1,1,&local_20);
      if ((local_20 < 1) && ((local_20 != 0 || (local_1c == 0)))) {
        uVar5 = **(undefined4 **)(param_1 + 4);
        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x71fc,5);
        sh_erange(uVar5,uVar7);
        iVar1 = 1;
        *(undefined4 *)PTR_breaking_00144d88 = *(undefined4 *)PTR_loop_level_00144dc4;
      }
      else {
        uVar2 = *(uint *)PTR_loop_level_00144dc4;
        uVar3 = uVar2;
        if (((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))
           && (uVar3 = uVar2, local_1c <= uVar2)) {
          uVar3 = local_1c;
        }
        iVar1 = 0;
        *(uint *)PTR_continuing_00144d8c = uVar3;
      }
    }
  }
  else {
    builtin_help();
    iVar1 = 0x102;
  }
  if (local_14 != *(int *)puVar8) {
    puVar8 = PTR___stack_chk_fail_00146488;
    (*(code *)PTR___stack_chk_fail_00146488)();
    iVar1 = no_options();
    if (iVar1 == 0) {
      puVar6 = (undefined4 *)**(undefined4 **)(puVar8 + 0x97044);
      iVar1 = 0;
      if (puVar6 != (undefined4 *)0x0) {
        uVar7 = *(undefined4 *)puVar6[1];
        UNRECOVERED_JUMPTABLE = (code *)find_shell_builtin(uVar7);
        if (UNRECOVERED_JUMPTABLE != (code *)0x0) {
          uVar5 = *puVar6;
          **(undefined4 **)(puVar8 + 0x95f08) = uVar7;
          **(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE;
                    /* WARNING: Could not recover jumptable at 0x000ae89c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5);
          return iVar1;
        }
        sh_notbuiltin(uVar7);
        iVar1 = 1;
      }
    }
    else {
      iVar1 = 0x102;
    }
    return iVar1;
  }
  return iVar1;
}


lui gp,0xa
addiu gp,gp,-0x2144
addu gp,gp,t9
addiu sp,sp,-0x38
sw s1,0x30(sp)
lw s1,-0x6064(gp)
sw gp,0x10(sp)
sw s0,0x2c(sp)
or s0,a0,zero
sw ra,0x34(sp)
lw v0,0x0(s1)
sw v0,0x24(sp)
beq a0,zero,0x000ae6e0
_lw t9,-0x6d9c(gp)
lw v0,0x4(a0)
beq v0,zero,0x000ae6e4
_addiu t9,t9,-0x1b90
lw a0,0x0(v0)
li v0,0x2d
lb v1,0x0(a0)
beq v1,v0,0x000ae76c
_lw a1,-0x7f94(gp)
lw t9,-0x6d9c(gp)
addiu t9,t9,-0x1b90
bal 0x000ae470
_nop
bne v0,zero,0x000ae714
_lw gp,0x10(sp)
lw a0,0x24(sp)
lw v1,0x0(s1)
bne a0,v1,0x000ae80c
_lw ra,0x34(sp)
lw s1,0x30(sp)
lw s0,0x2c(sp)
jr ra
_addiu sp,sp,0x38
lw t9,-0x6c98(gp)
li a1,0x1
addiu a2,sp,0x18
bal 0x000b0f0c
_or a0,s0,zero
lw v0,0x18(sp)
lw gp,0x10(sp)
blez v0,0x000ae7ac
_lw a1,0x1c(sp)
lw v1,-0x777c(gp)
lw v1,0x0(v1)
sra a0,v1,0x1f
slt a2,a0,v0
bne a2,zero,0x000ae75c
_nop
beq v0,a0,0x000ae798
_nop
or v1,a1,zero
lw a0,-0x77b4(gp)
or v0,zero,zero
b 0x000ae6f4
_sw v1,0x0(a0)
lw t9,-0x5ff8(gp)
jalr t9
_addiu a1,a1,-0x7204
bne v0,zero,0x000ae6dc
_lw gp,0x10(sp)
lw t9,-0x6ce0(gp)
bal 0x000b9c08
_nop
li v0,0x102
b 0x000ae6f4
_lw gp,0x10(sp)
sltu v0,v1,a1
bne v0,zero,0x000ae760
_lw a0,-0x77b4(gp)
b 0x000ae760
_or v1,a1,zero
bne v0,zero,0x000ae7bc
_nop
bne a1,zero,0x000ae73c
_lw v1,-0x777c(gp)
lw a1,-0x7f94(gp)
li a2,0x5
lw v0,0x4(s0)
or a0,zero,zero
lw t9,-0x60a8(gp)
addiu a1,a1,-0x71fc
jalr t9
_lw s0,0x0(v0)
lw gp,0x10(sp)
or a1,v0,zero
lw t9,-0x6c94(gp)
bal 0x000b0680
_or a0,s0,zero
li v0,0x1
lw gp,0x10(sp)
lw v1,-0x777c(gp)
lw a0,0x0(v1)
lw v1,-0x77b8(gp)
b 0x000ae6f4
_sw a0,0x0(v1)
lw t9,-0x60b8(gp)
jalr t9
_nop
nop
nop
(translation_unit "int continue_builtin(int param_1)\n\n{\n  int iVar1;\n  code *UNRECOVERED_JUMPTABLE;\n  uint uVar2;\n  uint uVar3;\n  char *pcVar4;\n  undefined4 uVar5;\n  undefined4 *puVar6;\n  undefined4 uVar7;\n  undefined *puVar8;\n  int local_20;\n  uint local_1c;\n  int local_14;\n  \n  puVar8 = PTR___stack_chk_guard_001464dc;\n  local_14 = *(int *)PTR___stack_chk_guard_001464dc;\n  if ((((param_1 == 0) || (*(undefined4 **)(param_1 + 4) == (undefined4 *)0x0)) ||\n      (pcVar4 = (char *)**(undefined4 **)(param_1 + 4), *pcVar4 != '-')) ||\n     (iVar1 = (*(code *)PTR_strcmp_00146548)(pcVar4,PTR_DAT_001445ac + -0x7204), iVar1 != 0)) {\n    iVar1 = FUN_000ae470();\n    if (iVar1 != 0) {\n      get_numeric_arg(param_1,1,&local_20);\n      if ((local_20 < 1) && ((local_20 != 0 || (local_1c == 0)))) {\n        uVar5 = **(undefined4 **)(param_1 + 4);\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x71fc,5);\n        sh_erange(uVar5,uVar7);\n        iVar1 = 1;\n        *(undefined4 *)PTR_breaking_00144d88 = *(undefined4 *)PTR_loop_level_00144dc4;\n      }\n      else {\n        uVar2 = *(uint *)PTR_loop_level_00144dc4;\n        uVar3 = uVar2;\n        if (((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2)) {\n          uVar3 = local_1c;\n        }\n        iVar1 = 0;\n        *(uint *)PTR_continuing_00144d8c = uVar3;\n      }\n    }\n  }\n  else {\n    builtin_help();\n    iVar1 = 0x102;\n  }\n  if (local_14 != *(int *)puVar8) {\n    puVar8 = PTR___stack_chk_fail_00146488;\n    (*(code *)PTR___stack_chk_fail_00146488)();\n    iVar1 = no_options();\n    if (iVar1 == 0) {\n      puVar6 = (undefined4 *)**(undefined4 **)(puVar8 + 0x97044);\n      iVar1 = 0;\n      if (puVar6 != (undefined4 *)0x0) {\n        uVar7 = *(undefined4 *)puVar6[1];\n        UNRECOVERED_JUMPTABLE = (code *)find_shell_builtin(uVar7);\n        if (UNRECOVERED_JUMPTABLE != (code *)0x0) {\n          uVar5 = *puVar6;\n          **(undefined4 **)(puVar8 + 0x95f08) = uVar7;\n          **(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    /* WARNING: Could not recover jumptable at 0x000ae89c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5);\n          return iVar1;\n        }\n        sh_notbuiltin(uVar7);\n        iVar1 = 1;\n      }\n    }\n    else {\n      iVar1 = 0x102;\n    }\n    return iVar1;\n  }\n  return iVar1;\n}\n\n" (function_definition "int continue_builtin(int param_1)\n\n{\n  int iVar1;\n  code *UNRECOVERED_JUMPTABLE;\n  uint uVar2;\n  uint uVar3;\n  char *pcVar4;\n  undefined4 uVar5;\n  undefined4 *puVar6;\n  undefined4 uVar7;\n  undefined *puVar8;\n  int local_20;\n  uint local_1c;\n  int local_14;\n  \n  puVar8 = PTR___stack_chk_guard_001464dc;\n  local_14 = *(int *)PTR___stack_chk_guard_001464dc;\n  if ((((param_1 == 0) || (*(undefined4 **)(param_1 + 4) == (undefined4 *)0x0)) ||\n      (pcVar4 = (char *)**(undefined4 **)(param_1 + 4), *pcVar4 != '-')) ||\n     (iVar1 = (*(code *)PTR_strcmp_00146548)(pcVar4,PTR_DAT_001445ac + -0x7204), iVar1 != 0)) {\n    iVar1 = FUN_000ae470();\n    if (iVar1 != 0) {\n      get_numeric_arg(param_1,1,&local_20);\n      if ((local_20 < 1) && ((local_20 != 0 || (local_1c == 0)))) {\n        uVar5 = **(undefined4 **)(param_1 + 4);\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x71fc,5);\n        sh_erange(uVar5,uVar7);\n        iVar1 = 1;\n        *(undefined4 *)PTR_breaking_00144d88 = *(undefined4 *)PTR_loop_level_00144dc4;\n      }\n      else {\n        uVar2 = *(uint *)PTR_loop_level_00144dc4;\n        uVar3 = uVar2;\n        if (((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2)) {\n          uVar3 = local_1c;\n        }\n        iVar1 = 0;\n        *(uint *)PTR_continuing_00144d8c = uVar3;\n      }\n    }\n  }\n  else {\n    builtin_help();\n    iVar1 = 0x102;\n  }\n  if (local_14 != *(int *)puVar8) {\n    puVar8 = PTR___stack_chk_fail_00146488;\n    (*(code *)PTR___stack_chk_fail_00146488)();\n    iVar1 = no_options();\n    if (iVar1 == 0) {\n      puVar6 = (undefined4 *)**(undefined4 **)(puVar8 + 0x97044);\n      iVar1 = 0;\n      if (puVar6 != (undefined4 *)0x0) {\n        uVar7 = *(undefined4 *)puVar6[1];\n        UNRECOVERED_JUMPTABLE = (code *)find_shell_builtin(uVar7);\n        if (UNRECOVERED_JUMPTABLE != (code *)0x0) {\n          uVar5 = *puVar6;\n          **(undefined4 **)(puVar8 + 0x95f08) = uVar7;\n          **(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    /* WARNING: Could not recover jumptable at 0x000ae89c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5);\n          return iVar1;\n        }\n        sh_notbuiltin(uVar7);\n        iVar1 = 1;\n      }\n    }\n    else {\n      iVar1 = 0x102;\n    }\n    return iVar1;\n  }\n  return iVar1;\n}" primitive_type (function_declarator "continue_builtin(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  code *UNRECOVERED_JUMPTABLE;\n  uint uVar2;\n  uint uVar3;\n  char *pcVar4;\n  undefined4 uVar5;\n  undefined4 *puVar6;\n  undefined4 uVar7;\n  undefined *puVar8;\n  int local_20;\n  uint local_1c;\n  int local_14;\n  \n  puVar8 = PTR___stack_chk_guard_001464dc;\n  local_14 = *(int *)PTR___stack_chk_guard_001464dc;\n  if ((((param_1 == 0) || (*(undefined4 **)(param_1 + 4) == (undefined4 *)0x0)) ||\n      (pcVar4 = (char *)**(undefined4 **)(param_1 + 4), *pcVar4 != '-')) ||\n     (iVar1 = (*(code *)PTR_strcmp_00146548)(pcVar4,PTR_DAT_001445ac + -0x7204), iVar1 != 0)) {\n    iVar1 = FUN_000ae470();\n    if (iVar1 != 0) {\n      get_numeric_arg(param_1,1,&local_20);\n      if ((local_20 < 1) && ((local_20 != 0 || (local_1c == 0)))) {\n        uVar5 = **(undefined4 **)(param_1 + 4);\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x71fc,5);\n        sh_erange(uVar5,uVar7);\n        iVar1 = 1;\n        *(undefined4 *)PTR_breaking_00144d88 = *(undefined4 *)PTR_loop_level_00144dc4;\n      }\n      else {\n        uVar2 = *(uint *)PTR_loop_level_00144dc4;\n        uVar3 = uVar2;\n        if (((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2)) {\n          uVar3 = local_1c;\n        }\n        iVar1 = 0;\n        *(uint *)PTR_continuing_00144d8c = uVar3;\n      }\n    }\n  }\n  else {\n    builtin_help();\n    iVar1 = 0x102;\n  }\n  if (local_14 != *(int *)puVar8) {\n    puVar8 = PTR___stack_chk_fail_00146488;\n    (*(code *)PTR___stack_chk_fail_00146488)();\n    iVar1 = no_options();\n    if (iVar1 == 0) {\n      puVar6 = (undefined4 *)**(undefined4 **)(puVar8 + 0x97044);\n      iVar1 = 0;\n      if (puVar6 != (undefined4 *)0x0) {\n        uVar7 = *(undefined4 *)puVar6[1];\n        UNRECOVERED_JUMPTABLE = (code *)find_shell_builtin(uVar7);\n        if (UNRECOVERED_JUMPTABLE != (code *)0x0) {\n          uVar5 = *puVar6;\n          **(undefined4 **)(puVar8 + 0x95f08) = uVar7;\n          **(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    /* WARNING: Could not recover jumptable at 0x000ae89c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5);\n          return iVar1;\n        }\n        sh_notbuiltin(uVar7);\n        iVar1 = 1;\n      }\n    }\n    else {\n      iVar1 = 0x102;\n    }\n    return iVar1;\n  }\n  return iVar1;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "code *UNRECOVERED_JUMPTABLE;" type_identifier (pointer_declarator "*UNRECOVERED_JUMPTABLE" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "uint local_1c;" type_identifier identifier ;) (declaration "int local_14;" primitive_type identifier ;) (expression_statement "puVar8 = PTR___stack_chk_guard_001464dc;" (assignment_expression "puVar8 = PTR___stack_chk_guard_001464dc" identifier = identifier) ;) (expression_statement "local_14 = *(int *)PTR___stack_chk_guard_001464dc;" (assignment_expression "local_14 = *(int *)PTR___stack_chk_guard_001464dc" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_001464dc" * (cast_expression "(int *)PTR___stack_chk_guard_001464dc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((((param_1 == 0) || (*(undefined4 **)(param_1 + 4) == (undefined4 *)0x0)) ||\n      (pcVar4 = (char *)**(undefined4 **)(param_1 + 4), *pcVar4 != '-')) ||\n     (iVar1 = (*(code *)PTR_strcmp_00146548)(pcVar4,PTR_DAT_001445ac + -0x7204), iVar1 != 0)) {\n    iVar1 = FUN_000ae470();\n    if (iVar1 != 0) {\n      get_numeric_arg(param_1,1,&local_20);\n      if ((local_20 < 1) && ((local_20 != 0 || (local_1c == 0)))) {\n        uVar5 = **(undefined4 **)(param_1 + 4);\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x71fc,5);\n        sh_erange(uVar5,uVar7);\n        iVar1 = 1;\n        *(undefined4 *)PTR_breaking_00144d88 = *(undefined4 *)PTR_loop_level_00144dc4;\n      }\n      else {\n        uVar2 = *(uint *)PTR_loop_level_00144dc4;\n        uVar3 = uVar2;\n        if (((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2)) {\n          uVar3 = local_1c;\n        }\n        iVar1 = 0;\n        *(uint *)PTR_continuing_00144d8c = uVar3;\n      }\n    }\n  }\n  else {\n    builtin_help();\n    iVar1 = 0x102;\n  }" if (parenthesized_expression "((((param_1 == 0) || (*(undefined4 **)(param_1 + 4) == (undefined4 *)0x0)) ||\n      (pcVar4 = (char *)**(undefined4 **)(param_1 + 4), *pcVar4 != '-')) ||\n     (iVar1 = (*(code *)PTR_strcmp_00146548)(pcVar4,PTR_DAT_001445ac + -0x7204), iVar1 != 0))" ( (binary_expression "(((param_1 == 0) || (*(undefined4 **)(param_1 + 4) == (undefined4 *)0x0)) ||\n      (pcVar4 = (char *)**(undefined4 **)(param_1 + 4), *pcVar4 != '-')) ||\n     (iVar1 = (*(code *)PTR_strcmp_00146548)(pcVar4,PTR_DAT_001445ac + -0x7204), iVar1 != 0)" (parenthesized_expression "(((param_1 == 0) || (*(undefined4 **)(param_1 + 4) == (undefined4 *)0x0)) ||\n      (pcVar4 = (char *)**(undefined4 **)(param_1 + 4), *pcVar4 != '-'))" ( (binary_expression "((param_1 == 0) || (*(undefined4 **)(param_1 + 4) == (undefined4 *)0x0)) ||\n      (pcVar4 = (char *)**(undefined4 **)(param_1 + 4), *pcVar4 != '-')" (parenthesized_expression "((param_1 == 0) || (*(undefined4 **)(param_1 + 4) == (undefined4 *)0x0))" ( (binary_expression "(param_1 == 0) || (*(undefined4 **)(param_1 + 4) == (undefined4 *)0x0)" (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) || (parenthesized_expression "(*(undefined4 **)(param_1 + 4) == (undefined4 *)0x0)" ( (binary_expression "*(undefined4 **)(param_1 + 4) == (undefined4 *)0x0" (pointer_expression "*(undefined4 **)(param_1 + 4)" * (cast_expression "(undefined4 **)(param_1 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) || (parenthesized_expression "(pcVar4 = (char *)**(undefined4 **)(param_1 + 4), *pcVar4 != '-')" ( (comma_expression "pcVar4 = (char *)**(undefined4 **)(param_1 + 4), *pcVar4 != '-'" (assignment_expression "pcVar4 = (char *)**(undefined4 **)(param_1 + 4)" identifier = (cast_expression "(char *)**(undefined4 **)(param_1 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(param_1 + 4)" * (pointer_expression "*(undefined4 **)(param_1 + 4)" * (cast_expression "(undefined4 **)(param_1 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))))) , (binary_expression "*pcVar4 != '-'" (pointer_expression "*pcVar4" * identifier) != (char_literal "'-'" ' character '))) ))) )) || (parenthesized_expression "(iVar1 = (*(code *)PTR_strcmp_00146548)(pcVar4,PTR_DAT_001445ac + -0x7204), iVar1 != 0)" ( (comma_expression "iVar1 = (*(code *)PTR_strcmp_00146548)(pcVar4,PTR_DAT_001445ac + -0x7204), iVar1 != 0" (assignment_expression "iVar1 = (*(code *)PTR_strcmp_00146548)(pcVar4,PTR_DAT_001445ac + -0x7204)" identifier = (call_expression "(*(code *)PTR_strcmp_00146548)(pcVar4,PTR_DAT_001445ac + -0x7204)" (parenthesized_expression "(*(code *)PTR_strcmp_00146548)" ( (pointer_expression "*(code *)PTR_strcmp_00146548" * (cast_expression "(code *)PTR_strcmp_00146548" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar4,PTR_DAT_001445ac + -0x7204)" ( identifier , (binary_expression "PTR_DAT_001445ac + -0x7204" identifier + number_literal) )))) , (binary_expression "iVar1 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    iVar1 = FUN_000ae470();\n    if (iVar1 != 0) {\n      get_numeric_arg(param_1,1,&local_20);\n      if ((local_20 < 1) && ((local_20 != 0 || (local_1c == 0)))) {\n        uVar5 = **(undefined4 **)(param_1 + 4);\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x71fc,5);\n        sh_erange(uVar5,uVar7);\n        iVar1 = 1;\n        *(undefined4 *)PTR_breaking_00144d88 = *(undefined4 *)PTR_loop_level_00144dc4;\n      }\n      else {\n        uVar2 = *(uint *)PTR_loop_level_00144dc4;\n        uVar3 = uVar2;\n        if (((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2)) {\n          uVar3 = local_1c;\n        }\n        iVar1 = 0;\n        *(uint *)PTR_continuing_00144d8c = uVar3;\n      }\n    }\n  }" { (expression_statement "iVar1 = FUN_000ae470();" (assignment_expression "iVar1 = FUN_000ae470()" identifier = (call_expression "FUN_000ae470()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar1 != 0) {\n      get_numeric_arg(param_1,1,&local_20);\n      if ((local_20 < 1) && ((local_20 != 0 || (local_1c == 0)))) {\n        uVar5 = **(undefined4 **)(param_1 + 4);\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x71fc,5);\n        sh_erange(uVar5,uVar7);\n        iVar1 = 1;\n        *(undefined4 *)PTR_breaking_00144d88 = *(undefined4 *)PTR_loop_level_00144dc4;\n      }\n      else {\n        uVar2 = *(uint *)PTR_loop_level_00144dc4;\n        uVar3 = uVar2;\n        if (((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2)) {\n          uVar3 = local_1c;\n        }\n        iVar1 = 0;\n        *(uint *)PTR_continuing_00144d8c = uVar3;\n      }\n    }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      get_numeric_arg(param_1,1,&local_20);\n      if ((local_20 < 1) && ((local_20 != 0 || (local_1c == 0)))) {\n        uVar5 = **(undefined4 **)(param_1 + 4);\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x71fc,5);\n        sh_erange(uVar5,uVar7);\n        iVar1 = 1;\n        *(undefined4 *)PTR_breaking_00144d88 = *(undefined4 *)PTR_loop_level_00144dc4;\n      }\n      else {\n        uVar2 = *(uint *)PTR_loop_level_00144dc4;\n        uVar3 = uVar2;\n        if (((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2)) {\n          uVar3 = local_1c;\n        }\n        iVar1 = 0;\n        *(uint *)PTR_continuing_00144d8c = uVar3;\n      }\n    }" { (expression_statement "get_numeric_arg(param_1,1,&local_20);" (call_expression "get_numeric_arg(param_1,1,&local_20)" identifier (argument_list "(param_1,1,&local_20)" ( identifier , number_literal , (pointer_expression "&local_20" & identifier) ))) ;) (if_statement "if ((local_20 < 1) && ((local_20 != 0 || (local_1c == 0)))) {\n        uVar5 = **(undefined4 **)(param_1 + 4);\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x71fc,5);\n        sh_erange(uVar5,uVar7);\n        iVar1 = 1;\n        *(undefined4 *)PTR_breaking_00144d88 = *(undefined4 *)PTR_loop_level_00144dc4;\n      }\n      else {\n        uVar2 = *(uint *)PTR_loop_level_00144dc4;\n        uVar3 = uVar2;\n        if (((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2)) {\n          uVar3 = local_1c;\n        }\n        iVar1 = 0;\n        *(uint *)PTR_continuing_00144d8c = uVar3;\n      }" if (parenthesized_expression "((local_20 < 1) && ((local_20 != 0 || (local_1c == 0))))" ( (binary_expression "(local_20 < 1) && ((local_20 != 0 || (local_1c == 0)))" (parenthesized_expression "(local_20 < 1)" ( (binary_expression "local_20 < 1" identifier < number_literal) )) && (parenthesized_expression "((local_20 != 0 || (local_1c == 0)))" ( (parenthesized_expression "(local_20 != 0 || (local_1c == 0))" ( (binary_expression "local_20 != 0 || (local_1c == 0)" (binary_expression "local_20 != 0" identifier != number_literal) || (parenthesized_expression "(local_1c == 0)" ( (binary_expression "local_1c == 0" identifier == number_literal) ))) )) ))) )) (compound_statement "{\n        uVar5 = **(undefined4 **)(param_1 + 4);\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x71fc,5);\n        sh_erange(uVar5,uVar7);\n        iVar1 = 1;\n        *(undefined4 *)PTR_breaking_00144d88 = *(undefined4 *)PTR_loop_level_00144dc4;\n      }" { (expression_statement "uVar5 = **(undefined4 **)(param_1 + 4);" (assignment_expression "uVar5 = **(undefined4 **)(param_1 + 4)" identifier = (pointer_expression "**(undefined4 **)(param_1 + 4)" * (pointer_expression "*(undefined4 **)(param_1 + 4)" * (cast_expression "(undefined4 **)(param_1 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))))) ;) (expression_statement "uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x71fc,5);" (assignment_expression "uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x71fc,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x71fc,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_DAT_001445ac + -0x71fc,5)" ( number_literal , (binary_expression "PTR_DAT_001445ac + -0x71fc" identifier + number_literal) , number_literal )))) ;) (expression_statement "sh_erange(uVar5,uVar7);" (call_expression "sh_erange(uVar5,uVar7)" identifier (argument_list "(uVar5,uVar7)" ( identifier , identifier ))) ;) (expression_statement "iVar1 = 1;" (assignment_expression "iVar1 = 1" identifier = number_literal) ;) (expression_statement "*(undefined4 *)PTR_breaking_00144d88 = *(undefined4 *)PTR_loop_level_00144dc4;" (assignment_expression "*(undefined4 *)PTR_breaking_00144d88 = *(undefined4 *)PTR_loop_level_00144dc4" (pointer_expression "*(undefined4 *)PTR_breaking_00144d88" * (cast_expression "(undefined4 *)PTR_breaking_00144d88" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined4 *)PTR_loop_level_00144dc4" * (cast_expression "(undefined4 *)PTR_loop_level_00144dc4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }) (else_clause "else {\n        uVar2 = *(uint *)PTR_loop_level_00144dc4;\n        uVar3 = uVar2;\n        if (((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2)) {\n          uVar3 = local_1c;\n        }\n        iVar1 = 0;\n        *(uint *)PTR_continuing_00144d8c = uVar3;\n      }" else (compound_statement "{\n        uVar2 = *(uint *)PTR_loop_level_00144dc4;\n        uVar3 = uVar2;\n        if (((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2)) {\n          uVar3 = local_1c;\n        }\n        iVar1 = 0;\n        *(uint *)PTR_continuing_00144d8c = uVar3;\n      }" { (expression_statement "uVar2 = *(uint *)PTR_loop_level_00144dc4;" (assignment_expression "uVar2 = *(uint *)PTR_loop_level_00144dc4" identifier = (pointer_expression "*(uint *)PTR_loop_level_00144dc4" * (cast_expression "(uint *)PTR_loop_level_00144dc4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar3 = uVar2;" (assignment_expression "uVar3 = uVar2" identifier = identifier) ;) (if_statement "if (((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2)) {\n          uVar3 = local_1c;\n        }" if (parenthesized_expression "(((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2))" ( (binary_expression "((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2)" (parenthesized_expression "((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))" ( (binary_expression "(local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f)" (parenthesized_expression "(local_20 <= (int)uVar2 >> 0x1f)" ( (binary_expression "local_20 <= (int)uVar2 >> 0x1f" identifier <= (binary_expression "(int)uVar2 >> 0x1f" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) )) && (parenthesized_expression "(uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f)" ( (comma_expression "uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f" (assignment_expression "uVar3 = local_1c" identifier = identifier) , (binary_expression "local_20 == (int)uVar2 >> 0x1f" identifier == (binary_expression "(int)uVar2 >> 0x1f" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal))) ))) )) && (parenthesized_expression "(uVar3 = uVar2, local_1c <= uVar2)" ( (comma_expression "uVar3 = uVar2, local_1c <= uVar2" (assignment_expression "uVar3 = uVar2" identifier = identifier) , (binary_expression "local_1c <= uVar2" identifier <= identifier)) ))) )) (compound_statement "{\n          uVar3 = local_1c;\n        }" { (expression_statement "uVar3 = local_1c;" (assignment_expression "uVar3 = local_1c" identifier = identifier) ;) })) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) (expression_statement "*(uint *)PTR_continuing_00144d8c = uVar3;" (assignment_expression "*(uint *)PTR_continuing_00144d8c = uVar3" (pointer_expression "*(uint *)PTR_continuing_00144d8c" * (cast_expression "(uint *)PTR_continuing_00144d8c" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }))) })) }) (else_clause "else {\n    builtin_help();\n    iVar1 = 0x102;\n  }" else (compound_statement "{\n    builtin_help();\n    iVar1 = 0x102;\n  }" { (expression_statement "builtin_help();" (call_expression "builtin_help()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar1 = 0x102;" (assignment_expression "iVar1 = 0x102" identifier = number_literal) ;) }))) (if_statement "if (local_14 != *(int *)puVar8) {\n    puVar8 = PTR___stack_chk_fail_00146488;\n    (*(code *)PTR___stack_chk_fail_00146488)();\n    iVar1 = no_options();\n    if (iVar1 == 0) {\n      puVar6 = (undefined4 *)**(undefined4 **)(puVar8 + 0x97044);\n      iVar1 = 0;\n      if (puVar6 != (undefined4 *)0x0) {\n        uVar7 = *(undefined4 *)puVar6[1];\n        UNRECOVERED_JUMPTABLE = (code *)find_shell_builtin(uVar7);\n        if (UNRECOVERED_JUMPTABLE != (code *)0x0) {\n          uVar5 = *puVar6;\n          **(undefined4 **)(puVar8 + 0x95f08) = uVar7;\n          **(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    /* WARNING: Could not recover jumptable at 0x000ae89c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5);\n          return iVar1;\n        }\n        sh_notbuiltin(uVar7);\n        iVar1 = 1;\n      }\n    }\n    else {\n      iVar1 = 0x102;\n    }\n    return iVar1;\n  }" if (parenthesized_expression "(local_14 != *(int *)puVar8)" ( (binary_expression "local_14 != *(int *)puVar8" identifier != (pointer_expression "*(int *)puVar8" * (cast_expression "(int *)puVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    puVar8 = PTR___stack_chk_fail_00146488;\n    (*(code *)PTR___stack_chk_fail_00146488)();\n    iVar1 = no_options();\n    if (iVar1 == 0) {\n      puVar6 = (undefined4 *)**(undefined4 **)(puVar8 + 0x97044);\n      iVar1 = 0;\n      if (puVar6 != (undefined4 *)0x0) {\n        uVar7 = *(undefined4 *)puVar6[1];\n        UNRECOVERED_JUMPTABLE = (code *)find_shell_builtin(uVar7);\n        if (UNRECOVERED_JUMPTABLE != (code *)0x0) {\n          uVar5 = *puVar6;\n          **(undefined4 **)(puVar8 + 0x95f08) = uVar7;\n          **(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    /* WARNING: Could not recover jumptable at 0x000ae89c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5);\n          return iVar1;\n        }\n        sh_notbuiltin(uVar7);\n        iVar1 = 1;\n      }\n    }\n    else {\n      iVar1 = 0x102;\n    }\n    return iVar1;\n  }" { (expression_statement "puVar8 = PTR___stack_chk_fail_00146488;" (assignment_expression "puVar8 = PTR___stack_chk_fail_00146488" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00146488)();" (call_expression "(*(code *)PTR___stack_chk_fail_00146488)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00146488)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00146488" * (cast_expression "(code *)PTR___stack_chk_fail_00146488" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iVar1 = no_options();" (assignment_expression "iVar1 = no_options()" identifier = (call_expression "no_options()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar1 == 0) {\n      puVar6 = (undefined4 *)**(undefined4 **)(puVar8 + 0x97044);\n      iVar1 = 0;\n      if (puVar6 != (undefined4 *)0x0) {\n        uVar7 = *(undefined4 *)puVar6[1];\n        UNRECOVERED_JUMPTABLE = (code *)find_shell_builtin(uVar7);\n        if (UNRECOVERED_JUMPTABLE != (code *)0x0) {\n          uVar5 = *puVar6;\n          **(undefined4 **)(puVar8 + 0x95f08) = uVar7;\n          **(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    /* WARNING: Could not recover jumptable at 0x000ae89c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5);\n          return iVar1;\n        }\n        sh_notbuiltin(uVar7);\n        iVar1 = 1;\n      }\n    }\n    else {\n      iVar1 = 0x102;\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      puVar6 = (undefined4 *)**(undefined4 **)(puVar8 + 0x97044);\n      iVar1 = 0;\n      if (puVar6 != (undefined4 *)0x0) {\n        uVar7 = *(undefined4 *)puVar6[1];\n        UNRECOVERED_JUMPTABLE = (code *)find_shell_builtin(uVar7);\n        if (UNRECOVERED_JUMPTABLE != (code *)0x0) {\n          uVar5 = *puVar6;\n          **(undefined4 **)(puVar8 + 0x95f08) = uVar7;\n          **(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    /* WARNING: Could not recover jumptable at 0x000ae89c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5);\n          return iVar1;\n        }\n        sh_notbuiltin(uVar7);\n        iVar1 = 1;\n      }\n    }" { (expression_statement "puVar6 = (undefined4 *)**(undefined4 **)(puVar8 + 0x97044);" (assignment_expression "puVar6 = (undefined4 *)**(undefined4 **)(puVar8 + 0x97044)" identifier = (cast_expression "(undefined4 *)**(undefined4 **)(puVar8 + 0x97044)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puVar8 + 0x97044)" * (pointer_expression "*(undefined4 **)(puVar8 + 0x97044)" * (cast_expression "(undefined4 **)(puVar8 + 0x97044)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x97044)" ( (binary_expression "puVar8 + 0x97044" identifier + number_literal) ))))))) ;) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) (if_statement "if (puVar6 != (undefined4 *)0x0) {\n        uVar7 = *(undefined4 *)puVar6[1];\n        UNRECOVERED_JUMPTABLE = (code *)find_shell_builtin(uVar7);\n        if (UNRECOVERED_JUMPTABLE != (code *)0x0) {\n          uVar5 = *puVar6;\n          **(undefined4 **)(puVar8 + 0x95f08) = uVar7;\n          **(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    /* WARNING: Could not recover jumptable at 0x000ae89c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5);\n          return iVar1;\n        }\n        sh_notbuiltin(uVar7);\n        iVar1 = 1;\n      }" if (parenthesized_expression "(puVar6 != (undefined4 *)0x0)" ( (binary_expression "puVar6 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        uVar7 = *(undefined4 *)puVar6[1];\n        UNRECOVERED_JUMPTABLE = (code *)find_shell_builtin(uVar7);\n        if (UNRECOVERED_JUMPTABLE != (code *)0x0) {\n          uVar5 = *puVar6;\n          **(undefined4 **)(puVar8 + 0x95f08) = uVar7;\n          **(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    /* WARNING: Could not recover jumptable at 0x000ae89c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5);\n          return iVar1;\n        }\n        sh_notbuiltin(uVar7);\n        iVar1 = 1;\n      }" { (expression_statement "uVar7 = *(undefined4 *)puVar6[1];" (assignment_expression "uVar7 = *(undefined4 *)puVar6[1]" identifier = (pointer_expression "*(undefined4 *)puVar6[1]" * (cast_expression "(undefined4 *)puVar6[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[1]" identifier [ number_literal ])))) ;) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)find_shell_builtin(uVar7);" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)find_shell_builtin(uVar7)" identifier = (cast_expression "(code *)find_shell_builtin(uVar7)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "find_shell_builtin(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))))) ;) (if_statement "if (UNRECOVERED_JUMPTABLE != (code *)0x0) {\n          uVar5 = *puVar6;\n          **(undefined4 **)(puVar8 + 0x95f08) = uVar7;\n          **(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    /* WARNING: Could not recover jumptable at 0x000ae89c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5);\n          return iVar1;\n        }" if (parenthesized_expression "(UNRECOVERED_JUMPTABLE != (code *)0x0)" ( (binary_expression "UNRECOVERED_JUMPTABLE != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          uVar5 = *puVar6;\n          **(undefined4 **)(puVar8 + 0x95f08) = uVar7;\n          **(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    /* WARNING: Could not recover jumptable at 0x000ae89c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n          iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5);\n          return iVar1;\n        }" { (expression_statement "uVar5 = *puVar6;" (assignment_expression "uVar5 = *puVar6" identifier = (pointer_expression "*puVar6" * identifier)) ;) (expression_statement "**(undefined4 **)(puVar8 + 0x95f08) = uVar7;" (assignment_expression "**(undefined4 **)(puVar8 + 0x95f08) = uVar7" (pointer_expression "**(undefined4 **)(puVar8 + 0x95f08)" * (pointer_expression "*(undefined4 **)(puVar8 + 0x95f08)" * (cast_expression "(undefined4 **)(puVar8 + 0x95f08)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x95f08)" ( (binary_expression "puVar8 + 0x95f08" identifier + number_literal) ))))) = identifier) ;) (expression_statement "**(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE;" (assignment_expression "**(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE" (pointer_expression "**(undefined4 **)(puVar8 + 0x96264)" * (pointer_expression "*(undefined4 **)(puVar8 + 0x96264)" * (cast_expression "(undefined4 **)(puVar8 + 0x96264)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x96264)" ( (binary_expression "puVar8 + 0x96264" identifier + number_literal) ))))) = identifier) ;) comment comment (expression_statement "iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5);" (assignment_expression "iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5)" identifier = (call_expression "(*UNRECOVERED_JUMPTABLE)(uVar5)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(uVar5)" ( identifier )))) ;) (return_statement "return iVar1;" return identifier ;) })) (expression_statement "sh_notbuiltin(uVar7);" (call_expression "sh_notbuiltin(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (expression_statement "iVar1 = 1;" (assignment_expression "iVar1 = 1" identifier = number_literal) ;) })) }) (else_clause "else {\n      iVar1 = 0x102;\n    }" else (compound_statement "{\n      iVar1 = 0x102;\n    }" { (expression_statement "iVar1 = 0x102;" (assignment_expression "iVar1 = 0x102" identifier = number_literal) ;) }))) (return_statement "return iVar1;" return identifier ;) })) (return_statement "return iVar1;" return identifier ;) })))
(translation_unit "int continue_builtin(WORD_LIST *list)\n\n{\n  int iVar1;\n  sh_builtin_func_t *UNRECOVERED_JUMPTABLE;\n  uint *puVar2;\n  uint uVar3;\n  uint uVar4;\n  char *pcVar5;\n  WORD_LIST *pWVar6;\n  char *s;\n  undefined4 *puVar7;\n  int *piVar8;\n  int in_t9;\n  code *pcVar9;\n  intmax_t newcont;\n  WORD_LIST *local_14;\n  \n  piVar8 = *(int **)(&LAB_00097e58 + in_t9);\n  local_14 = (WORD_LIST *)*piVar8;\n  if ((list != (WORD_LIST *)0x0) && (list->word != (WORD_DESC *)0x0)) {\n    pcVar5 = list->word->word;\n    if ((*pcVar5 == '-') &&\n       (iVar1 = (**(code **)(&LAB_00097ec4 + in_t9))(pcVar5,*(int *)(in_t9 + 0x95f28) + -0x7204),\n       iVar1 == 0)) {\n      builtin_help();\n      iVar1 = 0x102;\n      goto LAB_000ae6f4;\n    }\n  }\n  iVar1 = check_loop_level();\n  if (iVar1 != 0) {\n    get_numeric_arg(list,1,&newcont);\n    if (newcont._0_4_ < 1) {\n      if ((newcont._0_4_ != 0) || (puVar2 = *(uint **)(in_t9 + 0x96740), newcont._4_4_ == 0)) {\n        s = list->word->word;\n        pcVar5 = (char *)(**(code **)(&LAB_00097e14 + in_t9))\n                                   (0,*(int *)(in_t9 + 0x95f28) + -0x71fc,5);\n        sh_erange(s,pcVar5);\n        iVar1 = 1;\n        **(undefined4 **)(in_t9 + 0x96704) = **(undefined4 **)(in_t9 + 0x96740);\n        goto LAB_000ae6f4;\n      }\n    }\n    else {\n      puVar2 = *(uint **)(in_t9 + 0x96740);\n    }\n    uVar3 = *puVar2;\n    uVar4 = uVar3;\n    if (((int)uVar3 >> 0x1f < newcont._0_4_) ||\n       (uVar4 = newcont._4_4_, newcont._0_4_ != (int)uVar3 >> 0x1f)) {\n      puVar2 = *(uint **)(in_t9 + 0x96708);\n    }\n    else {\n      puVar2 = *(uint **)(in_t9 + 0x96708);\n      uVar4 = uVar3;\n      if (newcont._4_4_ <= uVar3) {\n        uVar4 = newcont._4_4_;\n      }\n    }\n    iVar1 = 0;\n    *puVar2 = uVar4;\n  }\nLAB_000ae6f4:\n  if (local_14 == (WORD_LIST *)*piVar8) {\n    return iVar1;\n  }\n  pcVar9 = *(code **)(&LAB_00097e04 + in_t9);\n  pWVar6 = local_14;\n  (*pcVar9)();\n  iVar1 = no_options(pWVar6);\n  if (iVar1 == 0) {\n    puVar7 = (undefined4 *)**(undefined4 **)(pcVar9 + 0x97044);\n    iVar1 = 0;\n    if (puVar7 != (undefined4 *)0x0) {\n      pcVar5 = *(char **)puVar7[1];\n      UNRECOVERED_JUMPTABLE = find_shell_builtin(pcVar5);\n      if (UNRECOVERED_JUMPTABLE != (sh_builtin_func_t *)0x0) {\n        pWVar6 = (WORD_LIST *)*puVar7;\n        **(undefined4 **)(pcVar9 + 0x95f08) = pcVar5;\n        **(undefined4 **)(pcVar9 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    /* WARNING: Could not recover jumptable at 0x000ae89c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        iVar1 = (*UNRECOVERED_JUMPTABLE)(pWVar6);\n        return iVar1;\n      }\n      sh_notbuiltin(pcVar5);\n      iVar1 = 1;\n    }\n  }\n  else {\n    iVar1 = 0x102;\n  }\n  return iVar1;\n}\n\n" (function_definition "int continue_builtin(WORD_LIST *list)\n\n{\n  int iVar1;\n  sh_builtin_func_t *UNRECOVERED_JUMPTABLE;\n  uint *puVar2;\n  uint uVar3;\n  uint uVar4;\n  char *pcVar5;\n  WORD_LIST *pWVar6;\n  char *s;\n  undefined4 *puVar7;\n  int *piVar8;\n  int in_t9;\n  code *pcVar9;\n  intmax_t newcont;\n  WORD_LIST *local_14;\n  \n  piVar8 = *(int **)(&LAB_00097e58 + in_t9);\n  local_14 = (WORD_LIST *)*piVar8;\n  if ((list != (WORD_LIST *)0x0) && (list->word != (WORD_DESC *)0x0)) {\n    pcVar5 = list->word->word;\n    if ((*pcVar5 == '-') &&\n       (iVar1 = (**(code **)(&LAB_00097ec4 + in_t9))(pcVar5,*(int *)(in_t9 + 0x95f28) + -0x7204),\n       iVar1 == 0)) {\n      builtin_help();\n      iVar1 = 0x102;\n      goto LAB_000ae6f4;\n    }\n  }\n  iVar1 = check_loop_level();\n  if (iVar1 != 0) {\n    get_numeric_arg(list,1,&newcont);\n    if (newcont._0_4_ < 1) {\n      if ((newcont._0_4_ != 0) || (puVar2 = *(uint **)(in_t9 + 0x96740), newcont._4_4_ == 0)) {\n        s = list->word->word;\n        pcVar5 = (char *)(**(code **)(&LAB_00097e14 + in_t9))\n                                   (0,*(int *)(in_t9 + 0x95f28) + -0x71fc,5);\n        sh_erange(s,pcVar5);\n        iVar1 = 1;\n        **(undefined4 **)(in_t9 + 0x96704) = **(undefined4 **)(in_t9 + 0x96740);\n        goto LAB_000ae6f4;\n      }\n    }\n    else {\n      puVar2 = *(uint **)(in_t9 + 0x96740);\n    }\n    uVar3 = *puVar2;\n    uVar4 = uVar3;\n    if (((int)uVar3 >> 0x1f < newcont._0_4_) ||\n       (uVar4 = newcont._4_4_, newcont._0_4_ != (int)uVar3 >> 0x1f)) {\n      puVar2 = *(uint **)(in_t9 + 0x96708);\n    }\n    else {\n      puVar2 = *(uint **)(in_t9 + 0x96708);\n      uVar4 = uVar3;\n      if (newcont._4_4_ <= uVar3) {\n        uVar4 = newcont._4_4_;\n      }\n    }\n    iVar1 = 0;\n    *puVar2 = uVar4;\n  }\nLAB_000ae6f4:\n  if (local_14 == (WORD_LIST *)*piVar8) {\n    return iVar1;\n  }\n  pcVar9 = *(code **)(&LAB_00097e04 + in_t9);\n  pWVar6 = local_14;\n  (*pcVar9)();\n  iVar1 = no_options(pWVar6);\n  if (iVar1 == 0) {\n    puVar7 = (undefined4 *)**(undefined4 **)(pcVar9 + 0x97044);\n    iVar1 = 0;\n    if (puVar7 != (undefined4 *)0x0) {\n      pcVar5 = *(char **)puVar7[1];\n      UNRECOVERED_JUMPTABLE = find_shell_builtin(pcVar5);\n      if (UNRECOVERED_JUMPTABLE != (sh_builtin_func_t *)0x0) {\n        pWVar6 = (WORD_LIST *)*puVar7;\n        **(undefined4 **)(pcVar9 + 0x95f08) = pcVar5;\n        **(undefined4 **)(pcVar9 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    /* WARNING: Could not recover jumptable at 0x000ae89c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        iVar1 = (*UNRECOVERED_JUMPTABLE)(pWVar6);\n        return iVar1;\n      }\n      sh_notbuiltin(pcVar5);\n      iVar1 = 1;\n    }\n  }\n  else {\n    iVar1 = 0x102;\n  }\n  return iVar1;\n}" primitive_type (function_declarator "continue_builtin(WORD_LIST *list)" identifier (parameter_list "(WORD_LIST *list)" ( (parameter_declaration "WORD_LIST *list" type_identifier (pointer_declarator "*list" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  sh_builtin_func_t *UNRECOVERED_JUMPTABLE;\n  uint *puVar2;\n  uint uVar3;\n  uint uVar4;\n  char *pcVar5;\n  WORD_LIST *pWVar6;\n  char *s;\n  undefined4 *puVar7;\n  int *piVar8;\n  int in_t9;\n  code *pcVar9;\n  intmax_t newcont;\n  WORD_LIST *local_14;\n  \n  piVar8 = *(int **)(&LAB_00097e58 + in_t9);\n  local_14 = (WORD_LIST *)*piVar8;\n  if ((list != (WORD_LIST *)0x0) && (list->word != (WORD_DESC *)0x0)) {\n    pcVar5 = list->word->word;\n    if ((*pcVar5 == '-') &&\n       (iVar1 = (**(code **)(&LAB_00097ec4 + in_t9))(pcVar5,*(int *)(in_t9 + 0x95f28) + -0x7204),\n       iVar1 == 0)) {\n      builtin_help();\n      iVar1 = 0x102;\n      goto LAB_000ae6f4;\n    }\n  }\n  iVar1 = check_loop_level();\n  if (iVar1 != 0) {\n    get_numeric_arg(list,1,&newcont);\n    if (newcont._0_4_ < 1) {\n      if ((newcont._0_4_ != 0) || (puVar2 = *(uint **)(in_t9 + 0x96740), newcont._4_4_ == 0)) {\n        s = list->word->word;\n        pcVar5 = (char *)(**(code **)(&LAB_00097e14 + in_t9))\n                                   (0,*(int *)(in_t9 + 0x95f28) + -0x71fc,5);\n        sh_erange(s,pcVar5);\n        iVar1 = 1;\n        **(undefined4 **)(in_t9 + 0x96704) = **(undefined4 **)(in_t9 + 0x96740);\n        goto LAB_000ae6f4;\n      }\n    }\n    else {\n      puVar2 = *(uint **)(in_t9 + 0x96740);\n    }\n    uVar3 = *puVar2;\n    uVar4 = uVar3;\n    if (((int)uVar3 >> 0x1f < newcont._0_4_) ||\n       (uVar4 = newcont._4_4_, newcont._0_4_ != (int)uVar3 >> 0x1f)) {\n      puVar2 = *(uint **)(in_t9 + 0x96708);\n    }\n    else {\n      puVar2 = *(uint **)(in_t9 + 0x96708);\n      uVar4 = uVar3;\n      if (newcont._4_4_ <= uVar3) {\n        uVar4 = newcont._4_4_;\n      }\n    }\n    iVar1 = 0;\n    *puVar2 = uVar4;\n  }\nLAB_000ae6f4:\n  if (local_14 == (WORD_LIST *)*piVar8) {\n    return iVar1;\n  }\n  pcVar9 = *(code **)(&LAB_00097e04 + in_t9);\n  pWVar6 = local_14;\n  (*pcVar9)();\n  iVar1 = no_options(pWVar6);\n  if (iVar1 == 0) {\n    puVar7 = (undefined4 *)**(undefined4 **)(pcVar9 + 0x97044);\n    iVar1 = 0;\n    if (puVar7 != (undefined4 *)0x0) {\n      pcVar5 = *(char **)puVar7[1];\n      UNRECOVERED_JUMPTABLE = find_shell_builtin(pcVar5);\n      if (UNRECOVERED_JUMPTABLE != (sh_builtin_func_t *)0x0) {\n        pWVar6 = (WORD_LIST *)*puVar7;\n        **(undefined4 **)(pcVar9 + 0x95f08) = pcVar5;\n        **(undefined4 **)(pcVar9 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    /* WARNING: Could not recover jumptable at 0x000ae89c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        iVar1 = (*UNRECOVERED_JUMPTABLE)(pWVar6);\n        return iVar1;\n      }\n      sh_notbuiltin(pcVar5);\n      iVar1 = 1;\n    }\n  }\n  else {\n    iVar1 = 0x102;\n  }\n  return iVar1;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "sh_builtin_func_t *UNRECOVERED_JUMPTABLE;" type_identifier (pointer_declarator "*UNRECOVERED_JUMPTABLE" * identifier) ;) (declaration "uint *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "WORD_LIST *pWVar6;" type_identifier (pointer_declarator "*pWVar6" * identifier) ;) (declaration "char *s;" primitive_type (pointer_declarator "*s" * identifier) ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int in_t9;" primitive_type identifier ;) (declaration "code *pcVar9;" type_identifier (pointer_declarator "*pcVar9" * identifier) ;) (declaration "intmax_t newcont;" type_identifier identifier ;) (declaration "WORD_LIST *local_14;" type_identifier (pointer_declarator "*local_14" * identifier) ;) (expression_statement "piVar8 = *(int **)(&LAB_00097e58 + in_t9);" (assignment_expression "piVar8 = *(int **)(&LAB_00097e58 + in_t9)" identifier = (pointer_expression "*(int **)(&LAB_00097e58 + in_t9)" * (cast_expression "(int **)(&LAB_00097e58 + in_t9)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&LAB_00097e58 + in_t9)" ( (binary_expression "&LAB_00097e58 + in_t9" (pointer_expression "&LAB_00097e58" & identifier) + identifier) ))))) ;) (expression_statement "local_14 = (WORD_LIST *)*piVar8;" (assignment_expression "local_14 = (WORD_LIST *)*piVar8" identifier = (cast_expression "(WORD_LIST *)*piVar8" ( (type_descriptor "WORD_LIST *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar8" * identifier))) ;) (if_statement "if ((list != (WORD_LIST *)0x0) && (list->word != (WORD_DESC *)0x0)) {\n    pcVar5 = list->word->word;\n    if ((*pcVar5 == '-') &&\n       (iVar1 = (**(code **)(&LAB_00097ec4 + in_t9))(pcVar5,*(int *)(in_t9 + 0x95f28) + -0x7204),\n       iVar1 == 0)) {\n      builtin_help();\n      iVar1 = 0x102;\n      goto LAB_000ae6f4;\n    }\n  }" if (parenthesized_expression "((list != (WORD_LIST *)0x0) && (list->word != (WORD_DESC *)0x0))" ( (binary_expression "(list != (WORD_LIST *)0x0) && (list->word != (WORD_DESC *)0x0)" (parenthesized_expression "(list != (WORD_LIST *)0x0)" ( (binary_expression "list != (WORD_LIST *)0x0" identifier != (cast_expression "(WORD_LIST *)0x0" ( (type_descriptor "WORD_LIST *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(list->word != (WORD_DESC *)0x0)" ( (binary_expression "list->word != (WORD_DESC *)0x0" (field_expression "list->word" identifier -> field_identifier) != (cast_expression "(WORD_DESC *)0x0" ( (type_descriptor "WORD_DESC *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (compound_statement "{\n    pcVar5 = list->word->word;\n    if ((*pcVar5 == '-') &&\n       (iVar1 = (**(code **)(&LAB_00097ec4 + in_t9))(pcVar5,*(int *)(in_t9 + 0x95f28) + -0x7204),\n       iVar1 == 0)) {\n      builtin_help();\n      iVar1 = 0x102;\n      goto LAB_000ae6f4;\n    }\n  }" { (expression_statement "pcVar5 = list->word->word;" (assignment_expression "pcVar5 = list->word->word" identifier = (field_expression "list->word->word" (field_expression "list->word" identifier -> field_identifier) -> field_identifier)) ;) (if_statement "if ((*pcVar5 == '-') &&\n       (iVar1 = (**(code **)(&LAB_00097ec4 + in_t9))(pcVar5,*(int *)(in_t9 + 0x95f28) + -0x7204),\n       iVar1 == 0)) {\n      builtin_help();\n      iVar1 = 0x102;\n      goto LAB_000ae6f4;\n    }" if (parenthesized_expression "((*pcVar5 == '-') &&\n       (iVar1 = (**(code **)(&LAB_00097ec4 + in_t9))(pcVar5,*(int *)(in_t9 + 0x95f28) + -0x7204),\n       iVar1 == 0))" ( (binary_expression "(*pcVar5 == '-') &&\n       (iVar1 = (**(code **)(&LAB_00097ec4 + in_t9))(pcVar5,*(int *)(in_t9 + 0x95f28) + -0x7204),\n       iVar1 == 0)" (parenthesized_expression "(*pcVar5 == '-')" ( (binary_expression "*pcVar5 == '-'" (pointer_expression "*pcVar5" * identifier) == (char_literal "'-'" ' character ')) )) && (parenthesized_expression "(iVar1 = (**(code **)(&LAB_00097ec4 + in_t9))(pcVar5,*(int *)(in_t9 + 0x95f28) + -0x7204),\n       iVar1 == 0)" ( (comma_expression "iVar1 = (**(code **)(&LAB_00097ec4 + in_t9))(pcVar5,*(int *)(in_t9 + 0x95f28) + -0x7204),\n       iVar1 == 0" (assignment_expression "iVar1 = (**(code **)(&LAB_00097ec4 + in_t9))(pcVar5,*(int *)(in_t9 + 0x95f28) + -0x7204)" identifier = (call_expression "(**(code **)(&LAB_00097ec4 + in_t9))(pcVar5,*(int *)(in_t9 + 0x95f28) + -0x7204)" (parenthesized_expression "(**(code **)(&LAB_00097ec4 + in_t9))" ( (pointer_expression "**(code **)(&LAB_00097ec4 + in_t9)" * (pointer_expression "*(code **)(&LAB_00097ec4 + in_t9)" * (cast_expression "(code **)(&LAB_00097ec4 + in_t9)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&LAB_00097ec4 + in_t9)" ( (binary_expression "&LAB_00097ec4 + in_t9" (pointer_expression "&LAB_00097ec4" & identifier) + identifier) ))))) )) (argument_list "(pcVar5,*(int *)(in_t9 + 0x95f28) + -0x7204)" ( identifier , (binary_expression "*(int *)(in_t9 + 0x95f28) + -0x7204" (pointer_expression "*(int *)(in_t9 + 0x95f28)" * (cast_expression "(int *)(in_t9 + 0x95f28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x95f28)" ( (binary_expression "in_t9 + 0x95f28" identifier + number_literal) )))) + number_literal) )))) , (binary_expression "iVar1 == 0" identifier == number_literal)) ))) )) (compound_statement "{\n      builtin_help();\n      iVar1 = 0x102;\n      goto LAB_000ae6f4;\n    }" { (expression_statement "builtin_help();" (call_expression "builtin_help()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar1 = 0x102;" (assignment_expression "iVar1 = 0x102" identifier = number_literal) ;) (goto_statement "goto LAB_000ae6f4;" goto statement_identifier ;) })) })) (expression_statement "iVar1 = check_loop_level();" (assignment_expression "iVar1 = check_loop_level()" identifier = (call_expression "check_loop_level()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar1 != 0) {\n    get_numeric_arg(list,1,&newcont);\n    if (newcont._0_4_ < 1) {\n      if ((newcont._0_4_ != 0) || (puVar2 = *(uint **)(in_t9 + 0x96740), newcont._4_4_ == 0)) {\n        s = list->word->word;\n        pcVar5 = (char *)(**(code **)(&LAB_00097e14 + in_t9))\n                                   (0,*(int *)(in_t9 + 0x95f28) + -0x71fc,5);\n        sh_erange(s,pcVar5);\n        iVar1 = 1;\n        **(undefined4 **)(in_t9 + 0x96704) = **(undefined4 **)(in_t9 + 0x96740);\n        goto LAB_000ae6f4;\n      }\n    }\n    else {\n      puVar2 = *(uint **)(in_t9 + 0x96740);\n    }\n    uVar3 = *puVar2;\n    uVar4 = uVar3;\n    if (((int)uVar3 >> 0x1f < newcont._0_4_) ||\n       (uVar4 = newcont._4_4_, newcont._0_4_ != (int)uVar3 >> 0x1f)) {\n      puVar2 = *(uint **)(in_t9 + 0x96708);\n    }\n    else {\n      puVar2 = *(uint **)(in_t9 + 0x96708);\n      uVar4 = uVar3;\n      if (newcont._4_4_ <= uVar3) {\n        uVar4 = newcont._4_4_;\n      }\n    }\n    iVar1 = 0;\n    *puVar2 = uVar4;\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    get_numeric_arg(list,1,&newcont);\n    if (newcont._0_4_ < 1) {\n      if ((newcont._0_4_ != 0) || (puVar2 = *(uint **)(in_t9 + 0x96740), newcont._4_4_ == 0)) {\n        s = list->word->word;\n        pcVar5 = (char *)(**(code **)(&LAB_00097e14 + in_t9))\n                                   (0,*(int *)(in_t9 + 0x95f28) + -0x71fc,5);\n        sh_erange(s,pcVar5);\n        iVar1 = 1;\n        **(undefined4 **)(in_t9 + 0x96704) = **(undefined4 **)(in_t9 + 0x96740);\n        goto LAB_000ae6f4;\n      }\n    }\n    else {\n      puVar2 = *(uint **)(in_t9 + 0x96740);\n    }\n    uVar3 = *puVar2;\n    uVar4 = uVar3;\n    if (((int)uVar3 >> 0x1f < newcont._0_4_) ||\n       (uVar4 = newcont._4_4_, newcont._0_4_ != (int)uVar3 >> 0x1f)) {\n      puVar2 = *(uint **)(in_t9 + 0x96708);\n    }\n    else {\n      puVar2 = *(uint **)(in_t9 + 0x96708);\n      uVar4 = uVar3;\n      if (newcont._4_4_ <= uVar3) {\n        uVar4 = newcont._4_4_;\n      }\n    }\n    iVar1 = 0;\n    *puVar2 = uVar4;\n  }" { (expression_statement "get_numeric_arg(list,1,&newcont);" (call_expression "get_numeric_arg(list,1,&newcont)" identifier (argument_list "(list,1,&newcont)" ( identifier , number_literal , (pointer_expression "&newcont" & identifier) ))) ;) (if_statement "if (newcont._0_4_ < 1) {\n      if ((newcont._0_4_ != 0) || (puVar2 = *(uint **)(in_t9 + 0x96740), newcont._4_4_ == 0)) {\n        s = list->word->word;\n        pcVar5 = (char *)(**(code **)(&LAB_00097e14 + in_t9))\n                                   (0,*(int *)(in_t9 + 0x95f28) + -0x71fc,5);\n        sh_erange(s,pcVar5);\n        iVar1 = 1;\n        **(undefined4 **)(in_t9 + 0x96704) = **(undefined4 **)(in_t9 + 0x96740);\n        goto LAB_000ae6f4;\n      }\n    }\n    else {\n      puVar2 = *(uint **)(in_t9 + 0x96740);\n    }" if (parenthesized_expression "(newcont._0_4_ < 1)" ( (binary_expression "newcont._0_4_ < 1" (field_expression "newcont._0_4_" identifier . field_identifier) < number_literal) )) (compound_statement "{\n      if ((newcont._0_4_ != 0) || (puVar2 = *(uint **)(in_t9 + 0x96740), newcont._4_4_ == 0)) {\n        s = list->word->word;\n        pcVar5 = (char *)(**(code **)(&LAB_00097e14 + in_t9))\n                                   (0,*(int *)(in_t9 + 0x95f28) + -0x71fc,5);\n        sh_erange(s,pcVar5);\n        iVar1 = 1;\n        **(undefined4 **)(in_t9 + 0x96704) = **(undefined4 **)(in_t9 + 0x96740);\n        goto LAB_000ae6f4;\n      }\n    }" { (if_statement "if ((newcont._0_4_ != 0) || (puVar2 = *(uint **)(in_t9 + 0x96740), newcont._4_4_ == 0)) {\n        s = list->word->word;\n        pcVar5 = (char *)(**(code **)(&LAB_00097e14 + in_t9))\n                                   (0,*(int *)(in_t9 + 0x95f28) + -0x71fc,5);\n        sh_erange(s,pcVar5);\n        iVar1 = 1;\n        **(undefined4 **)(in_t9 + 0x96704) = **(undefined4 **)(in_t9 + 0x96740);\n        goto LAB_000ae6f4;\n      }" if (parenthesized_expression "((newcont._0_4_ != 0) || (puVar2 = *(uint **)(in_t9 + 0x96740), newcont._4_4_ == 0))" ( (binary_expression "(newcont._0_4_ != 0) || (puVar2 = *(uint **)(in_t9 + 0x96740), newcont._4_4_ == 0)" (parenthesized_expression "(newcont._0_4_ != 0)" ( (binary_expression "newcont._0_4_ != 0" (field_expression "newcont._0_4_" identifier . field_identifier) != number_literal) )) || (parenthesized_expression "(puVar2 = *(uint **)(in_t9 + 0x96740), newcont._4_4_ == 0)" ( (comma_expression "puVar2 = *(uint **)(in_t9 + 0x96740), newcont._4_4_ == 0" (assignment_expression "puVar2 = *(uint **)(in_t9 + 0x96740)" identifier = (pointer_expression "*(uint **)(in_t9 + 0x96740)" * (cast_expression "(uint **)(in_t9 + 0x96740)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x96740)" ( (binary_expression "in_t9 + 0x96740" identifier + number_literal) ))))) , (binary_expression "newcont._4_4_ == 0" (field_expression "newcont._4_4_" identifier . field_identifier) == number_literal)) ))) )) (compound_statement "{\n        s = list->word->word;\n        pcVar5 = (char *)(**(code **)(&LAB_00097e14 + in_t9))\n                                   (0,*(int *)(in_t9 + 0x95f28) + -0x71fc,5);\n        sh_erange(s,pcVar5);\n        iVar1 = 1;\n        **(undefined4 **)(in_t9 + 0x96704) = **(undefined4 **)(in_t9 + 0x96740);\n        goto LAB_000ae6f4;\n      }" { (expression_statement "s = list->word->word;" (assignment_expression "s = list->word->word" identifier = (field_expression "list->word->word" (field_expression "list->word" identifier -> field_identifier) -> field_identifier)) ;) (expression_statement "pcVar5 = (char *)(**(code **)(&LAB_00097e14 + in_t9))\n                                   (0,*(int *)(in_t9 + 0x95f28) + -0x71fc,5);" (assignment_expression "pcVar5 = (char *)(**(code **)(&LAB_00097e14 + in_t9))\n                                   (0,*(int *)(in_t9 + 0x95f28) + -0x71fc,5)" identifier = (cast_expression "(char *)(**(code **)(&LAB_00097e14 + in_t9))\n                                   (0,*(int *)(in_t9 + 0x95f28) + -0x71fc,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(&LAB_00097e14 + in_t9))\n                                   (0,*(int *)(in_t9 + 0x95f28) + -0x71fc,5)" (parenthesized_expression "(**(code **)(&LAB_00097e14 + in_t9))" ( (pointer_expression "**(code **)(&LAB_00097e14 + in_t9)" * (pointer_expression "*(code **)(&LAB_00097e14 + in_t9)" * (cast_expression "(code **)(&LAB_00097e14 + in_t9)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&LAB_00097e14 + in_t9)" ( (binary_expression "&LAB_00097e14 + in_t9" (pointer_expression "&LAB_00097e14" & identifier) + identifier) ))))) )) (argument_list "(0,*(int *)(in_t9 + 0x95f28) + -0x71fc,5)" ( number_literal , (binary_expression "*(int *)(in_t9 + 0x95f28) + -0x71fc" (pointer_expression "*(int *)(in_t9 + 0x95f28)" * (cast_expression "(int *)(in_t9 + 0x95f28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x95f28)" ( (binary_expression "in_t9 + 0x95f28" identifier + number_literal) )))) + number_literal) , number_literal ))))) ;) (expression_statement "sh_erange(s,pcVar5);" (call_expression "sh_erange(s,pcVar5)" identifier (argument_list "(s,pcVar5)" ( identifier , identifier ))) ;) (expression_statement "iVar1 = 1;" (assignment_expression "iVar1 = 1" identifier = number_literal) ;) (expression_statement "**(undefined4 **)(in_t9 + 0x96704) = **(undefined4 **)(in_t9 + 0x96740);" (assignment_expression "**(undefined4 **)(in_t9 + 0x96704) = **(undefined4 **)(in_t9 + 0x96740)" (pointer_expression "**(undefined4 **)(in_t9 + 0x96704)" * (pointer_expression "*(undefined4 **)(in_t9 + 0x96704)" * (cast_expression "(undefined4 **)(in_t9 + 0x96704)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x96704)" ( (binary_expression "in_t9 + 0x96704" identifier + number_literal) ))))) = (pointer_expression "**(undefined4 **)(in_t9 + 0x96740)" * (pointer_expression "*(undefined4 **)(in_t9 + 0x96740)" * (cast_expression "(undefined4 **)(in_t9 + 0x96740)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x96740)" ( (binary_expression "in_t9 + 0x96740" identifier + number_literal) )))))) ;) (goto_statement "goto LAB_000ae6f4;" goto statement_identifier ;) })) }) (else_clause "else {\n      puVar2 = *(uint **)(in_t9 + 0x96740);\n    }" else (compound_statement "{\n      puVar2 = *(uint **)(in_t9 + 0x96740);\n    }" { (expression_statement "puVar2 = *(uint **)(in_t9 + 0x96740);" (assignment_expression "puVar2 = *(uint **)(in_t9 + 0x96740)" identifier = (pointer_expression "*(uint **)(in_t9 + 0x96740)" * (cast_expression "(uint **)(in_t9 + 0x96740)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x96740)" ( (binary_expression "in_t9 + 0x96740" identifier + number_literal) ))))) ;) }))) (expression_statement "uVar3 = *puVar2;" (assignment_expression "uVar3 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "uVar4 = uVar3;" (assignment_expression "uVar4 = uVar3" identifier = identifier) ;) (if_statement "if (((int)uVar3 >> 0x1f < newcont._0_4_) ||\n       (uVar4 = newcont._4_4_, newcont._0_4_ != (int)uVar3 >> 0x1f)) {\n      puVar2 = *(uint **)(in_t9 + 0x96708);\n    }\n    else {\n      puVar2 = *(uint **)(in_t9 + 0x96708);\n      uVar4 = uVar3;\n      if (newcont._4_4_ <= uVar3) {\n        uVar4 = newcont._4_4_;\n      }\n    }" if (parenthesized_expression "(((int)uVar3 >> 0x1f < newcont._0_4_) ||\n       (uVar4 = newcont._4_4_, newcont._0_4_ != (int)uVar3 >> 0x1f))" ( (binary_expression "((int)uVar3 >> 0x1f < newcont._0_4_) ||\n       (uVar4 = newcont._4_4_, newcont._0_4_ != (int)uVar3 >> 0x1f)" (parenthesized_expression "((int)uVar3 >> 0x1f < newcont._0_4_)" ( (binary_expression "(int)uVar3 >> 0x1f < newcont._0_4_" (binary_expression "(int)uVar3 >> 0x1f" (cast_expression "(int)uVar3" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal) < (field_expression "newcont._0_4_" identifier . field_identifier)) )) || (parenthesized_expression "(uVar4 = newcont._4_4_, newcont._0_4_ != (int)uVar3 >> 0x1f)" ( (comma_expression "uVar4 = newcont._4_4_, newcont._0_4_ != (int)uVar3 >> 0x1f" (assignment_expression "uVar4 = newcont._4_4_" identifier = (field_expression "newcont._4_4_" identifier . field_identifier)) , (binary_expression "newcont._0_4_ != (int)uVar3 >> 0x1f" (field_expression "newcont._0_4_" identifier . field_identifier) != (binary_expression "(int)uVar3 >> 0x1f" (cast_expression "(int)uVar3" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal))) ))) )) (compound_statement "{\n      puVar2 = *(uint **)(in_t9 + 0x96708);\n    }" { (expression_statement "puVar2 = *(uint **)(in_t9 + 0x96708);" (assignment_expression "puVar2 = *(uint **)(in_t9 + 0x96708)" identifier = (pointer_expression "*(uint **)(in_t9 + 0x96708)" * (cast_expression "(uint **)(in_t9 + 0x96708)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x96708)" ( (binary_expression "in_t9 + 0x96708" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      puVar2 = *(uint **)(in_t9 + 0x96708);\n      uVar4 = uVar3;\n      if (newcont._4_4_ <= uVar3) {\n        uVar4 = newcont._4_4_;\n      }\n    }" else (compound_statement "{\n      puVar2 = *(uint **)(in_t9 + 0x96708);\n      uVar4 = uVar3;\n      if (newcont._4_4_ <= uVar3) {\n        uVar4 = newcont._4_4_;\n      }\n    }" { (expression_statement "puVar2 = *(uint **)(in_t9 + 0x96708);" (assignment_expression "puVar2 = *(uint **)(in_t9 + 0x96708)" identifier = (pointer_expression "*(uint **)(in_t9 + 0x96708)" * (cast_expression "(uint **)(in_t9 + 0x96708)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x96708)" ( (binary_expression "in_t9 + 0x96708" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = uVar3;" (assignment_expression "uVar4 = uVar3" identifier = identifier) ;) (if_statement "if (newcont._4_4_ <= uVar3) {\n        uVar4 = newcont._4_4_;\n      }" if (parenthesized_expression "(newcont._4_4_ <= uVar3)" ( (binary_expression "newcont._4_4_ <= uVar3" (field_expression "newcont._4_4_" identifier . field_identifier) <= identifier) )) (compound_statement "{\n        uVar4 = newcont._4_4_;\n      }" { (expression_statement "uVar4 = newcont._4_4_;" (assignment_expression "uVar4 = newcont._4_4_" identifier = (field_expression "newcont._4_4_" identifier . field_identifier)) ;) })) }))) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) (expression_statement "*puVar2 = uVar4;" (assignment_expression "*puVar2 = uVar4" (pointer_expression "*puVar2" * identifier) = identifier) ;) })) (labeled_statement "LAB_000ae6f4:\n  if (local_14 == (WORD_LIST *)*piVar8) {\n    return iVar1;\n  }" statement_identifier : (if_statement "if (local_14 == (WORD_LIST *)*piVar8) {\n    return iVar1;\n  }" if (parenthesized_expression "(local_14 == (WORD_LIST *)*piVar8)" ( (binary_expression "local_14 == (WORD_LIST *)*piVar8" identifier == (cast_expression "(WORD_LIST *)*piVar8" ( (type_descriptor "WORD_LIST *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar8" * identifier))) )) (compound_statement "{\n    return iVar1;\n  }" { (return_statement "return iVar1;" return identifier ;) }))) (expression_statement "pcVar9 = *(code **)(&LAB_00097e04 + in_t9);" (assignment_expression "pcVar9 = *(code **)(&LAB_00097e04 + in_t9)" identifier = (pointer_expression "*(code **)(&LAB_00097e04 + in_t9)" * (cast_expression "(code **)(&LAB_00097e04 + in_t9)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(&LAB_00097e04 + in_t9)" ( (binary_expression "&LAB_00097e04 + in_t9" (pointer_expression "&LAB_00097e04" & identifier) + identifier) ))))) ;) (expression_statement "pWVar6 = local_14;" (assignment_expression "pWVar6 = local_14" identifier = identifier) ;) (expression_statement "(*pcVar9)();" (call_expression "(*pcVar9)()" (parenthesized_expression "(*pcVar9)" ( (pointer_expression "*pcVar9" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar1 = no_options(pWVar6);" (assignment_expression "iVar1 = no_options(pWVar6)" identifier = (call_expression "no_options(pWVar6)" identifier (argument_list "(pWVar6)" ( identifier )))) ;) (if_statement "if (iVar1 == 0) {\n    puVar7 = (undefined4 *)**(undefined4 **)(pcVar9 + 0x97044);\n    iVar1 = 0;\n    if (puVar7 != (undefined4 *)0x0) {\n      pcVar5 = *(char **)puVar7[1];\n      UNRECOVERED_JUMPTABLE = find_shell_builtin(pcVar5);\n      if (UNRECOVERED_JUMPTABLE != (sh_builtin_func_t *)0x0) {\n        pWVar6 = (WORD_LIST *)*puVar7;\n        **(undefined4 **)(pcVar9 + 0x95f08) = pcVar5;\n        **(undefined4 **)(pcVar9 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    /* WARNING: Could not recover jumptable at 0x000ae89c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        iVar1 = (*UNRECOVERED_JUMPTABLE)(pWVar6);\n        return iVar1;\n      }\n      sh_notbuiltin(pcVar5);\n      iVar1 = 1;\n    }\n  }\n  else {\n    iVar1 = 0x102;\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    puVar7 = (undefined4 *)**(undefined4 **)(pcVar9 + 0x97044);\n    iVar1 = 0;\n    if (puVar7 != (undefined4 *)0x0) {\n      pcVar5 = *(char **)puVar7[1];\n      UNRECOVERED_JUMPTABLE = find_shell_builtin(pcVar5);\n      if (UNRECOVERED_JUMPTABLE != (sh_builtin_func_t *)0x0) {\n        pWVar6 = (WORD_LIST *)*puVar7;\n        **(undefined4 **)(pcVar9 + 0x95f08) = pcVar5;\n        **(undefined4 **)(pcVar9 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    /* WARNING: Could not recover jumptable at 0x000ae89c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        iVar1 = (*UNRECOVERED_JUMPTABLE)(pWVar6);\n        return iVar1;\n      }\n      sh_notbuiltin(pcVar5);\n      iVar1 = 1;\n    }\n  }" { (expression_statement "puVar7 = (undefined4 *)**(undefined4 **)(pcVar9 + 0x97044);" (assignment_expression "puVar7 = (undefined4 *)**(undefined4 **)(pcVar9 + 0x97044)" identifier = (cast_expression "(undefined4 *)**(undefined4 **)(pcVar9 + 0x97044)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(pcVar9 + 0x97044)" * (pointer_expression "*(undefined4 **)(pcVar9 + 0x97044)" * (cast_expression "(undefined4 **)(pcVar9 + 0x97044)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x97044)" ( (binary_expression "pcVar9 + 0x97044" identifier + number_literal) ))))))) ;) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) (if_statement "if (puVar7 != (undefined4 *)0x0) {\n      pcVar5 = *(char **)puVar7[1];\n      UNRECOVERED_JUMPTABLE = find_shell_builtin(pcVar5);\n      if (UNRECOVERED_JUMPTABLE != (sh_builtin_func_t *)0x0) {\n        pWVar6 = (WORD_LIST *)*puVar7;\n        **(undefined4 **)(pcVar9 + 0x95f08) = pcVar5;\n        **(undefined4 **)(pcVar9 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    /* WARNING: Could not recover jumptable at 0x000ae89c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        iVar1 = (*UNRECOVERED_JUMPTABLE)(pWVar6);\n        return iVar1;\n      }\n      sh_notbuiltin(pcVar5);\n      iVar1 = 1;\n    }" if (parenthesized_expression "(puVar7 != (undefined4 *)0x0)" ( (binary_expression "puVar7 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pcVar5 = *(char **)puVar7[1];\n      UNRECOVERED_JUMPTABLE = find_shell_builtin(pcVar5);\n      if (UNRECOVERED_JUMPTABLE != (sh_builtin_func_t *)0x0) {\n        pWVar6 = (WORD_LIST *)*puVar7;\n        **(undefined4 **)(pcVar9 + 0x95f08) = pcVar5;\n        **(undefined4 **)(pcVar9 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    /* WARNING: Could not recover jumptable at 0x000ae89c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        iVar1 = (*UNRECOVERED_JUMPTABLE)(pWVar6);\n        return iVar1;\n      }\n      sh_notbuiltin(pcVar5);\n      iVar1 = 1;\n    }" { (expression_statement "pcVar5 = *(char **)puVar7[1];" (assignment_expression "pcVar5 = *(char **)puVar7[1]" identifier = (pointer_expression "*(char **)puVar7[1]" * (cast_expression "(char **)puVar7[1]" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (subscript_expression "puVar7[1]" identifier [ number_literal ])))) ;) (expression_statement "UNRECOVERED_JUMPTABLE = find_shell_builtin(pcVar5);" (assignment_expression "UNRECOVERED_JUMPTABLE = find_shell_builtin(pcVar5)" identifier = (call_expression "find_shell_builtin(pcVar5)" identifier (argument_list "(pcVar5)" ( identifier )))) ;) (if_statement "if (UNRECOVERED_JUMPTABLE != (sh_builtin_func_t *)0x0) {\n        pWVar6 = (WORD_LIST *)*puVar7;\n        **(undefined4 **)(pcVar9 + 0x95f08) = pcVar5;\n        **(undefined4 **)(pcVar9 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    /* WARNING: Could not recover jumptable at 0x000ae89c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        iVar1 = (*UNRECOVERED_JUMPTABLE)(pWVar6);\n        return iVar1;\n      }" if (parenthesized_expression "(UNRECOVERED_JUMPTABLE != (sh_builtin_func_t *)0x0)" ( (binary_expression "UNRECOVERED_JUMPTABLE != (sh_builtin_func_t *)0x0" identifier != (cast_expression "(sh_builtin_func_t *)0x0" ( (type_descriptor "sh_builtin_func_t *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        pWVar6 = (WORD_LIST *)*puVar7;\n        **(undefined4 **)(pcVar9 + 0x95f08) = pcVar5;\n        **(undefined4 **)(pcVar9 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    /* WARNING: Could not recover jumptable at 0x000ae89c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n        iVar1 = (*UNRECOVERED_JUMPTABLE)(pWVar6);\n        return iVar1;\n      }" { (expression_statement "pWVar6 = (WORD_LIST *)*puVar7;" (assignment_expression "pWVar6 = (WORD_LIST *)*puVar7" identifier = (cast_expression "(WORD_LIST *)*puVar7" ( (type_descriptor "WORD_LIST *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar7" * identifier))) ;) (expression_statement "**(undefined4 **)(pcVar9 + 0x95f08) = pcVar5;" (assignment_expression "**(undefined4 **)(pcVar9 + 0x95f08) = pcVar5" (pointer_expression "**(undefined4 **)(pcVar9 + 0x95f08)" * (pointer_expression "*(undefined4 **)(pcVar9 + 0x95f08)" * (cast_expression "(undefined4 **)(pcVar9 + 0x95f08)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x95f08)" ( (binary_expression "pcVar9 + 0x95f08" identifier + number_literal) ))))) = identifier) ;) (expression_statement "**(undefined4 **)(pcVar9 + 0x96264) = UNRECOVERED_JUMPTABLE;" (assignment_expression "**(undefined4 **)(pcVar9 + 0x96264) = UNRECOVERED_JUMPTABLE" (pointer_expression "**(undefined4 **)(pcVar9 + 0x96264)" * (pointer_expression "*(undefined4 **)(pcVar9 + 0x96264)" * (cast_expression "(undefined4 **)(pcVar9 + 0x96264)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar9 + 0x96264)" ( (binary_expression "pcVar9 + 0x96264" identifier + number_literal) ))))) = identifier) ;) comment comment (expression_statement "iVar1 = (*UNRECOVERED_JUMPTABLE)(pWVar6);" (assignment_expression "iVar1 = (*UNRECOVERED_JUMPTABLE)(pWVar6)" identifier = (call_expression "(*UNRECOVERED_JUMPTABLE)(pWVar6)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(pWVar6)" ( identifier )))) ;) (return_statement "return iVar1;" return identifier ;) })) (expression_statement "sh_notbuiltin(pcVar5);" (call_expression "sh_notbuiltin(pcVar5)" identifier (argument_list "(pcVar5)" ( identifier ))) ;) (expression_statement "iVar1 = 1;" (assignment_expression "iVar1 = 1" identifier = number_literal) ;) })) }) (else_clause "else {\n    iVar1 = 0x102;\n  }" else (compound_statement "{\n    iVar1 = 0x102;\n  }" { (expression_statement "iVar1 = 0x102;" (assignment_expression "iVar1 = 0x102" identifier = number_literal) ;) }))) (return_statement "return iVar1;" return identifier ;) })))
(translation_unit "int continue_builtin(int param_1)\n\n{\n  int iVar1;\n  code *UNRECOVERED_JUMPTABLE;\n  uint uVar2;\n  uint uVar3;\n  char *pcVar4;\n  undefined4 uVar5;\n  undefined4 *puVar6;\n  undefined4 uVar7;\n  undefined *puVar8;\n  int local_20;\n  uint local_1c;\n  int local_14;\n  \n  puVar8 = PTR___stack_chk_guard_001464dc;\n  local_14 = *(int *)PTR___stack_chk_guard_001464dc;\n  if ((((param_1 == 0) || (*(undefined4 **)(param_1 + 4) == (undefined4 *)0x0)) ||\n      (pcVar4 = (char *)**(undefined4 **)(param_1 + 4), *pcVar4 != '-')) ||\n     (iVar1 = (*(code *)PTR_strcmp_00146548)(pcVar4,PTR_DAT_001445ac + -0x7204), iVar1 != 0)) {\n    iVar1 = FUN_000ae470();\n    if (iVar1 != 0) {\n      get_numeric_arg(param_1,1,&local_20);\n      if ((local_20 < 1) && ((local_20 != 0 || (local_1c == 0)))) {\n        uVar5 = **(undefined4 **)(param_1 + 4);\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x71fc,5);\n        sh_erange(uVar5,uVar7);\n        iVar1 = 1;\n        *(undefined4 *)PTR_breaking_00144d88 = *(undefined4 *)PTR_loop_level_00144dc4;\n      }\n      else {\n        uVar2 = *(uint *)PTR_loop_level_00144dc4;\n        uVar3 = uVar2;\n        if (((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2)) {\n          uVar3 = local_1c;\n        }\n        iVar1 = 0;\n        *(uint *)PTR_continuing_00144d8c = uVar3;\n      }\n    }\n  }\n  else {\n    builtin_help();\n    iVar1 = 0x102;\n  }\n  if (local_14 != *(int *)puVar8) {\n    puVar8 = PTR___stack_chk_fail_00146488;\n    (*(code *)PTR___stack_chk_fail_00146488)();\n    iVar1 = no_options();\n    if (iVar1 == 0) {\n      puVar6 = (undefined4 *)**(undefined4 **)(puVar8 + 0x97044);\n      iVar1 = 0;\n      if (puVar6 != (undefined4 *)0x0) {\n        uVar7 = *(undefined4 *)puVar6[1];\n        UNRECOVERED_JUMPTABLE = (code *)find_shell_builtin(uVar7);\n        if (UNRECOVERED_JUMPTABLE != (code *)0x0) {\n          uVar5 = *puVar6;\n          **(undefined4 **)(puVar8 + 0x95f08) = uVar7;\n          **(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    \n                    \n          iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5);\n          return iVar1;\n        }\n        sh_notbuiltin(uVar7);\n        iVar1 = 1;\n      }\n    }\n    else {\n      iVar1 = 0x102;\n    }\n    return iVar1;\n  }\n  return iVar1;\n}\n\n" (function_definition "int continue_builtin(int param_1)\n\n{\n  int iVar1;\n  code *UNRECOVERED_JUMPTABLE;\n  uint uVar2;\n  uint uVar3;\n  char *pcVar4;\n  undefined4 uVar5;\n  undefined4 *puVar6;\n  undefined4 uVar7;\n  undefined *puVar8;\n  int local_20;\n  uint local_1c;\n  int local_14;\n  \n  puVar8 = PTR___stack_chk_guard_001464dc;\n  local_14 = *(int *)PTR___stack_chk_guard_001464dc;\n  if ((((param_1 == 0) || (*(undefined4 **)(param_1 + 4) == (undefined4 *)0x0)) ||\n      (pcVar4 = (char *)**(undefined4 **)(param_1 + 4), *pcVar4 != '-')) ||\n     (iVar1 = (*(code *)PTR_strcmp_00146548)(pcVar4,PTR_DAT_001445ac + -0x7204), iVar1 != 0)) {\n    iVar1 = FUN_000ae470();\n    if (iVar1 != 0) {\n      get_numeric_arg(param_1,1,&local_20);\n      if ((local_20 < 1) && ((local_20 != 0 || (local_1c == 0)))) {\n        uVar5 = **(undefined4 **)(param_1 + 4);\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x71fc,5);\n        sh_erange(uVar5,uVar7);\n        iVar1 = 1;\n        *(undefined4 *)PTR_breaking_00144d88 = *(undefined4 *)PTR_loop_level_00144dc4;\n      }\n      else {\n        uVar2 = *(uint *)PTR_loop_level_00144dc4;\n        uVar3 = uVar2;\n        if (((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2)) {\n          uVar3 = local_1c;\n        }\n        iVar1 = 0;\n        *(uint *)PTR_continuing_00144d8c = uVar3;\n      }\n    }\n  }\n  else {\n    builtin_help();\n    iVar1 = 0x102;\n  }\n  if (local_14 != *(int *)puVar8) {\n    puVar8 = PTR___stack_chk_fail_00146488;\n    (*(code *)PTR___stack_chk_fail_00146488)();\n    iVar1 = no_options();\n    if (iVar1 == 0) {\n      puVar6 = (undefined4 *)**(undefined4 **)(puVar8 + 0x97044);\n      iVar1 = 0;\n      if (puVar6 != (undefined4 *)0x0) {\n        uVar7 = *(undefined4 *)puVar6[1];\n        UNRECOVERED_JUMPTABLE = (code *)find_shell_builtin(uVar7);\n        if (UNRECOVERED_JUMPTABLE != (code *)0x0) {\n          uVar5 = *puVar6;\n          **(undefined4 **)(puVar8 + 0x95f08) = uVar7;\n          **(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    \n                    \n          iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5);\n          return iVar1;\n        }\n        sh_notbuiltin(uVar7);\n        iVar1 = 1;\n      }\n    }\n    else {\n      iVar1 = 0x102;\n    }\n    return iVar1;\n  }\n  return iVar1;\n}" primitive_type (function_declarator "continue_builtin(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  code *UNRECOVERED_JUMPTABLE;\n  uint uVar2;\n  uint uVar3;\n  char *pcVar4;\n  undefined4 uVar5;\n  undefined4 *puVar6;\n  undefined4 uVar7;\n  undefined *puVar8;\n  int local_20;\n  uint local_1c;\n  int local_14;\n  \n  puVar8 = PTR___stack_chk_guard_001464dc;\n  local_14 = *(int *)PTR___stack_chk_guard_001464dc;\n  if ((((param_1 == 0) || (*(undefined4 **)(param_1 + 4) == (undefined4 *)0x0)) ||\n      (pcVar4 = (char *)**(undefined4 **)(param_1 + 4), *pcVar4 != '-')) ||\n     (iVar1 = (*(code *)PTR_strcmp_00146548)(pcVar4,PTR_DAT_001445ac + -0x7204), iVar1 != 0)) {\n    iVar1 = FUN_000ae470();\n    if (iVar1 != 0) {\n      get_numeric_arg(param_1,1,&local_20);\n      if ((local_20 < 1) && ((local_20 != 0 || (local_1c == 0)))) {\n        uVar5 = **(undefined4 **)(param_1 + 4);\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x71fc,5);\n        sh_erange(uVar5,uVar7);\n        iVar1 = 1;\n        *(undefined4 *)PTR_breaking_00144d88 = *(undefined4 *)PTR_loop_level_00144dc4;\n      }\n      else {\n        uVar2 = *(uint *)PTR_loop_level_00144dc4;\n        uVar3 = uVar2;\n        if (((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2)) {\n          uVar3 = local_1c;\n        }\n        iVar1 = 0;\n        *(uint *)PTR_continuing_00144d8c = uVar3;\n      }\n    }\n  }\n  else {\n    builtin_help();\n    iVar1 = 0x102;\n  }\n  if (local_14 != *(int *)puVar8) {\n    puVar8 = PTR___stack_chk_fail_00146488;\n    (*(code *)PTR___stack_chk_fail_00146488)();\n    iVar1 = no_options();\n    if (iVar1 == 0) {\n      puVar6 = (undefined4 *)**(undefined4 **)(puVar8 + 0x97044);\n      iVar1 = 0;\n      if (puVar6 != (undefined4 *)0x0) {\n        uVar7 = *(undefined4 *)puVar6[1];\n        UNRECOVERED_JUMPTABLE = (code *)find_shell_builtin(uVar7);\n        if (UNRECOVERED_JUMPTABLE != (code *)0x0) {\n          uVar5 = *puVar6;\n          **(undefined4 **)(puVar8 + 0x95f08) = uVar7;\n          **(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    \n                    \n          iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5);\n          return iVar1;\n        }\n        sh_notbuiltin(uVar7);\n        iVar1 = 1;\n      }\n    }\n    else {\n      iVar1 = 0x102;\n    }\n    return iVar1;\n  }\n  return iVar1;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "code *UNRECOVERED_JUMPTABLE;" type_identifier (pointer_declarator "*UNRECOVERED_JUMPTABLE" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined4 *puVar6;" type_identifier (pointer_declarator "*puVar6" * identifier) ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "undefined *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "int local_20;" primitive_type identifier ;) (declaration "uint local_1c;" type_identifier identifier ;) (declaration "int local_14;" primitive_type identifier ;) (expression_statement "puVar8 = PTR___stack_chk_guard_001464dc;" (assignment_expression "puVar8 = PTR___stack_chk_guard_001464dc" identifier = identifier) ;) (expression_statement "local_14 = *(int *)PTR___stack_chk_guard_001464dc;" (assignment_expression "local_14 = *(int *)PTR___stack_chk_guard_001464dc" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_001464dc" * (cast_expression "(int *)PTR___stack_chk_guard_001464dc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (if_statement "if ((((param_1 == 0) || (*(undefined4 **)(param_1 + 4) == (undefined4 *)0x0)) ||\n      (pcVar4 = (char *)**(undefined4 **)(param_1 + 4), *pcVar4 != '-')) ||\n     (iVar1 = (*(code *)PTR_strcmp_00146548)(pcVar4,PTR_DAT_001445ac + -0x7204), iVar1 != 0)) {\n    iVar1 = FUN_000ae470();\n    if (iVar1 != 0) {\n      get_numeric_arg(param_1,1,&local_20);\n      if ((local_20 < 1) && ((local_20 != 0 || (local_1c == 0)))) {\n        uVar5 = **(undefined4 **)(param_1 + 4);\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x71fc,5);\n        sh_erange(uVar5,uVar7);\n        iVar1 = 1;\n        *(undefined4 *)PTR_breaking_00144d88 = *(undefined4 *)PTR_loop_level_00144dc4;\n      }\n      else {\n        uVar2 = *(uint *)PTR_loop_level_00144dc4;\n        uVar3 = uVar2;\n        if (((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2)) {\n          uVar3 = local_1c;\n        }\n        iVar1 = 0;\n        *(uint *)PTR_continuing_00144d8c = uVar3;\n      }\n    }\n  }\n  else {\n    builtin_help();\n    iVar1 = 0x102;\n  }" if (parenthesized_expression "((((param_1 == 0) || (*(undefined4 **)(param_1 + 4) == (undefined4 *)0x0)) ||\n      (pcVar4 = (char *)**(undefined4 **)(param_1 + 4), *pcVar4 != '-')) ||\n     (iVar1 = (*(code *)PTR_strcmp_00146548)(pcVar4,PTR_DAT_001445ac + -0x7204), iVar1 != 0))" ( (binary_expression "(((param_1 == 0) || (*(undefined4 **)(param_1 + 4) == (undefined4 *)0x0)) ||\n      (pcVar4 = (char *)**(undefined4 **)(param_1 + 4), *pcVar4 != '-')) ||\n     (iVar1 = (*(code *)PTR_strcmp_00146548)(pcVar4,PTR_DAT_001445ac + -0x7204), iVar1 != 0)" (parenthesized_expression "(((param_1 == 0) || (*(undefined4 **)(param_1 + 4) == (undefined4 *)0x0)) ||\n      (pcVar4 = (char *)**(undefined4 **)(param_1 + 4), *pcVar4 != '-'))" ( (binary_expression "((param_1 == 0) || (*(undefined4 **)(param_1 + 4) == (undefined4 *)0x0)) ||\n      (pcVar4 = (char *)**(undefined4 **)(param_1 + 4), *pcVar4 != '-')" (parenthesized_expression "((param_1 == 0) || (*(undefined4 **)(param_1 + 4) == (undefined4 *)0x0))" ( (binary_expression "(param_1 == 0) || (*(undefined4 **)(param_1 + 4) == (undefined4 *)0x0)" (parenthesized_expression "(param_1 == 0)" ( (binary_expression "param_1 == 0" identifier == number_literal) )) || (parenthesized_expression "(*(undefined4 **)(param_1 + 4) == (undefined4 *)0x0)" ( (binary_expression "*(undefined4 **)(param_1 + 4) == (undefined4 *)0x0" (pointer_expression "*(undefined4 **)(param_1 + 4)" * (cast_expression "(undefined4 **)(param_1 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))) == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) || (parenthesized_expression "(pcVar4 = (char *)**(undefined4 **)(param_1 + 4), *pcVar4 != '-')" ( (comma_expression "pcVar4 = (char *)**(undefined4 **)(param_1 + 4), *pcVar4 != '-'" (assignment_expression "pcVar4 = (char *)**(undefined4 **)(param_1 + 4)" identifier = (cast_expression "(char *)**(undefined4 **)(param_1 + 4)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(param_1 + 4)" * (pointer_expression "*(undefined4 **)(param_1 + 4)" * (cast_expression "(undefined4 **)(param_1 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) ))))))) , (binary_expression "*pcVar4 != '-'" (pointer_expression "*pcVar4" * identifier) != (char_literal "'-'" ' character '))) ))) )) || (parenthesized_expression "(iVar1 = (*(code *)PTR_strcmp_00146548)(pcVar4,PTR_DAT_001445ac + -0x7204), iVar1 != 0)" ( (comma_expression "iVar1 = (*(code *)PTR_strcmp_00146548)(pcVar4,PTR_DAT_001445ac + -0x7204), iVar1 != 0" (assignment_expression "iVar1 = (*(code *)PTR_strcmp_00146548)(pcVar4,PTR_DAT_001445ac + -0x7204)" identifier = (call_expression "(*(code *)PTR_strcmp_00146548)(pcVar4,PTR_DAT_001445ac + -0x7204)" (parenthesized_expression "(*(code *)PTR_strcmp_00146548)" ( (pointer_expression "*(code *)PTR_strcmp_00146548" * (cast_expression "(code *)PTR_strcmp_00146548" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pcVar4,PTR_DAT_001445ac + -0x7204)" ( identifier , (binary_expression "PTR_DAT_001445ac + -0x7204" identifier + number_literal) )))) , (binary_expression "iVar1 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n    iVar1 = FUN_000ae470();\n    if (iVar1 != 0) {\n      get_numeric_arg(param_1,1,&local_20);\n      if ((local_20 < 1) && ((local_20 != 0 || (local_1c == 0)))) {\n        uVar5 = **(undefined4 **)(param_1 + 4);\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x71fc,5);\n        sh_erange(uVar5,uVar7);\n        iVar1 = 1;\n        *(undefined4 *)PTR_breaking_00144d88 = *(undefined4 *)PTR_loop_level_00144dc4;\n      }\n      else {\n        uVar2 = *(uint *)PTR_loop_level_00144dc4;\n        uVar3 = uVar2;\n        if (((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2)) {\n          uVar3 = local_1c;\n        }\n        iVar1 = 0;\n        *(uint *)PTR_continuing_00144d8c = uVar3;\n      }\n    }\n  }" { (expression_statement "iVar1 = FUN_000ae470();" (assignment_expression "iVar1 = FUN_000ae470()" identifier = (call_expression "FUN_000ae470()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar1 != 0) {\n      get_numeric_arg(param_1,1,&local_20);\n      if ((local_20 < 1) && ((local_20 != 0 || (local_1c == 0)))) {\n        uVar5 = **(undefined4 **)(param_1 + 4);\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x71fc,5);\n        sh_erange(uVar5,uVar7);\n        iVar1 = 1;\n        *(undefined4 *)PTR_breaking_00144d88 = *(undefined4 *)PTR_loop_level_00144dc4;\n      }\n      else {\n        uVar2 = *(uint *)PTR_loop_level_00144dc4;\n        uVar3 = uVar2;\n        if (((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2)) {\n          uVar3 = local_1c;\n        }\n        iVar1 = 0;\n        *(uint *)PTR_continuing_00144d8c = uVar3;\n      }\n    }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      get_numeric_arg(param_1,1,&local_20);\n      if ((local_20 < 1) && ((local_20 != 0 || (local_1c == 0)))) {\n        uVar5 = **(undefined4 **)(param_1 + 4);\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x71fc,5);\n        sh_erange(uVar5,uVar7);\n        iVar1 = 1;\n        *(undefined4 *)PTR_breaking_00144d88 = *(undefined4 *)PTR_loop_level_00144dc4;\n      }\n      else {\n        uVar2 = *(uint *)PTR_loop_level_00144dc4;\n        uVar3 = uVar2;\n        if (((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2)) {\n          uVar3 = local_1c;\n        }\n        iVar1 = 0;\n        *(uint *)PTR_continuing_00144d8c = uVar3;\n      }\n    }" { (expression_statement "get_numeric_arg(param_1,1,&local_20);" (call_expression "get_numeric_arg(param_1,1,&local_20)" identifier (argument_list "(param_1,1,&local_20)" ( identifier , number_literal , (pointer_expression "&local_20" & identifier) ))) ;) (if_statement "if ((local_20 < 1) && ((local_20 != 0 || (local_1c == 0)))) {\n        uVar5 = **(undefined4 **)(param_1 + 4);\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x71fc,5);\n        sh_erange(uVar5,uVar7);\n        iVar1 = 1;\n        *(undefined4 *)PTR_breaking_00144d88 = *(undefined4 *)PTR_loop_level_00144dc4;\n      }\n      else {\n        uVar2 = *(uint *)PTR_loop_level_00144dc4;\n        uVar3 = uVar2;\n        if (((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2)) {\n          uVar3 = local_1c;\n        }\n        iVar1 = 0;\n        *(uint *)PTR_continuing_00144d8c = uVar3;\n      }" if (parenthesized_expression "((local_20 < 1) && ((local_20 != 0 || (local_1c == 0))))" ( (binary_expression "(local_20 < 1) && ((local_20 != 0 || (local_1c == 0)))" (parenthesized_expression "(local_20 < 1)" ( (binary_expression "local_20 < 1" identifier < number_literal) )) && (parenthesized_expression "((local_20 != 0 || (local_1c == 0)))" ( (parenthesized_expression "(local_20 != 0 || (local_1c == 0))" ( (binary_expression "local_20 != 0 || (local_1c == 0)" (binary_expression "local_20 != 0" identifier != number_literal) || (parenthesized_expression "(local_1c == 0)" ( (binary_expression "local_1c == 0" identifier == number_literal) ))) )) ))) )) (compound_statement "{\n        uVar5 = **(undefined4 **)(param_1 + 4);\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x71fc,5);\n        sh_erange(uVar5,uVar7);\n        iVar1 = 1;\n        *(undefined4 *)PTR_breaking_00144d88 = *(undefined4 *)PTR_loop_level_00144dc4;\n      }" { (expression_statement "uVar5 = **(undefined4 **)(param_1 + 4);" (assignment_expression "uVar5 = **(undefined4 **)(param_1 + 4)" identifier = (pointer_expression "**(undefined4 **)(param_1 + 4)" * (pointer_expression "*(undefined4 **)(param_1 + 4)" * (cast_expression "(undefined4 **)(param_1 + 4)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 4)" ( (binary_expression "param_1 + 4" identifier + number_literal) )))))) ;) (expression_statement "uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x71fc,5);" (assignment_expression "uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x71fc,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x71fc,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_DAT_001445ac + -0x71fc,5)" ( number_literal , (binary_expression "PTR_DAT_001445ac + -0x71fc" identifier + number_literal) , number_literal )))) ;) (expression_statement "sh_erange(uVar5,uVar7);" (call_expression "sh_erange(uVar5,uVar7)" identifier (argument_list "(uVar5,uVar7)" ( identifier , identifier ))) ;) (expression_statement "iVar1 = 1;" (assignment_expression "iVar1 = 1" identifier = number_literal) ;) (expression_statement "*(undefined4 *)PTR_breaking_00144d88 = *(undefined4 *)PTR_loop_level_00144dc4;" (assignment_expression "*(undefined4 *)PTR_breaking_00144d88 = *(undefined4 *)PTR_loop_level_00144dc4" (pointer_expression "*(undefined4 *)PTR_breaking_00144d88" * (cast_expression "(undefined4 *)PTR_breaking_00144d88" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined4 *)PTR_loop_level_00144dc4" * (cast_expression "(undefined4 *)PTR_loop_level_00144dc4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) }) (else_clause "else {\n        uVar2 = *(uint *)PTR_loop_level_00144dc4;\n        uVar3 = uVar2;\n        if (((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2)) {\n          uVar3 = local_1c;\n        }\n        iVar1 = 0;\n        *(uint *)PTR_continuing_00144d8c = uVar3;\n      }" else (compound_statement "{\n        uVar2 = *(uint *)PTR_loop_level_00144dc4;\n        uVar3 = uVar2;\n        if (((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2)) {\n          uVar3 = local_1c;\n        }\n        iVar1 = 0;\n        *(uint *)PTR_continuing_00144d8c = uVar3;\n      }" { (expression_statement "uVar2 = *(uint *)PTR_loop_level_00144dc4;" (assignment_expression "uVar2 = *(uint *)PTR_loop_level_00144dc4" identifier = (pointer_expression "*(uint *)PTR_loop_level_00144dc4" * (cast_expression "(uint *)PTR_loop_level_00144dc4" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar3 = uVar2;" (assignment_expression "uVar3 = uVar2" identifier = identifier) ;) (if_statement "if (((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2)) {\n          uVar3 = local_1c;\n        }" if (parenthesized_expression "(((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2))" ( (binary_expression "((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2)" (parenthesized_expression "((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))" ( (binary_expression "(local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f)" (parenthesized_expression "(local_20 <= (int)uVar2 >> 0x1f)" ( (binary_expression "local_20 <= (int)uVar2 >> 0x1f" identifier <= (binary_expression "(int)uVar2 >> 0x1f" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) )) && (parenthesized_expression "(uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f)" ( (comma_expression "uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f" (assignment_expression "uVar3 = local_1c" identifier = identifier) , (binary_expression "local_20 == (int)uVar2 >> 0x1f" identifier == (binary_expression "(int)uVar2 >> 0x1f" (cast_expression "(int)uVar2" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal))) ))) )) && (parenthesized_expression "(uVar3 = uVar2, local_1c <= uVar2)" ( (comma_expression "uVar3 = uVar2, local_1c <= uVar2" (assignment_expression "uVar3 = uVar2" identifier = identifier) , (binary_expression "local_1c <= uVar2" identifier <= identifier)) ))) )) (compound_statement "{\n          uVar3 = local_1c;\n        }" { (expression_statement "uVar3 = local_1c;" (assignment_expression "uVar3 = local_1c" identifier = identifier) ;) })) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) (expression_statement "*(uint *)PTR_continuing_00144d8c = uVar3;" (assignment_expression "*(uint *)PTR_continuing_00144d8c = uVar3" (pointer_expression "*(uint *)PTR_continuing_00144d8c" * (cast_expression "(uint *)PTR_continuing_00144d8c" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) }))) })) }) (else_clause "else {\n    builtin_help();\n    iVar1 = 0x102;\n  }" else (compound_statement "{\n    builtin_help();\n    iVar1 = 0x102;\n  }" { (expression_statement "builtin_help();" (call_expression "builtin_help()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar1 = 0x102;" (assignment_expression "iVar1 = 0x102" identifier = number_literal) ;) }))) (if_statement "if (local_14 != *(int *)puVar8) {\n    puVar8 = PTR___stack_chk_fail_00146488;\n    (*(code *)PTR___stack_chk_fail_00146488)();\n    iVar1 = no_options();\n    if (iVar1 == 0) {\n      puVar6 = (undefined4 *)**(undefined4 **)(puVar8 + 0x97044);\n      iVar1 = 0;\n      if (puVar6 != (undefined4 *)0x0) {\n        uVar7 = *(undefined4 *)puVar6[1];\n        UNRECOVERED_JUMPTABLE = (code *)find_shell_builtin(uVar7);\n        if (UNRECOVERED_JUMPTABLE != (code *)0x0) {\n          uVar5 = *puVar6;\n          **(undefined4 **)(puVar8 + 0x95f08) = uVar7;\n          **(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    \n                    \n          iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5);\n          return iVar1;\n        }\n        sh_notbuiltin(uVar7);\n        iVar1 = 1;\n      }\n    }\n    else {\n      iVar1 = 0x102;\n    }\n    return iVar1;\n  }" if (parenthesized_expression "(local_14 != *(int *)puVar8)" ( (binary_expression "local_14 != *(int *)puVar8" identifier != (pointer_expression "*(int *)puVar8" * (cast_expression "(int *)puVar8" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    puVar8 = PTR___stack_chk_fail_00146488;\n    (*(code *)PTR___stack_chk_fail_00146488)();\n    iVar1 = no_options();\n    if (iVar1 == 0) {\n      puVar6 = (undefined4 *)**(undefined4 **)(puVar8 + 0x97044);\n      iVar1 = 0;\n      if (puVar6 != (undefined4 *)0x0) {\n        uVar7 = *(undefined4 *)puVar6[1];\n        UNRECOVERED_JUMPTABLE = (code *)find_shell_builtin(uVar7);\n        if (UNRECOVERED_JUMPTABLE != (code *)0x0) {\n          uVar5 = *puVar6;\n          **(undefined4 **)(puVar8 + 0x95f08) = uVar7;\n          **(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    \n                    \n          iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5);\n          return iVar1;\n        }\n        sh_notbuiltin(uVar7);\n        iVar1 = 1;\n      }\n    }\n    else {\n      iVar1 = 0x102;\n    }\n    return iVar1;\n  }" { (expression_statement "puVar8 = PTR___stack_chk_fail_00146488;" (assignment_expression "puVar8 = PTR___stack_chk_fail_00146488" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_00146488)();" (call_expression "(*(code *)PTR___stack_chk_fail_00146488)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00146488)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_00146488" * (cast_expression "(code *)PTR___stack_chk_fail_00146488" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iVar1 = no_options();" (assignment_expression "iVar1 = no_options()" identifier = (call_expression "no_options()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar1 == 0) {\n      puVar6 = (undefined4 *)**(undefined4 **)(puVar8 + 0x97044);\n      iVar1 = 0;\n      if (puVar6 != (undefined4 *)0x0) {\n        uVar7 = *(undefined4 *)puVar6[1];\n        UNRECOVERED_JUMPTABLE = (code *)find_shell_builtin(uVar7);\n        if (UNRECOVERED_JUMPTABLE != (code *)0x0) {\n          uVar5 = *puVar6;\n          **(undefined4 **)(puVar8 + 0x95f08) = uVar7;\n          **(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    \n                    \n          iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5);\n          return iVar1;\n        }\n        sh_notbuiltin(uVar7);\n        iVar1 = 1;\n      }\n    }\n    else {\n      iVar1 = 0x102;\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      puVar6 = (undefined4 *)**(undefined4 **)(puVar8 + 0x97044);\n      iVar1 = 0;\n      if (puVar6 != (undefined4 *)0x0) {\n        uVar7 = *(undefined4 *)puVar6[1];\n        UNRECOVERED_JUMPTABLE = (code *)find_shell_builtin(uVar7);\n        if (UNRECOVERED_JUMPTABLE != (code *)0x0) {\n          uVar5 = *puVar6;\n          **(undefined4 **)(puVar8 + 0x95f08) = uVar7;\n          **(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    \n                    \n          iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5);\n          return iVar1;\n        }\n        sh_notbuiltin(uVar7);\n        iVar1 = 1;\n      }\n    }" { (expression_statement "puVar6 = (undefined4 *)**(undefined4 **)(puVar8 + 0x97044);" (assignment_expression "puVar6 = (undefined4 *)**(undefined4 **)(puVar8 + 0x97044)" identifier = (cast_expression "(undefined4 *)**(undefined4 **)(puVar8 + 0x97044)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**(undefined4 **)(puVar8 + 0x97044)" * (pointer_expression "*(undefined4 **)(puVar8 + 0x97044)" * (cast_expression "(undefined4 **)(puVar8 + 0x97044)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x97044)" ( (binary_expression "puVar8 + 0x97044" identifier + number_literal) ))))))) ;) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) (if_statement "if (puVar6 != (undefined4 *)0x0) {\n        uVar7 = *(undefined4 *)puVar6[1];\n        UNRECOVERED_JUMPTABLE = (code *)find_shell_builtin(uVar7);\n        if (UNRECOVERED_JUMPTABLE != (code *)0x0) {\n          uVar5 = *puVar6;\n          **(undefined4 **)(puVar8 + 0x95f08) = uVar7;\n          **(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    \n                    \n          iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5);\n          return iVar1;\n        }\n        sh_notbuiltin(uVar7);\n        iVar1 = 1;\n      }" if (parenthesized_expression "(puVar6 != (undefined4 *)0x0)" ( (binary_expression "puVar6 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        uVar7 = *(undefined4 *)puVar6[1];\n        UNRECOVERED_JUMPTABLE = (code *)find_shell_builtin(uVar7);\n        if (UNRECOVERED_JUMPTABLE != (code *)0x0) {\n          uVar5 = *puVar6;\n          **(undefined4 **)(puVar8 + 0x95f08) = uVar7;\n          **(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    \n                    \n          iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5);\n          return iVar1;\n        }\n        sh_notbuiltin(uVar7);\n        iVar1 = 1;\n      }" { (expression_statement "uVar7 = *(undefined4 *)puVar6[1];" (assignment_expression "uVar7 = *(undefined4 *)puVar6[1]" identifier = (pointer_expression "*(undefined4 *)puVar6[1]" * (cast_expression "(undefined4 *)puVar6[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar6[1]" identifier [ number_literal ])))) ;) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)find_shell_builtin(uVar7);" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)find_shell_builtin(uVar7)" identifier = (cast_expression "(code *)find_shell_builtin(uVar7)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "find_shell_builtin(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))))) ;) (if_statement "if (UNRECOVERED_JUMPTABLE != (code *)0x0) {\n          uVar5 = *puVar6;\n          **(undefined4 **)(puVar8 + 0x95f08) = uVar7;\n          **(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    \n                    \n          iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5);\n          return iVar1;\n        }" if (parenthesized_expression "(UNRECOVERED_JUMPTABLE != (code *)0x0)" ( (binary_expression "UNRECOVERED_JUMPTABLE != (code *)0x0" identifier != (cast_expression "(code *)0x0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          uVar5 = *puVar6;\n          **(undefined4 **)(puVar8 + 0x95f08) = uVar7;\n          **(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    \n                    \n          iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5);\n          return iVar1;\n        }" { (expression_statement "uVar5 = *puVar6;" (assignment_expression "uVar5 = *puVar6" identifier = (pointer_expression "*puVar6" * identifier)) ;) (expression_statement "**(undefined4 **)(puVar8 + 0x95f08) = uVar7;" (assignment_expression "**(undefined4 **)(puVar8 + 0x95f08) = uVar7" (pointer_expression "**(undefined4 **)(puVar8 + 0x95f08)" * (pointer_expression "*(undefined4 **)(puVar8 + 0x95f08)" * (cast_expression "(undefined4 **)(puVar8 + 0x95f08)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x95f08)" ( (binary_expression "puVar8 + 0x95f08" identifier + number_literal) ))))) = identifier) ;) (expression_statement "**(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE;" (assignment_expression "**(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE" (pointer_expression "**(undefined4 **)(puVar8 + 0x96264)" * (pointer_expression "*(undefined4 **)(puVar8 + 0x96264)" * (cast_expression "(undefined4 **)(puVar8 + 0x96264)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar8 + 0x96264)" ( (binary_expression "puVar8 + 0x96264" identifier + number_literal) ))))) = identifier) ;) (expression_statement "iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5);" (assignment_expression "iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5)" identifier = (call_expression "(*UNRECOVERED_JUMPTABLE)(uVar5)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" ( (pointer_expression "*UNRECOVERED_JUMPTABLE" * identifier) )) (argument_list "(uVar5)" ( identifier )))) ;) (return_statement "return iVar1;" return identifier ;) })) (expression_statement "sh_notbuiltin(uVar7);" (call_expression "sh_notbuiltin(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (expression_statement "iVar1 = 1;" (assignment_expression "iVar1 = 1" identifier = number_literal) ;) })) }) (else_clause "else {\n      iVar1 = 0x102;\n    }" else (compound_statement "{\n      iVar1 = 0x102;\n    }" { (expression_statement "iVar1 = 0x102;" (assignment_expression "iVar1 = 0x102" identifier = number_literal) ;) }))) (return_statement "return iVar1;" return identifier ;) })) (return_statement "return iVar1;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) , (binary_expression (pointer_expression * IDENT) != (char_literal ' character '))) ))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (binary_expression IDENT + LIT) )))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < LIT) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) || (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT == (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT))) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT <= IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = IDENT) ;) }))) })) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT )))) ;) (return_statement return IDENT ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (return_statement return IDENT ;) })) (return_statement return IDENT ;) })))
(function_definition "int continue_builtin(int param_1)\n\n{\n  int iVar1;\n  code *UNRECOVERED_JUMPTABLE;\n  uint uVar2;\n  uint uVar3;\n  char *pcVar4;\n  undefined4 uVar5;\n  undefined4 *puVar6;\n  undefined4 uVar7;\n  undefined *puVar8;\n  int local_20;\n  uint local_1c;\n  int local_14;\n  \n  puVar8 = PTR___stack_chk_guard_001464dc;\n  local_14 = *(int *)PTR___stack_chk_guard_001464dc;\n  if ((((param_1 == 0) || (*(undefined4 **)(param_1 + 4) == (undefined4 *)0x0)) ||\n      (pcVar4 = (char *)**(undefined4 **)(param_1 + 4), *pcVar4 != '-')) ||\n     (iVar1 = (*(code *)PTR_strcmp_00146548)(pcVar4,PTR_DAT_001445ac + -0x7204), iVar1 != 0)) {\n    iVar1 = FUN_000ae470();\n    if (iVar1 != 0) {\n      get_numeric_arg(param_1,1,&local_20);\n      if ((local_20 < 1) && ((local_20 != 0 || (local_1c == 0)))) {\n        uVar5 = **(undefined4 **)(param_1 + 4);\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x71fc,5);\n        sh_erange(uVar5,uVar7);\n        iVar1 = 1;\n        *(undefined4 *)PTR_breaking_00144d88 = *(undefined4 *)PTR_loop_level_00144dc4;\n      }\n      else {\n        uVar2 = *(uint *)PTR_loop_level_00144dc4;\n        uVar3 = uVar2;\n        if (((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2)) {\n          uVar3 = local_1c;\n        }\n        iVar1 = 0;\n        *(uint *)PTR_continuing_00144d8c = uVar3;\n      }\n    }\n  }\n  else {\n    builtin_help();\n    iVar1 = 0x102;\n  }\n  if (local_14 != *(int *)puVar8) {\n    puVar8 = PTR___stack_chk_fail_00146488;\n    (*(code *)PTR___stack_chk_fail_00146488)();\n    iVar1 = no_options();\n    if (iVar1 == 0) {\n      puVar6 = (undefined4 *)**(undefined4 **)(puVar8 + 0x97044);\n      iVar1 = 0;\n      if (puVar6 != (undefined4 *)0x0) {\n        uVar7 = *(undefined4 *)puVar6[1];\n        UNRECOVERED_JUMPTABLE = (code *)find_shell_builtin(uVar7);\n        if (UNRECOVERED_JUMPTABLE != (code *)0x0) {\n          uVar5 = *puVar6;\n          **(undefined4 **)(puVar8 + 0x95f08) = uVar7;\n          **(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    \n                    \n          iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5);\n          return iVar1;\n        }\n        sh_notbuiltin(uVar7);\n        iVar1 = 1;\n      }\n    }\n    else {\n      iVar1 = 0x102;\n    }\n    return iVar1;\n  }\n  return iVar1;\n}" (primitive_type "int") (function_declarator "continue_builtin(int param_1)" (identifier "continue_builtin") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  int iVar1;\n  code *UNRECOVERED_JUMPTABLE;\n  uint uVar2;\n  uint uVar3;\n  char *pcVar4;\n  undefined4 uVar5;\n  undefined4 *puVar6;\n  undefined4 uVar7;\n  undefined *puVar8;\n  int local_20;\n  uint local_1c;\n  int local_14;\n  \n  puVar8 = PTR___stack_chk_guard_001464dc;\n  local_14 = *(int *)PTR___stack_chk_guard_001464dc;\n  if ((((param_1 == 0) || (*(undefined4 **)(param_1 + 4) == (undefined4 *)0x0)) ||\n      (pcVar4 = (char *)**(undefined4 **)(param_1 + 4), *pcVar4 != '-')) ||\n     (iVar1 = (*(code *)PTR_strcmp_00146548)(pcVar4,PTR_DAT_001445ac + -0x7204), iVar1 != 0)) {\n    iVar1 = FUN_000ae470();\n    if (iVar1 != 0) {\n      get_numeric_arg(param_1,1,&local_20);\n      if ((local_20 < 1) && ((local_20 != 0 || (local_1c == 0)))) {\n        uVar5 = **(undefined4 **)(param_1 + 4);\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x71fc,5);\n        sh_erange(uVar5,uVar7);\n        iVar1 = 1;\n        *(undefined4 *)PTR_breaking_00144d88 = *(undefined4 *)PTR_loop_level_00144dc4;\n      }\n      else {\n        uVar2 = *(uint *)PTR_loop_level_00144dc4;\n        uVar3 = uVar2;\n        if (((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2)) {\n          uVar3 = local_1c;\n        }\n        iVar1 = 0;\n        *(uint *)PTR_continuing_00144d8c = uVar3;\n      }\n    }\n  }\n  else {\n    builtin_help();\n    iVar1 = 0x102;\n  }\n  if (local_14 != *(int *)puVar8) {\n    puVar8 = PTR___stack_chk_fail_00146488;\n    (*(code *)PTR___stack_chk_fail_00146488)();\n    iVar1 = no_options();\n    if (iVar1 == 0) {\n      puVar6 = (undefined4 *)**(undefined4 **)(puVar8 + 0x97044);\n      iVar1 = 0;\n      if (puVar6 != (undefined4 *)0x0) {\n        uVar7 = *(undefined4 *)puVar6[1];\n        UNRECOVERED_JUMPTABLE = (code *)find_shell_builtin(uVar7);\n        if (UNRECOVERED_JUMPTABLE != (code *)0x0) {\n          uVar5 = *puVar6;\n          **(undefined4 **)(puVar8 + 0x95f08) = uVar7;\n          **(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    \n                    \n          iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5);\n          return iVar1;\n        }\n        sh_notbuiltin(uVar7);\n        iVar1 = 1;\n      }\n    }\n    else {\n      iVar1 = 0x102;\n    }\n    return iVar1;\n  }\n  return iVar1;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "code *UNRECOVERED_JUMPTABLE;" (type_identifier "code") (pointer_declarator "*UNRECOVERED_JUMPTABLE" (* "*") (identifier "UNRECOVERED_JUMPTABLE")) (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "char *pcVar4;" (primitive_type "char") (pointer_declarator "*pcVar4" (* "*") (identifier "pcVar4")) (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "undefined4 *puVar6;" (type_identifier "undefined4") (pointer_declarator "*puVar6" (* "*") (identifier "puVar6")) (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "undefined *puVar8;" (type_identifier "undefined") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "int local_20;" (primitive_type "int") (identifier "local_20") (; ";")) (declaration "uint local_1c;" (type_identifier "uint") (identifier "local_1c") (; ";")) (declaration "int local_14;" (primitive_type "int") (identifier "local_14") (; ";")) (expression_statement "puVar8 = PTR___stack_chk_guard_001464dc;" (assignment_expression "puVar8 = PTR___stack_chk_guard_001464dc" (identifier "puVar8") (= "=") (identifier "PTR___stack_chk_guard_001464dc")) (; ";")) (expression_statement "local_14 = *(int *)PTR___stack_chk_guard_001464dc;" (assignment_expression "local_14 = *(int *)PTR___stack_chk_guard_001464dc" (identifier "local_14") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_001464dc" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_001464dc" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_001464dc")))) (; ";")) (if_statement "if ((((param_1 == 0) || (*(undefined4 **)(param_1 + 4) == (undefined4 *)0x0)) ||\n      (pcVar4 = (char *)**(undefined4 **)(param_1 + 4), *pcVar4 != '-')) ||\n     (iVar1 = (*(code *)PTR_strcmp_00146548)(pcVar4,PTR_DAT_001445ac + -0x7204), iVar1 != 0)) {\n    iVar1 = FUN_000ae470();\n    if (iVar1 != 0) {\n      get_numeric_arg(param_1,1,&local_20);\n      if ((local_20 < 1) && ((local_20 != 0 || (local_1c == 0)))) {\n        uVar5 = **(undefined4 **)(param_1 + 4);\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x71fc,5);\n        sh_erange(uVar5,uVar7);\n        iVar1 = 1;\n        *(undefined4 *)PTR_breaking_00144d88 = *(undefined4 *)PTR_loop_level_00144dc4;\n      }\n      else {\n        uVar2 = *(uint *)PTR_loop_level_00144dc4;\n        uVar3 = uVar2;\n        if (((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2)) {\n          uVar3 = local_1c;\n        }\n        iVar1 = 0;\n        *(uint *)PTR_continuing_00144d8c = uVar3;\n      }\n    }\n  }\n  else {\n    builtin_help();\n    iVar1 = 0x102;\n  }" (if "if") (parenthesized_expression "((((param_1 == 0) || (*(undefined4 **)(param_1 + 4) == (undefined4 *)0x0)) ||\n      (pcVar4 = (char *)**(undefined4 **)(param_1 + 4), *pcVar4 != '-')) ||\n     (iVar1 = (*(code *)PTR_strcmp_00146548)(pcVar4,PTR_DAT_001445ac + -0x7204), iVar1 != 0))" (( "(") (binary_expression "(((param_1 == 0) || (*(undefined4 **)(param_1 + 4) == (undefined4 *)0x0)) ||\n      (pcVar4 = (char *)**(undefined4 **)(param_1 + 4), *pcVar4 != '-')) ||\n     (iVar1 = (*(code *)PTR_strcmp_00146548)(pcVar4,PTR_DAT_001445ac + -0x7204), iVar1 != 0)" (parenthesized_expression "(((param_1 == 0) || (*(undefined4 **)(param_1 + 4) == (undefined4 *)0x0)) ||\n      (pcVar4 = (char *)**(undefined4 **)(param_1 + 4), *pcVar4 != '-'))" (( "(") (binary_expression "((param_1 == 0) || (*(undefined4 **)(param_1 + 4) == (undefined4 *)0x0)) ||\n      (pcVar4 = (char *)**(undefined4 **)(param_1 + 4), *pcVar4 != '-')" (parenthesized_expression "((param_1 == 0) || (*(undefined4 **)(param_1 + 4) == (undefined4 *)0x0))" (( "(") (binary_expression "(param_1 == 0) || (*(undefined4 **)(param_1 + 4) == (undefined4 *)0x0)" (parenthesized_expression "(param_1 == 0)" (( "(") (binary_expression "param_1 == 0" (identifier "param_1") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*(undefined4 **)(param_1 + 4) == (undefined4 *)0x0)" (( "(") (binary_expression "*(undefined4 **)(param_1 + 4) == (undefined4 *)0x0" (pointer_expression "*(undefined4 **)(param_1 + 4)" (* "*") (cast_expression "(undefined4 **)(param_1 + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))) (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(pcVar4 = (char *)**(undefined4 **)(param_1 + 4), *pcVar4 != '-')" (( "(") (comma_expression "pcVar4 = (char *)**(undefined4 **)(param_1 + 4), *pcVar4 != '-'" (assignment_expression "pcVar4 = (char *)**(undefined4 **)(param_1 + 4)" (identifier "pcVar4") (= "=") (cast_expression "(char *)**(undefined4 **)(param_1 + 4)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(param_1 + 4)" (* "*") (pointer_expression "*(undefined4 **)(param_1 + 4)" (* "*") (cast_expression "(undefined4 **)(param_1 + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")"))))))) (, ",") (binary_expression "*pcVar4 != '-'" (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) (!= "!=") (char_literal "'-'" (' "'") (character "-") (' "'")))) () ")"))) () ")")) (|| "||") (parenthesized_expression "(iVar1 = (*(code *)PTR_strcmp_00146548)(pcVar4,PTR_DAT_001445ac + -0x7204), iVar1 != 0)" (( "(") (comma_expression "iVar1 = (*(code *)PTR_strcmp_00146548)(pcVar4,PTR_DAT_001445ac + -0x7204), iVar1 != 0" (assignment_expression "iVar1 = (*(code *)PTR_strcmp_00146548)(pcVar4,PTR_DAT_001445ac + -0x7204)" (identifier "iVar1") (= "=") (call_expression "(*(code *)PTR_strcmp_00146548)(pcVar4,PTR_DAT_001445ac + -0x7204)" (parenthesized_expression "(*(code *)PTR_strcmp_00146548)" (( "(") (pointer_expression "*(code *)PTR_strcmp_00146548" (* "*") (cast_expression "(code *)PTR_strcmp_00146548" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strcmp_00146548"))) () ")")) (argument_list "(pcVar4,PTR_DAT_001445ac + -0x7204)" (( "(") (identifier "pcVar4") (, ",") (binary_expression "PTR_DAT_001445ac + -0x7204" (identifier "PTR_DAT_001445ac") (+ "+") (number_literal "-0x7204")) () ")")))) (, ",") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n    iVar1 = FUN_000ae470();\n    if (iVar1 != 0) {\n      get_numeric_arg(param_1,1,&local_20);\n      if ((local_20 < 1) && ((local_20 != 0 || (local_1c == 0)))) {\n        uVar5 = **(undefined4 **)(param_1 + 4);\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x71fc,5);\n        sh_erange(uVar5,uVar7);\n        iVar1 = 1;\n        *(undefined4 *)PTR_breaking_00144d88 = *(undefined4 *)PTR_loop_level_00144dc4;\n      }\n      else {\n        uVar2 = *(uint *)PTR_loop_level_00144dc4;\n        uVar3 = uVar2;\n        if (((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2)) {\n          uVar3 = local_1c;\n        }\n        iVar1 = 0;\n        *(uint *)PTR_continuing_00144d8c = uVar3;\n      }\n    }\n  }" ({ "{") (expression_statement "iVar1 = FUN_000ae470();" (assignment_expression "iVar1 = FUN_000ae470()" (identifier "iVar1") (= "=") (call_expression "FUN_000ae470()" (identifier "FUN_000ae470") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar1 != 0) {\n      get_numeric_arg(param_1,1,&local_20);\n      if ((local_20 < 1) && ((local_20 != 0 || (local_1c == 0)))) {\n        uVar5 = **(undefined4 **)(param_1 + 4);\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x71fc,5);\n        sh_erange(uVar5,uVar7);\n        iVar1 = 1;\n        *(undefined4 *)PTR_breaking_00144d88 = *(undefined4 *)PTR_loop_level_00144dc4;\n      }\n      else {\n        uVar2 = *(uint *)PTR_loop_level_00144dc4;\n        uVar3 = uVar2;\n        if (((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2)) {\n          uVar3 = local_1c;\n        }\n        iVar1 = 0;\n        *(uint *)PTR_continuing_00144d8c = uVar3;\n      }\n    }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      get_numeric_arg(param_1,1,&local_20);\n      if ((local_20 < 1) && ((local_20 != 0 || (local_1c == 0)))) {\n        uVar5 = **(undefined4 **)(param_1 + 4);\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x71fc,5);\n        sh_erange(uVar5,uVar7);\n        iVar1 = 1;\n        *(undefined4 *)PTR_breaking_00144d88 = *(undefined4 *)PTR_loop_level_00144dc4;\n      }\n      else {\n        uVar2 = *(uint *)PTR_loop_level_00144dc4;\n        uVar3 = uVar2;\n        if (((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2)) {\n          uVar3 = local_1c;\n        }\n        iVar1 = 0;\n        *(uint *)PTR_continuing_00144d8c = uVar3;\n      }\n    }" ({ "{") (expression_statement "get_numeric_arg(param_1,1,&local_20);" (call_expression "get_numeric_arg(param_1,1,&local_20)" (identifier "get_numeric_arg") (argument_list "(param_1,1,&local_20)" (( "(") (identifier "param_1") (, ",") (number_literal "1") (, ",") (pointer_expression "&local_20" (& "&") (identifier "local_20")) () ")"))) (; ";")) (if_statement "if ((local_20 < 1) && ((local_20 != 0 || (local_1c == 0)))) {\n        uVar5 = **(undefined4 **)(param_1 + 4);\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x71fc,5);\n        sh_erange(uVar5,uVar7);\n        iVar1 = 1;\n        *(undefined4 *)PTR_breaking_00144d88 = *(undefined4 *)PTR_loop_level_00144dc4;\n      }\n      else {\n        uVar2 = *(uint *)PTR_loop_level_00144dc4;\n        uVar3 = uVar2;\n        if (((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2)) {\n          uVar3 = local_1c;\n        }\n        iVar1 = 0;\n        *(uint *)PTR_continuing_00144d8c = uVar3;\n      }" (if "if") (parenthesized_expression "((local_20 < 1) && ((local_20 != 0 || (local_1c == 0))))" (( "(") (binary_expression "(local_20 < 1) && ((local_20 != 0 || (local_1c == 0)))" (parenthesized_expression "(local_20 < 1)" (( "(") (binary_expression "local_20 < 1" (identifier "local_20") (< "<") (number_literal "1")) () ")")) (&& "&&") (parenthesized_expression "((local_20 != 0 || (local_1c == 0)))" (( "(") (parenthesized_expression "(local_20 != 0 || (local_1c == 0))" (( "(") (binary_expression "local_20 != 0 || (local_1c == 0)" (binary_expression "local_20 != 0" (identifier "local_20") (!= "!=") (number_literal "0")) (|| "||") (parenthesized_expression "(local_1c == 0)" (( "(") (binary_expression "local_1c == 0" (identifier "local_1c") (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n        uVar5 = **(undefined4 **)(param_1 + 4);\n        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x71fc,5);\n        sh_erange(uVar5,uVar7);\n        iVar1 = 1;\n        *(undefined4 *)PTR_breaking_00144d88 = *(undefined4 *)PTR_loop_level_00144dc4;\n      }" ({ "{") (expression_statement "uVar5 = **(undefined4 **)(param_1 + 4);" (assignment_expression "uVar5 = **(undefined4 **)(param_1 + 4)" (identifier "uVar5") (= "=") (pointer_expression "**(undefined4 **)(param_1 + 4)" (* "*") (pointer_expression "*(undefined4 **)(param_1 + 4)" (* "*") (cast_expression "(undefined4 **)(param_1 + 4)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 4)" (( "(") (binary_expression "param_1 + 4" (identifier "param_1") (+ "+") (number_literal "4")) () ")")))))) (; ";")) (expression_statement "uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x71fc,5);" (assignment_expression "uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x71fc,5)" (identifier "uVar7") (= "=") (call_expression "(*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x71fc,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_DAT_001445ac + -0x71fc,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_DAT_001445ac + -0x71fc" (identifier "PTR_DAT_001445ac") (+ "+") (number_literal "-0x71fc")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "sh_erange(uVar5,uVar7);" (call_expression "sh_erange(uVar5,uVar7)" (identifier "sh_erange") (argument_list "(uVar5,uVar7)" (( "(") (identifier "uVar5") (, ",") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "iVar1 = 1;" (assignment_expression "iVar1 = 1" (identifier "iVar1") (= "=") (number_literal "1")) (; ";")) (expression_statement "*(undefined4 *)PTR_breaking_00144d88 = *(undefined4 *)PTR_loop_level_00144dc4;" (assignment_expression "*(undefined4 *)PTR_breaking_00144d88 = *(undefined4 *)PTR_loop_level_00144dc4" (pointer_expression "*(undefined4 *)PTR_breaking_00144d88" (* "*") (cast_expression "(undefined4 *)PTR_breaking_00144d88" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_breaking_00144d88"))) (= "=") (pointer_expression "*(undefined4 *)PTR_loop_level_00144dc4" (* "*") (cast_expression "(undefined4 *)PTR_loop_level_00144dc4" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_loop_level_00144dc4")))) (; ";")) (} "}")) (else_clause "else {\n        uVar2 = *(uint *)PTR_loop_level_00144dc4;\n        uVar3 = uVar2;\n        if (((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2)) {\n          uVar3 = local_1c;\n        }\n        iVar1 = 0;\n        *(uint *)PTR_continuing_00144d8c = uVar3;\n      }" (else "else") (compound_statement "{\n        uVar2 = *(uint *)PTR_loop_level_00144dc4;\n        uVar3 = uVar2;\n        if (((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2)) {\n          uVar3 = local_1c;\n        }\n        iVar1 = 0;\n        *(uint *)PTR_continuing_00144d8c = uVar3;\n      }" ({ "{") (expression_statement "uVar2 = *(uint *)PTR_loop_level_00144dc4;" (assignment_expression "uVar2 = *(uint *)PTR_loop_level_00144dc4" (identifier "uVar2") (= "=") (pointer_expression "*(uint *)PTR_loop_level_00144dc4" (* "*") (cast_expression "(uint *)PTR_loop_level_00144dc4" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_loop_level_00144dc4")))) (; ";")) (expression_statement "uVar3 = uVar2;" (assignment_expression "uVar3 = uVar2" (identifier "uVar3") (= "=") (identifier "uVar2")) (; ";")) (if_statement "if (((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2)) {\n          uVar3 = local_1c;\n        }" (if "if") (parenthesized_expression "(((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2))" (( "(") (binary_expression "((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))\n           && (uVar3 = uVar2, local_1c <= uVar2)" (parenthesized_expression "((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))" (( "(") (binary_expression "(local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f)" (parenthesized_expression "(local_20 <= (int)uVar2 >> 0x1f)" (( "(") (binary_expression "local_20 <= (int)uVar2 >> 0x1f" (identifier "local_20") (<= "<=") (binary_expression "(int)uVar2 >> 0x1f" (cast_expression "(int)uVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar2")) (>> ">>") (number_literal "0x1f"))) () ")")) (&& "&&") (parenthesized_expression "(uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f)" (( "(") (comma_expression "uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f" (assignment_expression "uVar3 = local_1c" (identifier "uVar3") (= "=") (identifier "local_1c")) (, ",") (binary_expression "local_20 == (int)uVar2 >> 0x1f" (identifier "local_20") (== "==") (binary_expression "(int)uVar2 >> 0x1f" (cast_expression "(int)uVar2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar2")) (>> ">>") (number_literal "0x1f")))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(uVar3 = uVar2, local_1c <= uVar2)" (( "(") (comma_expression "uVar3 = uVar2, local_1c <= uVar2" (assignment_expression "uVar3 = uVar2" (identifier "uVar3") (= "=") (identifier "uVar2")) (, ",") (binary_expression "local_1c <= uVar2" (identifier "local_1c") (<= "<=") (identifier "uVar2"))) () ")"))) () ")")) (compound_statement "{\n          uVar3 = local_1c;\n        }" ({ "{") (expression_statement "uVar3 = local_1c;" (assignment_expression "uVar3 = local_1c" (identifier "uVar3") (= "=") (identifier "local_1c")) (; ";")) (} "}"))) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" (identifier "iVar1") (= "=") (number_literal "0")) (; ";")) (expression_statement "*(uint *)PTR_continuing_00144d8c = uVar3;" (assignment_expression "*(uint *)PTR_continuing_00144d8c = uVar3" (pointer_expression "*(uint *)PTR_continuing_00144d8c" (* "*") (cast_expression "(uint *)PTR_continuing_00144d8c" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_continuing_00144d8c"))) (= "=") (identifier "uVar3")) (; ";")) (} "}")))) (} "}"))) (} "}")) (else_clause "else {\n    builtin_help();\n    iVar1 = 0x102;\n  }" (else "else") (compound_statement "{\n    builtin_help();\n    iVar1 = 0x102;\n  }" ({ "{") (expression_statement "builtin_help();" (call_expression "builtin_help()" (identifier "builtin_help") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar1 = 0x102;" (assignment_expression "iVar1 = 0x102" (identifier "iVar1") (= "=") (number_literal "0x102")) (; ";")) (} "}")))) (if_statement "if (local_14 != *(int *)puVar8) {\n    puVar8 = PTR___stack_chk_fail_00146488;\n    (*(code *)PTR___stack_chk_fail_00146488)();\n    iVar1 = no_options();\n    if (iVar1 == 0) {\n      puVar6 = (undefined4 *)**(undefined4 **)(puVar8 + 0x97044);\n      iVar1 = 0;\n      if (puVar6 != (undefined4 *)0x0) {\n        uVar7 = *(undefined4 *)puVar6[1];\n        UNRECOVERED_JUMPTABLE = (code *)find_shell_builtin(uVar7);\n        if (UNRECOVERED_JUMPTABLE != (code *)0x0) {\n          uVar5 = *puVar6;\n          **(undefined4 **)(puVar8 + 0x95f08) = uVar7;\n          **(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    \n                    \n          iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5);\n          return iVar1;\n        }\n        sh_notbuiltin(uVar7);\n        iVar1 = 1;\n      }\n    }\n    else {\n      iVar1 = 0x102;\n    }\n    return iVar1;\n  }" (if "if") (parenthesized_expression "(local_14 != *(int *)puVar8)" (( "(") (binary_expression "local_14 != *(int *)puVar8" (identifier "local_14") (!= "!=") (pointer_expression "*(int *)puVar8" (* "*") (cast_expression "(int *)puVar8" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar8")))) () ")")) (compound_statement "{\n    puVar8 = PTR___stack_chk_fail_00146488;\n    (*(code *)PTR___stack_chk_fail_00146488)();\n    iVar1 = no_options();\n    if (iVar1 == 0) {\n      puVar6 = (undefined4 *)**(undefined4 **)(puVar8 + 0x97044);\n      iVar1 = 0;\n      if (puVar6 != (undefined4 *)0x0) {\n        uVar7 = *(undefined4 *)puVar6[1];\n        UNRECOVERED_JUMPTABLE = (code *)find_shell_builtin(uVar7);\n        if (UNRECOVERED_JUMPTABLE != (code *)0x0) {\n          uVar5 = *puVar6;\n          **(undefined4 **)(puVar8 + 0x95f08) = uVar7;\n          **(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    \n                    \n          iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5);\n          return iVar1;\n        }\n        sh_notbuiltin(uVar7);\n        iVar1 = 1;\n      }\n    }\n    else {\n      iVar1 = 0x102;\n    }\n    return iVar1;\n  }" ({ "{") (expression_statement "puVar8 = PTR___stack_chk_fail_00146488;" (assignment_expression "puVar8 = PTR___stack_chk_fail_00146488" (identifier "puVar8") (= "=") (identifier "PTR___stack_chk_fail_00146488")) (; ";")) (expression_statement "(*(code *)PTR___stack_chk_fail_00146488)();" (call_expression "(*(code *)PTR___stack_chk_fail_00146488)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_00146488)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_00146488" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_00146488" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_00146488"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar1 = no_options();" (assignment_expression "iVar1 = no_options()" (identifier "iVar1") (= "=") (call_expression "no_options()" (identifier "no_options") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\n      puVar6 = (undefined4 *)**(undefined4 **)(puVar8 + 0x97044);\n      iVar1 = 0;\n      if (puVar6 != (undefined4 *)0x0) {\n        uVar7 = *(undefined4 *)puVar6[1];\n        UNRECOVERED_JUMPTABLE = (code *)find_shell_builtin(uVar7);\n        if (UNRECOVERED_JUMPTABLE != (code *)0x0) {\n          uVar5 = *puVar6;\n          **(undefined4 **)(puVar8 + 0x95f08) = uVar7;\n          **(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    \n                    \n          iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5);\n          return iVar1;\n        }\n        sh_notbuiltin(uVar7);\n        iVar1 = 1;\n      }\n    }\n    else {\n      iVar1 = 0x102;\n    }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      puVar6 = (undefined4 *)**(undefined4 **)(puVar8 + 0x97044);\n      iVar1 = 0;\n      if (puVar6 != (undefined4 *)0x0) {\n        uVar7 = *(undefined4 *)puVar6[1];\n        UNRECOVERED_JUMPTABLE = (code *)find_shell_builtin(uVar7);\n        if (UNRECOVERED_JUMPTABLE != (code *)0x0) {\n          uVar5 = *puVar6;\n          **(undefined4 **)(puVar8 + 0x95f08) = uVar7;\n          **(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    \n                    \n          iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5);\n          return iVar1;\n        }\n        sh_notbuiltin(uVar7);\n        iVar1 = 1;\n      }\n    }" ({ "{") (expression_statement "puVar6 = (undefined4 *)**(undefined4 **)(puVar8 + 0x97044);" (assignment_expression "puVar6 = (undefined4 *)**(undefined4 **)(puVar8 + 0x97044)" (identifier "puVar6") (= "=") (cast_expression "(undefined4 *)**(undefined4 **)(puVar8 + 0x97044)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "**(undefined4 **)(puVar8 + 0x97044)" (* "*") (pointer_expression "*(undefined4 **)(puVar8 + 0x97044)" (* "*") (cast_expression "(undefined4 **)(puVar8 + 0x97044)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + 0x97044)" (( "(") (binary_expression "puVar8 + 0x97044" (identifier "puVar8") (+ "+") (number_literal "0x97044")) () ")"))))))) (; ";")) (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" (identifier "iVar1") (= "=") (number_literal "0")) (; ";")) (if_statement "if (puVar6 != (undefined4 *)0x0) {\n        uVar7 = *(undefined4 *)puVar6[1];\n        UNRECOVERED_JUMPTABLE = (code *)find_shell_builtin(uVar7);\n        if (UNRECOVERED_JUMPTABLE != (code *)0x0) {\n          uVar5 = *puVar6;\n          **(undefined4 **)(puVar8 + 0x95f08) = uVar7;\n          **(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    \n                    \n          iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5);\n          return iVar1;\n        }\n        sh_notbuiltin(uVar7);\n        iVar1 = 1;\n      }" (if "if") (parenthesized_expression "(puVar6 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar6 != (undefined4 *)0x0" (identifier "puVar6") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        uVar7 = *(undefined4 *)puVar6[1];\n        UNRECOVERED_JUMPTABLE = (code *)find_shell_builtin(uVar7);\n        if (UNRECOVERED_JUMPTABLE != (code *)0x0) {\n          uVar5 = *puVar6;\n          **(undefined4 **)(puVar8 + 0x95f08) = uVar7;\n          **(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    \n                    \n          iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5);\n          return iVar1;\n        }\n        sh_notbuiltin(uVar7);\n        iVar1 = 1;\n      }" ({ "{") (expression_statement "uVar7 = *(undefined4 *)puVar6[1];" (assignment_expression "uVar7 = *(undefined4 *)puVar6[1]" (identifier "uVar7") (= "=") (pointer_expression "*(undefined4 *)puVar6[1]" (* "*") (cast_expression "(undefined4 *)puVar6[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar6[1]" (identifier "puVar6") ([ "[") (number_literal "1") (] "]"))))) (; ";")) (expression_statement "UNRECOVERED_JUMPTABLE = (code *)find_shell_builtin(uVar7);" (assignment_expression "UNRECOVERED_JUMPTABLE = (code *)find_shell_builtin(uVar7)" (identifier "UNRECOVERED_JUMPTABLE") (= "=") (cast_expression "(code *)find_shell_builtin(uVar7)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "find_shell_builtin(uVar7)" (identifier "find_shell_builtin") (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")"))))) (; ";")) (if_statement "if (UNRECOVERED_JUMPTABLE != (code *)0x0) {\n          uVar5 = *puVar6;\n          **(undefined4 **)(puVar8 + 0x95f08) = uVar7;\n          **(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    \n                    \n          iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5);\n          return iVar1;\n        }" (if "if") (parenthesized_expression "(UNRECOVERED_JUMPTABLE != (code *)0x0)" (( "(") (binary_expression "UNRECOVERED_JUMPTABLE != (code *)0x0" (identifier "UNRECOVERED_JUMPTABLE") (!= "!=") (cast_expression "(code *)0x0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          uVar5 = *puVar6;\n          **(undefined4 **)(puVar8 + 0x95f08) = uVar7;\n          **(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE;\n                    \n                    \n          iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5);\n          return iVar1;\n        }" ({ "{") (expression_statement "uVar5 = *puVar6;" (assignment_expression "uVar5 = *puVar6" (identifier "uVar5") (= "=") (pointer_expression "*puVar6" (* "*") (identifier "puVar6"))) (; ";")) (expression_statement "**(undefined4 **)(puVar8 + 0x95f08) = uVar7;" (assignment_expression "**(undefined4 **)(puVar8 + 0x95f08) = uVar7" (pointer_expression "**(undefined4 **)(puVar8 + 0x95f08)" (* "*") (pointer_expression "*(undefined4 **)(puVar8 + 0x95f08)" (* "*") (cast_expression "(undefined4 **)(puVar8 + 0x95f08)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + 0x95f08)" (( "(") (binary_expression "puVar8 + 0x95f08" (identifier "puVar8") (+ "+") (number_literal "0x95f08")) () ")"))))) (= "=") (identifier "uVar7")) (; ";")) (expression_statement "**(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE;" (assignment_expression "**(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE" (pointer_expression "**(undefined4 **)(puVar8 + 0x96264)" (* "*") (pointer_expression "*(undefined4 **)(puVar8 + 0x96264)" (* "*") (cast_expression "(undefined4 **)(puVar8 + 0x96264)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar8 + 0x96264)" (( "(") (binary_expression "puVar8 + 0x96264" (identifier "puVar8") (+ "+") (number_literal "0x96264")) () ")"))))) (= "=") (identifier "UNRECOVERED_JUMPTABLE")) (; ";")) (expression_statement "iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5);" (assignment_expression "iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5)" (identifier "iVar1") (= "=") (call_expression "(*UNRECOVERED_JUMPTABLE)(uVar5)" (parenthesized_expression "(*UNRECOVERED_JUMPTABLE)" (( "(") (pointer_expression "*UNRECOVERED_JUMPTABLE" (* "*") (identifier "UNRECOVERED_JUMPTABLE")) () ")")) (argument_list "(uVar5)" (( "(") (identifier "uVar5") () ")")))) (; ";")) (return_statement "return iVar1;" (return "return") (identifier "iVar1") (; ";")) (} "}"))) (expression_statement "sh_notbuiltin(uVar7);" (call_expression "sh_notbuiltin(uVar7)" (identifier "sh_notbuiltin") (argument_list "(uVar7)" (( "(") (identifier "uVar7") () ")"))) (; ";")) (expression_statement "iVar1 = 1;" (assignment_expression "iVar1 = 1" (identifier "iVar1") (= "=") (number_literal "1")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      iVar1 = 0x102;\n    }" (else "else") (compound_statement "{\n      iVar1 = 0x102;\n    }" ({ "{") (expression_statement "iVar1 = 0x102;" (assignment_expression "iVar1 = 0x102" (identifier "iVar1") (= "=") (number_literal "0x102")) (; ";")) (} "}")))) (return_statement "return iVar1;" (return "return") (identifier "iVar1") (; ";")) (} "}"))) (return_statement "return iVar1;" (return "return") (identifier "iVar1") (; ";")) (} "}")))

int function_1(type_1 *var_2)

{
  int var_3;
  type_2 *var_14;
  type_3 *puVar2;
  type_3 var_8;
  type_3 uVar4;
  char *pcVar5;
  type_1 *pWVar6;
  char *s;
  type_4 *var_12;
  int *piVar8;
  int var_1;
  type_5 *var_11;
  type_6 newcont;
  type_1 *var_9;
  
  piVar8 = *(int **)(&LAB_00097e58 + var_1);
  var_9 = (type_1 *)*piVar8;
  if ((var_2 != (type_1 *)0x0) && (var_2->word != (type_7 *)0x0)) {
    pcVar5 = var_2->word->word;
    if ((*pcVar5 == '-') &&
       (var_3 = (**(type_5 **)(&LAB_00097ec4 + var_1))(pcVar5,*(int *)(var_1 + 0x95f28) + -0x7204),
       var_3 == 0)) {
      var_4();
      var_3 = 0x102;
      goto LAB_000ae6f4;
    }
  }
  var_3 = var_5();
  if (var_3 != 0) {
    var_6(var_2,1,&newcont);
    if (newcont._0_4_ < 1) {
      if ((newcont._0_4_ != 0) || (puVar2 = *(type_3 **)(var_1 + 0x96740), newcont._4_4_ == 0)) {
        s = var_2->word->word;
        pcVar5 = (char *)(**(type_5 **)(&LAB_00097e14 + var_1))
                                   (0,*(int *)(var_1 + 0x95f28) + -0x71fc,5);
        var_7(s,pcVar5);
        var_3 = 1;
        **(type_4 **)(var_1 + 0x96704) = **(type_4 **)(var_1 + 0x96740);
        goto LAB_000ae6f4;
      }
    }
    else {
      puVar2 = *(type_3 **)(var_1 + 0x96740);
    }
    var_8 = *puVar2;
    uVar4 = var_8;
    if (((int)var_8 >> 0x1f < newcont._0_4_) ||
       (uVar4 = newcont._4_4_, newcont._0_4_ != (int)var_8 >> 0x1f)) {
      puVar2 = *(type_3 **)(var_1 + 0x96708);
    }
    else {
      puVar2 = *(type_3 **)(var_1 + 0x96708);
      uVar4 = var_8;
      if (newcont._4_4_ <= var_8) {
        uVar4 = newcont._4_4_;
      }
    }
    var_3 = 0;
    *puVar2 = uVar4;
  }
LAB_000ae6f4:
  if (var_9 == (type_1 *)*piVar8) {
    return var_3;
  }
  var_11 = *(type_5 **)(&LAB_00097e04 + var_1);
  pWVar6 = var_9;
  (*var_11)();
  var_3 = var_10(pWVar6);
  if (var_3 == 0) {
    var_12 = (type_4 *)**(type_4 **)(var_11 + 0x97044);
    var_3 = 0;
    if (var_12 != (type_4 *)0x0) {
      pcVar5 = *(char **)var_12[1];
      var_14 = var_13(pcVar5);
      if (var_14 != (type_2 *)0x0) {
        pWVar6 = (type_1 *)*var_12;
        **(type_4 **)(var_11 + 0x95f08) = pcVar5;
        **(type_4 **)(var_11 + 0x96264) = var_14;
                    /* WARNING: Could not recover jumptable at 0x000ae89c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
        var_3 = (*var_14)(pWVar6);
        return var_3;
      }
      var_15(pcVar5);
      var_3 = 1;
    }
  }
  else {
    var_3 = 0x102;
  }
  return var_3;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) 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: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character))))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (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) (identifier)))) (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: (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: (pointer_expression argument: (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: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (identifier) right: (identifier)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (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))))))))) alternative: (else_clause (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))))) (expression_statement (assignment_expression left: (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: (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: (subscript_expression argument: (identifier) index: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier))))) (return_statement (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (return_statement (identifier)))) (return_statement (identifier)))))

int MASKED(int param_1)

{
  int iVar1;
  code *UNRECOVERED_JUMPTABLE;
  uint uVar2;
  uint uVar3;
  char *pcVar4;
  undefined4 uVar5;
  undefined4 *puVar6;
  undefined4 uVar7;
  undefined *puVar8;
  int local_20;
  uint local_1c;
  int local_14;
  
  puVar8 = PTR___stack_chk_guard_001464dc;
  local_14 = *(int *)PTR___stack_chk_guard_001464dc;
  if ((((param_1 == 0) || (*(undefined4 **)(param_1 + 4) == (undefined4 *)0x0)) ||
      (pcVar4 = (char *)**(undefined4 **)(param_1 + 4), *pcVar4 != '-')) ||
     (iVar1 = (*(code *)PTR_strcmp_00146548)(pcVar4,PTR_DAT_001445ac + -0x7204), iVar1 != 0)) {
    iVar1 = FUN_000ae470();
    if (iVar1 != 0) {
      get_numeric_arg(param_1,1,&local_20);
      if ((local_20 < 1) && ((local_20 != 0 || (local_1c == 0)))) {
        uVar5 = **(undefined4 **)(param_1 + 4);
        uVar7 = (*(code *)PTR_dcgettext_00146498)(0,PTR_DAT_001445ac + -0x71fc,5);
        sh_erange(uVar5,uVar7);
        iVar1 = 1;
        *(undefined4 *)PTR_breaking_00144d88 = *(undefined4 *)PTR_loop_level_00144dc4;
      }
      else {
        uVar2 = *(uint *)PTR_loop_level_00144dc4;
        uVar3 = uVar2;
        if (((local_20 <= (int)uVar2 >> 0x1f) && (uVar3 = local_1c, local_20 == (int)uVar2 >> 0x1f))
           && (uVar3 = uVar2, local_1c <= uVar2)) {
          uVar3 = local_1c;
        }
        iVar1 = 0;
        *(uint *)PTR_continuing_00144d8c = uVar3;
      }
    }
  }
  else {
    builtin_help();
    iVar1 = 0x102;
  }
  if (local_14 != *(int *)puVar8) {
    puVar8 = PTR___stack_chk_fail_00146488;
    (*(code *)PTR___stack_chk_fail_00146488)();
    iVar1 = no_options();
    if (iVar1 == 0) {
      puVar6 = (undefined4 *)**(undefined4 **)(puVar8 + 0x97044);
      iVar1 = 0;
      if (puVar6 != (undefined4 *)0x0) {
        uVar7 = *(undefined4 *)puVar6[1];
        UNRECOVERED_JUMPTABLE = (code *)find_shell_builtin(uVar7);
        if (UNRECOVERED_JUMPTABLE != (code *)0x0) {
          uVar5 = *puVar6;
          **(undefined4 **)(puVar8 + 0x95f08) = uVar7;
          **(undefined4 **)(puVar8 + 0x96264) = UNRECOVERED_JUMPTABLE;
                    /* WARNING: Could not recover jumptable at 0x000ae89c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
          iVar1 = (*UNRECOVERED_JUMPTABLE)(uVar5);
          return iVar1;
        }
        sh_notbuiltin(uVar7);
        iVar1 = 1;
      }
    }
    else {
      iVar1 = 0x102;
    }
    return iVar1;
  }
  return iVar1;
}

