
_Bool cmd_number(char *com,char *val,void *place)

{
  int iVar1;
  int *piVar2;
  undefined4 uVar3;
  undefined4 uVar4;
  undefined4 uVar5;
  undefined4 uVar6;
  
  iVar1 = (*(code *)PTR_strtol_000b7d3c)(val,0,10);
  if (((iVar1 + 0x7fffffffU < 0xfffffffe) ||
      (piVar2 = (int *)(*(code *)PTR___errno_location_000b7eb8)(), *piVar2 != 0x22)) && (-1 < iVar1)
     ) {
    *(int *)place = iVar1;
    return true;
  }
  uVar5 = *(undefined4 *)PTR_stderr_000b7ca0;
  uVar3 = (*(code *)PTR_dcgettext_000b7d20)(0,PTR_DAT_000b758c + -0x7adc,5);
  uVar6 = *(undefined4 *)PTR_exec_name_000b74b4;
  uVar4 = (*(code *)PTR_quote_000b74b8)(val);
  (*(code *)PTR___fprintf_chk_000b7e38)(uVar5,1,uVar3,uVar6,com,uVar4);
  return false;
}



undefined4 FUN_00043048(undefined4 param_1,undefined4 param_2,int *param_3)

{
  int iVar1;
  int *piVar2;
  undefined4 *puVar3;
  undefined4 uVar4;
  undefined4 uVar5;
  undefined4 uVar6;
  undefined4 uVar7;
  int in_t9;
  
  iVar1 = (**(code **)(in_t9 + 0x74cf4))(param_2,0,10);
  if (0xfffffffd < iVar1 + 0x7fffffffU) {
    piVar2 = (int *)(**(code **)(in_t9 + 0x74e70))();
    puVar3 = *(undefined4 **)(in_t9 + 0x74c58);
    if (*piVar2 == 0x22) goto LAB_00043104;
  }
  puVar3 = *(undefined4 **)(in_t9 + 0x74c58);
  if (-1 < iVar1) {
    *param_3 = iVar1;
    return 1;
  }
LAB_00043104:
  uVar6 = *puVar3;
  uVar4 = (**(code **)(in_t9 + 0x74cd8))(0,*(int *)(in_t9 + 0x74544) + -0x7adc,5);
  uVar7 = **(undefined4 **)(in_t9 + 0x7446c);
  uVar5 = (**(code **)(in_t9 + 0x74470))(param_2);
  (**(code **)(in_t9 + 0x74df0))(uVar6,1,uVar4,uVar7,param_1,uVar5);
  return 0;
}


lui gp,0x8
addiu gp,gp,-0x3c18
addu gp,gp,t9
addiu sp,sp,-0x38
sw ra,0x34(sp)
sw s4,0x30(sp)
sw s3,0x2c(sp)
sw s2,0x28(sp)
sw s1,0x24(sp)
sw s0,0x20(sp)
sw gp,0x18(sp)
or s3,a0,zero
or s1,a1,zero
or s2,a2,zero
li a2,0xa
or a1,zero,zero
or a0,s1,zero
lw t9,-0x76f4(gp)
jalr t9
_nop
lw gp,0x18(sp)
or s0,v0,zero
lui v0,0x7fff
ori v0,v0,0xffff
addu v0,s0,v0
sltiu v0,v0,-0x2
bne v0,zero,0x000430d4
_lw t9,-0x7578(gp)
jalr t9
_nop
lw gp,0x18(sp)
lw v1,0x0(v0)
li v0,0x22
beq v1,v0,0x00043104
_lw v0,-0x7790(gp)
bltz s0,0x00043104
_lw v0,-0x7790(gp)
sw s0,0x0(s2)
li v0,0x1
lw ra,0x34(sp)
lw s4,0x30(sp)
lw s3,0x2c(sp)
lw s2,0x28(sp)
lw s1,0x24(sp)
lw s0,0x20(sp)
jr ra
_addiu sp,sp,0x38
lw s0,0x0(v0)
li a2,0x5
lw a1,-0x7ea4(gp)
addiu a1,a1,-0x7adc
or a0,zero,zero
lw t9,-0x7710(gp)
jalr t9
_nop
lw gp,0x18(sp)
or s2,v0,zero
lw v0,-0x7f7c(gp)
lw s4,0x0(v0)
or a0,s1,zero
lw t9,-0x7f78(gp)
jalr t9
_nop
lw gp,0x18(sp)
sw v0,0x14(sp)
sw s3,0x10(sp)
or a3,s4,zero
or a2,s2,zero
li a1,0x1
or a0,s0,zero
lw t9,-0x75f8(gp)
jalr t9
_nop
lw gp,0x18(sp)
b 0x000430e4
_or v0,zero,zero
(translation_unit "undefined4 FUN_00043048(undefined4 param_1,undefined4 param_2,int *param_3)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  int in_t9;\n  \n  iVar1 = (**(code **)(in_t9 + 0x74cf4))(param_2,0,10);\n  if (0xfffffffd < iVar1 + 0x7fffffffU) {\n    piVar2 = (int *)(**(code **)(in_t9 + 0x74e70))();\n    puVar3 = *(undefined4 **)(in_t9 + 0x74c58);\n    if (*piVar2 == 0x22) goto LAB_00043104;\n  }\n  puVar3 = *(undefined4 **)(in_t9 + 0x74c58);\n  if (-1 < iVar1) {\n    *param_3 = iVar1;\n    return 1;\n  }\nLAB_00043104:\n  uVar6 = *puVar3;\n  uVar4 = (**(code **)(in_t9 + 0x74cd8))(0,*(int *)(in_t9 + 0x74544) + -0x7adc,5);\n  uVar7 = **(undefined4 **)(in_t9 + 0x7446c);\n  uVar5 = (**(code **)(in_t9 + 0x74470))(param_2);\n  (**(code **)(in_t9 + 0x74df0))(uVar6,1,uVar4,uVar7,param_1,uVar5);\n  return 0;\n}\n\n" (function_definition "undefined4 FUN_00043048(undefined4 param_1,undefined4 param_2,int *param_3)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  int in_t9;\n  \n  iVar1 = (**(code **)(in_t9 + 0x74cf4))(param_2,0,10);\n  if (0xfffffffd < iVar1 + 0x7fffffffU) {\n    piVar2 = (int *)(**(code **)(in_t9 + 0x74e70))();\n    puVar3 = *(undefined4 **)(in_t9 + 0x74c58);\n    if (*piVar2 == 0x22) goto LAB_00043104;\n  }\n  puVar3 = *(undefined4 **)(in_t9 + 0x74c58);\n  if (-1 < iVar1) {\n    *param_3 = iVar1;\n    return 1;\n  }\nLAB_00043104:\n  uVar6 = *puVar3;\n  uVar4 = (**(code **)(in_t9 + 0x74cd8))(0,*(int *)(in_t9 + 0x74544) + -0x7adc,5);\n  uVar7 = **(undefined4 **)(in_t9 + 0x7446c);\n  uVar5 = (**(code **)(in_t9 + 0x74470))(param_2);\n  (**(code **)(in_t9 + 0x74df0))(uVar6,1,uVar4,uVar7,param_1,uVar5);\n  return 0;\n}" type_identifier (function_declarator "FUN_00043048(undefined4 param_1,undefined4 param_2,int *param_3)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,int *param_3)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  int in_t9;\n  \n  iVar1 = (**(code **)(in_t9 + 0x74cf4))(param_2,0,10);\n  if (0xfffffffd < iVar1 + 0x7fffffffU) {\n    piVar2 = (int *)(**(code **)(in_t9 + 0x74e70))();\n    puVar3 = *(undefined4 **)(in_t9 + 0x74c58);\n    if (*piVar2 == 0x22) goto LAB_00043104;\n  }\n  puVar3 = *(undefined4 **)(in_t9 + 0x74c58);\n  if (-1 < iVar1) {\n    *param_3 = iVar1;\n    return 1;\n  }\nLAB_00043104:\n  uVar6 = *puVar3;\n  uVar4 = (**(code **)(in_t9 + 0x74cd8))(0,*(int *)(in_t9 + 0x74544) + -0x7adc,5);\n  uVar7 = **(undefined4 **)(in_t9 + 0x7446c);\n  uVar5 = (**(code **)(in_t9 + 0x74470))(param_2);\n  (**(code **)(in_t9 + 0x74df0))(uVar6,1,uVar4,uVar7,param_1,uVar5);\n  return 0;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "int in_t9;" primitive_type identifier ;) (expression_statement "iVar1 = (**(code **)(in_t9 + 0x74cf4))(param_2,0,10);" (assignment_expression "iVar1 = (**(code **)(in_t9 + 0x74cf4))(param_2,0,10)" identifier = (call_expression "(**(code **)(in_t9 + 0x74cf4))(param_2,0,10)" (parenthesized_expression "(**(code **)(in_t9 + 0x74cf4))" ( (pointer_expression "**(code **)(in_t9 + 0x74cf4)" * (pointer_expression "*(code **)(in_t9 + 0x74cf4)" * (cast_expression "(code **)(in_t9 + 0x74cf4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x74cf4)" ( (binary_expression "in_t9 + 0x74cf4" identifier + number_literal) ))))) )) (argument_list "(param_2,0,10)" ( identifier , number_literal , number_literal )))) ;) (if_statement "if (0xfffffffd < iVar1 + 0x7fffffffU) {\n    piVar2 = (int *)(**(code **)(in_t9 + 0x74e70))();\n    puVar3 = *(undefined4 **)(in_t9 + 0x74c58);\n    if (*piVar2 == 0x22) goto LAB_00043104;\n  }" if (parenthesized_expression "(0xfffffffd < iVar1 + 0x7fffffffU)" ( (binary_expression "0xfffffffd < iVar1 + 0x7fffffffU" number_literal < (binary_expression "iVar1 + 0x7fffffffU" identifier + number_literal)) )) (compound_statement "{\n    piVar2 = (int *)(**(code **)(in_t9 + 0x74e70))();\n    puVar3 = *(undefined4 **)(in_t9 + 0x74c58);\n    if (*piVar2 == 0x22) goto LAB_00043104;\n  }" { (expression_statement "piVar2 = (int *)(**(code **)(in_t9 + 0x74e70))();" (assignment_expression "piVar2 = (int *)(**(code **)(in_t9 + 0x74e70))()" identifier = (cast_expression "(int *)(**(code **)(in_t9 + 0x74e70))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(in_t9 + 0x74e70))()" (parenthesized_expression "(**(code **)(in_t9 + 0x74e70))" ( (pointer_expression "**(code **)(in_t9 + 0x74e70)" * (pointer_expression "*(code **)(in_t9 + 0x74e70)" * (cast_expression "(code **)(in_t9 + 0x74e70)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x74e70)" ( (binary_expression "in_t9 + 0x74e70" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "puVar3 = *(undefined4 **)(in_t9 + 0x74c58);" (assignment_expression "puVar3 = *(undefined4 **)(in_t9 + 0x74c58)" identifier = (pointer_expression "*(undefined4 **)(in_t9 + 0x74c58)" * (cast_expression "(undefined4 **)(in_t9 + 0x74c58)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x74c58)" ( (binary_expression "in_t9 + 0x74c58" identifier + number_literal) ))))) ;) (if_statement "if (*piVar2 == 0x22) goto LAB_00043104;" if (parenthesized_expression "(*piVar2 == 0x22)" ( (binary_expression "*piVar2 == 0x22" (pointer_expression "*piVar2" * identifier) == number_literal) )) (goto_statement "goto LAB_00043104;" goto statement_identifier ;)) })) (expression_statement "puVar3 = *(undefined4 **)(in_t9 + 0x74c58);" (assignment_expression "puVar3 = *(undefined4 **)(in_t9 + 0x74c58)" identifier = (pointer_expression "*(undefined4 **)(in_t9 + 0x74c58)" * (cast_expression "(undefined4 **)(in_t9 + 0x74c58)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x74c58)" ( (binary_expression "in_t9 + 0x74c58" identifier + number_literal) ))))) ;) (if_statement "if (-1 < iVar1) {\n    *param_3 = iVar1;\n    return 1;\n  }" if (parenthesized_expression "(-1 < iVar1)" ( (binary_expression "-1 < iVar1" number_literal < identifier) )) (compound_statement "{\n    *param_3 = iVar1;\n    return 1;\n  }" { (expression_statement "*param_3 = iVar1;" (assignment_expression "*param_3 = iVar1" (pointer_expression "*param_3" * identifier) = identifier) ;) (return_statement "return 1;" return number_literal ;) })) (labeled_statement "LAB_00043104:\n  uVar6 = *puVar3;" statement_identifier : (expression_statement "uVar6 = *puVar3;" (assignment_expression "uVar6 = *puVar3" identifier = (pointer_expression "*puVar3" * identifier)) ;)) (expression_statement "uVar4 = (**(code **)(in_t9 + 0x74cd8))(0,*(int *)(in_t9 + 0x74544) + -0x7adc,5);" (assignment_expression "uVar4 = (**(code **)(in_t9 + 0x74cd8))(0,*(int *)(in_t9 + 0x74544) + -0x7adc,5)" identifier = (call_expression "(**(code **)(in_t9 + 0x74cd8))(0,*(int *)(in_t9 + 0x74544) + -0x7adc,5)" (parenthesized_expression "(**(code **)(in_t9 + 0x74cd8))" ( (pointer_expression "**(code **)(in_t9 + 0x74cd8)" * (pointer_expression "*(code **)(in_t9 + 0x74cd8)" * (cast_expression "(code **)(in_t9 + 0x74cd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x74cd8)" ( (binary_expression "in_t9 + 0x74cd8" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(in_t9 + 0x74544) + -0x7adc,5)" ( number_literal , (binary_expression "*(int *)(in_t9 + 0x74544) + -0x7adc" (pointer_expression "*(int *)(in_t9 + 0x74544)" * (cast_expression "(int *)(in_t9 + 0x74544)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x74544)" ( (binary_expression "in_t9 + 0x74544" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "uVar7 = **(undefined4 **)(in_t9 + 0x7446c);" (assignment_expression "uVar7 = **(undefined4 **)(in_t9 + 0x7446c)" identifier = (pointer_expression "**(undefined4 **)(in_t9 + 0x7446c)" * (pointer_expression "*(undefined4 **)(in_t9 + 0x7446c)" * (cast_expression "(undefined4 **)(in_t9 + 0x7446c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x7446c)" ( (binary_expression "in_t9 + 0x7446c" identifier + number_literal) )))))) ;) (expression_statement "uVar5 = (**(code **)(in_t9 + 0x74470))(param_2);" (assignment_expression "uVar5 = (**(code **)(in_t9 + 0x74470))(param_2)" identifier = (call_expression "(**(code **)(in_t9 + 0x74470))(param_2)" (parenthesized_expression "(**(code **)(in_t9 + 0x74470))" ( (pointer_expression "**(code **)(in_t9 + 0x74470)" * (pointer_expression "*(code **)(in_t9 + 0x74470)" * (cast_expression "(code **)(in_t9 + 0x74470)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x74470)" ( (binary_expression "in_t9 + 0x74470" identifier + number_literal) ))))) )) (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "(**(code **)(in_t9 + 0x74df0))(uVar6,1,uVar4,uVar7,param_1,uVar5);" (call_expression "(**(code **)(in_t9 + 0x74df0))(uVar6,1,uVar4,uVar7,param_1,uVar5)" (parenthesized_expression "(**(code **)(in_t9 + 0x74df0))" ( (pointer_expression "**(code **)(in_t9 + 0x74df0)" * (pointer_expression "*(code **)(in_t9 + 0x74df0)" * (cast_expression "(code **)(in_t9 + 0x74df0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x74df0)" ( (binary_expression "in_t9 + 0x74df0" identifier + number_literal) ))))) )) (argument_list "(uVar6,1,uVar4,uVar7,param_1,uVar5)" ( identifier , number_literal , identifier , identifier , identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "_Bool cmd_number(char *com,char *val,void *place)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  \n  iVar1 = (*(code *)PTR_strtol_000b7d3c)(val,0,10);\n  if (((iVar1 + 0x7fffffffU < 0xfffffffe) ||\n      (piVar2 = (int *)(*(code *)PTR___errno_location_000b7eb8)(), *piVar2 != 0x22)) && (-1 < iVar1)\n     ) {\n    *(int *)place = iVar1;\n    return true;\n  }\n  uVar5 = *(undefined4 *)PTR_stderr_000b7ca0;\n  uVar3 = (*(code *)PTR_dcgettext_000b7d20)(0,PTR_DAT_000b758c + -0x7adc,5);\n  uVar6 = *(undefined4 *)PTR_exec_name_000b74b4;\n  uVar4 = (*(code *)PTR_quote_000b74b8)(val);\n  (*(code *)PTR___fprintf_chk_000b7e38)(uVar5,1,uVar3,uVar6,com,uVar4);\n  return false;\n}\n\n" (function_definition "_Bool cmd_number(char *com,char *val,void *place)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  \n  iVar1 = (*(code *)PTR_strtol_000b7d3c)(val,0,10);\n  if (((iVar1 + 0x7fffffffU < 0xfffffffe) ||\n      (piVar2 = (int *)(*(code *)PTR___errno_location_000b7eb8)(), *piVar2 != 0x22)) && (-1 < iVar1)\n     ) {\n    *(int *)place = iVar1;\n    return true;\n  }\n  uVar5 = *(undefined4 *)PTR_stderr_000b7ca0;\n  uVar3 = (*(code *)PTR_dcgettext_000b7d20)(0,PTR_DAT_000b758c + -0x7adc,5);\n  uVar6 = *(undefined4 *)PTR_exec_name_000b74b4;\n  uVar4 = (*(code *)PTR_quote_000b74b8)(val);\n  (*(code *)PTR___fprintf_chk_000b7e38)(uVar5,1,uVar3,uVar6,com,uVar4);\n  return false;\n}" type_identifier (function_declarator "cmd_number(char *com,char *val,void *place)" identifier (parameter_list "(char *com,char *val,void *place)" ( (parameter_declaration "char *com" primitive_type (pointer_declarator "*com" * identifier)) , (parameter_declaration "char *val" primitive_type (pointer_declarator "*val" * identifier)) , (parameter_declaration "void *place" primitive_type (pointer_declarator "*place" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  undefined4 uVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  \n  iVar1 = (*(code *)PTR_strtol_000b7d3c)(val,0,10);\n  if (((iVar1 + 0x7fffffffU < 0xfffffffe) ||\n      (piVar2 = (int *)(*(code *)PTR___errno_location_000b7eb8)(), *piVar2 != 0x22)) && (-1 < iVar1)\n     ) {\n    *(int *)place = iVar1;\n    return true;\n  }\n  uVar5 = *(undefined4 *)PTR_stderr_000b7ca0;\n  uVar3 = (*(code *)PTR_dcgettext_000b7d20)(0,PTR_DAT_000b758c + -0x7adc,5);\n  uVar6 = *(undefined4 *)PTR_exec_name_000b74b4;\n  uVar4 = (*(code *)PTR_quote_000b74b8)(val);\n  (*(code *)PTR___fprintf_chk_000b7e38)(uVar5,1,uVar3,uVar6,com,uVar4);\n  return false;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (expression_statement "iVar1 = (*(code *)PTR_strtol_000b7d3c)(val,0,10);" (assignment_expression "iVar1 = (*(code *)PTR_strtol_000b7d3c)(val,0,10)" identifier = (call_expression "(*(code *)PTR_strtol_000b7d3c)(val,0,10)" (parenthesized_expression "(*(code *)PTR_strtol_000b7d3c)" ( (pointer_expression "*(code *)PTR_strtol_000b7d3c" * (cast_expression "(code *)PTR_strtol_000b7d3c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(val,0,10)" ( identifier , number_literal , number_literal )))) ;) (if_statement "if (((iVar1 + 0x7fffffffU < 0xfffffffe) ||\n      (piVar2 = (int *)(*(code *)PTR___errno_location_000b7eb8)(), *piVar2 != 0x22)) && (-1 < iVar1)\n     ) {\n    *(int *)place = iVar1;\n    return true;\n  }" if (parenthesized_expression "(((iVar1 + 0x7fffffffU < 0xfffffffe) ||\n      (piVar2 = (int *)(*(code *)PTR___errno_location_000b7eb8)(), *piVar2 != 0x22)) && (-1 < iVar1)\n     )" ( (binary_expression "((iVar1 + 0x7fffffffU < 0xfffffffe) ||\n      (piVar2 = (int *)(*(code *)PTR___errno_location_000b7eb8)(), *piVar2 != 0x22)) && (-1 < iVar1)" (parenthesized_expression "((iVar1 + 0x7fffffffU < 0xfffffffe) ||\n      (piVar2 = (int *)(*(code *)PTR___errno_location_000b7eb8)(), *piVar2 != 0x22))" ( (binary_expression "(iVar1 + 0x7fffffffU < 0xfffffffe) ||\n      (piVar2 = (int *)(*(code *)PTR___errno_location_000b7eb8)(), *piVar2 != 0x22)" (parenthesized_expression "(iVar1 + 0x7fffffffU < 0xfffffffe)" ( (binary_expression "iVar1 + 0x7fffffffU < 0xfffffffe" (binary_expression "iVar1 + 0x7fffffffU" identifier + number_literal) < number_literal) )) || (parenthesized_expression "(piVar2 = (int *)(*(code *)PTR___errno_location_000b7eb8)(), *piVar2 != 0x22)" ( (comma_expression "piVar2 = (int *)(*(code *)PTR___errno_location_000b7eb8)(), *piVar2 != 0x22" (assignment_expression "piVar2 = (int *)(*(code *)PTR___errno_location_000b7eb8)()" identifier = (cast_expression "(int *)(*(code *)PTR___errno_location_000b7eb8)()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR___errno_location_000b7eb8)()" (parenthesized_expression "(*(code *)PTR___errno_location_000b7eb8)" ( (pointer_expression "*(code *)PTR___errno_location_000b7eb8" * (cast_expression "(code *)PTR___errno_location_000b7eb8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))))) , (binary_expression "*piVar2 != 0x22" (pointer_expression "*piVar2" * identifier) != number_literal)) ))) )) && (parenthesized_expression "(-1 < iVar1)" ( (binary_expression "-1 < iVar1" number_literal < identifier) ))) )) (compound_statement "{\n    *(int *)place = iVar1;\n    return true;\n  }" { (expression_statement "*(int *)place = iVar1;" (assignment_expression "*(int *)place = iVar1" (pointer_expression "*(int *)place" * (cast_expression "(int *)place" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) = identifier) ;) (return_statement "return true;" return true ;) })) (expression_statement "uVar5 = *(undefined4 *)PTR_stderr_000b7ca0;" (assignment_expression "uVar5 = *(undefined4 *)PTR_stderr_000b7ca0" identifier = (pointer_expression "*(undefined4 *)PTR_stderr_000b7ca0" * (cast_expression "(undefined4 *)PTR_stderr_000b7ca0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar3 = (*(code *)PTR_dcgettext_000b7d20)(0,PTR_DAT_000b758c + -0x7adc,5);" (assignment_expression "uVar3 = (*(code *)PTR_dcgettext_000b7d20)(0,PTR_DAT_000b758c + -0x7adc,5)" identifier = (call_expression "(*(code *)PTR_dcgettext_000b7d20)(0,PTR_DAT_000b758c + -0x7adc,5)" (parenthesized_expression "(*(code *)PTR_dcgettext_000b7d20)" ( (pointer_expression "*(code *)PTR_dcgettext_000b7d20" * (cast_expression "(code *)PTR_dcgettext_000b7d20" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0,PTR_DAT_000b758c + -0x7adc,5)" ( number_literal , (binary_expression "PTR_DAT_000b758c + -0x7adc" identifier + number_literal) , number_literal )))) ;) (expression_statement "uVar6 = *(undefined4 *)PTR_exec_name_000b74b4;" (assignment_expression "uVar6 = *(undefined4 *)PTR_exec_name_000b74b4" identifier = (pointer_expression "*(undefined4 *)PTR_exec_name_000b74b4" * (cast_expression "(undefined4 *)PTR_exec_name_000b74b4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar4 = (*(code *)PTR_quote_000b74b8)(val);" (assignment_expression "uVar4 = (*(code *)PTR_quote_000b74b8)(val)" identifier = (call_expression "(*(code *)PTR_quote_000b74b8)(val)" (parenthesized_expression "(*(code *)PTR_quote_000b74b8)" ( (pointer_expression "*(code *)PTR_quote_000b74b8" * (cast_expression "(code *)PTR_quote_000b74b8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(val)" ( identifier )))) ;) (expression_statement "(*(code *)PTR___fprintf_chk_000b7e38)(uVar5,1,uVar3,uVar6,com,uVar4);" (call_expression "(*(code *)PTR___fprintf_chk_000b7e38)(uVar5,1,uVar3,uVar6,com,uVar4)" (parenthesized_expression "(*(code *)PTR___fprintf_chk_000b7e38)" ( (pointer_expression "*(code *)PTR___fprintf_chk_000b7e38" * (cast_expression "(code *)PTR___fprintf_chk_000b7e38" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(uVar5,1,uVar3,uVar6,com,uVar4)" ( identifier , number_literal , identifier , identifier , identifier , identifier ))) ;) (return_statement "return false;" return false ;) })))
(translation_unit "undefined4 FUN_00043048(undefined4 param_1,undefined4 param_2,int *param_3)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  int in_t9;\n  \n  iVar1 = (**(code **)(in_t9 + 0x74cf4))(param_2,0,10);\n  if (0xfffffffd < iVar1 + 0x7fffffffU) {\n    piVar2 = (int *)(**(code **)(in_t9 + 0x74e70))();\n    puVar3 = *(undefined4 **)(in_t9 + 0x74c58);\n    if (*piVar2 == 0x22) goto LAB_00043104;\n  }\n  puVar3 = *(undefined4 **)(in_t9 + 0x74c58);\n  if (-1 < iVar1) {\n    *param_3 = iVar1;\n    return 1;\n  }\nLAB_00043104:\n  uVar6 = *puVar3;\n  uVar4 = (**(code **)(in_t9 + 0x74cd8))(0,*(int *)(in_t9 + 0x74544) + -0x7adc,5);\n  uVar7 = **(undefined4 **)(in_t9 + 0x7446c);\n  uVar5 = (**(code **)(in_t9 + 0x74470))(param_2);\n  (**(code **)(in_t9 + 0x74df0))(uVar6,1,uVar4,uVar7,param_1,uVar5);\n  return 0;\n}\n\n" (function_definition "undefined4 FUN_00043048(undefined4 param_1,undefined4 param_2,int *param_3)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  int in_t9;\n  \n  iVar1 = (**(code **)(in_t9 + 0x74cf4))(param_2,0,10);\n  if (0xfffffffd < iVar1 + 0x7fffffffU) {\n    piVar2 = (int *)(**(code **)(in_t9 + 0x74e70))();\n    puVar3 = *(undefined4 **)(in_t9 + 0x74c58);\n    if (*piVar2 == 0x22) goto LAB_00043104;\n  }\n  puVar3 = *(undefined4 **)(in_t9 + 0x74c58);\n  if (-1 < iVar1) {\n    *param_3 = iVar1;\n    return 1;\n  }\nLAB_00043104:\n  uVar6 = *puVar3;\n  uVar4 = (**(code **)(in_t9 + 0x74cd8))(0,*(int *)(in_t9 + 0x74544) + -0x7adc,5);\n  uVar7 = **(undefined4 **)(in_t9 + 0x7446c);\n  uVar5 = (**(code **)(in_t9 + 0x74470))(param_2);\n  (**(code **)(in_t9 + 0x74df0))(uVar6,1,uVar4,uVar7,param_1,uVar5);\n  return 0;\n}" type_identifier (function_declarator "FUN_00043048(undefined4 param_1,undefined4 param_2,int *param_3)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,int *param_3)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "int *param_3" primitive_type (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  int in_t9;\n  \n  iVar1 = (**(code **)(in_t9 + 0x74cf4))(param_2,0,10);\n  if (0xfffffffd < iVar1 + 0x7fffffffU) {\n    piVar2 = (int *)(**(code **)(in_t9 + 0x74e70))();\n    puVar3 = *(undefined4 **)(in_t9 + 0x74c58);\n    if (*piVar2 == 0x22) goto LAB_00043104;\n  }\n  puVar3 = *(undefined4 **)(in_t9 + 0x74c58);\n  if (-1 < iVar1) {\n    *param_3 = iVar1;\n    return 1;\n  }\nLAB_00043104:\n  uVar6 = *puVar3;\n  uVar4 = (**(code **)(in_t9 + 0x74cd8))(0,*(int *)(in_t9 + 0x74544) + -0x7adc,5);\n  uVar7 = **(undefined4 **)(in_t9 + 0x7446c);\n  uVar5 = (**(code **)(in_t9 + 0x74470))(param_2);\n  (**(code **)(in_t9 + 0x74df0))(uVar6,1,uVar4,uVar7,param_1,uVar5);\n  return 0;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int *piVar2;" primitive_type (pointer_declarator "*piVar2" * identifier) ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "undefined4 uVar6;" type_identifier identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "int in_t9;" primitive_type identifier ;) (expression_statement "iVar1 = (**(code **)(in_t9 + 0x74cf4))(param_2,0,10);" (assignment_expression "iVar1 = (**(code **)(in_t9 + 0x74cf4))(param_2,0,10)" identifier = (call_expression "(**(code **)(in_t9 + 0x74cf4))(param_2,0,10)" (parenthesized_expression "(**(code **)(in_t9 + 0x74cf4))" ( (pointer_expression "**(code **)(in_t9 + 0x74cf4)" * (pointer_expression "*(code **)(in_t9 + 0x74cf4)" * (cast_expression "(code **)(in_t9 + 0x74cf4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x74cf4)" ( (binary_expression "in_t9 + 0x74cf4" identifier + number_literal) ))))) )) (argument_list "(param_2,0,10)" ( identifier , number_literal , number_literal )))) ;) (if_statement "if (0xfffffffd < iVar1 + 0x7fffffffU) {\n    piVar2 = (int *)(**(code **)(in_t9 + 0x74e70))();\n    puVar3 = *(undefined4 **)(in_t9 + 0x74c58);\n    if (*piVar2 == 0x22) goto LAB_00043104;\n  }" if (parenthesized_expression "(0xfffffffd < iVar1 + 0x7fffffffU)" ( (binary_expression "0xfffffffd < iVar1 + 0x7fffffffU" number_literal < (binary_expression "iVar1 + 0x7fffffffU" identifier + number_literal)) )) (compound_statement "{\n    piVar2 = (int *)(**(code **)(in_t9 + 0x74e70))();\n    puVar3 = *(undefined4 **)(in_t9 + 0x74c58);\n    if (*piVar2 == 0x22) goto LAB_00043104;\n  }" { (expression_statement "piVar2 = (int *)(**(code **)(in_t9 + 0x74e70))();" (assignment_expression "piVar2 = (int *)(**(code **)(in_t9 + 0x74e70))()" identifier = (cast_expression "(int *)(**(code **)(in_t9 + 0x74e70))()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(in_t9 + 0x74e70))()" (parenthesized_expression "(**(code **)(in_t9 + 0x74e70))" ( (pointer_expression "**(code **)(in_t9 + 0x74e70)" * (pointer_expression "*(code **)(in_t9 + 0x74e70)" * (cast_expression "(code **)(in_t9 + 0x74e70)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x74e70)" ( (binary_expression "in_t9 + 0x74e70" identifier + number_literal) ))))) )) (argument_list "()" ( ))))) ;) (expression_statement "puVar3 = *(undefined4 **)(in_t9 + 0x74c58);" (assignment_expression "puVar3 = *(undefined4 **)(in_t9 + 0x74c58)" identifier = (pointer_expression "*(undefined4 **)(in_t9 + 0x74c58)" * (cast_expression "(undefined4 **)(in_t9 + 0x74c58)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x74c58)" ( (binary_expression "in_t9 + 0x74c58" identifier + number_literal) ))))) ;) (if_statement "if (*piVar2 == 0x22) goto LAB_00043104;" if (parenthesized_expression "(*piVar2 == 0x22)" ( (binary_expression "*piVar2 == 0x22" (pointer_expression "*piVar2" * identifier) == number_literal) )) (goto_statement "goto LAB_00043104;" goto statement_identifier ;)) })) (expression_statement "puVar3 = *(undefined4 **)(in_t9 + 0x74c58);" (assignment_expression "puVar3 = *(undefined4 **)(in_t9 + 0x74c58)" identifier = (pointer_expression "*(undefined4 **)(in_t9 + 0x74c58)" * (cast_expression "(undefined4 **)(in_t9 + 0x74c58)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x74c58)" ( (binary_expression "in_t9 + 0x74c58" identifier + number_literal) ))))) ;) (if_statement "if (-1 < iVar1) {\n    *param_3 = iVar1;\n    return 1;\n  }" if (parenthesized_expression "(-1 < iVar1)" ( (binary_expression "-1 < iVar1" number_literal < identifier) )) (compound_statement "{\n    *param_3 = iVar1;\n    return 1;\n  }" { (expression_statement "*param_3 = iVar1;" (assignment_expression "*param_3 = iVar1" (pointer_expression "*param_3" * identifier) = identifier) ;) (return_statement "return 1;" return number_literal ;) })) (labeled_statement "LAB_00043104:\n  uVar6 = *puVar3;" statement_identifier : (expression_statement "uVar6 = *puVar3;" (assignment_expression "uVar6 = *puVar3" identifier = (pointer_expression "*puVar3" * identifier)) ;)) (expression_statement "uVar4 = (**(code **)(in_t9 + 0x74cd8))(0,*(int *)(in_t9 + 0x74544) + -0x7adc,5);" (assignment_expression "uVar4 = (**(code **)(in_t9 + 0x74cd8))(0,*(int *)(in_t9 + 0x74544) + -0x7adc,5)" identifier = (call_expression "(**(code **)(in_t9 + 0x74cd8))(0,*(int *)(in_t9 + 0x74544) + -0x7adc,5)" (parenthesized_expression "(**(code **)(in_t9 + 0x74cd8))" ( (pointer_expression "**(code **)(in_t9 + 0x74cd8)" * (pointer_expression "*(code **)(in_t9 + 0x74cd8)" * (cast_expression "(code **)(in_t9 + 0x74cd8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x74cd8)" ( (binary_expression "in_t9 + 0x74cd8" identifier + number_literal) ))))) )) (argument_list "(0,*(int *)(in_t9 + 0x74544) + -0x7adc,5)" ( number_literal , (binary_expression "*(int *)(in_t9 + 0x74544) + -0x7adc" (pointer_expression "*(int *)(in_t9 + 0x74544)" * (cast_expression "(int *)(in_t9 + 0x74544)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_t9 + 0x74544)" ( (binary_expression "in_t9 + 0x74544" identifier + number_literal) )))) + number_literal) , number_literal )))) ;) (expression_statement "uVar7 = **(undefined4 **)(in_t9 + 0x7446c);" (assignment_expression "uVar7 = **(undefined4 **)(in_t9 + 0x7446c)" identifier = (pointer_expression "**(undefined4 **)(in_t9 + 0x7446c)" * (pointer_expression "*(undefined4 **)(in_t9 + 0x7446c)" * (cast_expression "(undefined4 **)(in_t9 + 0x7446c)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x7446c)" ( (binary_expression "in_t9 + 0x7446c" identifier + number_literal) )))))) ;) (expression_statement "uVar5 = (**(code **)(in_t9 + 0x74470))(param_2);" (assignment_expression "uVar5 = (**(code **)(in_t9 + 0x74470))(param_2)" identifier = (call_expression "(**(code **)(in_t9 + 0x74470))(param_2)" (parenthesized_expression "(**(code **)(in_t9 + 0x74470))" ( (pointer_expression "**(code **)(in_t9 + 0x74470)" * (pointer_expression "*(code **)(in_t9 + 0x74470)" * (cast_expression "(code **)(in_t9 + 0x74470)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x74470)" ( (binary_expression "in_t9 + 0x74470" identifier + number_literal) ))))) )) (argument_list "(param_2)" ( identifier )))) ;) (expression_statement "(**(code **)(in_t9 + 0x74df0))(uVar6,1,uVar4,uVar7,param_1,uVar5);" (call_expression "(**(code **)(in_t9 + 0x74df0))(uVar6,1,uVar4,uVar7,param_1,uVar5)" (parenthesized_expression "(**(code **)(in_t9 + 0x74df0))" ( (pointer_expression "**(code **)(in_t9 + 0x74df0)" * (pointer_expression "*(code **)(in_t9 + 0x74df0)" * (cast_expression "(code **)(in_t9 + 0x74df0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_t9 + 0x74df0)" ( (binary_expression "in_t9 + 0x74df0" identifier + number_literal) ))))) )) (argument_list "(uVar6,1,uVar4,uVar7,param_1,uVar5)" ( identifier , number_literal , identifier , identifier , identifier , identifier ))) ;) (return_statement "return 0;" return number_literal ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT + LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (return_statement return LIT ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , LIT , IDENT , IDENT , IDENT , IDENT ))) ;) (return_statement return LIT ;) })))
(function_definition "undefined4 FUN_00043048(undefined4 param_1,undefined4 param_2,int *param_3)\n\n{\n  int iVar1;\n  int *piVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  int in_t9;\n  \n  iVar1 = (**(code **)(in_t9 + 0x74cf4))(param_2,0,10);\n  if (0xfffffffd < iVar1 + 0x7fffffffU) {\n    piVar2 = (int *)(**(code **)(in_t9 + 0x74e70))();\n    puVar3 = *(undefined4 **)(in_t9 + 0x74c58);\n    if (*piVar2 == 0x22) goto LAB_00043104;\n  }\n  puVar3 = *(undefined4 **)(in_t9 + 0x74c58);\n  if (-1 < iVar1) {\n    *param_3 = iVar1;\n    return 1;\n  }\nLAB_00043104:\n  uVar6 = *puVar3;\n  uVar4 = (**(code **)(in_t9 + 0x74cd8))(0,*(int *)(in_t9 + 0x74544) + -0x7adc,5);\n  uVar7 = **(undefined4 **)(in_t9 + 0x7446c);\n  uVar5 = (**(code **)(in_t9 + 0x74470))(param_2);\n  (**(code **)(in_t9 + 0x74df0))(uVar6,1,uVar4,uVar7,param_1,uVar5);\n  return 0;\n}" (type_identifier "undefined4") (function_declarator "FUN_00043048(undefined4 param_1,undefined4 param_2,int *param_3)" (identifier "FUN_00043048") (parameter_list "(undefined4 param_1,undefined4 param_2,int *param_3)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "int *param_3" (primitive_type "int") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) () ")"))) (compound_statement "{\n  int iVar1;\n  int *piVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  undefined4 uVar5;\n  undefined4 uVar6;\n  undefined4 uVar7;\n  int in_t9;\n  \n  iVar1 = (**(code **)(in_t9 + 0x74cf4))(param_2,0,10);\n  if (0xfffffffd < iVar1 + 0x7fffffffU) {\n    piVar2 = (int *)(**(code **)(in_t9 + 0x74e70))();\n    puVar3 = *(undefined4 **)(in_t9 + 0x74c58);\n    if (*piVar2 == 0x22) goto LAB_00043104;\n  }\n  puVar3 = *(undefined4 **)(in_t9 + 0x74c58);\n  if (-1 < iVar1) {\n    *param_3 = iVar1;\n    return 1;\n  }\nLAB_00043104:\n  uVar6 = *puVar3;\n  uVar4 = (**(code **)(in_t9 + 0x74cd8))(0,*(int *)(in_t9 + 0x74544) + -0x7adc,5);\n  uVar7 = **(undefined4 **)(in_t9 + 0x7446c);\n  uVar5 = (**(code **)(in_t9 + 0x74470))(param_2);\n  (**(code **)(in_t9 + 0x74df0))(uVar6,1,uVar4,uVar7,param_1,uVar5);\n  return 0;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "int *piVar2;" (primitive_type "int") (pointer_declarator "*piVar2" (* "*") (identifier "piVar2")) (; ";")) (declaration "undefined4 *puVar3;" (type_identifier "undefined4") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "undefined4 uVar6;" (type_identifier "undefined4") (identifier "uVar6") (; ";")) (declaration "undefined4 uVar7;" (type_identifier "undefined4") (identifier "uVar7") (; ";")) (declaration "int in_t9;" (primitive_type "int") (identifier "in_t9") (; ";")) (expression_statement "iVar1 = (**(code **)(in_t9 + 0x74cf4))(param_2,0,10);" (assignment_expression "iVar1 = (**(code **)(in_t9 + 0x74cf4))(param_2,0,10)" (identifier "iVar1") (= "=") (call_expression "(**(code **)(in_t9 + 0x74cf4))(param_2,0,10)" (parenthesized_expression "(**(code **)(in_t9 + 0x74cf4))" (( "(") (pointer_expression "**(code **)(in_t9 + 0x74cf4)" (* "*") (pointer_expression "*(code **)(in_t9 + 0x74cf4)" (* "*") (cast_expression "(code **)(in_t9 + 0x74cf4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x74cf4)" (( "(") (binary_expression "in_t9 + 0x74cf4" (identifier "in_t9") (+ "+") (number_literal "0x74cf4")) () ")"))))) () ")")) (argument_list "(param_2,0,10)" (( "(") (identifier "param_2") (, ",") (number_literal "0") (, ",") (number_literal "10") () ")")))) (; ";")) (if_statement "if (0xfffffffd < iVar1 + 0x7fffffffU) {\n    piVar2 = (int *)(**(code **)(in_t9 + 0x74e70))();\n    puVar3 = *(undefined4 **)(in_t9 + 0x74c58);\n    if (*piVar2 == 0x22) goto LAB_00043104;\n  }" (if "if") (parenthesized_expression "(0xfffffffd < iVar1 + 0x7fffffffU)" (( "(") (binary_expression "0xfffffffd < iVar1 + 0x7fffffffU" (number_literal "0xfffffffd") (< "<") (binary_expression "iVar1 + 0x7fffffffU" (identifier "iVar1") (+ "+") (number_literal "0x7fffffffU"))) () ")")) (compound_statement "{\n    piVar2 = (int *)(**(code **)(in_t9 + 0x74e70))();\n    puVar3 = *(undefined4 **)(in_t9 + 0x74c58);\n    if (*piVar2 == 0x22) goto LAB_00043104;\n  }" ({ "{") (expression_statement "piVar2 = (int *)(**(code **)(in_t9 + 0x74e70))();" (assignment_expression "piVar2 = (int *)(**(code **)(in_t9 + 0x74e70))()" (identifier "piVar2") (= "=") (cast_expression "(int *)(**(code **)(in_t9 + 0x74e70))()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(in_t9 + 0x74e70))()" (parenthesized_expression "(**(code **)(in_t9 + 0x74e70))" (( "(") (pointer_expression "**(code **)(in_t9 + 0x74e70)" (* "*") (pointer_expression "*(code **)(in_t9 + 0x74e70)" (* "*") (cast_expression "(code **)(in_t9 + 0x74e70)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x74e70)" (( "(") (binary_expression "in_t9 + 0x74e70" (identifier "in_t9") (+ "+") (number_literal "0x74e70")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))))) (; ";")) (expression_statement "puVar3 = *(undefined4 **)(in_t9 + 0x74c58);" (assignment_expression "puVar3 = *(undefined4 **)(in_t9 + 0x74c58)" (identifier "puVar3") (= "=") (pointer_expression "*(undefined4 **)(in_t9 + 0x74c58)" (* "*") (cast_expression "(undefined4 **)(in_t9 + 0x74c58)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x74c58)" (( "(") (binary_expression "in_t9 + 0x74c58" (identifier "in_t9") (+ "+") (number_literal "0x74c58")) () ")"))))) (; ";")) (if_statement "if (*piVar2 == 0x22) goto LAB_00043104;" (if "if") (parenthesized_expression "(*piVar2 == 0x22)" (( "(") (binary_expression "*piVar2 == 0x22" (pointer_expression "*piVar2" (* "*") (identifier "piVar2")) (== "==") (number_literal "0x22")) () ")")) (goto_statement "goto LAB_00043104;" (goto "goto") (statement_identifier "LAB_00043104") (; ";"))) (} "}"))) (expression_statement "puVar3 = *(undefined4 **)(in_t9 + 0x74c58);" (assignment_expression "puVar3 = *(undefined4 **)(in_t9 + 0x74c58)" (identifier "puVar3") (= "=") (pointer_expression "*(undefined4 **)(in_t9 + 0x74c58)" (* "*") (cast_expression "(undefined4 **)(in_t9 + 0x74c58)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x74c58)" (( "(") (binary_expression "in_t9 + 0x74c58" (identifier "in_t9") (+ "+") (number_literal "0x74c58")) () ")"))))) (; ";")) (if_statement "if (-1 < iVar1) {\n    *param_3 = iVar1;\n    return 1;\n  }" (if "if") (parenthesized_expression "(-1 < iVar1)" (( "(") (binary_expression "-1 < iVar1" (number_literal "-1") (< "<") (identifier "iVar1")) () ")")) (compound_statement "{\n    *param_3 = iVar1;\n    return 1;\n  }" ({ "{") (expression_statement "*param_3 = iVar1;" (assignment_expression "*param_3 = iVar1" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (identifier "iVar1")) (; ";")) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}"))) (labeled_statement "LAB_00043104:\n  uVar6 = *puVar3;" (statement_identifier "LAB_00043104") (: ":") (expression_statement "uVar6 = *puVar3;" (assignment_expression "uVar6 = *puVar3" (identifier "uVar6") (= "=") (pointer_expression "*puVar3" (* "*") (identifier "puVar3"))) (; ";"))) (expression_statement "uVar4 = (**(code **)(in_t9 + 0x74cd8))(0,*(int *)(in_t9 + 0x74544) + -0x7adc,5);" (assignment_expression "uVar4 = (**(code **)(in_t9 + 0x74cd8))(0,*(int *)(in_t9 + 0x74544) + -0x7adc,5)" (identifier "uVar4") (= "=") (call_expression "(**(code **)(in_t9 + 0x74cd8))(0,*(int *)(in_t9 + 0x74544) + -0x7adc,5)" (parenthesized_expression "(**(code **)(in_t9 + 0x74cd8))" (( "(") (pointer_expression "**(code **)(in_t9 + 0x74cd8)" (* "*") (pointer_expression "*(code **)(in_t9 + 0x74cd8)" (* "*") (cast_expression "(code **)(in_t9 + 0x74cd8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x74cd8)" (( "(") (binary_expression "in_t9 + 0x74cd8" (identifier "in_t9") (+ "+") (number_literal "0x74cd8")) () ")"))))) () ")")) (argument_list "(0,*(int *)(in_t9 + 0x74544) + -0x7adc,5)" (( "(") (number_literal "0") (, ",") (binary_expression "*(int *)(in_t9 + 0x74544) + -0x7adc" (pointer_expression "*(int *)(in_t9 + 0x74544)" (* "*") (cast_expression "(int *)(in_t9 + 0x74544)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_t9 + 0x74544)" (( "(") (binary_expression "in_t9 + 0x74544" (identifier "in_t9") (+ "+") (number_literal "0x74544")) () ")")))) (+ "+") (number_literal "-0x7adc")) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "uVar7 = **(undefined4 **)(in_t9 + 0x7446c);" (assignment_expression "uVar7 = **(undefined4 **)(in_t9 + 0x7446c)" (identifier "uVar7") (= "=") (pointer_expression "**(undefined4 **)(in_t9 + 0x7446c)" (* "*") (pointer_expression "*(undefined4 **)(in_t9 + 0x7446c)" (* "*") (cast_expression "(undefined4 **)(in_t9 + 0x7446c)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x7446c)" (( "(") (binary_expression "in_t9 + 0x7446c" (identifier "in_t9") (+ "+") (number_literal "0x7446c")) () ")")))))) (; ";")) (expression_statement "uVar5 = (**(code **)(in_t9 + 0x74470))(param_2);" (assignment_expression "uVar5 = (**(code **)(in_t9 + 0x74470))(param_2)" (identifier "uVar5") (= "=") (call_expression "(**(code **)(in_t9 + 0x74470))(param_2)" (parenthesized_expression "(**(code **)(in_t9 + 0x74470))" (( "(") (pointer_expression "**(code **)(in_t9 + 0x74470)" (* "*") (pointer_expression "*(code **)(in_t9 + 0x74470)" (* "*") (cast_expression "(code **)(in_t9 + 0x74470)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x74470)" (( "(") (binary_expression "in_t9 + 0x74470" (identifier "in_t9") (+ "+") (number_literal "0x74470")) () ")"))))) () ")")) (argument_list "(param_2)" (( "(") (identifier "param_2") () ")")))) (; ";")) (expression_statement "(**(code **)(in_t9 + 0x74df0))(uVar6,1,uVar4,uVar7,param_1,uVar5);" (call_expression "(**(code **)(in_t9 + 0x74df0))(uVar6,1,uVar4,uVar7,param_1,uVar5)" (parenthesized_expression "(**(code **)(in_t9 + 0x74df0))" (( "(") (pointer_expression "**(code **)(in_t9 + 0x74df0)" (* "*") (pointer_expression "*(code **)(in_t9 + 0x74df0)" (* "*") (cast_expression "(code **)(in_t9 + 0x74df0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(in_t9 + 0x74df0)" (( "(") (binary_expression "in_t9 + 0x74df0" (identifier "in_t9") (+ "+") (number_literal "0x74df0")) () ")"))))) () ")")) (argument_list "(uVar6,1,uVar4,uVar7,param_1,uVar5)" (( "(") (identifier "uVar6") (, ",") (number_literal "1") (, ",") (identifier "uVar4") (, ",") (identifier "uVar7") (, ",") (identifier "param_1") (, ",") (identifier "uVar5") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))
(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (identifier))) (return_statement (number_literal)))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (number_literal))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (number_literal) (identifier) (identifier) (identifier) (identifier)))) (return_statement (number_literal)))))

undefined4 MASKED(undefined4 param_1,undefined4 param_2,int *param_3)

{
  int iVar1;
  int *piVar2;
  undefined4 *puVar3;
  undefined4 uVar4;
  undefined4 uVar5;
  undefined4 uVar6;
  undefined4 uVar7;
  int in_t9;
  
  iVar1 = (**(code **)(in_t9 + 0x74cf4))(param_2,0,10);
  if (0xfffffffd < iVar1 + 0x7fffffffU) {
    piVar2 = (int *)(**(code **)(in_t9 + 0x74e70))();
    puVar3 = *(undefined4 **)(in_t9 + 0x74c58);
    if (*piVar2 == 0x22) goto LAB_00043104;
  }
  puVar3 = *(undefined4 **)(in_t9 + 0x74c58);
  if (-1 < iVar1) {
    *param_3 = iVar1;
    return 1;
  }
LAB_00043104:
  uVar6 = *puVar3;
  uVar4 = (**(code **)(in_t9 + 0x74cd8))(0,*(int *)(in_t9 + 0x74544) + -0x7adc,5);
  uVar7 = **(undefined4 **)(in_t9 + 0x7446c);
  uVar5 = (**(code **)(in_t9 + 0x74470))(param_2);
  (**(code **)(in_t9 + 0x74df0))(uVar6,1,uVar4,uVar7,param_1,uVar5);
  return 0;
}

