
/* WARNING: Unknown calling convention */

int three_arguments(void)

{
  char cVar1;
  bool bVar2;
  int iVar3;
  uint uVar4;
  char *pcVar5;
  int iVar6;
  char *pcVar7;
  int iVar8;
  int iVar9;
  
  iVar8 = *(int *)(PTR_pidstat_table_3077__0015656c + -0x4c20);
  iVar9 = *(int *)(PTR_pidstat_table_3077__0015656c + -0x4c18);
  iVar6 = (iVar9 + 1) * 4;
  pcVar7 = *(char **)(iVar8 + iVar6);
  iVar3 = test_binop(pcVar7);
  if (iVar3 != 0) {
    iVar3 = binary_operator();
    *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c18) =
         *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c1c);
    return iVar3;
  }
  if (*pcVar7 == '-') {
    if (pcVar7[1] == 'a') {
      if (pcVar7[2] == '\0') {
        uVar4 = 0;
        if (**(char **)(iVar8 + iVar6 + -4) != '\0') {
          uVar4 = (uint)(**(char **)(iVar8 + iVar6 + 4) != '\0');
        }
        goto LAB_00096720;
      }
    }
    else if ((pcVar7[1] == 'o') && (pcVar7[2] == '\0')) {
      if (**(char **)(iVar8 + iVar6 + -4) == '\0') {
        uVar4 = (uint)(**(char **)(iVar8 + iVar6 + 4) != '\0');
      }
      else {
        uVar4 = 1;
      }
LAB_00096720:
      *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c18) =
           *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c1c);
      return uVar4;
    }
  }
  pcVar5 = *(char **)(iVar8 + iVar6 + -4);
  cVar1 = *pcVar5;
  if (cVar1 == '!') {
    if (pcVar5[1] != '\0') goto LAB_00096788;
    iVar9 = iVar9 + 1;
    *(int *)(PTR_pidstat_table_3077__0015656c + -0x4c18) = iVar9;
    if (*(int *)(PTR_pidstat_table_3077__0015656c + -0x4c1c) <= iVar9) {
                    /* WARNING: Subroutine does not return */
      beyond();
    }
    iVar3 = two_arguments();
    bVar2 = iVar3 == 0;
  }
  else {
    if ((cVar1 != '(') || (bVar2 = *pcVar7 != '\0', **(char **)(iVar8 + iVar6 + 4) != ')')) {
LAB_00096788:
      pcVar7 = (char *)(*(code *)PTR_dcgettext_00158548)
                                 (0,PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c,5);
                    /* WARNING: Subroutine does not return */
      test_syntax_error(pcVar7,*(char **)(iVar8 + iVar6));
    }
    *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c18) =
         *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c1c);
  }
  return (uint)bVar2;
}



uint FUN_000965d0(void)

{
  char cVar1;
  int iVar2;
  uint uVar3;
  undefined4 uVar4;
  int iVar5;
  char *pcVar6;
  int iVar7;
  int iVar8;
  
  iVar7 = *(int *)(PTR_DAT_0015656c + -0x4c20);
  iVar8 = *(int *)(PTR_DAT_0015656c + -0x4c18);
  iVar5 = (iVar8 + 1) * 4;
  pcVar6 = *(char **)(iVar7 + iVar5);
  iVar2 = test_binop(pcVar6);
  if (iVar2 != 0) {
    uVar3 = FUN_000960c8();
    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);
    return uVar3;
  }
  cVar1 = *pcVar6;
  if (cVar1 == '-') {
    if (pcVar6[1] == 'a') {
      if (pcVar6[2] == '\0') {
        uVar3 = 0;
        if (**(char **)(iVar7 + iVar5 + -4) != '\0') {
          uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');
        }
        goto LAB_00096720;
      }
    }
    else if ((pcVar6[1] == 'o') && (pcVar6[2] == '\0')) {
      if (**(char **)(iVar7 + iVar5 + -4) == '\0') {
        uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');
      }
      else {
        uVar3 = 1;
      }
LAB_00096720:
      *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);
      return uVar3;
    }
  }
  pcVar6 = *(char **)(iVar7 + iVar5 + -4);
  if (*pcVar6 == '!') {
    if (pcVar6[1] == '\0') {
      iVar8 = iVar8 + 1;
      *(int *)(PTR_DAT_0015656c + -0x4c18) = iVar8;
      if (iVar8 < *(int *)(PTR_DAT_0015656c + -0x4c1c)) {
        iVar2 = FUN_000964a8();
        return (uint)(iVar2 == 0);
      }
      FUN_000952a0(pcVar6,0x21,5);
    }
  }
  else if ((*pcVar6 == '(') && (**(char **)(iVar7 + iVar5 + 4) == ')')) {
    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);
    return (uint)(cVar1 != '\0');
  }
  uVar4 = (*(code *)PTR_dcgettext_00158548)
                    (0,PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c,5);
                    /* WARNING: Subroutine does not return */
  FUN_00094f50(uVar4,*(undefined4 *)(iVar7 + iVar5));
}


lui gp,0xc
addiu gp,gp,0x7f70
addu gp,gp,t9
addiu sp,sp,-0x30
sw ra,0x2c(sp)
sw s4,0x28(sp)
sw s3,0x24(sp)
sw s2,0x20(sp)
sw s1,0x1c(sp)
sw s0,0x18(sp)
sw gp,0x10(sp)
lw v0,-0x7fd4(gp)
lw s3,-0x4c20(v0)
lw v0,-0x7fd4(gp)
lw s4,-0x4c18(v0)
addiu s0,s4,0x1
sll s0,s0,0x2
addu s2,s3,s0
lw s1,0x0(s2)
or a0,s1,zero
lw t9,-0x7b20(gp)
bal 0x00095f40
_nop
lw gp,0x10(sp)
bne v0,zero,0x000966ac
_li a0,0x2d
lb v1,0x0(s1)
beq v1,a0,0x000966d4
_li a1,0x61
addu v0,s3,s0
lw a0,-0x4(v0)
lb v0,0x0(a0)
li a1,0x21
beq v0,a1,0x00096730
_nop
li a0,0x28
bne v0,a0,0x00096784
_addu s0,s3,s0
lw v0,0x4(s0)
lb a0,0x0(v0)
li v0,0x29
bne a0,v0,0x00096784
_sltu v0,zero,v1
lw v1,-0x7fd4(gp)
lw a0,-0x4c1c(v1)
lw v1,-0x7fd4(gp)
sw a0,-0x4c18(v1)
lw ra,0x2c(sp)
lw s4,0x28(sp)
lw s3,0x24(sp)
lw s2,0x20(sp)
lw s1,0x1c(sp)
lw s0,0x18(sp)
jr ra
_addiu sp,sp,0x30
lw t9,-0x71ec(gp)
addiu t9,t9,0x60c8
bal 0x000960c8
_nop
lw gp,0x10(sp)
lw v1,-0x7fd4(gp)
lw a0,-0x4c1c(v1)
lw v1,-0x7fd4(gp)
b 0x0009668c
_sw a0,-0x4c18(v1)
lb a0,0x1(s1)
beq a0,a1,0x000967bc
_nop
li v0,0x6f
bne a0,v0,0x00096648
_addu v0,s3,s0
lb v0,0x2(s1)
bne v0,zero,0x00096644
_addu v0,s3,s0
lw v0,-0x4(v0)
lb v0,0x0(v0)
bne v0,zero,0x00096718
_addu s0,s3,s0
lw v0,0x4(s0)
lb v0,0x0(v0)
b 0x0009671c
_sltu v0,zero,v0
li v0,0x1
lw v1,-0x7fd4(gp)
lw a0,-0x4c1c(v1)
lw v1,-0x7fd4(gp)
b 0x0009668c
_sw a0,-0x4c18(v1)
lb v0,0x1(a0)
bne v0,zero,0x00096788
_li a2,0x5
addiu s4,s4,0x1
lw v0,-0x7fd4(gp)
sw s4,-0x4c18(v0)
lw v0,-0x7fd4(gp)
lw v0,-0x4c1c(v0)
slt s4,s4,v0
beq s4,zero,0x00096774
_lw t9,-0x71ec(gp)
addiu t9,t9,0x64a8
bal 0x000964a8
_nop
lw gp,0x10(sp)
b 0x0009668c
_sltiu v0,v0,0x1
lw t9,-0x71ec(gp)
addiu t9,t9,0x52a0
bal 0x000952a0
_nop
li a2,0x5
lw a1,-0x7eec(gp)
addiu a1,a1,-0x556c
or a0,zero,zero
lw t9,-0x5ff8(gp)
jalr t9
_nop
lw gp,0x10(sp)
lw a1,0x0(s2)
or a0,v0,zero
lw t9,-0x71ec(gp)
addiu t9,t9,0x4f50
bal 0x00094f50
_nop
lb a0,0x2(s1)
bne a0,zero,0x00096644
_nop
addu v1,s3,s0
lw v1,-0x4(v1)
lb v1,0x0(v1)
beq v1,zero,0x00096720
_lw v1,-0x7fd4(gp)
addu s0,s3,s0
lw v0,0x4(s0)
lb v0,0x0(v0)
b 0x00096720
_sltu v0,zero,v0
(translation_unit "uint FUN_000965d0(void)\n\n{\n  char cVar1;\n  int iVar2;\n  uint uVar3;\n  undefined4 uVar4;\n  int iVar5;\n  char *pcVar6;\n  int iVar7;\n  int iVar8;\n  \n  iVar7 = *(int *)(PTR_DAT_0015656c + -0x4c20);\n  iVar8 = *(int *)(PTR_DAT_0015656c + -0x4c18);\n  iVar5 = (iVar8 + 1) * 4;\n  pcVar6 = *(char **)(iVar7 + iVar5);\n  iVar2 = test_binop(pcVar6);\n  if (iVar2 != 0) {\n    uVar3 = FUN_000960c8();\n    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n    return uVar3;\n  }\n  cVar1 = *pcVar6;\n  if (cVar1 == '-') {\n    if (pcVar6[1] == 'a') {\n      if (pcVar6[2] == '\0') {\n        uVar3 = 0;\n        if (**(char **)(iVar7 + iVar5 + -4) != '\0') {\n          uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n        }\n        goto LAB_00096720;\n      }\n    }\n    else if ((pcVar6[1] == 'o') && (pcVar6[2] == '\0')) {\n      if (**(char **)(iVar7 + iVar5 + -4) == '\0') {\n        uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n      }\n      else {\n        uVar3 = 1;\n      }\nLAB_00096720:\n      *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n      return uVar3;\n    }\n  }\n  pcVar6 = *(char **)(iVar7 + iVar5 + -4);\n  if (*pcVar6 == '!') {\n    if (pcVar6[1] == '\0') {\n      iVar8 = iVar8 + 1;\n      *(int *)(PTR_DAT_0015656c + -0x4c18) = iVar8;\n      if (iVar8 < *(int *)(PTR_DAT_0015656c + -0x4c1c)) {\n        iVar2 = FUN_000964a8();\n        return (uint)(iVar2 == 0);\n      }\n      FUN_000952a0(pcVar6,0x21,5);\n    }\n  }\n  else if ((*pcVar6 == '(') && (**(char **)(iVar7 + iVar5 + 4) == ')')) {\n    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n    return (uint)(cVar1 != '\0');\n  }\n  uVar4 = (*(code *)PTR_dcgettext_00158548)\n                    (0,PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c,5);\n                    /* WARNING: Subroutine does not return */\n  FUN_00094f50(uVar4,*(undefined4 *)(iVar7 + iVar5));\n}\n\n" (function_definition "uint FUN_000965d0(void)\n\n{\n  char cVar1;\n  int iVar2;\n  uint uVar3;\n  undefined4 uVar4;\n  int iVar5;\n  char *pcVar6;\n  int iVar7;\n  int iVar8;\n  \n  iVar7 = *(int *)(PTR_DAT_0015656c + -0x4c20);\n  iVar8 = *(int *)(PTR_DAT_0015656c + -0x4c18);\n  iVar5 = (iVar8 + 1) * 4;\n  pcVar6 = *(char **)(iVar7 + iVar5);\n  iVar2 = test_binop(pcVar6);\n  if (iVar2 != 0) {\n    uVar3 = FUN_000960c8();\n    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n    return uVar3;\n  }\n  cVar1 = *pcVar6;\n  if (cVar1 == '-') {\n    if (pcVar6[1] == 'a') {\n      if (pcVar6[2] == '\0') {\n        uVar3 = 0;\n        if (**(char **)(iVar7 + iVar5 + -4) != '\0') {\n          uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n        }\n        goto LAB_00096720;\n      }\n    }\n    else if ((pcVar6[1] == 'o') && (pcVar6[2] == '\0')) {\n      if (**(char **)(iVar7 + iVar5 + -4) == '\0') {\n        uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n      }\n      else {\n        uVar3 = 1;\n      }\nLAB_00096720:\n      *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n      return uVar3;\n    }\n  }\n  pcVar6 = *(char **)(iVar7 + iVar5 + -4);\n  if (*pcVar6 == '!') {\n    if (pcVar6[1] == '\0') {\n      iVar8 = iVar8 + 1;\n      *(int *)(PTR_DAT_0015656c + -0x4c18) = iVar8;\n      if (iVar8 < *(int *)(PTR_DAT_0015656c + -0x4c1c)) {\n        iVar2 = FUN_000964a8();\n        return (uint)(iVar2 == 0);\n      }\n      FUN_000952a0(pcVar6,0x21,5);\n    }\n  }\n  else if ((*pcVar6 == '(') && (**(char **)(iVar7 + iVar5 + 4) == ')')) {\n    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n    return (uint)(cVar1 != '\0');\n  }\n  uVar4 = (*(code *)PTR_dcgettext_00158548)\n                    (0,PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c,5);\n                    /* WARNING: Subroutine does not return */\n  FUN_00094f50(uVar4,*(undefined4 *)(iVar7 + iVar5));\n}" type_identifier (function_declarator "FUN_000965d0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  char cVar1;\n  int iVar2;\n  uint uVar3;\n  undefined4 uVar4;\n  int iVar5;\n  char *pcVar6;\n  int iVar7;\n  int iVar8;\n  \n  iVar7 = *(int *)(PTR_DAT_0015656c + -0x4c20);\n  iVar8 = *(int *)(PTR_DAT_0015656c + -0x4c18);\n  iVar5 = (iVar8 + 1) * 4;\n  pcVar6 = *(char **)(iVar7 + iVar5);\n  iVar2 = test_binop(pcVar6);\n  if (iVar2 != 0) {\n    uVar3 = FUN_000960c8();\n    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n    return uVar3;\n  }\n  cVar1 = *pcVar6;\n  if (cVar1 == '-') {\n    if (pcVar6[1] == 'a') {\n      if (pcVar6[2] == '\0') {\n        uVar3 = 0;\n        if (**(char **)(iVar7 + iVar5 + -4) != '\0') {\n          uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n        }\n        goto LAB_00096720;\n      }\n    }\n    else if ((pcVar6[1] == 'o') && (pcVar6[2] == '\0')) {\n      if (**(char **)(iVar7 + iVar5 + -4) == '\0') {\n        uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n      }\n      else {\n        uVar3 = 1;\n      }\nLAB_00096720:\n      *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n      return uVar3;\n    }\n  }\n  pcVar6 = *(char **)(iVar7 + iVar5 + -4);\n  if (*pcVar6 == '!') {\n    if (pcVar6[1] == '\0') {\n      iVar8 = iVar8 + 1;\n      *(int *)(PTR_DAT_0015656c + -0x4c18) = iVar8;\n      if (iVar8 < *(int *)(PTR_DAT_0015656c + -0x4c1c)) {\n        iVar2 = FUN_000964a8();\n        return (uint)(iVar2 == 0);\n      }\n      FUN_000952a0(pcVar6,0x21,5);\n    }\n  }\n  else if ((*pcVar6 == '(') && (**(char **)(iVar7 + iVar5 + 4) == ')')) {\n    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n    return (uint)(cVar1 != '\0');\n  }\n  uVar4 = (*(code *)PTR_dcgettext_00158548)\n                    (0,PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c,5);\n                    /* WARNING: Subroutine does not return */\n  FUN_00094f50(uVar4,*(undefined4 *)(iVar7 + iVar5));\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (expression_statement "iVar7 = *(int *)(PTR_DAT_0015656c + -0x4c20);" (assignment_expression "iVar7 = *(int *)(PTR_DAT_0015656c + -0x4c20)" identifier = (pointer_expression "*(int *)(PTR_DAT_0015656c + -0x4c20)" * (cast_expression "(int *)(PTR_DAT_0015656c + -0x4c20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0015656c + -0x4c20)" ( (binary_expression "PTR_DAT_0015656c + -0x4c20" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(PTR_DAT_0015656c + -0x4c18);" (assignment_expression "iVar8 = *(int *)(PTR_DAT_0015656c + -0x4c18)" identifier = (pointer_expression "*(int *)(PTR_DAT_0015656c + -0x4c18)" * (cast_expression "(int *)(PTR_DAT_0015656c + -0x4c18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0015656c + -0x4c18)" ( (binary_expression "PTR_DAT_0015656c + -0x4c18" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = (iVar8 + 1) * 4;" (assignment_expression "iVar5 = (iVar8 + 1) * 4" identifier = (binary_expression "(iVar8 + 1) * 4" (parenthesized_expression "(iVar8 + 1)" ( (binary_expression "iVar8 + 1" identifier + number_literal) )) * number_literal)) ;) (expression_statement "pcVar6 = *(char **)(iVar7 + iVar5);" (assignment_expression "pcVar6 = *(char **)(iVar7 + iVar5)" identifier = (pointer_expression "*(char **)(iVar7 + iVar5)" * (cast_expression "(char **)(iVar7 + iVar5)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + iVar5)" ( (binary_expression "iVar7 + iVar5" identifier + identifier) ))))) ;) (expression_statement "iVar2 = test_binop(pcVar6);" (assignment_expression "iVar2 = test_binop(pcVar6)" identifier = (call_expression "test_binop(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier )))) ;) (if_statement "if (iVar2 != 0) {\n    uVar3 = FUN_000960c8();\n    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n    return uVar3;\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar3 = FUN_000960c8();\n    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n    return uVar3;\n  }" { (expression_statement "uVar3 = FUN_000960c8();" (assignment_expression "uVar3 = FUN_000960c8()" identifier = (call_expression "FUN_000960c8()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);" (assignment_expression "*(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c)" (pointer_expression "*(undefined4 *)(PTR_DAT_0015656c + -0x4c18)" * (cast_expression "(undefined4 *)(PTR_DAT_0015656c + -0x4c18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0015656c + -0x4c18)" ( (binary_expression "PTR_DAT_0015656c + -0x4c18" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(PTR_DAT_0015656c + -0x4c1c)" * (cast_expression "(undefined4 *)(PTR_DAT_0015656c + -0x4c1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0015656c + -0x4c1c)" ( (binary_expression "PTR_DAT_0015656c + -0x4c1c" identifier + number_literal) ))))) ;) (return_statement "return uVar3;" return identifier ;) })) (expression_statement "cVar1 = *pcVar6;" (assignment_expression "cVar1 = *pcVar6" identifier = (pointer_expression "*pcVar6" * identifier)) ;) (if_statement "if (cVar1 == '-') {\n    if (pcVar6[1] == 'a') {\n      if (pcVar6[2] == '\0') {\n        uVar3 = 0;\n        if (**(char **)(iVar7 + iVar5 + -4) != '\0') {\n          uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n        }\n        goto LAB_00096720;\n      }\n    }\n    else if ((pcVar6[1] == 'o') && (pcVar6[2] == '\0')) {\n      if (**(char **)(iVar7 + iVar5 + -4) == '\0') {\n        uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n      }\n      else {\n        uVar3 = 1;\n      }\nLAB_00096720:\n      *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n      return uVar3;\n    }\n  }" if (parenthesized_expression "(cVar1 == '-')" ( (binary_expression "cVar1 == '-'" identifier == (char_literal "'-'" ' character ')) )) (compound_statement "{\n    if (pcVar6[1] == 'a') {\n      if (pcVar6[2] == '\0') {\n        uVar3 = 0;\n        if (**(char **)(iVar7 + iVar5 + -4) != '\0') {\n          uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n        }\n        goto LAB_00096720;\n      }\n    }\n    else if ((pcVar6[1] == 'o') && (pcVar6[2] == '\0')) {\n      if (**(char **)(iVar7 + iVar5 + -4) == '\0') {\n        uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n      }\n      else {\n        uVar3 = 1;\n      }\nLAB_00096720:\n      *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n      return uVar3;\n    }\n  }" { (if_statement "if (pcVar6[1] == 'a') {\n      if (pcVar6[2] == '\0') {\n        uVar3 = 0;\n        if (**(char **)(iVar7 + iVar5 + -4) != '\0') {\n          uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n        }\n        goto LAB_00096720;\n      }\n    }\n    else if ((pcVar6[1] == 'o') && (pcVar6[2] == '\0')) {\n      if (**(char **)(iVar7 + iVar5 + -4) == '\0') {\n        uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n      }\n      else {\n        uVar3 = 1;\n      }\nLAB_00096720:\n      *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n      return uVar3;\n    }" if (parenthesized_expression "(pcVar6[1] == 'a')" ( (binary_expression "pcVar6[1] == 'a'" (subscript_expression "pcVar6[1]" identifier [ number_literal ]) == (char_literal "'a'" ' character ')) )) (compound_statement "{\n      if (pcVar6[2] == '\0') {\n        uVar3 = 0;\n        if (**(char **)(iVar7 + iVar5 + -4) != '\0') {\n          uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n        }\n        goto LAB_00096720;\n      }\n    }" { (if_statement "if (pcVar6[2] == '\0') {\n        uVar3 = 0;\n        if (**(char **)(iVar7 + iVar5 + -4) != '\0') {\n          uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n        }\n        goto LAB_00096720;\n      }" if (parenthesized_expression "(pcVar6[2] == '\0')" ( (binary_expression "pcVar6[2] == '\0'" (subscript_expression "pcVar6[2]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar3 = 0;\n        if (**(char **)(iVar7 + iVar5 + -4) != '\0') {\n          uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n        }\n        goto LAB_00096720;\n      }" { (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" identifier = number_literal) ;) (if_statement "if (**(char **)(iVar7 + iVar5 + -4) != '\0') {\n          uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n        }" if (parenthesized_expression "(**(char **)(iVar7 + iVar5 + -4) != '\0')" ( (binary_expression "**(char **)(iVar7 + iVar5 + -4) != '\0'" (pointer_expression "**(char **)(iVar7 + iVar5 + -4)" * (pointer_expression "*(char **)(iVar7 + iVar5 + -4)" * (cast_expression "(char **)(iVar7 + iVar5 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + iVar5 + -4)" ( (binary_expression "iVar7 + iVar5 + -4" (binary_expression "iVar7 + iVar5" identifier + identifier) + number_literal) ))))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n        }" { (expression_statement "uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');" (assignment_expression "uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0')" identifier = (call_expression "(uint)(**(char **)(iVar7 + iVar5 + 4) != '\0')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(**(char **)(iVar7 + iVar5 + 4) != '\0')" ( (binary_expression "**(char **)(iVar7 + iVar5 + 4) != '\0'" (pointer_expression "**(char **)(iVar7 + iVar5 + 4)" * (pointer_expression "*(char **)(iVar7 + iVar5 + 4)" * (cast_expression "(char **)(iVar7 + iVar5 + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + iVar5 + 4)" ( (binary_expression "iVar7 + iVar5 + 4" (binary_expression "iVar7 + iVar5" identifier + identifier) + number_literal) ))))) != (char_literal "'\0'" ' escape_sequence ')) )))) ;) })) (goto_statement "goto LAB_00096720;" goto statement_identifier ;) })) }) (else_clause "else if ((pcVar6[1] == 'o') && (pcVar6[2] == '\0')) {\n      if (**(char **)(iVar7 + iVar5 + -4) == '\0') {\n        uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n      }\n      else {\n        uVar3 = 1;\n      }\nLAB_00096720:\n      *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n      return uVar3;\n    }" else (if_statement "if ((pcVar6[1] == 'o') && (pcVar6[2] == '\0')) {\n      if (**(char **)(iVar7 + iVar5 + -4) == '\0') {\n        uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n      }\n      else {\n        uVar3 = 1;\n      }\nLAB_00096720:\n      *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n      return uVar3;\n    }" if (parenthesized_expression "((pcVar6[1] == 'o') && (pcVar6[2] == '\0'))" ( (binary_expression "(pcVar6[1] == 'o') && (pcVar6[2] == '\0')" (parenthesized_expression "(pcVar6[1] == 'o')" ( (binary_expression "pcVar6[1] == 'o'" (subscript_expression "pcVar6[1]" identifier [ number_literal ]) == (char_literal "'o'" ' character ')) )) && (parenthesized_expression "(pcVar6[2] == '\0')" ( (binary_expression "pcVar6[2] == '\0'" (subscript_expression "pcVar6[2]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n      if (**(char **)(iVar7 + iVar5 + -4) == '\0') {\n        uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n      }\n      else {\n        uVar3 = 1;\n      }\nLAB_00096720:\n      *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n      return uVar3;\n    }" { (if_statement "if (**(char **)(iVar7 + iVar5 + -4) == '\0') {\n        uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n      }\n      else {\n        uVar3 = 1;\n      }" if (parenthesized_expression "(**(char **)(iVar7 + iVar5 + -4) == '\0')" ( (binary_expression "**(char **)(iVar7 + iVar5 + -4) == '\0'" (pointer_expression "**(char **)(iVar7 + iVar5 + -4)" * (pointer_expression "*(char **)(iVar7 + iVar5 + -4)" * (cast_expression "(char **)(iVar7 + iVar5 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + iVar5 + -4)" ( (binary_expression "iVar7 + iVar5 + -4" (binary_expression "iVar7 + iVar5" identifier + identifier) + number_literal) ))))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n      }" { (expression_statement "uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');" (assignment_expression "uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0')" identifier = (call_expression "(uint)(**(char **)(iVar7 + iVar5 + 4) != '\0')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(**(char **)(iVar7 + iVar5 + 4) != '\0')" ( (binary_expression "**(char **)(iVar7 + iVar5 + 4) != '\0'" (pointer_expression "**(char **)(iVar7 + iVar5 + 4)" * (pointer_expression "*(char **)(iVar7 + iVar5 + 4)" * (cast_expression "(char **)(iVar7 + iVar5 + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + iVar5 + 4)" ( (binary_expression "iVar7 + iVar5 + 4" (binary_expression "iVar7 + iVar5" identifier + identifier) + number_literal) ))))) != (char_literal "'\0'" ' escape_sequence ')) )))) ;) }) (else_clause "else {\n        uVar3 = 1;\n      }" else (compound_statement "{\n        uVar3 = 1;\n      }" { (expression_statement "uVar3 = 1;" (assignment_expression "uVar3 = 1" identifier = number_literal) ;) }))) (labeled_statement "LAB_00096720:\n      *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);" statement_identifier : (expression_statement "*(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);" (assignment_expression "*(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c)" (pointer_expression "*(undefined4 *)(PTR_DAT_0015656c + -0x4c18)" * (cast_expression "(undefined4 *)(PTR_DAT_0015656c + -0x4c18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0015656c + -0x4c18)" ( (binary_expression "PTR_DAT_0015656c + -0x4c18" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(PTR_DAT_0015656c + -0x4c1c)" * (cast_expression "(undefined4 *)(PTR_DAT_0015656c + -0x4c1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0015656c + -0x4c1c)" ( (binary_expression "PTR_DAT_0015656c + -0x4c1c" identifier + number_literal) ))))) ;)) (return_statement "return uVar3;" return identifier ;) })))) })) (expression_statement "pcVar6 = *(char **)(iVar7 + iVar5 + -4);" (assignment_expression "pcVar6 = *(char **)(iVar7 + iVar5 + -4)" identifier = (pointer_expression "*(char **)(iVar7 + iVar5 + -4)" * (cast_expression "(char **)(iVar7 + iVar5 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + iVar5 + -4)" ( (binary_expression "iVar7 + iVar5 + -4" (binary_expression "iVar7 + iVar5" identifier + identifier) + number_literal) ))))) ;) (if_statement "if (*pcVar6 == '!') {\n    if (pcVar6[1] == '\0') {\n      iVar8 = iVar8 + 1;\n      *(int *)(PTR_DAT_0015656c + -0x4c18) = iVar8;\n      if (iVar8 < *(int *)(PTR_DAT_0015656c + -0x4c1c)) {\n        iVar2 = FUN_000964a8();\n        return (uint)(iVar2 == 0);\n      }\n      FUN_000952a0(pcVar6,0x21,5);\n    }\n  }\n  else if ((*pcVar6 == '(') && (**(char **)(iVar7 + iVar5 + 4) == ')')) {\n    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n    return (uint)(cVar1 != '\0');\n  }" if (parenthesized_expression "(*pcVar6 == '!')" ( (binary_expression "*pcVar6 == '!'" (pointer_expression "*pcVar6" * identifier) == (char_literal "'!'" ' character ')) )) (compound_statement "{\n    if (pcVar6[1] == '\0') {\n      iVar8 = iVar8 + 1;\n      *(int *)(PTR_DAT_0015656c + -0x4c18) = iVar8;\n      if (iVar8 < *(int *)(PTR_DAT_0015656c + -0x4c1c)) {\n        iVar2 = FUN_000964a8();\n        return (uint)(iVar2 == 0);\n      }\n      FUN_000952a0(pcVar6,0x21,5);\n    }\n  }" { (if_statement "if (pcVar6[1] == '\0') {\n      iVar8 = iVar8 + 1;\n      *(int *)(PTR_DAT_0015656c + -0x4c18) = iVar8;\n      if (iVar8 < *(int *)(PTR_DAT_0015656c + -0x4c1c)) {\n        iVar2 = FUN_000964a8();\n        return (uint)(iVar2 == 0);\n      }\n      FUN_000952a0(pcVar6,0x21,5);\n    }" if (parenthesized_expression "(pcVar6[1] == '\0')" ( (binary_expression "pcVar6[1] == '\0'" (subscript_expression "pcVar6[1]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      iVar8 = iVar8 + 1;\n      *(int *)(PTR_DAT_0015656c + -0x4c18) = iVar8;\n      if (iVar8 < *(int *)(PTR_DAT_0015656c + -0x4c1c)) {\n        iVar2 = FUN_000964a8();\n        return (uint)(iVar2 == 0);\n      }\n      FUN_000952a0(pcVar6,0x21,5);\n    }" { (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "*(int *)(PTR_DAT_0015656c + -0x4c18) = iVar8;" (assignment_expression "*(int *)(PTR_DAT_0015656c + -0x4c18) = iVar8" (pointer_expression "*(int *)(PTR_DAT_0015656c + -0x4c18)" * (cast_expression "(int *)(PTR_DAT_0015656c + -0x4c18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0015656c + -0x4c18)" ( (binary_expression "PTR_DAT_0015656c + -0x4c18" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar8 < *(int *)(PTR_DAT_0015656c + -0x4c1c)) {\n        iVar2 = FUN_000964a8();\n        return (uint)(iVar2 == 0);\n      }" if (parenthesized_expression "(iVar8 < *(int *)(PTR_DAT_0015656c + -0x4c1c))" ( (binary_expression "iVar8 < *(int *)(PTR_DAT_0015656c + -0x4c1c)" identifier < (pointer_expression "*(int *)(PTR_DAT_0015656c + -0x4c1c)" * (cast_expression "(int *)(PTR_DAT_0015656c + -0x4c1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0015656c + -0x4c1c)" ( (binary_expression "PTR_DAT_0015656c + -0x4c1c" identifier + number_literal) ))))) )) (compound_statement "{\n        iVar2 = FUN_000964a8();\n        return (uint)(iVar2 == 0);\n      }" { (expression_statement "iVar2 = FUN_000964a8();" (assignment_expression "iVar2 = FUN_000964a8()" identifier = (call_expression "FUN_000964a8()" identifier (argument_list "()" ( )))) ;) (return_statement "return (uint)(iVar2 == 0);" return (call_expression "(uint)(iVar2 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) ))) ;) })) (expression_statement "FUN_000952a0(pcVar6,0x21,5);" (call_expression "FUN_000952a0(pcVar6,0x21,5)" identifier (argument_list "(pcVar6,0x21,5)" ( identifier , number_literal , number_literal ))) ;) })) }) (else_clause "else if ((*pcVar6 == '(') && (**(char **)(iVar7 + iVar5 + 4) == ')')) {\n    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n    return (uint)(cVar1 != '\0');\n  }" else (if_statement "if ((*pcVar6 == '(') && (**(char **)(iVar7 + iVar5 + 4) == ')')) {\n    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n    return (uint)(cVar1 != '\0');\n  }" if (parenthesized_expression "((*pcVar6 == '(') && (**(char **)(iVar7 + iVar5 + 4) == ')'))" ( (binary_expression "(*pcVar6 == '(') && (**(char **)(iVar7 + iVar5 + 4) == ')')" (parenthesized_expression "(*pcVar6 == '(')" ( (binary_expression "*pcVar6 == '('" (pointer_expression "*pcVar6" * identifier) == (char_literal "'('" ' character ')) )) && (parenthesized_expression "(**(char **)(iVar7 + iVar5 + 4) == ')')" ( (binary_expression "**(char **)(iVar7 + iVar5 + 4) == ')'" (pointer_expression "**(char **)(iVar7 + iVar5 + 4)" * (pointer_expression "*(char **)(iVar7 + iVar5 + 4)" * (cast_expression "(char **)(iVar7 + iVar5 + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + iVar5 + 4)" ( (binary_expression "iVar7 + iVar5 + 4" (binary_expression "iVar7 + iVar5" identifier + identifier) + number_literal) ))))) == (char_literal "')'" ' character ')) ))) )) (compound_statement "{\n    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n    return (uint)(cVar1 != '\0');\n  }" { (expression_statement "*(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);" (assignment_expression "*(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c)" (pointer_expression "*(undefined4 *)(PTR_DAT_0015656c + -0x4c18)" * (cast_expression "(undefined4 *)(PTR_DAT_0015656c + -0x4c18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0015656c + -0x4c18)" ( (binary_expression "PTR_DAT_0015656c + -0x4c18" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(PTR_DAT_0015656c + -0x4c1c)" * (cast_expression "(undefined4 *)(PTR_DAT_0015656c + -0x4c1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0015656c + -0x4c1c)" ( (binary_expression "PTR_DAT_0015656c + -0x4c1c" identifier + number_literal) ))))) ;) (return_statement "return (uint)(cVar1 != '\0');" return (call_expression "(uint)(cVar1 != '\0')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) ))) ;) })))) (expression_statement "uVar4 = (*(code *)PTR_dcgettext_00158548)\n                    (0,PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c,5);" (assignment_expression "uVar4 = (*(code *)PTR_dcgettext_00158548)\n                    (0,PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_00158548)\n                    (0,PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_00158548)" ( (pointer_expression "*(code *)PTR_dcgettext_00158548" * (cast_expression "(code *)PTR_dcgettext_00158548" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c,5)" ( number_literal , (binary_expression "PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c" identifier + number_literal) , number_literal )))) ;) comment (expression_statement "FUN_00094f50(uVar4,*(undefined4 *)(iVar7 + iVar5));" (call_expression "FUN_00094f50(uVar4,*(undefined4 *)(iVar7 + iVar5))" identifier (argument_list "(uVar4,*(undefined4 *)(iVar7 + iVar5))" ( identifier , (pointer_expression "*(undefined4 *)(iVar7 + iVar5)" * (cast_expression "(undefined4 *)(iVar7 + iVar5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + iVar5)" ( (binary_expression "iVar7 + iVar5" identifier + identifier) )))) ))) ;) })))
(translation_unit "/* WARNING: Unknown calling convention */\n\nint three_arguments(void)\n\n{\n  char cVar1;\n  bool bVar2;\n  int iVar3;\n  uint uVar4;\n  char *pcVar5;\n  int iVar6;\n  char *pcVar7;\n  int iVar8;\n  int iVar9;\n  \n  iVar8 = *(int *)(PTR_pidstat_table_3077__0015656c + -0x4c20);\n  iVar9 = *(int *)(PTR_pidstat_table_3077__0015656c + -0x4c18);\n  iVar6 = (iVar9 + 1) * 4;\n  pcVar7 = *(char **)(iVar8 + iVar6);\n  iVar3 = test_binop(pcVar7);\n  if (iVar3 != 0) {\n    iVar3 = binary_operator();\n    *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c18) =\n         *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c1c);\n    return iVar3;\n  }\n  if (*pcVar7 == '-') {\n    if (pcVar7[1] == 'a') {\n      if (pcVar7[2] == '\0') {\n        uVar4 = 0;\n        if (**(char **)(iVar8 + iVar6 + -4) != '\0') {\n          uVar4 = (uint)(**(char **)(iVar8 + iVar6 + 4) != '\0');\n        }\n        goto LAB_00096720;\n      }\n    }\n    else if ((pcVar7[1] == 'o') && (pcVar7[2] == '\0')) {\n      if (**(char **)(iVar8 + iVar6 + -4) == '\0') {\n        uVar4 = (uint)(**(char **)(iVar8 + iVar6 + 4) != '\0');\n      }\n      else {\n        uVar4 = 1;\n      }\nLAB_00096720:\n      *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c18) =\n           *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c1c);\n      return uVar4;\n    }\n  }\n  pcVar5 = *(char **)(iVar8 + iVar6 + -4);\n  cVar1 = *pcVar5;\n  if (cVar1 == '!') {\n    if (pcVar5[1] != '\0') goto LAB_00096788;\n    iVar9 = iVar9 + 1;\n    *(int *)(PTR_pidstat_table_3077__0015656c + -0x4c18) = iVar9;\n    if (*(int *)(PTR_pidstat_table_3077__0015656c + -0x4c1c) <= iVar9) {\n                    /* WARNING: Subroutine does not return */\n      beyond();\n    }\n    iVar3 = two_arguments();\n    bVar2 = iVar3 == 0;\n  }\n  else {\n    if ((cVar1 != '(') || (bVar2 = *pcVar7 != '\0', **(char **)(iVar8 + iVar6 + 4) != ')')) {\nLAB_00096788:\n      pcVar7 = (char *)(*(code *)PTR_dcgettext_00158548)\n                                 (0,PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c,5);\n                    /* WARNING: Subroutine does not return */\n      test_syntax_error(pcVar7,*(char **)(iVar8 + iVar6));\n    }\n    *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c18) =\n         *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c1c);\n  }\n  return (uint)bVar2;\n}\n\n" comment (function_definition "int three_arguments(void)\n\n{\n  char cVar1;\n  bool bVar2;\n  int iVar3;\n  uint uVar4;\n  char *pcVar5;\n  int iVar6;\n  char *pcVar7;\n  int iVar8;\n  int iVar9;\n  \n  iVar8 = *(int *)(PTR_pidstat_table_3077__0015656c + -0x4c20);\n  iVar9 = *(int *)(PTR_pidstat_table_3077__0015656c + -0x4c18);\n  iVar6 = (iVar9 + 1) * 4;\n  pcVar7 = *(char **)(iVar8 + iVar6);\n  iVar3 = test_binop(pcVar7);\n  if (iVar3 != 0) {\n    iVar3 = binary_operator();\n    *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c18) =\n         *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c1c);\n    return iVar3;\n  }\n  if (*pcVar7 == '-') {\n    if (pcVar7[1] == 'a') {\n      if (pcVar7[2] == '\0') {\n        uVar4 = 0;\n        if (**(char **)(iVar8 + iVar6 + -4) != '\0') {\n          uVar4 = (uint)(**(char **)(iVar8 + iVar6 + 4) != '\0');\n        }\n        goto LAB_00096720;\n      }\n    }\n    else if ((pcVar7[1] == 'o') && (pcVar7[2] == '\0')) {\n      if (**(char **)(iVar8 + iVar6 + -4) == '\0') {\n        uVar4 = (uint)(**(char **)(iVar8 + iVar6 + 4) != '\0');\n      }\n      else {\n        uVar4 = 1;\n      }\nLAB_00096720:\n      *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c18) =\n           *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c1c);\n      return uVar4;\n    }\n  }\n  pcVar5 = *(char **)(iVar8 + iVar6 + -4);\n  cVar1 = *pcVar5;\n  if (cVar1 == '!') {\n    if (pcVar5[1] != '\0') goto LAB_00096788;\n    iVar9 = iVar9 + 1;\n    *(int *)(PTR_pidstat_table_3077__0015656c + -0x4c18) = iVar9;\n    if (*(int *)(PTR_pidstat_table_3077__0015656c + -0x4c1c) <= iVar9) {\n                    /* WARNING: Subroutine does not return */\n      beyond();\n    }\n    iVar3 = two_arguments();\n    bVar2 = iVar3 == 0;\n  }\n  else {\n    if ((cVar1 != '(') || (bVar2 = *pcVar7 != '\0', **(char **)(iVar8 + iVar6 + 4) != ')')) {\nLAB_00096788:\n      pcVar7 = (char *)(*(code *)PTR_dcgettext_00158548)\n                                 (0,PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c,5);\n                    /* WARNING: Subroutine does not return */\n      test_syntax_error(pcVar7,*(char **)(iVar8 + iVar6));\n    }\n    *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c18) =\n         *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c1c);\n  }\n  return (uint)bVar2;\n}" primitive_type (function_declarator "three_arguments(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  char cVar1;\n  bool bVar2;\n  int iVar3;\n  uint uVar4;\n  char *pcVar5;\n  int iVar6;\n  char *pcVar7;\n  int iVar8;\n  int iVar9;\n  \n  iVar8 = *(int *)(PTR_pidstat_table_3077__0015656c + -0x4c20);\n  iVar9 = *(int *)(PTR_pidstat_table_3077__0015656c + -0x4c18);\n  iVar6 = (iVar9 + 1) * 4;\n  pcVar7 = *(char **)(iVar8 + iVar6);\n  iVar3 = test_binop(pcVar7);\n  if (iVar3 != 0) {\n    iVar3 = binary_operator();\n    *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c18) =\n         *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c1c);\n    return iVar3;\n  }\n  if (*pcVar7 == '-') {\n    if (pcVar7[1] == 'a') {\n      if (pcVar7[2] == '\0') {\n        uVar4 = 0;\n        if (**(char **)(iVar8 + iVar6 + -4) != '\0') {\n          uVar4 = (uint)(**(char **)(iVar8 + iVar6 + 4) != '\0');\n        }\n        goto LAB_00096720;\n      }\n    }\n    else if ((pcVar7[1] == 'o') && (pcVar7[2] == '\0')) {\n      if (**(char **)(iVar8 + iVar6 + -4) == '\0') {\n        uVar4 = (uint)(**(char **)(iVar8 + iVar6 + 4) != '\0');\n      }\n      else {\n        uVar4 = 1;\n      }\nLAB_00096720:\n      *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c18) =\n           *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c1c);\n      return uVar4;\n    }\n  }\n  pcVar5 = *(char **)(iVar8 + iVar6 + -4);\n  cVar1 = *pcVar5;\n  if (cVar1 == '!') {\n    if (pcVar5[1] != '\0') goto LAB_00096788;\n    iVar9 = iVar9 + 1;\n    *(int *)(PTR_pidstat_table_3077__0015656c + -0x4c18) = iVar9;\n    if (*(int *)(PTR_pidstat_table_3077__0015656c + -0x4c1c) <= iVar9) {\n                    /* WARNING: Subroutine does not return */\n      beyond();\n    }\n    iVar3 = two_arguments();\n    bVar2 = iVar3 == 0;\n  }\n  else {\n    if ((cVar1 != '(') || (bVar2 = *pcVar7 != '\0', **(char **)(iVar8 + iVar6 + 4) != ')')) {\nLAB_00096788:\n      pcVar7 = (char *)(*(code *)PTR_dcgettext_00158548)\n                                 (0,PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c,5);\n                    /* WARNING: Subroutine does not return */\n      test_syntax_error(pcVar7,*(char **)(iVar8 + iVar6));\n    }\n    *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c18) =\n         *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c1c);\n  }\n  return (uint)bVar2;\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "char *pcVar7;" primitive_type (pointer_declarator "*pcVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (expression_statement "iVar8 = *(int *)(PTR_pidstat_table_3077__0015656c + -0x4c20);" (assignment_expression "iVar8 = *(int *)(PTR_pidstat_table_3077__0015656c + -0x4c20)" identifier = (pointer_expression "*(int *)(PTR_pidstat_table_3077__0015656c + -0x4c20)" * (cast_expression "(int *)(PTR_pidstat_table_3077__0015656c + -0x4c20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_pidstat_table_3077__0015656c + -0x4c20)" ( (binary_expression "PTR_pidstat_table_3077__0015656c + -0x4c20" identifier + number_literal) ))))) ;) (expression_statement "iVar9 = *(int *)(PTR_pidstat_table_3077__0015656c + -0x4c18);" (assignment_expression "iVar9 = *(int *)(PTR_pidstat_table_3077__0015656c + -0x4c18)" identifier = (pointer_expression "*(int *)(PTR_pidstat_table_3077__0015656c + -0x4c18)" * (cast_expression "(int *)(PTR_pidstat_table_3077__0015656c + -0x4c18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_pidstat_table_3077__0015656c + -0x4c18)" ( (binary_expression "PTR_pidstat_table_3077__0015656c + -0x4c18" identifier + number_literal) ))))) ;) (expression_statement "iVar6 = (iVar9 + 1) * 4;" (assignment_expression "iVar6 = (iVar9 + 1) * 4" identifier = (binary_expression "(iVar9 + 1) * 4" (parenthesized_expression "(iVar9 + 1)" ( (binary_expression "iVar9 + 1" identifier + number_literal) )) * number_literal)) ;) (expression_statement "pcVar7 = *(char **)(iVar8 + iVar6);" (assignment_expression "pcVar7 = *(char **)(iVar8 + iVar6)" identifier = (pointer_expression "*(char **)(iVar8 + iVar6)" * (cast_expression "(char **)(iVar8 + iVar6)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + iVar6)" ( (binary_expression "iVar8 + iVar6" identifier + identifier) ))))) ;) (expression_statement "iVar3 = test_binop(pcVar7);" (assignment_expression "iVar3 = test_binop(pcVar7)" identifier = (call_expression "test_binop(pcVar7)" identifier (argument_list "(pcVar7)" ( identifier )))) ;) (if_statement "if (iVar3 != 0) {\n    iVar3 = binary_operator();\n    *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c18) =\n         *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c1c);\n    return iVar3;\n  }" if (parenthesized_expression "(iVar3 != 0)" ( (binary_expression "iVar3 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar3 = binary_operator();\n    *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c18) =\n         *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c1c);\n    return iVar3;\n  }" { (expression_statement "iVar3 = binary_operator();" (assignment_expression "iVar3 = binary_operator()" identifier = (call_expression "binary_operator()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c18) =\n         *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c1c);" (assignment_expression "*(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c18) =\n         *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c1c)" (pointer_expression "*(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c18)" * (cast_expression "(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_pidstat_table_3077__0015656c + -0x4c18)" ( (binary_expression "PTR_pidstat_table_3077__0015656c + -0x4c18" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c1c)" * (cast_expression "(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_pidstat_table_3077__0015656c + -0x4c1c)" ( (binary_expression "PTR_pidstat_table_3077__0015656c + -0x4c1c" identifier + number_literal) ))))) ;) (return_statement "return iVar3;" return identifier ;) })) (if_statement "if (*pcVar7 == '-') {\n    if (pcVar7[1] == 'a') {\n      if (pcVar7[2] == '\0') {\n        uVar4 = 0;\n        if (**(char **)(iVar8 + iVar6 + -4) != '\0') {\n          uVar4 = (uint)(**(char **)(iVar8 + iVar6 + 4) != '\0');\n        }\n        goto LAB_00096720;\n      }\n    }\n    else if ((pcVar7[1] == 'o') && (pcVar7[2] == '\0')) {\n      if (**(char **)(iVar8 + iVar6 + -4) == '\0') {\n        uVar4 = (uint)(**(char **)(iVar8 + iVar6 + 4) != '\0');\n      }\n      else {\n        uVar4 = 1;\n      }\nLAB_00096720:\n      *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c18) =\n           *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c1c);\n      return uVar4;\n    }\n  }" if (parenthesized_expression "(*pcVar7 == '-')" ( (binary_expression "*pcVar7 == '-'" (pointer_expression "*pcVar7" * identifier) == (char_literal "'-'" ' character ')) )) (compound_statement "{\n    if (pcVar7[1] == 'a') {\n      if (pcVar7[2] == '\0') {\n        uVar4 = 0;\n        if (**(char **)(iVar8 + iVar6 + -4) != '\0') {\n          uVar4 = (uint)(**(char **)(iVar8 + iVar6 + 4) != '\0');\n        }\n        goto LAB_00096720;\n      }\n    }\n    else if ((pcVar7[1] == 'o') && (pcVar7[2] == '\0')) {\n      if (**(char **)(iVar8 + iVar6 + -4) == '\0') {\n        uVar4 = (uint)(**(char **)(iVar8 + iVar6 + 4) != '\0');\n      }\n      else {\n        uVar4 = 1;\n      }\nLAB_00096720:\n      *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c18) =\n           *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c1c);\n      return uVar4;\n    }\n  }" { (if_statement "if (pcVar7[1] == 'a') {\n      if (pcVar7[2] == '\0') {\n        uVar4 = 0;\n        if (**(char **)(iVar8 + iVar6 + -4) != '\0') {\n          uVar4 = (uint)(**(char **)(iVar8 + iVar6 + 4) != '\0');\n        }\n        goto LAB_00096720;\n      }\n    }\n    else if ((pcVar7[1] == 'o') && (pcVar7[2] == '\0')) {\n      if (**(char **)(iVar8 + iVar6 + -4) == '\0') {\n        uVar4 = (uint)(**(char **)(iVar8 + iVar6 + 4) != '\0');\n      }\n      else {\n        uVar4 = 1;\n      }\nLAB_00096720:\n      *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c18) =\n           *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c1c);\n      return uVar4;\n    }" if (parenthesized_expression "(pcVar7[1] == 'a')" ( (binary_expression "pcVar7[1] == 'a'" (subscript_expression "pcVar7[1]" identifier [ number_literal ]) == (char_literal "'a'" ' character ')) )) (compound_statement "{\n      if (pcVar7[2] == '\0') {\n        uVar4 = 0;\n        if (**(char **)(iVar8 + iVar6 + -4) != '\0') {\n          uVar4 = (uint)(**(char **)(iVar8 + iVar6 + 4) != '\0');\n        }\n        goto LAB_00096720;\n      }\n    }" { (if_statement "if (pcVar7[2] == '\0') {\n        uVar4 = 0;\n        if (**(char **)(iVar8 + iVar6 + -4) != '\0') {\n          uVar4 = (uint)(**(char **)(iVar8 + iVar6 + 4) != '\0');\n        }\n        goto LAB_00096720;\n      }" if (parenthesized_expression "(pcVar7[2] == '\0')" ( (binary_expression "pcVar7[2] == '\0'" (subscript_expression "pcVar7[2]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar4 = 0;\n        if (**(char **)(iVar8 + iVar6 + -4) != '\0') {\n          uVar4 = (uint)(**(char **)(iVar8 + iVar6 + 4) != '\0');\n        }\n        goto LAB_00096720;\n      }" { (expression_statement "uVar4 = 0;" (assignment_expression "uVar4 = 0" identifier = number_literal) ;) (if_statement "if (**(char **)(iVar8 + iVar6 + -4) != '\0') {\n          uVar4 = (uint)(**(char **)(iVar8 + iVar6 + 4) != '\0');\n        }" if (parenthesized_expression "(**(char **)(iVar8 + iVar6 + -4) != '\0')" ( (binary_expression "**(char **)(iVar8 + iVar6 + -4) != '\0'" (pointer_expression "**(char **)(iVar8 + iVar6 + -4)" * (pointer_expression "*(char **)(iVar8 + iVar6 + -4)" * (cast_expression "(char **)(iVar8 + iVar6 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + iVar6 + -4)" ( (binary_expression "iVar8 + iVar6 + -4" (binary_expression "iVar8 + iVar6" identifier + identifier) + number_literal) ))))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          uVar4 = (uint)(**(char **)(iVar8 + iVar6 + 4) != '\0');\n        }" { (expression_statement "uVar4 = (uint)(**(char **)(iVar8 + iVar6 + 4) != '\0');" (assignment_expression "uVar4 = (uint)(**(char **)(iVar8 + iVar6 + 4) != '\0')" identifier = (call_expression "(uint)(**(char **)(iVar8 + iVar6 + 4) != '\0')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(**(char **)(iVar8 + iVar6 + 4) != '\0')" ( (binary_expression "**(char **)(iVar8 + iVar6 + 4) != '\0'" (pointer_expression "**(char **)(iVar8 + iVar6 + 4)" * (pointer_expression "*(char **)(iVar8 + iVar6 + 4)" * (cast_expression "(char **)(iVar8 + iVar6 + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + iVar6 + 4)" ( (binary_expression "iVar8 + iVar6 + 4" (binary_expression "iVar8 + iVar6" identifier + identifier) + number_literal) ))))) != (char_literal "'\0'" ' escape_sequence ')) )))) ;) })) (goto_statement "goto LAB_00096720;" goto statement_identifier ;) })) }) (else_clause "else if ((pcVar7[1] == 'o') && (pcVar7[2] == '\0')) {\n      if (**(char **)(iVar8 + iVar6 + -4) == '\0') {\n        uVar4 = (uint)(**(char **)(iVar8 + iVar6 + 4) != '\0');\n      }\n      else {\n        uVar4 = 1;\n      }\nLAB_00096720:\n      *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c18) =\n           *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c1c);\n      return uVar4;\n    }" else (if_statement "if ((pcVar7[1] == 'o') && (pcVar7[2] == '\0')) {\n      if (**(char **)(iVar8 + iVar6 + -4) == '\0') {\n        uVar4 = (uint)(**(char **)(iVar8 + iVar6 + 4) != '\0');\n      }\n      else {\n        uVar4 = 1;\n      }\nLAB_00096720:\n      *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c18) =\n           *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c1c);\n      return uVar4;\n    }" if (parenthesized_expression "((pcVar7[1] == 'o') && (pcVar7[2] == '\0'))" ( (binary_expression "(pcVar7[1] == 'o') && (pcVar7[2] == '\0')" (parenthesized_expression "(pcVar7[1] == 'o')" ( (binary_expression "pcVar7[1] == 'o'" (subscript_expression "pcVar7[1]" identifier [ number_literal ]) == (char_literal "'o'" ' character ')) )) && (parenthesized_expression "(pcVar7[2] == '\0')" ( (binary_expression "pcVar7[2] == '\0'" (subscript_expression "pcVar7[2]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n      if (**(char **)(iVar8 + iVar6 + -4) == '\0') {\n        uVar4 = (uint)(**(char **)(iVar8 + iVar6 + 4) != '\0');\n      }\n      else {\n        uVar4 = 1;\n      }\nLAB_00096720:\n      *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c18) =\n           *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c1c);\n      return uVar4;\n    }" { (if_statement "if (**(char **)(iVar8 + iVar6 + -4) == '\0') {\n        uVar4 = (uint)(**(char **)(iVar8 + iVar6 + 4) != '\0');\n      }\n      else {\n        uVar4 = 1;\n      }" if (parenthesized_expression "(**(char **)(iVar8 + iVar6 + -4) == '\0')" ( (binary_expression "**(char **)(iVar8 + iVar6 + -4) == '\0'" (pointer_expression "**(char **)(iVar8 + iVar6 + -4)" * (pointer_expression "*(char **)(iVar8 + iVar6 + -4)" * (cast_expression "(char **)(iVar8 + iVar6 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + iVar6 + -4)" ( (binary_expression "iVar8 + iVar6 + -4" (binary_expression "iVar8 + iVar6" identifier + identifier) + number_literal) ))))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar4 = (uint)(**(char **)(iVar8 + iVar6 + 4) != '\0');\n      }" { (expression_statement "uVar4 = (uint)(**(char **)(iVar8 + iVar6 + 4) != '\0');" (assignment_expression "uVar4 = (uint)(**(char **)(iVar8 + iVar6 + 4) != '\0')" identifier = (call_expression "(uint)(**(char **)(iVar8 + iVar6 + 4) != '\0')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(**(char **)(iVar8 + iVar6 + 4) != '\0')" ( (binary_expression "**(char **)(iVar8 + iVar6 + 4) != '\0'" (pointer_expression "**(char **)(iVar8 + iVar6 + 4)" * (pointer_expression "*(char **)(iVar8 + iVar6 + 4)" * (cast_expression "(char **)(iVar8 + iVar6 + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + iVar6 + 4)" ( (binary_expression "iVar8 + iVar6 + 4" (binary_expression "iVar8 + iVar6" identifier + identifier) + number_literal) ))))) != (char_literal "'\0'" ' escape_sequence ')) )))) ;) }) (else_clause "else {\n        uVar4 = 1;\n      }" else (compound_statement "{\n        uVar4 = 1;\n      }" { (expression_statement "uVar4 = 1;" (assignment_expression "uVar4 = 1" identifier = number_literal) ;) }))) (labeled_statement "LAB_00096720:\n      *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c18) =\n           *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c1c);" statement_identifier : (expression_statement "*(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c18) =\n           *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c1c);" (assignment_expression "*(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c18) =\n           *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c1c)" (pointer_expression "*(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c18)" * (cast_expression "(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_pidstat_table_3077__0015656c + -0x4c18)" ( (binary_expression "PTR_pidstat_table_3077__0015656c + -0x4c18" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c1c)" * (cast_expression "(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_pidstat_table_3077__0015656c + -0x4c1c)" ( (binary_expression "PTR_pidstat_table_3077__0015656c + -0x4c1c" identifier + number_literal) ))))) ;)) (return_statement "return uVar4;" return identifier ;) })))) })) (expression_statement "pcVar5 = *(char **)(iVar8 + iVar6 + -4);" (assignment_expression "pcVar5 = *(char **)(iVar8 + iVar6 + -4)" identifier = (pointer_expression "*(char **)(iVar8 + iVar6 + -4)" * (cast_expression "(char **)(iVar8 + iVar6 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + iVar6 + -4)" ( (binary_expression "iVar8 + iVar6 + -4" (binary_expression "iVar8 + iVar6" identifier + identifier) + number_literal) ))))) ;) (expression_statement "cVar1 = *pcVar5;" (assignment_expression "cVar1 = *pcVar5" identifier = (pointer_expression "*pcVar5" * identifier)) ;) (if_statement "if (cVar1 == '!') {\n    if (pcVar5[1] != '\0') goto LAB_00096788;\n    iVar9 = iVar9 + 1;\n    *(int *)(PTR_pidstat_table_3077__0015656c + -0x4c18) = iVar9;\n    if (*(int *)(PTR_pidstat_table_3077__0015656c + -0x4c1c) <= iVar9) {\n                    /* WARNING: Subroutine does not return */\n      beyond();\n    }\n    iVar3 = two_arguments();\n    bVar2 = iVar3 == 0;\n  }\n  else {\n    if ((cVar1 != '(') || (bVar2 = *pcVar7 != '\0', **(char **)(iVar8 + iVar6 + 4) != ')')) {\nLAB_00096788:\n      pcVar7 = (char *)(*(code *)PTR_dcgettext_00158548)\n                                 (0,PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c,5);\n                    /* WARNING: Subroutine does not return */\n      test_syntax_error(pcVar7,*(char **)(iVar8 + iVar6));\n    }\n    *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c18) =\n         *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c1c);\n  }" if (parenthesized_expression "(cVar1 == '!')" ( (binary_expression "cVar1 == '!'" identifier == (char_literal "'!'" ' character ')) )) (compound_statement "{\n    if (pcVar5[1] != '\0') goto LAB_00096788;\n    iVar9 = iVar9 + 1;\n    *(int *)(PTR_pidstat_table_3077__0015656c + -0x4c18) = iVar9;\n    if (*(int *)(PTR_pidstat_table_3077__0015656c + -0x4c1c) <= iVar9) {\n                    /* WARNING: Subroutine does not return */\n      beyond();\n    }\n    iVar3 = two_arguments();\n    bVar2 = iVar3 == 0;\n  }" { (if_statement "if (pcVar5[1] != '\0') goto LAB_00096788;" if (parenthesized_expression "(pcVar5[1] != '\0')" ( (binary_expression "pcVar5[1] != '\0'" (subscript_expression "pcVar5[1]" identifier [ number_literal ]) != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00096788;" goto statement_identifier ;)) (expression_statement "iVar9 = iVar9 + 1;" (assignment_expression "iVar9 = iVar9 + 1" identifier = (binary_expression "iVar9 + 1" identifier + number_literal)) ;) (expression_statement "*(int *)(PTR_pidstat_table_3077__0015656c + -0x4c18) = iVar9;" (assignment_expression "*(int *)(PTR_pidstat_table_3077__0015656c + -0x4c18) = iVar9" (pointer_expression "*(int *)(PTR_pidstat_table_3077__0015656c + -0x4c18)" * (cast_expression "(int *)(PTR_pidstat_table_3077__0015656c + -0x4c18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_pidstat_table_3077__0015656c + -0x4c18)" ( (binary_expression "PTR_pidstat_table_3077__0015656c + -0x4c18" identifier + number_literal) )))) = identifier) ;) (if_statement "if (*(int *)(PTR_pidstat_table_3077__0015656c + -0x4c1c) <= iVar9) {\n                    /* WARNING: Subroutine does not return */\n      beyond();\n    }" if (parenthesized_expression "(*(int *)(PTR_pidstat_table_3077__0015656c + -0x4c1c) <= iVar9)" ( (binary_expression "*(int *)(PTR_pidstat_table_3077__0015656c + -0x4c1c) <= iVar9" (pointer_expression "*(int *)(PTR_pidstat_table_3077__0015656c + -0x4c1c)" * (cast_expression "(int *)(PTR_pidstat_table_3077__0015656c + -0x4c1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_pidstat_table_3077__0015656c + -0x4c1c)" ( (binary_expression "PTR_pidstat_table_3077__0015656c + -0x4c1c" identifier + number_literal) )))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      beyond();\n    }" { comment (expression_statement "beyond();" (call_expression "beyond()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iVar3 = two_arguments();" (assignment_expression "iVar3 = two_arguments()" identifier = (call_expression "two_arguments()" identifier (argument_list "()" ( )))) ;) (expression_statement "bVar2 = iVar3 == 0;" (assignment_expression "bVar2 = iVar3 == 0" identifier = (binary_expression "iVar3 == 0" identifier == number_literal)) ;) }) (else_clause "else {\n    if ((cVar1 != '(') || (bVar2 = *pcVar7 != '\0', **(char **)(iVar8 + iVar6 + 4) != ')')) {\nLAB_00096788:\n      pcVar7 = (char *)(*(code *)PTR_dcgettext_00158548)\n                                 (0,PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c,5);\n                    /* WARNING: Subroutine does not return */\n      test_syntax_error(pcVar7,*(char **)(iVar8 + iVar6));\n    }\n    *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c18) =\n         *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c1c);\n  }" else (compound_statement "{\n    if ((cVar1 != '(') || (bVar2 = *pcVar7 != '\0', **(char **)(iVar8 + iVar6 + 4) != ')')) {\nLAB_00096788:\n      pcVar7 = (char *)(*(code *)PTR_dcgettext_00158548)\n                                 (0,PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c,5);\n                    /* WARNING: Subroutine does not return */\n      test_syntax_error(pcVar7,*(char **)(iVar8 + iVar6));\n    }\n    *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c18) =\n         *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c1c);\n  }" { (if_statement "if ((cVar1 != '(') || (bVar2 = *pcVar7 != '\0', **(char **)(iVar8 + iVar6 + 4) != ')')) {\nLAB_00096788:\n      pcVar7 = (char *)(*(code *)PTR_dcgettext_00158548)\n                                 (0,PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c,5);\n                    /* WARNING: Subroutine does not return */\n      test_syntax_error(pcVar7,*(char **)(iVar8 + iVar6));\n    }" if (parenthesized_expression "((cVar1 != '(') || (bVar2 = *pcVar7 != '\0', **(char **)(iVar8 + iVar6 + 4) != ')'))" ( (binary_expression "(cVar1 != '(') || (bVar2 = *pcVar7 != '\0', **(char **)(iVar8 + iVar6 + 4) != ')')" (parenthesized_expression "(cVar1 != '(')" ( (binary_expression "cVar1 != '('" identifier != (char_literal "'('" ' character ')) )) || (parenthesized_expression "(bVar2 = *pcVar7 != '\0', **(char **)(iVar8 + iVar6 + 4) != ')')" ( (comma_expression "bVar2 = *pcVar7 != '\0', **(char **)(iVar8 + iVar6 + 4) != ')'" (assignment_expression "bVar2 = *pcVar7 != '\0'" identifier = (binary_expression "*pcVar7 != '\0'" (pointer_expression "*pcVar7" * identifier) != (char_literal "'\0'" ' escape_sequence '))) , (binary_expression "**(char **)(iVar8 + iVar6 + 4) != ')'" (pointer_expression "**(char **)(iVar8 + iVar6 + 4)" * (pointer_expression "*(char **)(iVar8 + iVar6 + 4)" * (cast_expression "(char **)(iVar8 + iVar6 + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + iVar6 + 4)" ( (binary_expression "iVar8 + iVar6 + 4" (binary_expression "iVar8 + iVar6" identifier + identifier) + number_literal) ))))) != (char_literal "')'" ' character '))) ))) )) (compound_statement "{\nLAB_00096788:\n      pcVar7 = (char *)(*(code *)PTR_dcgettext_00158548)\n                                 (0,PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c,5);\n                    /* WARNING: Subroutine does not return */\n      test_syntax_error(pcVar7,*(char **)(iVar8 + iVar6));\n    }" { (labeled_statement "LAB_00096788:\n      pcVar7 = (char *)(*(code *)PTR_dcgettext_00158548)\n                                 (0,PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c,5);" statement_identifier : (expression_statement "pcVar7 = (char *)(*(code *)PTR_dcgettext_00158548)\n                                 (0,PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c,5);" (assignment_expression "pcVar7 = (char *)(*(code *)PTR_dcgettext_00158548)\n                                 (0,PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c,5)" identifier = (cast_expression "(char *)(*(code *)PTR_dcgettext_00158548)\n                                 (0,PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c,5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_dcgettext_00158548)\n                                 (0,PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_00158548)" ( (pointer_expression "*(code *)PTR_dcgettext_00158548" * (cast_expression "(code *)PTR_dcgettext_00158548" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c,5)" ( number_literal , (binary_expression "PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c" identifier + number_literal) , number_literal ))))) ;)) comment (expression_statement "test_syntax_error(pcVar7,*(char **)(iVar8 + iVar6));" (call_expression "test_syntax_error(pcVar7,*(char **)(iVar8 + iVar6))" identifier (argument_list "(pcVar7,*(char **)(iVar8 + iVar6))" ( identifier , (pointer_expression "*(char **)(iVar8 + iVar6)" * (cast_expression "(char **)(iVar8 + iVar6)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar8 + iVar6)" ( (binary_expression "iVar8 + iVar6" identifier + identifier) )))) ))) ;) })) (expression_statement "*(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c18) =\n         *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c1c);" (assignment_expression "*(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c18) =\n         *(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c1c)" (pointer_expression "*(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c18)" * (cast_expression "(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_pidstat_table_3077__0015656c + -0x4c18)" ( (binary_expression "PTR_pidstat_table_3077__0015656c + -0x4c18" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c1c)" * (cast_expression "(undefined4 *)(PTR_pidstat_table_3077__0015656c + -0x4c1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_pidstat_table_3077__0015656c + -0x4c1c)" ( (binary_expression "PTR_pidstat_table_3077__0015656c + -0x4c1c" identifier + number_literal) ))))) ;) }))) (return_statement "return (uint)bVar2;" return (cast_expression "(uint)bVar2" ( (type_descriptor "uint" type_identifier) ) identifier) ;) })))
(translation_unit "uint FUN_000965d0(void)\n\n{\n  char cVar1;\n  int iVar2;\n  uint uVar3;\n  undefined4 uVar4;\n  int iVar5;\n  char *pcVar6;\n  int iVar7;\n  int iVar8;\n  \n  iVar7 = *(int *)(PTR_DAT_0015656c + -0x4c20);\n  iVar8 = *(int *)(PTR_DAT_0015656c + -0x4c18);\n  iVar5 = (iVar8 + 1) * 4;\n  pcVar6 = *(char **)(iVar7 + iVar5);\n  iVar2 = test_binop(pcVar6);\n  if (iVar2 != 0) {\n    uVar3 = FUN_000960c8();\n    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n    return uVar3;\n  }\n  cVar1 = *pcVar6;\n  if (cVar1 == '-') {\n    if (pcVar6[1] == 'a') {\n      if (pcVar6[2] == '\0') {\n        uVar3 = 0;\n        if (**(char **)(iVar7 + iVar5 + -4) != '\0') {\n          uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n        }\n        goto LAB_00096720;\n      }\n    }\n    else if ((pcVar6[1] == 'o') && (pcVar6[2] == '\0')) {\n      if (**(char **)(iVar7 + iVar5 + -4) == '\0') {\n        uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n      }\n      else {\n        uVar3 = 1;\n      }\nLAB_00096720:\n      *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n      return uVar3;\n    }\n  }\n  pcVar6 = *(char **)(iVar7 + iVar5 + -4);\n  if (*pcVar6 == '!') {\n    if (pcVar6[1] == '\0') {\n      iVar8 = iVar8 + 1;\n      *(int *)(PTR_DAT_0015656c + -0x4c18) = iVar8;\n      if (iVar8 < *(int *)(PTR_DAT_0015656c + -0x4c1c)) {\n        iVar2 = FUN_000964a8();\n        return (uint)(iVar2 == 0);\n      }\n      FUN_000952a0(pcVar6,0x21,5);\n    }\n  }\n  else if ((*pcVar6 == '(') && (**(char **)(iVar7 + iVar5 + 4) == ')')) {\n    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n    return (uint)(cVar1 != '\0');\n  }\n  uVar4 = (*(code *)PTR_dcgettext_00158548)\n                    (0,PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c,5);\n                    \n  FUN_00094f50(uVar4,*(undefined4 *)(iVar7 + iVar5));\n}\n\n" (function_definition "uint FUN_000965d0(void)\n\n{\n  char cVar1;\n  int iVar2;\n  uint uVar3;\n  undefined4 uVar4;\n  int iVar5;\n  char *pcVar6;\n  int iVar7;\n  int iVar8;\n  \n  iVar7 = *(int *)(PTR_DAT_0015656c + -0x4c20);\n  iVar8 = *(int *)(PTR_DAT_0015656c + -0x4c18);\n  iVar5 = (iVar8 + 1) * 4;\n  pcVar6 = *(char **)(iVar7 + iVar5);\n  iVar2 = test_binop(pcVar6);\n  if (iVar2 != 0) {\n    uVar3 = FUN_000960c8();\n    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n    return uVar3;\n  }\n  cVar1 = *pcVar6;\n  if (cVar1 == '-') {\n    if (pcVar6[1] == 'a') {\n      if (pcVar6[2] == '\0') {\n        uVar3 = 0;\n        if (**(char **)(iVar7 + iVar5 + -4) != '\0') {\n          uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n        }\n        goto LAB_00096720;\n      }\n    }\n    else if ((pcVar6[1] == 'o') && (pcVar6[2] == '\0')) {\n      if (**(char **)(iVar7 + iVar5 + -4) == '\0') {\n        uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n      }\n      else {\n        uVar3 = 1;\n      }\nLAB_00096720:\n      *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n      return uVar3;\n    }\n  }\n  pcVar6 = *(char **)(iVar7 + iVar5 + -4);\n  if (*pcVar6 == '!') {\n    if (pcVar6[1] == '\0') {\n      iVar8 = iVar8 + 1;\n      *(int *)(PTR_DAT_0015656c + -0x4c18) = iVar8;\n      if (iVar8 < *(int *)(PTR_DAT_0015656c + -0x4c1c)) {\n        iVar2 = FUN_000964a8();\n        return (uint)(iVar2 == 0);\n      }\n      FUN_000952a0(pcVar6,0x21,5);\n    }\n  }\n  else if ((*pcVar6 == '(') && (**(char **)(iVar7 + iVar5 + 4) == ')')) {\n    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n    return (uint)(cVar1 != '\0');\n  }\n  uVar4 = (*(code *)PTR_dcgettext_00158548)\n                    (0,PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c,5);\n                    \n  FUN_00094f50(uVar4,*(undefined4 *)(iVar7 + iVar5));\n}" type_identifier (function_declarator "FUN_000965d0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  char cVar1;\n  int iVar2;\n  uint uVar3;\n  undefined4 uVar4;\n  int iVar5;\n  char *pcVar6;\n  int iVar7;\n  int iVar8;\n  \n  iVar7 = *(int *)(PTR_DAT_0015656c + -0x4c20);\n  iVar8 = *(int *)(PTR_DAT_0015656c + -0x4c18);\n  iVar5 = (iVar8 + 1) * 4;\n  pcVar6 = *(char **)(iVar7 + iVar5);\n  iVar2 = test_binop(pcVar6);\n  if (iVar2 != 0) {\n    uVar3 = FUN_000960c8();\n    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n    return uVar3;\n  }\n  cVar1 = *pcVar6;\n  if (cVar1 == '-') {\n    if (pcVar6[1] == 'a') {\n      if (pcVar6[2] == '\0') {\n        uVar3 = 0;\n        if (**(char **)(iVar7 + iVar5 + -4) != '\0') {\n          uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n        }\n        goto LAB_00096720;\n      }\n    }\n    else if ((pcVar6[1] == 'o') && (pcVar6[2] == '\0')) {\n      if (**(char **)(iVar7 + iVar5 + -4) == '\0') {\n        uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n      }\n      else {\n        uVar3 = 1;\n      }\nLAB_00096720:\n      *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n      return uVar3;\n    }\n  }\n  pcVar6 = *(char **)(iVar7 + iVar5 + -4);\n  if (*pcVar6 == '!') {\n    if (pcVar6[1] == '\0') {\n      iVar8 = iVar8 + 1;\n      *(int *)(PTR_DAT_0015656c + -0x4c18) = iVar8;\n      if (iVar8 < *(int *)(PTR_DAT_0015656c + -0x4c1c)) {\n        iVar2 = FUN_000964a8();\n        return (uint)(iVar2 == 0);\n      }\n      FUN_000952a0(pcVar6,0x21,5);\n    }\n  }\n  else if ((*pcVar6 == '(') && (**(char **)(iVar7 + iVar5 + 4) == ')')) {\n    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n    return (uint)(cVar1 != '\0');\n  }\n  uVar4 = (*(code *)PTR_dcgettext_00158548)\n                    (0,PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c,5);\n                    \n  FUN_00094f50(uVar4,*(undefined4 *)(iVar7 + iVar5));\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "char *pcVar6;" primitive_type (pointer_declarator "*pcVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (expression_statement "iVar7 = *(int *)(PTR_DAT_0015656c + -0x4c20);" (assignment_expression "iVar7 = *(int *)(PTR_DAT_0015656c + -0x4c20)" identifier = (pointer_expression "*(int *)(PTR_DAT_0015656c + -0x4c20)" * (cast_expression "(int *)(PTR_DAT_0015656c + -0x4c20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0015656c + -0x4c20)" ( (binary_expression "PTR_DAT_0015656c + -0x4c20" identifier + number_literal) ))))) ;) (expression_statement "iVar8 = *(int *)(PTR_DAT_0015656c + -0x4c18);" (assignment_expression "iVar8 = *(int *)(PTR_DAT_0015656c + -0x4c18)" identifier = (pointer_expression "*(int *)(PTR_DAT_0015656c + -0x4c18)" * (cast_expression "(int *)(PTR_DAT_0015656c + -0x4c18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0015656c + -0x4c18)" ( (binary_expression "PTR_DAT_0015656c + -0x4c18" identifier + number_literal) ))))) ;) (expression_statement "iVar5 = (iVar8 + 1) * 4;" (assignment_expression "iVar5 = (iVar8 + 1) * 4" identifier = (binary_expression "(iVar8 + 1) * 4" (parenthesized_expression "(iVar8 + 1)" ( (binary_expression "iVar8 + 1" identifier + number_literal) )) * number_literal)) ;) (expression_statement "pcVar6 = *(char **)(iVar7 + iVar5);" (assignment_expression "pcVar6 = *(char **)(iVar7 + iVar5)" identifier = (pointer_expression "*(char **)(iVar7 + iVar5)" * (cast_expression "(char **)(iVar7 + iVar5)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + iVar5)" ( (binary_expression "iVar7 + iVar5" identifier + identifier) ))))) ;) (expression_statement "iVar2 = test_binop(pcVar6);" (assignment_expression "iVar2 = test_binop(pcVar6)" identifier = (call_expression "test_binop(pcVar6)" identifier (argument_list "(pcVar6)" ( identifier )))) ;) (if_statement "if (iVar2 != 0) {\n    uVar3 = FUN_000960c8();\n    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n    return uVar3;\n  }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    uVar3 = FUN_000960c8();\n    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n    return uVar3;\n  }" { (expression_statement "uVar3 = FUN_000960c8();" (assignment_expression "uVar3 = FUN_000960c8()" identifier = (call_expression "FUN_000960c8()" identifier (argument_list "()" ( )))) ;) (expression_statement "*(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);" (assignment_expression "*(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c)" (pointer_expression "*(undefined4 *)(PTR_DAT_0015656c + -0x4c18)" * (cast_expression "(undefined4 *)(PTR_DAT_0015656c + -0x4c18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0015656c + -0x4c18)" ( (binary_expression "PTR_DAT_0015656c + -0x4c18" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(PTR_DAT_0015656c + -0x4c1c)" * (cast_expression "(undefined4 *)(PTR_DAT_0015656c + -0x4c1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0015656c + -0x4c1c)" ( (binary_expression "PTR_DAT_0015656c + -0x4c1c" identifier + number_literal) ))))) ;) (return_statement "return uVar3;" return identifier ;) })) (expression_statement "cVar1 = *pcVar6;" (assignment_expression "cVar1 = *pcVar6" identifier = (pointer_expression "*pcVar6" * identifier)) ;) (if_statement "if (cVar1 == '-') {\n    if (pcVar6[1] == 'a') {\n      if (pcVar6[2] == '\0') {\n        uVar3 = 0;\n        if (**(char **)(iVar7 + iVar5 + -4) != '\0') {\n          uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n        }\n        goto LAB_00096720;\n      }\n    }\n    else if ((pcVar6[1] == 'o') && (pcVar6[2] == '\0')) {\n      if (**(char **)(iVar7 + iVar5 + -4) == '\0') {\n        uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n      }\n      else {\n        uVar3 = 1;\n      }\nLAB_00096720:\n      *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n      return uVar3;\n    }\n  }" if (parenthesized_expression "(cVar1 == '-')" ( (binary_expression "cVar1 == '-'" identifier == (char_literal "'-'" ' character ')) )) (compound_statement "{\n    if (pcVar6[1] == 'a') {\n      if (pcVar6[2] == '\0') {\n        uVar3 = 0;\n        if (**(char **)(iVar7 + iVar5 + -4) != '\0') {\n          uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n        }\n        goto LAB_00096720;\n      }\n    }\n    else if ((pcVar6[1] == 'o') && (pcVar6[2] == '\0')) {\n      if (**(char **)(iVar7 + iVar5 + -4) == '\0') {\n        uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n      }\n      else {\n        uVar3 = 1;\n      }\nLAB_00096720:\n      *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n      return uVar3;\n    }\n  }" { (if_statement "if (pcVar6[1] == 'a') {\n      if (pcVar6[2] == '\0') {\n        uVar3 = 0;\n        if (**(char **)(iVar7 + iVar5 + -4) != '\0') {\n          uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n        }\n        goto LAB_00096720;\n      }\n    }\n    else if ((pcVar6[1] == 'o') && (pcVar6[2] == '\0')) {\n      if (**(char **)(iVar7 + iVar5 + -4) == '\0') {\n        uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n      }\n      else {\n        uVar3 = 1;\n      }\nLAB_00096720:\n      *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n      return uVar3;\n    }" if (parenthesized_expression "(pcVar6[1] == 'a')" ( (binary_expression "pcVar6[1] == 'a'" (subscript_expression "pcVar6[1]" identifier [ number_literal ]) == (char_literal "'a'" ' character ')) )) (compound_statement "{\n      if (pcVar6[2] == '\0') {\n        uVar3 = 0;\n        if (**(char **)(iVar7 + iVar5 + -4) != '\0') {\n          uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n        }\n        goto LAB_00096720;\n      }\n    }" { (if_statement "if (pcVar6[2] == '\0') {\n        uVar3 = 0;\n        if (**(char **)(iVar7 + iVar5 + -4) != '\0') {\n          uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n        }\n        goto LAB_00096720;\n      }" if (parenthesized_expression "(pcVar6[2] == '\0')" ( (binary_expression "pcVar6[2] == '\0'" (subscript_expression "pcVar6[2]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar3 = 0;\n        if (**(char **)(iVar7 + iVar5 + -4) != '\0') {\n          uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n        }\n        goto LAB_00096720;\n      }" { (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" identifier = number_literal) ;) (if_statement "if (**(char **)(iVar7 + iVar5 + -4) != '\0') {\n          uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n        }" if (parenthesized_expression "(**(char **)(iVar7 + iVar5 + -4) != '\0')" ( (binary_expression "**(char **)(iVar7 + iVar5 + -4) != '\0'" (pointer_expression "**(char **)(iVar7 + iVar5 + -4)" * (pointer_expression "*(char **)(iVar7 + iVar5 + -4)" * (cast_expression "(char **)(iVar7 + iVar5 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + iVar5 + -4)" ( (binary_expression "iVar7 + iVar5 + -4" (binary_expression "iVar7 + iVar5" identifier + identifier) + number_literal) ))))) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n          uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n        }" { (expression_statement "uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');" (assignment_expression "uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0')" identifier = (call_expression "(uint)(**(char **)(iVar7 + iVar5 + 4) != '\0')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(**(char **)(iVar7 + iVar5 + 4) != '\0')" ( (binary_expression "**(char **)(iVar7 + iVar5 + 4) != '\0'" (pointer_expression "**(char **)(iVar7 + iVar5 + 4)" * (pointer_expression "*(char **)(iVar7 + iVar5 + 4)" * (cast_expression "(char **)(iVar7 + iVar5 + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + iVar5 + 4)" ( (binary_expression "iVar7 + iVar5 + 4" (binary_expression "iVar7 + iVar5" identifier + identifier) + number_literal) ))))) != (char_literal "'\0'" ' escape_sequence ')) )))) ;) })) (goto_statement "goto LAB_00096720;" goto statement_identifier ;) })) }) (else_clause "else if ((pcVar6[1] == 'o') && (pcVar6[2] == '\0')) {\n      if (**(char **)(iVar7 + iVar5 + -4) == '\0') {\n        uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n      }\n      else {\n        uVar3 = 1;\n      }\nLAB_00096720:\n      *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n      return uVar3;\n    }" else (if_statement "if ((pcVar6[1] == 'o') && (pcVar6[2] == '\0')) {\n      if (**(char **)(iVar7 + iVar5 + -4) == '\0') {\n        uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n      }\n      else {\n        uVar3 = 1;\n      }\nLAB_00096720:\n      *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n      return uVar3;\n    }" if (parenthesized_expression "((pcVar6[1] == 'o') && (pcVar6[2] == '\0'))" ( (binary_expression "(pcVar6[1] == 'o') && (pcVar6[2] == '\0')" (parenthesized_expression "(pcVar6[1] == 'o')" ( (binary_expression "pcVar6[1] == 'o'" (subscript_expression "pcVar6[1]" identifier [ number_literal ]) == (char_literal "'o'" ' character ')) )) && (parenthesized_expression "(pcVar6[2] == '\0')" ( (binary_expression "pcVar6[2] == '\0'" (subscript_expression "pcVar6[2]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n      if (**(char **)(iVar7 + iVar5 + -4) == '\0') {\n        uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n      }\n      else {\n        uVar3 = 1;\n      }\nLAB_00096720:\n      *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n      return uVar3;\n    }" { (if_statement "if (**(char **)(iVar7 + iVar5 + -4) == '\0') {\n        uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n      }\n      else {\n        uVar3 = 1;\n      }" if (parenthesized_expression "(**(char **)(iVar7 + iVar5 + -4) == '\0')" ( (binary_expression "**(char **)(iVar7 + iVar5 + -4) == '\0'" (pointer_expression "**(char **)(iVar7 + iVar5 + -4)" * (pointer_expression "*(char **)(iVar7 + iVar5 + -4)" * (cast_expression "(char **)(iVar7 + iVar5 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + iVar5 + -4)" ( (binary_expression "iVar7 + iVar5 + -4" (binary_expression "iVar7 + iVar5" identifier + identifier) + number_literal) ))))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n      }" { (expression_statement "uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');" (assignment_expression "uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0')" identifier = (call_expression "(uint)(**(char **)(iVar7 + iVar5 + 4) != '\0')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(**(char **)(iVar7 + iVar5 + 4) != '\0')" ( (binary_expression "**(char **)(iVar7 + iVar5 + 4) != '\0'" (pointer_expression "**(char **)(iVar7 + iVar5 + 4)" * (pointer_expression "*(char **)(iVar7 + iVar5 + 4)" * (cast_expression "(char **)(iVar7 + iVar5 + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + iVar5 + 4)" ( (binary_expression "iVar7 + iVar5 + 4" (binary_expression "iVar7 + iVar5" identifier + identifier) + number_literal) ))))) != (char_literal "'\0'" ' escape_sequence ')) )))) ;) }) (else_clause "else {\n        uVar3 = 1;\n      }" else (compound_statement "{\n        uVar3 = 1;\n      }" { (expression_statement "uVar3 = 1;" (assignment_expression "uVar3 = 1" identifier = number_literal) ;) }))) (labeled_statement "LAB_00096720:\n      *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);" statement_identifier : (expression_statement "*(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);" (assignment_expression "*(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c)" (pointer_expression "*(undefined4 *)(PTR_DAT_0015656c + -0x4c18)" * (cast_expression "(undefined4 *)(PTR_DAT_0015656c + -0x4c18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0015656c + -0x4c18)" ( (binary_expression "PTR_DAT_0015656c + -0x4c18" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(PTR_DAT_0015656c + -0x4c1c)" * (cast_expression "(undefined4 *)(PTR_DAT_0015656c + -0x4c1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0015656c + -0x4c1c)" ( (binary_expression "PTR_DAT_0015656c + -0x4c1c" identifier + number_literal) ))))) ;)) (return_statement "return uVar3;" return identifier ;) })))) })) (expression_statement "pcVar6 = *(char **)(iVar7 + iVar5 + -4);" (assignment_expression "pcVar6 = *(char **)(iVar7 + iVar5 + -4)" identifier = (pointer_expression "*(char **)(iVar7 + iVar5 + -4)" * (cast_expression "(char **)(iVar7 + iVar5 + -4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + iVar5 + -4)" ( (binary_expression "iVar7 + iVar5 + -4" (binary_expression "iVar7 + iVar5" identifier + identifier) + number_literal) ))))) ;) (if_statement "if (*pcVar6 == '!') {\n    if (pcVar6[1] == '\0') {\n      iVar8 = iVar8 + 1;\n      *(int *)(PTR_DAT_0015656c + -0x4c18) = iVar8;\n      if (iVar8 < *(int *)(PTR_DAT_0015656c + -0x4c1c)) {\n        iVar2 = FUN_000964a8();\n        return (uint)(iVar2 == 0);\n      }\n      FUN_000952a0(pcVar6,0x21,5);\n    }\n  }\n  else if ((*pcVar6 == '(') && (**(char **)(iVar7 + iVar5 + 4) == ')')) {\n    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n    return (uint)(cVar1 != '\0');\n  }" if (parenthesized_expression "(*pcVar6 == '!')" ( (binary_expression "*pcVar6 == '!'" (pointer_expression "*pcVar6" * identifier) == (char_literal "'!'" ' character ')) )) (compound_statement "{\n    if (pcVar6[1] == '\0') {\n      iVar8 = iVar8 + 1;\n      *(int *)(PTR_DAT_0015656c + -0x4c18) = iVar8;\n      if (iVar8 < *(int *)(PTR_DAT_0015656c + -0x4c1c)) {\n        iVar2 = FUN_000964a8();\n        return (uint)(iVar2 == 0);\n      }\n      FUN_000952a0(pcVar6,0x21,5);\n    }\n  }" { (if_statement "if (pcVar6[1] == '\0') {\n      iVar8 = iVar8 + 1;\n      *(int *)(PTR_DAT_0015656c + -0x4c18) = iVar8;\n      if (iVar8 < *(int *)(PTR_DAT_0015656c + -0x4c1c)) {\n        iVar2 = FUN_000964a8();\n        return (uint)(iVar2 == 0);\n      }\n      FUN_000952a0(pcVar6,0x21,5);\n    }" if (parenthesized_expression "(pcVar6[1] == '\0')" ( (binary_expression "pcVar6[1] == '\0'" (subscript_expression "pcVar6[1]" identifier [ number_literal ]) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      iVar8 = iVar8 + 1;\n      *(int *)(PTR_DAT_0015656c + -0x4c18) = iVar8;\n      if (iVar8 < *(int *)(PTR_DAT_0015656c + -0x4c1c)) {\n        iVar2 = FUN_000964a8();\n        return (uint)(iVar2 == 0);\n      }\n      FUN_000952a0(pcVar6,0x21,5);\n    }" { (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" identifier = (binary_expression "iVar8 + 1" identifier + number_literal)) ;) (expression_statement "*(int *)(PTR_DAT_0015656c + -0x4c18) = iVar8;" (assignment_expression "*(int *)(PTR_DAT_0015656c + -0x4c18) = iVar8" (pointer_expression "*(int *)(PTR_DAT_0015656c + -0x4c18)" * (cast_expression "(int *)(PTR_DAT_0015656c + -0x4c18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0015656c + -0x4c18)" ( (binary_expression "PTR_DAT_0015656c + -0x4c18" identifier + number_literal) )))) = identifier) ;) (if_statement "if (iVar8 < *(int *)(PTR_DAT_0015656c + -0x4c1c)) {\n        iVar2 = FUN_000964a8();\n        return (uint)(iVar2 == 0);\n      }" if (parenthesized_expression "(iVar8 < *(int *)(PTR_DAT_0015656c + -0x4c1c))" ( (binary_expression "iVar8 < *(int *)(PTR_DAT_0015656c + -0x4c1c)" identifier < (pointer_expression "*(int *)(PTR_DAT_0015656c + -0x4c1c)" * (cast_expression "(int *)(PTR_DAT_0015656c + -0x4c1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0015656c + -0x4c1c)" ( (binary_expression "PTR_DAT_0015656c + -0x4c1c" identifier + number_literal) ))))) )) (compound_statement "{\n        iVar2 = FUN_000964a8();\n        return (uint)(iVar2 == 0);\n      }" { (expression_statement "iVar2 = FUN_000964a8();" (assignment_expression "iVar2 = FUN_000964a8()" identifier = (call_expression "FUN_000964a8()" identifier (argument_list "()" ( )))) ;) (return_statement "return (uint)(iVar2 == 0);" return (call_expression "(uint)(iVar2 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) ))) ;) })) (expression_statement "FUN_000952a0(pcVar6,0x21,5);" (call_expression "FUN_000952a0(pcVar6,0x21,5)" identifier (argument_list "(pcVar6,0x21,5)" ( identifier , number_literal , number_literal ))) ;) })) }) (else_clause "else if ((*pcVar6 == '(') && (**(char **)(iVar7 + iVar5 + 4) == ')')) {\n    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n    return (uint)(cVar1 != '\0');\n  }" else (if_statement "if ((*pcVar6 == '(') && (**(char **)(iVar7 + iVar5 + 4) == ')')) {\n    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n    return (uint)(cVar1 != '\0');\n  }" if (parenthesized_expression "((*pcVar6 == '(') && (**(char **)(iVar7 + iVar5 + 4) == ')'))" ( (binary_expression "(*pcVar6 == '(') && (**(char **)(iVar7 + iVar5 + 4) == ')')" (parenthesized_expression "(*pcVar6 == '(')" ( (binary_expression "*pcVar6 == '('" (pointer_expression "*pcVar6" * identifier) == (char_literal "'('" ' character ')) )) && (parenthesized_expression "(**(char **)(iVar7 + iVar5 + 4) == ')')" ( (binary_expression "**(char **)(iVar7 + iVar5 + 4) == ')'" (pointer_expression "**(char **)(iVar7 + iVar5 + 4)" * (pointer_expression "*(char **)(iVar7 + iVar5 + 4)" * (cast_expression "(char **)(iVar7 + iVar5 + 4)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + iVar5 + 4)" ( (binary_expression "iVar7 + iVar5 + 4" (binary_expression "iVar7 + iVar5" identifier + identifier) + number_literal) ))))) == (char_literal "')'" ' character ')) ))) )) (compound_statement "{\n    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n    return (uint)(cVar1 != '\0');\n  }" { (expression_statement "*(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);" (assignment_expression "*(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c)" (pointer_expression "*(undefined4 *)(PTR_DAT_0015656c + -0x4c18)" * (cast_expression "(undefined4 *)(PTR_DAT_0015656c + -0x4c18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0015656c + -0x4c18)" ( (binary_expression "PTR_DAT_0015656c + -0x4c18" identifier + number_literal) )))) = (pointer_expression "*(undefined4 *)(PTR_DAT_0015656c + -0x4c1c)" * (cast_expression "(undefined4 *)(PTR_DAT_0015656c + -0x4c1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0015656c + -0x4c1c)" ( (binary_expression "PTR_DAT_0015656c + -0x4c1c" identifier + number_literal) ))))) ;) (return_statement "return (uint)(cVar1 != '\0');" return (call_expression "(uint)(cVar1 != '\0')" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(cVar1 != '\0')" ( (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) ))) ;) })))) (expression_statement "uVar4 = (*(code *)PTR_dcgettext_00158548)\n                    (0,PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c,5);" (assignment_expression "uVar4 = (*(code *)PTR_dcgettext_00158548)\n                    (0,PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_00158548)\n                    (0,PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_00158548)" ( (pointer_expression "*(code *)PTR_dcgettext_00158548" * (cast_expression "(code *)PTR_dcgettext_00158548" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c,5)" ( number_literal , (binary_expression "PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c" identifier + number_literal) , number_literal )))) ;) (expression_statement "FUN_00094f50(uVar4,*(undefined4 *)(iVar7 + iVar5));" (call_expression "FUN_00094f50(uVar4,*(undefined4 *)(iVar7 + iVar5))" identifier (argument_list "(uVar4,*(undefined4 *)(iVar7 + iVar5))" ( identifier , (pointer_expression "*(undefined4 *)(iVar7 + iVar5)" * (cast_expression "(undefined4 *)(iVar7 + iVar5)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + iVar5)" ( (binary_expression "iVar7 + iVar5" identifier + identifier) )))) ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' character ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' character ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) ))))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) ))))) != (char_literal ' escape_sequence ')) )))) ;) })) (goto_statement goto statement_identifier ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' character ')) )) && (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) ))))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) ))))) != (char_literal ' escape_sequence ')) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (return_statement return IDENT ;) })))) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (return_statement return (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == LIT) ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , LIT ))) ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' character ')) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) ))))) == (char_literal ' character ')) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (return_statement return (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != (char_literal ' escape_sequence ')) ))) ;) })))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (binary_expression IDENT + LIT) , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ))) ;) })))
(function_definition "uint FUN_000965d0(void)\n\n{\n  char cVar1;\n  int iVar2;\n  uint uVar3;\n  undefined4 uVar4;\n  int iVar5;\n  char *pcVar6;\n  int iVar7;\n  int iVar8;\n  \n  iVar7 = *(int *)(PTR_DAT_0015656c + -0x4c20);\n  iVar8 = *(int *)(PTR_DAT_0015656c + -0x4c18);\n  iVar5 = (iVar8 + 1) * 4;\n  pcVar6 = *(char **)(iVar7 + iVar5);\n  iVar2 = test_binop(pcVar6);\n  if (iVar2 != 0) {\n    uVar3 = FUN_000960c8();\n    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n    return uVar3;\n  }\n  cVar1 = *pcVar6;\n  if (cVar1 == '-') {\n    if (pcVar6[1] == 'a') {\n      if (pcVar6[2] == '\0') {\n        uVar3 = 0;\n        if (**(char **)(iVar7 + iVar5 + -4) != '\0') {\n          uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n        }\n        goto LAB_00096720;\n      }\n    }\n    else if ((pcVar6[1] == 'o') && (pcVar6[2] == '\0')) {\n      if (**(char **)(iVar7 + iVar5 + -4) == '\0') {\n        uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n      }\n      else {\n        uVar3 = 1;\n      }\nLAB_00096720:\n      *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n      return uVar3;\n    }\n  }\n  pcVar6 = *(char **)(iVar7 + iVar5 + -4);\n  if (*pcVar6 == '!') {\n    if (pcVar6[1] == '\0') {\n      iVar8 = iVar8 + 1;\n      *(int *)(PTR_DAT_0015656c + -0x4c18) = iVar8;\n      if (iVar8 < *(int *)(PTR_DAT_0015656c + -0x4c1c)) {\n        iVar2 = FUN_000964a8();\n        return (uint)(iVar2 == 0);\n      }\n      FUN_000952a0(pcVar6,0x21,5);\n    }\n  }\n  else if ((*pcVar6 == '(') && (**(char **)(iVar7 + iVar5 + 4) == ')')) {\n    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n    return (uint)(cVar1 != '\0');\n  }\n  uVar4 = (*(code *)PTR_dcgettext_00158548)\n                    (0,PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c,5);\n                    \n  FUN_00094f50(uVar4,*(undefined4 *)(iVar7 + iVar5));\n}" (type_identifier "uint") (function_declarator "FUN_000965d0(void)" (identifier "FUN_000965d0") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  char cVar1;\n  int iVar2;\n  uint uVar3;\n  undefined4 uVar4;\n  int iVar5;\n  char *pcVar6;\n  int iVar7;\n  int iVar8;\n  \n  iVar7 = *(int *)(PTR_DAT_0015656c + -0x4c20);\n  iVar8 = *(int *)(PTR_DAT_0015656c + -0x4c18);\n  iVar5 = (iVar8 + 1) * 4;\n  pcVar6 = *(char **)(iVar7 + iVar5);\n  iVar2 = test_binop(pcVar6);\n  if (iVar2 != 0) {\n    uVar3 = FUN_000960c8();\n    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n    return uVar3;\n  }\n  cVar1 = *pcVar6;\n  if (cVar1 == '-') {\n    if (pcVar6[1] == 'a') {\n      if (pcVar6[2] == '\0') {\n        uVar3 = 0;\n        if (**(char **)(iVar7 + iVar5 + -4) != '\0') {\n          uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n        }\n        goto LAB_00096720;\n      }\n    }\n    else if ((pcVar6[1] == 'o') && (pcVar6[2] == '\0')) {\n      if (**(char **)(iVar7 + iVar5 + -4) == '\0') {\n        uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n      }\n      else {\n        uVar3 = 1;\n      }\nLAB_00096720:\n      *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n      return uVar3;\n    }\n  }\n  pcVar6 = *(char **)(iVar7 + iVar5 + -4);\n  if (*pcVar6 == '!') {\n    if (pcVar6[1] == '\0') {\n      iVar8 = iVar8 + 1;\n      *(int *)(PTR_DAT_0015656c + -0x4c18) = iVar8;\n      if (iVar8 < *(int *)(PTR_DAT_0015656c + -0x4c1c)) {\n        iVar2 = FUN_000964a8();\n        return (uint)(iVar2 == 0);\n      }\n      FUN_000952a0(pcVar6,0x21,5);\n    }\n  }\n  else if ((*pcVar6 == '(') && (**(char **)(iVar7 + iVar5 + 4) == ')')) {\n    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n    return (uint)(cVar1 != '\0');\n  }\n  uVar4 = (*(code *)PTR_dcgettext_00158548)\n                    (0,PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c,5);\n                    \n  FUN_00094f50(uVar4,*(undefined4 *)(iVar7 + iVar5));\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "char *pcVar6;" (primitive_type "char") (pointer_declarator "*pcVar6" (* "*") (identifier "pcVar6")) (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (expression_statement "iVar7 = *(int *)(PTR_DAT_0015656c + -0x4c20);" (assignment_expression "iVar7 = *(int *)(PTR_DAT_0015656c + -0x4c20)" (identifier "iVar7") (= "=") (pointer_expression "*(int *)(PTR_DAT_0015656c + -0x4c20)" (* "*") (cast_expression "(int *)(PTR_DAT_0015656c + -0x4c20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0015656c + -0x4c20)" (( "(") (binary_expression "PTR_DAT_0015656c + -0x4c20" (identifier "PTR_DAT_0015656c") (+ "+") (number_literal "-0x4c20")) () ")"))))) (; ";")) (expression_statement "iVar8 = *(int *)(PTR_DAT_0015656c + -0x4c18);" (assignment_expression "iVar8 = *(int *)(PTR_DAT_0015656c + -0x4c18)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(PTR_DAT_0015656c + -0x4c18)" (* "*") (cast_expression "(int *)(PTR_DAT_0015656c + -0x4c18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0015656c + -0x4c18)" (( "(") (binary_expression "PTR_DAT_0015656c + -0x4c18" (identifier "PTR_DAT_0015656c") (+ "+") (number_literal "-0x4c18")) () ")"))))) (; ";")) (expression_statement "iVar5 = (iVar8 + 1) * 4;" (assignment_expression "iVar5 = (iVar8 + 1) * 4" (identifier "iVar5") (= "=") (binary_expression "(iVar8 + 1) * 4" (parenthesized_expression "(iVar8 + 1)" (( "(") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "4"))) (; ";")) (expression_statement "pcVar6 = *(char **)(iVar7 + iVar5);" (assignment_expression "pcVar6 = *(char **)(iVar7 + iVar5)" (identifier "pcVar6") (= "=") (pointer_expression "*(char **)(iVar7 + iVar5)" (* "*") (cast_expression "(char **)(iVar7 + iVar5)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + iVar5)" (( "(") (binary_expression "iVar7 + iVar5" (identifier "iVar7") (+ "+") (identifier "iVar5")) () ")"))))) (; ";")) (expression_statement "iVar2 = test_binop(pcVar6);" (assignment_expression "iVar2 = test_binop(pcVar6)" (identifier "iVar2") (= "=") (call_expression "test_binop(pcVar6)" (identifier "test_binop") (argument_list "(pcVar6)" (( "(") (identifier "pcVar6") () ")")))) (; ";")) (if_statement "if (iVar2 != 0) {\n    uVar3 = FUN_000960c8();\n    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n    return uVar3;\n  }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    uVar3 = FUN_000960c8();\n    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n    return uVar3;\n  }" ({ "{") (expression_statement "uVar3 = FUN_000960c8();" (assignment_expression "uVar3 = FUN_000960c8()" (identifier "uVar3") (= "=") (call_expression "FUN_000960c8()" (identifier "FUN_000960c8") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "*(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);" (assignment_expression "*(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c)" (pointer_expression "*(undefined4 *)(PTR_DAT_0015656c + -0x4c18)" (* "*") (cast_expression "(undefined4 *)(PTR_DAT_0015656c + -0x4c18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0015656c + -0x4c18)" (( "(") (binary_expression "PTR_DAT_0015656c + -0x4c18" (identifier "PTR_DAT_0015656c") (+ "+") (number_literal "-0x4c18")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(PTR_DAT_0015656c + -0x4c1c)" (* "*") (cast_expression "(undefined4 *)(PTR_DAT_0015656c + -0x4c1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0015656c + -0x4c1c)" (( "(") (binary_expression "PTR_DAT_0015656c + -0x4c1c" (identifier "PTR_DAT_0015656c") (+ "+") (number_literal "-0x4c1c")) () ")"))))) (; ";")) (return_statement "return uVar3;" (return "return") (identifier "uVar3") (; ";")) (} "}"))) (expression_statement "cVar1 = *pcVar6;" (assignment_expression "cVar1 = *pcVar6" (identifier "cVar1") (= "=") (pointer_expression "*pcVar6" (* "*") (identifier "pcVar6"))) (; ";")) (if_statement "if (cVar1 == '-') {\n    if (pcVar6[1] == 'a') {\n      if (pcVar6[2] == '\0') {\n        uVar3 = 0;\n        if (**(char **)(iVar7 + iVar5 + -4) != '\0') {\n          uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n        }\n        goto LAB_00096720;\n      }\n    }\n    else if ((pcVar6[1] == 'o') && (pcVar6[2] == '\0')) {\n      if (**(char **)(iVar7 + iVar5 + -4) == '\0') {\n        uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n      }\n      else {\n        uVar3 = 1;\n      }\nLAB_00096720:\n      *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n      return uVar3;\n    }\n  }" (if "if") (parenthesized_expression "(cVar1 == '-')" (( "(") (binary_expression "cVar1 == '-'" (identifier "cVar1") (== "==") (char_literal "'-'" (' "'") (character "-") (' "'"))) () ")")) (compound_statement "{\n    if (pcVar6[1] == 'a') {\n      if (pcVar6[2] == '\0') {\n        uVar3 = 0;\n        if (**(char **)(iVar7 + iVar5 + -4) != '\0') {\n          uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n        }\n        goto LAB_00096720;\n      }\n    }\n    else if ((pcVar6[1] == 'o') && (pcVar6[2] == '\0')) {\n      if (**(char **)(iVar7 + iVar5 + -4) == '\0') {\n        uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n      }\n      else {\n        uVar3 = 1;\n      }\nLAB_00096720:\n      *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n      return uVar3;\n    }\n  }" ({ "{") (if_statement "if (pcVar6[1] == 'a') {\n      if (pcVar6[2] == '\0') {\n        uVar3 = 0;\n        if (**(char **)(iVar7 + iVar5 + -4) != '\0') {\n          uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n        }\n        goto LAB_00096720;\n      }\n    }\n    else if ((pcVar6[1] == 'o') && (pcVar6[2] == '\0')) {\n      if (**(char **)(iVar7 + iVar5 + -4) == '\0') {\n        uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n      }\n      else {\n        uVar3 = 1;\n      }\nLAB_00096720:\n      *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n      return uVar3;\n    }" (if "if") (parenthesized_expression "(pcVar6[1] == 'a')" (( "(") (binary_expression "pcVar6[1] == 'a'" (subscript_expression "pcVar6[1]" (identifier "pcVar6") ([ "[") (number_literal "1") (] "]")) (== "==") (char_literal "'a'" (' "'") (character "a") (' "'"))) () ")")) (compound_statement "{\n      if (pcVar6[2] == '\0') {\n        uVar3 = 0;\n        if (**(char **)(iVar7 + iVar5 + -4) != '\0') {\n          uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n        }\n        goto LAB_00096720;\n      }\n    }" ({ "{") (if_statement "if (pcVar6[2] == '\0') {\n        uVar3 = 0;\n        if (**(char **)(iVar7 + iVar5 + -4) != '\0') {\n          uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n        }\n        goto LAB_00096720;\n      }" (if "if") (parenthesized_expression "(pcVar6[2] == '\0')" (( "(") (binary_expression "pcVar6[2] == '\0'" (subscript_expression "pcVar6[2]" (identifier "pcVar6") ([ "[") (number_literal "2") (] "]")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        uVar3 = 0;\n        if (**(char **)(iVar7 + iVar5 + -4) != '\0') {\n          uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n        }\n        goto LAB_00096720;\n      }" ({ "{") (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" (identifier "uVar3") (= "=") (number_literal "0")) (; ";")) (if_statement "if (**(char **)(iVar7 + iVar5 + -4) != '\0') {\n          uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n        }" (if "if") (parenthesized_expression "(**(char **)(iVar7 + iVar5 + -4) != '\0')" (( "(") (binary_expression "**(char **)(iVar7 + iVar5 + -4) != '\0'" (pointer_expression "**(char **)(iVar7 + iVar5 + -4)" (* "*") (pointer_expression "*(char **)(iVar7 + iVar5 + -4)" (* "*") (cast_expression "(char **)(iVar7 + iVar5 + -4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + iVar5 + -4)" (( "(") (binary_expression "iVar7 + iVar5 + -4" (binary_expression "iVar7 + iVar5" (identifier "iVar7") (+ "+") (identifier "iVar5")) (+ "+") (number_literal "-4")) () ")"))))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n          uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n        }" ({ "{") (expression_statement "uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');" (assignment_expression "uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0')" (identifier "uVar3") (= "=") (call_expression "(uint)(**(char **)(iVar7 + iVar5 + 4) != '\0')" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(**(char **)(iVar7 + iVar5 + 4) != '\0')" (( "(") (binary_expression "**(char **)(iVar7 + iVar5 + 4) != '\0'" (pointer_expression "**(char **)(iVar7 + iVar5 + 4)" (* "*") (pointer_expression "*(char **)(iVar7 + iVar5 + 4)" (* "*") (cast_expression "(char **)(iVar7 + iVar5 + 4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + iVar5 + 4)" (( "(") (binary_expression "iVar7 + iVar5 + 4" (binary_expression "iVar7 + iVar5" (identifier "iVar7") (+ "+") (identifier "iVar5")) (+ "+") (number_literal "4")) () ")"))))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")))) (; ";")) (} "}"))) (goto_statement "goto LAB_00096720;" (goto "goto") (statement_identifier "LAB_00096720") (; ";")) (} "}"))) (} "}")) (else_clause "else if ((pcVar6[1] == 'o') && (pcVar6[2] == '\0')) {\n      if (**(char **)(iVar7 + iVar5 + -4) == '\0') {\n        uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n      }\n      else {\n        uVar3 = 1;\n      }\nLAB_00096720:\n      *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n      return uVar3;\n    }" (else "else") (if_statement "if ((pcVar6[1] == 'o') && (pcVar6[2] == '\0')) {\n      if (**(char **)(iVar7 + iVar5 + -4) == '\0') {\n        uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n      }\n      else {\n        uVar3 = 1;\n      }\nLAB_00096720:\n      *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n      return uVar3;\n    }" (if "if") (parenthesized_expression "((pcVar6[1] == 'o') && (pcVar6[2] == '\0'))" (( "(") (binary_expression "(pcVar6[1] == 'o') && (pcVar6[2] == '\0')" (parenthesized_expression "(pcVar6[1] == 'o')" (( "(") (binary_expression "pcVar6[1] == 'o'" (subscript_expression "pcVar6[1]" (identifier "pcVar6") ([ "[") (number_literal "1") (] "]")) (== "==") (char_literal "'o'" (' "'") (character "o") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(pcVar6[2] == '\0')" (( "(") (binary_expression "pcVar6[2] == '\0'" (subscript_expression "pcVar6[2]" (identifier "pcVar6") ([ "[") (number_literal "2") (] "]")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n      if (**(char **)(iVar7 + iVar5 + -4) == '\0') {\n        uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n      }\n      else {\n        uVar3 = 1;\n      }\nLAB_00096720:\n      *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n      return uVar3;\n    }" ({ "{") (if_statement "if (**(char **)(iVar7 + iVar5 + -4) == '\0') {\n        uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n      }\n      else {\n        uVar3 = 1;\n      }" (if "if") (parenthesized_expression "(**(char **)(iVar7 + iVar5 + -4) == '\0')" (( "(") (binary_expression "**(char **)(iVar7 + iVar5 + -4) == '\0'" (pointer_expression "**(char **)(iVar7 + iVar5 + -4)" (* "*") (pointer_expression "*(char **)(iVar7 + iVar5 + -4)" (* "*") (cast_expression "(char **)(iVar7 + iVar5 + -4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + iVar5 + -4)" (( "(") (binary_expression "iVar7 + iVar5 + -4" (binary_expression "iVar7 + iVar5" (identifier "iVar7") (+ "+") (identifier "iVar5")) (+ "+") (number_literal "-4")) () ")"))))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');\n      }" ({ "{") (expression_statement "uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');" (assignment_expression "uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0')" (identifier "uVar3") (= "=") (call_expression "(uint)(**(char **)(iVar7 + iVar5 + 4) != '\0')" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(**(char **)(iVar7 + iVar5 + 4) != '\0')" (( "(") (binary_expression "**(char **)(iVar7 + iVar5 + 4) != '\0'" (pointer_expression "**(char **)(iVar7 + iVar5 + 4)" (* "*") (pointer_expression "*(char **)(iVar7 + iVar5 + 4)" (* "*") (cast_expression "(char **)(iVar7 + iVar5 + 4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + iVar5 + 4)" (( "(") (binary_expression "iVar7 + iVar5 + 4" (binary_expression "iVar7 + iVar5" (identifier "iVar7") (+ "+") (identifier "iVar5")) (+ "+") (number_literal "4")) () ")"))))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")))) (; ";")) (} "}")) (else_clause "else {\n        uVar3 = 1;\n      }" (else "else") (compound_statement "{\n        uVar3 = 1;\n      }" ({ "{") (expression_statement "uVar3 = 1;" (assignment_expression "uVar3 = 1" (identifier "uVar3") (= "=") (number_literal "1")) (; ";")) (} "}")))) (labeled_statement "LAB_00096720:\n      *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);" (statement_identifier "LAB_00096720") (: ":") (expression_statement "*(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);" (assignment_expression "*(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c)" (pointer_expression "*(undefined4 *)(PTR_DAT_0015656c + -0x4c18)" (* "*") (cast_expression "(undefined4 *)(PTR_DAT_0015656c + -0x4c18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0015656c + -0x4c18)" (( "(") (binary_expression "PTR_DAT_0015656c + -0x4c18" (identifier "PTR_DAT_0015656c") (+ "+") (number_literal "-0x4c18")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(PTR_DAT_0015656c + -0x4c1c)" (* "*") (cast_expression "(undefined4 *)(PTR_DAT_0015656c + -0x4c1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0015656c + -0x4c1c)" (( "(") (binary_expression "PTR_DAT_0015656c + -0x4c1c" (identifier "PTR_DAT_0015656c") (+ "+") (number_literal "-0x4c1c")) () ")"))))) (; ";"))) (return_statement "return uVar3;" (return "return") (identifier "uVar3") (; ";")) (} "}"))))) (} "}"))) (expression_statement "pcVar6 = *(char **)(iVar7 + iVar5 + -4);" (assignment_expression "pcVar6 = *(char **)(iVar7 + iVar5 + -4)" (identifier "pcVar6") (= "=") (pointer_expression "*(char **)(iVar7 + iVar5 + -4)" (* "*") (cast_expression "(char **)(iVar7 + iVar5 + -4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + iVar5 + -4)" (( "(") (binary_expression "iVar7 + iVar5 + -4" (binary_expression "iVar7 + iVar5" (identifier "iVar7") (+ "+") (identifier "iVar5")) (+ "+") (number_literal "-4")) () ")"))))) (; ";")) (if_statement "if (*pcVar6 == '!') {\n    if (pcVar6[1] == '\0') {\n      iVar8 = iVar8 + 1;\n      *(int *)(PTR_DAT_0015656c + -0x4c18) = iVar8;\n      if (iVar8 < *(int *)(PTR_DAT_0015656c + -0x4c1c)) {\n        iVar2 = FUN_000964a8();\n        return (uint)(iVar2 == 0);\n      }\n      FUN_000952a0(pcVar6,0x21,5);\n    }\n  }\n  else if ((*pcVar6 == '(') && (**(char **)(iVar7 + iVar5 + 4) == ')')) {\n    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n    return (uint)(cVar1 != '\0');\n  }" (if "if") (parenthesized_expression "(*pcVar6 == '!')" (( "(") (binary_expression "*pcVar6 == '!'" (pointer_expression "*pcVar6" (* "*") (identifier "pcVar6")) (== "==") (char_literal "'!'" (' "'") (character "!") (' "'"))) () ")")) (compound_statement "{\n    if (pcVar6[1] == '\0') {\n      iVar8 = iVar8 + 1;\n      *(int *)(PTR_DAT_0015656c + -0x4c18) = iVar8;\n      if (iVar8 < *(int *)(PTR_DAT_0015656c + -0x4c1c)) {\n        iVar2 = FUN_000964a8();\n        return (uint)(iVar2 == 0);\n      }\n      FUN_000952a0(pcVar6,0x21,5);\n    }\n  }" ({ "{") (if_statement "if (pcVar6[1] == '\0') {\n      iVar8 = iVar8 + 1;\n      *(int *)(PTR_DAT_0015656c + -0x4c18) = iVar8;\n      if (iVar8 < *(int *)(PTR_DAT_0015656c + -0x4c1c)) {\n        iVar2 = FUN_000964a8();\n        return (uint)(iVar2 == 0);\n      }\n      FUN_000952a0(pcVar6,0x21,5);\n    }" (if "if") (parenthesized_expression "(pcVar6[1] == '\0')" (( "(") (binary_expression "pcVar6[1] == '\0'" (subscript_expression "pcVar6[1]" (identifier "pcVar6") ([ "[") (number_literal "1") (] "]")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      iVar8 = iVar8 + 1;\n      *(int *)(PTR_DAT_0015656c + -0x4c18) = iVar8;\n      if (iVar8 < *(int *)(PTR_DAT_0015656c + -0x4c1c)) {\n        iVar2 = FUN_000964a8();\n        return (uint)(iVar2 == 0);\n      }\n      FUN_000952a0(pcVar6,0x21,5);\n    }" ({ "{") (expression_statement "iVar8 = iVar8 + 1;" (assignment_expression "iVar8 = iVar8 + 1" (identifier "iVar8") (= "=") (binary_expression "iVar8 + 1" (identifier "iVar8") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(int *)(PTR_DAT_0015656c + -0x4c18) = iVar8;" (assignment_expression "*(int *)(PTR_DAT_0015656c + -0x4c18) = iVar8" (pointer_expression "*(int *)(PTR_DAT_0015656c + -0x4c18)" (* "*") (cast_expression "(int *)(PTR_DAT_0015656c + -0x4c18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0015656c + -0x4c18)" (( "(") (binary_expression "PTR_DAT_0015656c + -0x4c18" (identifier "PTR_DAT_0015656c") (+ "+") (number_literal "-0x4c18")) () ")")))) (= "=") (identifier "iVar8")) (; ";")) (if_statement "if (iVar8 < *(int *)(PTR_DAT_0015656c + -0x4c1c)) {\n        iVar2 = FUN_000964a8();\n        return (uint)(iVar2 == 0);\n      }" (if "if") (parenthesized_expression "(iVar8 < *(int *)(PTR_DAT_0015656c + -0x4c1c))" (( "(") (binary_expression "iVar8 < *(int *)(PTR_DAT_0015656c + -0x4c1c)" (identifier "iVar8") (< "<") (pointer_expression "*(int *)(PTR_DAT_0015656c + -0x4c1c)" (* "*") (cast_expression "(int *)(PTR_DAT_0015656c + -0x4c1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0015656c + -0x4c1c)" (( "(") (binary_expression "PTR_DAT_0015656c + -0x4c1c" (identifier "PTR_DAT_0015656c") (+ "+") (number_literal "-0x4c1c")) () ")"))))) () ")")) (compound_statement "{\n        iVar2 = FUN_000964a8();\n        return (uint)(iVar2 == 0);\n      }" ({ "{") (expression_statement "iVar2 = FUN_000964a8();" (assignment_expression "iVar2 = FUN_000964a8()" (identifier "iVar2") (= "=") (call_expression "FUN_000964a8()" (identifier "FUN_000964a8") (argument_list "()" (( "(") () ")")))) (; ";")) (return_statement "return (uint)(iVar2 == 0);" (return "return") (call_expression "(uint)(iVar2 == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_000952a0(pcVar6,0x21,5);" (call_expression "FUN_000952a0(pcVar6,0x21,5)" (identifier "FUN_000952a0") (argument_list "(pcVar6,0x21,5)" (( "(") (identifier "pcVar6") (, ",") (number_literal "0x21") (, ",") (number_literal "5") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else if ((*pcVar6 == '(') && (**(char **)(iVar7 + iVar5 + 4) == ')')) {\n    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n    return (uint)(cVar1 != '\0');\n  }" (else "else") (if_statement "if ((*pcVar6 == '(') && (**(char **)(iVar7 + iVar5 + 4) == ')')) {\n    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n    return (uint)(cVar1 != '\0');\n  }" (if "if") (parenthesized_expression "((*pcVar6 == '(') && (**(char **)(iVar7 + iVar5 + 4) == ')'))" (( "(") (binary_expression "(*pcVar6 == '(') && (**(char **)(iVar7 + iVar5 + 4) == ')')" (parenthesized_expression "(*pcVar6 == '(')" (( "(") (binary_expression "*pcVar6 == '('" (pointer_expression "*pcVar6" (* "*") (identifier "pcVar6")) (== "==") (char_literal "'('" (' "'") (character "(") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(**(char **)(iVar7 + iVar5 + 4) == ')')" (( "(") (binary_expression "**(char **)(iVar7 + iVar5 + 4) == ')'" (pointer_expression "**(char **)(iVar7 + iVar5 + 4)" (* "*") (pointer_expression "*(char **)(iVar7 + iVar5 + 4)" (* "*") (cast_expression "(char **)(iVar7 + iVar5 + 4)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + iVar5 + 4)" (( "(") (binary_expression "iVar7 + iVar5 + 4" (binary_expression "iVar7 + iVar5" (identifier "iVar7") (+ "+") (identifier "iVar5")) (+ "+") (number_literal "4")) () ")"))))) (== "==") (char_literal "')'" (' "'") (character ")") (' "'"))) () ")"))) () ")")) (compound_statement "{\n    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);\n    return (uint)(cVar1 != '\0');\n  }" ({ "{") (expression_statement "*(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);" (assignment_expression "*(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c)" (pointer_expression "*(undefined4 *)(PTR_DAT_0015656c + -0x4c18)" (* "*") (cast_expression "(undefined4 *)(PTR_DAT_0015656c + -0x4c18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0015656c + -0x4c18)" (( "(") (binary_expression "PTR_DAT_0015656c + -0x4c18" (identifier "PTR_DAT_0015656c") (+ "+") (number_literal "-0x4c18")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(PTR_DAT_0015656c + -0x4c1c)" (* "*") (cast_expression "(undefined4 *)(PTR_DAT_0015656c + -0x4c1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0015656c + -0x4c1c)" (( "(") (binary_expression "PTR_DAT_0015656c + -0x4c1c" (identifier "PTR_DAT_0015656c") (+ "+") (number_literal "-0x4c1c")) () ")"))))) (; ";")) (return_statement "return (uint)(cVar1 != '\0');" (return "return") (call_expression "(uint)(cVar1 != '\0')" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(cVar1 != '\0')" (( "(") (binary_expression "cVar1 != '\0'" (identifier "cVar1") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) (; ";")) (} "}"))))) (expression_statement "uVar4 = (*(code *)PTR_dcgettext_00158548)\n                    (0,PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c,5);" (assignment_expression "uVar4 = (*(code *)PTR_dcgettext_00158548)\n                    (0,PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c,5)" (identifier "uVar4") (= "=") (call_expression "(*(code *)PTR_dcgettext_00158548)\n                    (0,PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_00158548)" (( "(") (pointer_expression "*(code *)PTR_dcgettext_00158548" (* "*") (cast_expression "(code *)PTR_dcgettext_00158548" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_dcgettext_00158548"))) () ")")) (argument_list "(0,PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c,5)" (( "(") (number_literal "0") (, ",") (binary_expression "PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c" (identifier "PTR_s_at_element__and_the_COMMANDS_are_00156654") (+ "+") (number_literal "-0x556c")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00094f50(uVar4,*(undefined4 *)(iVar7 + iVar5));" (call_expression "FUN_00094f50(uVar4,*(undefined4 *)(iVar7 + iVar5))" (identifier "FUN_00094f50") (argument_list "(uVar4,*(undefined4 *)(iVar7 + iVar5))" (( "(") (identifier "uVar4") (, ",") (pointer_expression "*(undefined4 *)(iVar7 + iVar5)" (* "*") (cast_expression "(undefined4 *)(iVar7 + iVar5)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + iVar5)" (( "(") (binary_expression "iVar7 + iVar5" (identifier "iVar7") (+ "+") (identifier "iVar5")) () ")")))) () ")"))) (; ";")) (} "}")))
(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (character)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (character)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)))))) right: (char_literal (escape_sequence))))))))) (goto_statement label: (statement_identifier))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (character)))) right: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)))))) right: (char_literal (escape_sequence)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (return_statement (identifier)))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (return_statement (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (number_literal))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (character)))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)))))) right: (char_literal (character)))))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (return_statement (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (char_literal (escape_sequence)))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (number_literal) (binary_expression left: (identifier) right: (number_literal)) (number_literal))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))))))))

uint MASKED(void)

{
  char cVar1;
  int iVar2;
  uint uVar3;
  undefined4 uVar4;
  int iVar5;
  char *pcVar6;
  int iVar7;
  int iVar8;
  
  iVar7 = *(int *)(PTR_DAT_0015656c + -0x4c20);
  iVar8 = *(int *)(PTR_DAT_0015656c + -0x4c18);
  iVar5 = (iVar8 + 1) * 4;
  pcVar6 = *(char **)(iVar7 + iVar5);
  iVar2 = test_binop(pcVar6);
  if (iVar2 != 0) {
    uVar3 = FUN_000960c8();
    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);
    return uVar3;
  }
  cVar1 = *pcVar6;
  if (cVar1 == '-') {
    if (pcVar6[1] == 'a') {
      if (pcVar6[2] == '\0') {
        uVar3 = 0;
        if (**(char **)(iVar7 + iVar5 + -4) != '\0') {
          uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');
        }
        goto LAB_00096720;
      }
    }
    else if ((pcVar6[1] == 'o') && (pcVar6[2] == '\0')) {
      if (**(char **)(iVar7 + iVar5 + -4) == '\0') {
        uVar3 = (uint)(**(char **)(iVar7 + iVar5 + 4) != '\0');
      }
      else {
        uVar3 = 1;
      }
LAB_00096720:
      *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);
      return uVar3;
    }
  }
  pcVar6 = *(char **)(iVar7 + iVar5 + -4);
  if (*pcVar6 == '!') {
    if (pcVar6[1] == '\0') {
      iVar8 = iVar8 + 1;
      *(int *)(PTR_DAT_0015656c + -0x4c18) = iVar8;
      if (iVar8 < *(int *)(PTR_DAT_0015656c + -0x4c1c)) {
        iVar2 = FUN_000964a8();
        return (uint)(iVar2 == 0);
      }
      FUN_000952a0(pcVar6,0x21,5);
    }
  }
  else if ((*pcVar6 == '(') && (**(char **)(iVar7 + iVar5 + 4) == ')')) {
    *(undefined4 *)(PTR_DAT_0015656c + -0x4c18) = *(undefined4 *)(PTR_DAT_0015656c + -0x4c1c);
    return (uint)(cVar1 != '\0');
  }
  uVar4 = (*(code *)PTR_dcgettext_00158548)
                    (0,PTR_s_at_element__and_the_COMMANDS_are_00156654 + -0x556c,5);
                    /* WARNING: Subroutine does not return */
  FUN_00094f50(uVar4,*(undefined4 *)(iVar7 + iVar5));
}

