
/* WARNING: Unknown calling convention */

int countnode234(node234_conflict *n)

{
  int iVar1;
  
  iVar1 = n->counts[0] + n->counts[1] + n->counts[2] + n->counts[3];
  if (n->elems[0] != (void *)0x0) {
    iVar1 = iVar1 + 1;
  }
  if (n->elems[1] != (void *)0x0) {
    iVar1 = iVar1 + 1;
  }
  if (n->elems[2] != (void *)0x0) {
    iVar1 = iVar1 + 1;
  }
  return iVar1;
}



int FUN_0007ce60(int param_1)

{
  int iVar1;
  
  iVar1 = *(int *)(param_1 + 0x14) + *(int *)(param_1 + 0x18) + *(int *)(param_1 + 0x1c) +
          *(int *)(param_1 + 0x20);
  if (*(int *)(param_1 + 0x24) != 0) {
    iVar1 = iVar1 + 1;
  }
  if (*(int *)(param_1 + 0x28) != 0) {
    iVar1 = iVar1 + 1;
  }
  if (*(int *)(param_1 + 0x2c) != 0) {
    iVar1 = iVar1 + 1;
  }
  return iVar1;
}


lw v1,0x18(a0)
lw v0,0x14(a0)
lw a2,0x1c(a0)
lw a1,0x20(a0)
addu v0,v0,v1
lw v1,0x24(a0)
addu v0,v0,a2
beq v1,zero,0x0007ce88
_addu v0,v0,a1
addiu v0,v0,0x1
lw v1,0x28(a0)
beq v1,zero,0x0007ce98
_nop
addiu v0,v0,0x1
lw v1,0x2c(a0)
beq v1,zero,0x0007cea8
_nop
addiu v0,v0,0x1
jr ra
_nop
(translation_unit "int FUN_0007ce60(int param_1)\n\n{\n  int iVar1;\n  \n  iVar1 = *(int *)(param_1 + 0x14) + *(int *)(param_1 + 0x18) + *(int *)(param_1 + 0x1c) +\n          *(int *)(param_1 + 0x20);\n  if (*(int *)(param_1 + 0x24) != 0) {\n    iVar1 = iVar1 + 1;\n  }\n  if (*(int *)(param_1 + 0x28) != 0) {\n    iVar1 = iVar1 + 1;\n  }\n  if (*(int *)(param_1 + 0x2c) != 0) {\n    iVar1 = iVar1 + 1;\n  }\n  return iVar1;\n}\n\n" (function_definition "int FUN_0007ce60(int param_1)\n\n{\n  int iVar1;\n  \n  iVar1 = *(int *)(param_1 + 0x14) + *(int *)(param_1 + 0x18) + *(int *)(param_1 + 0x1c) +\n          *(int *)(param_1 + 0x20);\n  if (*(int *)(param_1 + 0x24) != 0) {\n    iVar1 = iVar1 + 1;\n  }\n  if (*(int *)(param_1 + 0x28) != 0) {\n    iVar1 = iVar1 + 1;\n  }\n  if (*(int *)(param_1 + 0x2c) != 0) {\n    iVar1 = iVar1 + 1;\n  }\n  return iVar1;\n}" primitive_type (function_declarator "FUN_0007ce60(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  \n  iVar1 = *(int *)(param_1 + 0x14) + *(int *)(param_1 + 0x18) + *(int *)(param_1 + 0x1c) +\n          *(int *)(param_1 + 0x20);\n  if (*(int *)(param_1 + 0x24) != 0) {\n    iVar1 = iVar1 + 1;\n  }\n  if (*(int *)(param_1 + 0x28) != 0) {\n    iVar1 = iVar1 + 1;\n  }\n  if (*(int *)(param_1 + 0x2c) != 0) {\n    iVar1 = iVar1 + 1;\n  }\n  return iVar1;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (expression_statement "iVar1 = *(int *)(param_1 + 0x14) + *(int *)(param_1 + 0x18) + *(int *)(param_1 + 0x1c) +\n          *(int *)(param_1 + 0x20);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x14) + *(int *)(param_1 + 0x18) + *(int *)(param_1 + 0x1c) +\n          *(int *)(param_1 + 0x20)" identifier = (binary_expression "*(int *)(param_1 + 0x14) + *(int *)(param_1 + 0x18) + *(int *)(param_1 + 0x1c) +\n          *(int *)(param_1 + 0x20)" (binary_expression "*(int *)(param_1 + 0x14) + *(int *)(param_1 + 0x18) + *(int *)(param_1 + 0x1c)" (binary_expression "*(int *)(param_1 + 0x14) + *(int *)(param_1 + 0x18)" (pointer_expression "*(int *)(param_1 + 0x14)" * (cast_expression "(int *)(param_1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) ))))) + (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) + (pointer_expression "*(int *)(param_1 + 0x20)" * (cast_expression "(int *)(param_1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))))) ;) (if_statement "if (*(int *)(param_1 + 0x24) != 0) {\n    iVar1 = iVar1 + 1;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x24) != 0)" ( (binary_expression "*(int *)(param_1 + 0x24) != 0" (pointer_expression "*(int *)(param_1 + 0x24)" * (cast_expression "(int *)(param_1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    iVar1 = iVar1 + 1;\n  }" { (expression_statement "iVar1 = iVar1 + 1;" (assignment_expression "iVar1 = iVar1 + 1" identifier = (binary_expression "iVar1 + 1" identifier + number_literal)) ;) })) (if_statement "if (*(int *)(param_1 + 0x28) != 0) {\n    iVar1 = iVar1 + 1;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x28) != 0)" ( (binary_expression "*(int *)(param_1 + 0x28) != 0" (pointer_expression "*(int *)(param_1 + 0x28)" * (cast_expression "(int *)(param_1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    iVar1 = iVar1 + 1;\n  }" { (expression_statement "iVar1 = iVar1 + 1;" (assignment_expression "iVar1 = iVar1 + 1" identifier = (binary_expression "iVar1 + 1" identifier + number_literal)) ;) })) (if_statement "if (*(int *)(param_1 + 0x2c) != 0) {\n    iVar1 = iVar1 + 1;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x2c) != 0)" ( (binary_expression "*(int *)(param_1 + 0x2c) != 0" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    iVar1 = iVar1 + 1;\n  }" { (expression_statement "iVar1 = iVar1 + 1;" (assignment_expression "iVar1 = iVar1 + 1" identifier = (binary_expression "iVar1 + 1" identifier + number_literal)) ;) })) (return_statement "return iVar1;" return identifier ;) })))
(translation_unit "/* WARNING: Unknown calling convention */\n\nint countnode234(node234_conflict *n)\n\n{\n  int iVar1;\n  \n  iVar1 = n->counts[0] + n->counts[1] + n->counts[2] + n->counts[3];\n  if (n->elems[0] != (void *)0x0) {\n    iVar1 = iVar1 + 1;\n  }\n  if (n->elems[1] != (void *)0x0) {\n    iVar1 = iVar1 + 1;\n  }\n  if (n->elems[2] != (void *)0x0) {\n    iVar1 = iVar1 + 1;\n  }\n  return iVar1;\n}\n\n" comment (function_definition "int countnode234(node234_conflict *n)\n\n{\n  int iVar1;\n  \n  iVar1 = n->counts[0] + n->counts[1] + n->counts[2] + n->counts[3];\n  if (n->elems[0] != (void *)0x0) {\n    iVar1 = iVar1 + 1;\n  }\n  if (n->elems[1] != (void *)0x0) {\n    iVar1 = iVar1 + 1;\n  }\n  if (n->elems[2] != (void *)0x0) {\n    iVar1 = iVar1 + 1;\n  }\n  return iVar1;\n}" primitive_type (function_declarator "countnode234(node234_conflict *n)" identifier (parameter_list "(node234_conflict *n)" ( (parameter_declaration "node234_conflict *n" type_identifier (pointer_declarator "*n" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  \n  iVar1 = n->counts[0] + n->counts[1] + n->counts[2] + n->counts[3];\n  if (n->elems[0] != (void *)0x0) {\n    iVar1 = iVar1 + 1;\n  }\n  if (n->elems[1] != (void *)0x0) {\n    iVar1 = iVar1 + 1;\n  }\n  if (n->elems[2] != (void *)0x0) {\n    iVar1 = iVar1 + 1;\n  }\n  return iVar1;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (expression_statement "iVar1 = n->counts[0] + n->counts[1] + n->counts[2] + n->counts[3];" (assignment_expression "iVar1 = n->counts[0] + n->counts[1] + n->counts[2] + n->counts[3]" identifier = (binary_expression "n->counts[0] + n->counts[1] + n->counts[2] + n->counts[3]" (binary_expression "n->counts[0] + n->counts[1] + n->counts[2]" (binary_expression "n->counts[0] + n->counts[1]" (subscript_expression "n->counts[0]" (field_expression "n->counts" identifier -> field_identifier) [ number_literal ]) + (subscript_expression "n->counts[1]" (field_expression "n->counts" identifier -> field_identifier) [ number_literal ])) + (subscript_expression "n->counts[2]" (field_expression "n->counts" identifier -> field_identifier) [ number_literal ])) + (subscript_expression "n->counts[3]" (field_expression "n->counts" identifier -> field_identifier) [ number_literal ]))) ;) (if_statement "if (n->elems[0] != (void *)0x0) {\n    iVar1 = iVar1 + 1;\n  }" if (parenthesized_expression "(n->elems[0] != (void *)0x0)" ( (binary_expression "n->elems[0] != (void *)0x0" (subscript_expression "n->elems[0]" (field_expression "n->elems" identifier -> field_identifier) [ number_literal ]) != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar1 = iVar1 + 1;\n  }" { (expression_statement "iVar1 = iVar1 + 1;" (assignment_expression "iVar1 = iVar1 + 1" identifier = (binary_expression "iVar1 + 1" identifier + number_literal)) ;) })) (if_statement "if (n->elems[1] != (void *)0x0) {\n    iVar1 = iVar1 + 1;\n  }" if (parenthesized_expression "(n->elems[1] != (void *)0x0)" ( (binary_expression "n->elems[1] != (void *)0x0" (subscript_expression "n->elems[1]" (field_expression "n->elems" identifier -> field_identifier) [ number_literal ]) != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar1 = iVar1 + 1;\n  }" { (expression_statement "iVar1 = iVar1 + 1;" (assignment_expression "iVar1 = iVar1 + 1" identifier = (binary_expression "iVar1 + 1" identifier + number_literal)) ;) })) (if_statement "if (n->elems[2] != (void *)0x0) {\n    iVar1 = iVar1 + 1;\n  }" if (parenthesized_expression "(n->elems[2] != (void *)0x0)" ( (binary_expression "n->elems[2] != (void *)0x0" (subscript_expression "n->elems[2]" (field_expression "n->elems" identifier -> field_identifier) [ number_literal ]) != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar1 = iVar1 + 1;\n  }" { (expression_statement "iVar1 = iVar1 + 1;" (assignment_expression "iVar1 = iVar1 + 1" identifier = (binary_expression "iVar1 + 1" identifier + number_literal)) ;) })) (return_statement "return iVar1;" return identifier ;) })))
(translation_unit "int FUN_0007ce60(int param_1)\n\n{\n  int iVar1;\n  \n  iVar1 = *(int *)(param_1 + 0x14) + *(int *)(param_1 + 0x18) + *(int *)(param_1 + 0x1c) +\n          *(int *)(param_1 + 0x20);\n  if (*(int *)(param_1 + 0x24) != 0) {\n    iVar1 = iVar1 + 1;\n  }\n  if (*(int *)(param_1 + 0x28) != 0) {\n    iVar1 = iVar1 + 1;\n  }\n  if (*(int *)(param_1 + 0x2c) != 0) {\n    iVar1 = iVar1 + 1;\n  }\n  return iVar1;\n}\n\n" (function_definition "int FUN_0007ce60(int param_1)\n\n{\n  int iVar1;\n  \n  iVar1 = *(int *)(param_1 + 0x14) + *(int *)(param_1 + 0x18) + *(int *)(param_1 + 0x1c) +\n          *(int *)(param_1 + 0x20);\n  if (*(int *)(param_1 + 0x24) != 0) {\n    iVar1 = iVar1 + 1;\n  }\n  if (*(int *)(param_1 + 0x28) != 0) {\n    iVar1 = iVar1 + 1;\n  }\n  if (*(int *)(param_1 + 0x2c) != 0) {\n    iVar1 = iVar1 + 1;\n  }\n  return iVar1;\n}" primitive_type (function_declarator "FUN_0007ce60(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  \n  iVar1 = *(int *)(param_1 + 0x14) + *(int *)(param_1 + 0x18) + *(int *)(param_1 + 0x1c) +\n          *(int *)(param_1 + 0x20);\n  if (*(int *)(param_1 + 0x24) != 0) {\n    iVar1 = iVar1 + 1;\n  }\n  if (*(int *)(param_1 + 0x28) != 0) {\n    iVar1 = iVar1 + 1;\n  }\n  if (*(int *)(param_1 + 0x2c) != 0) {\n    iVar1 = iVar1 + 1;\n  }\n  return iVar1;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (expression_statement "iVar1 = *(int *)(param_1 + 0x14) + *(int *)(param_1 + 0x18) + *(int *)(param_1 + 0x1c) +\n          *(int *)(param_1 + 0x20);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x14) + *(int *)(param_1 + 0x18) + *(int *)(param_1 + 0x1c) +\n          *(int *)(param_1 + 0x20)" identifier = (binary_expression "*(int *)(param_1 + 0x14) + *(int *)(param_1 + 0x18) + *(int *)(param_1 + 0x1c) +\n          *(int *)(param_1 + 0x20)" (binary_expression "*(int *)(param_1 + 0x14) + *(int *)(param_1 + 0x18) + *(int *)(param_1 + 0x1c)" (binary_expression "*(int *)(param_1 + 0x14) + *(int *)(param_1 + 0x18)" (pointer_expression "*(int *)(param_1 + 0x14)" * (cast_expression "(int *)(param_1 + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14)" ( (binary_expression "param_1 + 0x14" identifier + number_literal) )))) + (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) ))))) + (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) ))))) + (pointer_expression "*(int *)(param_1 + 0x20)" * (cast_expression "(int *)(param_1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))))) ;) (if_statement "if (*(int *)(param_1 + 0x24) != 0) {\n    iVar1 = iVar1 + 1;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x24) != 0)" ( (binary_expression "*(int *)(param_1 + 0x24) != 0" (pointer_expression "*(int *)(param_1 + 0x24)" * (cast_expression "(int *)(param_1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    iVar1 = iVar1 + 1;\n  }" { (expression_statement "iVar1 = iVar1 + 1;" (assignment_expression "iVar1 = iVar1 + 1" identifier = (binary_expression "iVar1 + 1" identifier + number_literal)) ;) })) (if_statement "if (*(int *)(param_1 + 0x28) != 0) {\n    iVar1 = iVar1 + 1;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x28) != 0)" ( (binary_expression "*(int *)(param_1 + 0x28) != 0" (pointer_expression "*(int *)(param_1 + 0x28)" * (cast_expression "(int *)(param_1 + 0x28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    iVar1 = iVar1 + 1;\n  }" { (expression_statement "iVar1 = iVar1 + 1;" (assignment_expression "iVar1 = iVar1 + 1" identifier = (binary_expression "iVar1 + 1" identifier + number_literal)) ;) })) (if_statement "if (*(int *)(param_1 + 0x2c) != 0) {\n    iVar1 = iVar1 + 1;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x2c) != 0)" ( (binary_expression "*(int *)(param_1 + 0x2c) != 0" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    iVar1 = iVar1 + 1;\n  }" { (expression_statement "iVar1 = iVar1 + 1;" (assignment_expression "iVar1 = iVar1 + 1" identifier = (binary_expression "iVar1 + 1" identifier + number_literal)) ;) })) (return_statement "return iVar1;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_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) ))))) + (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) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) (return_statement return IDENT ;) })))
(function_definition "int FUN_0007ce60(int param_1)\n\n{\n  int iVar1;\n  \n  iVar1 = *(int *)(param_1 + 0x14) + *(int *)(param_1 + 0x18) + *(int *)(param_1 + 0x1c) +\n          *(int *)(param_1 + 0x20);\n  if (*(int *)(param_1 + 0x24) != 0) {\n    iVar1 = iVar1 + 1;\n  }\n  if (*(int *)(param_1 + 0x28) != 0) {\n    iVar1 = iVar1 + 1;\n  }\n  if (*(int *)(param_1 + 0x2c) != 0) {\n    iVar1 = iVar1 + 1;\n  }\n  return iVar1;\n}" (primitive_type "int") (function_declarator "FUN_0007ce60(int param_1)" (identifier "FUN_0007ce60") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  int iVar1;\n  \n  iVar1 = *(int *)(param_1 + 0x14) + *(int *)(param_1 + 0x18) + *(int *)(param_1 + 0x1c) +\n          *(int *)(param_1 + 0x20);\n  if (*(int *)(param_1 + 0x24) != 0) {\n    iVar1 = iVar1 + 1;\n  }\n  if (*(int *)(param_1 + 0x28) != 0) {\n    iVar1 = iVar1 + 1;\n  }\n  if (*(int *)(param_1 + 0x2c) != 0) {\n    iVar1 = iVar1 + 1;\n  }\n  return iVar1;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (expression_statement "iVar1 = *(int *)(param_1 + 0x14) + *(int *)(param_1 + 0x18) + *(int *)(param_1 + 0x1c) +\n          *(int *)(param_1 + 0x20);" (assignment_expression "iVar1 = *(int *)(param_1 + 0x14) + *(int *)(param_1 + 0x18) + *(int *)(param_1 + 0x1c) +\n          *(int *)(param_1 + 0x20)" (identifier "iVar1") (= "=") (binary_expression "*(int *)(param_1 + 0x14) + *(int *)(param_1 + 0x18) + *(int *)(param_1 + 0x1c) +\n          *(int *)(param_1 + 0x20)" (binary_expression "*(int *)(param_1 + 0x14) + *(int *)(param_1 + 0x18) + *(int *)(param_1 + 0x1c)" (binary_expression "*(int *)(param_1 + 0x14) + *(int *)(param_1 + 0x18)" (pointer_expression "*(int *)(param_1 + 0x14)" (* "*") (cast_expression "(int *)(param_1 + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14)" (( "(") (binary_expression "param_1 + 0x14" (identifier "param_1") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (pointer_expression "*(int *)(param_1 + 0x18)" (* "*") (cast_expression "(int *)(param_1 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")"))))) (+ "+") (pointer_expression "*(int *)(param_1 + 0x1c)" (* "*") (cast_expression "(int *)(param_1 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")"))))) (+ "+") (pointer_expression "*(int *)(param_1 + 0x20)" (* "*") (cast_expression "(int *)(param_1 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))))) (; ";")) (if_statement "if (*(int *)(param_1 + 0x24) != 0) {\n    iVar1 = iVar1 + 1;\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x24) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x24) != 0" (pointer_expression "*(int *)(param_1 + 0x24)" (* "*") (cast_expression "(int *)(param_1 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar1 = iVar1 + 1;\n  }" ({ "{") (expression_statement "iVar1 = iVar1 + 1;" (assignment_expression "iVar1 = iVar1 + 1" (identifier "iVar1") (= "=") (binary_expression "iVar1 + 1" (identifier "iVar1") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x28) != 0) {\n    iVar1 = iVar1 + 1;\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x28) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x28) != 0" (pointer_expression "*(int *)(param_1 + 0x28)" (* "*") (cast_expression "(int *)(param_1 + 0x28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar1 = iVar1 + 1;\n  }" ({ "{") (expression_statement "iVar1 = iVar1 + 1;" (assignment_expression "iVar1 = iVar1 + 1" (identifier "iVar1") (= "=") (binary_expression "iVar1 + 1" (identifier "iVar1") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(param_1 + 0x2c) != 0) {\n    iVar1 = iVar1 + 1;\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x2c) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x2c) != 0" (pointer_expression "*(int *)(param_1 + 0x2c)" (* "*") (cast_expression "(int *)(param_1 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2c)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar1 = iVar1 + 1;\n  }" ({ "{") (expression_statement "iVar1 = iVar1 + 1;" (assignment_expression "iVar1 = iVar1 + 1" (identifier "iVar1") (= "=") (binary_expression "iVar1 + 1" (identifier "iVar1") (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (return_statement "return iVar1;" (return "return") (identifier "iVar1") (; ";")) (} "}")))

/* WARNING: Unknown calling convention */

int function_1(type_1 *n)

{
  int var_1;
  
  var_1 = n->counts[0] + n->counts[1] + n->counts[2] + n->counts[3];
  if (n->elems[0] != (void *)0x0) {
    var_1 = var_1 + 1;
  }
  if (n->elems[1] != (void *)0x0) {
    var_1 = var_1 + 1;
  }
  if (n->elems[2] != (void *)0x0) {
    var_1 = var_1 + 1;
  }
  return var_1;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (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: (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: (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: (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)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (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))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))))) (return_statement (identifier)))))

int MASKED(int param_1)

{
  int iVar1;
  
  iVar1 = *(int *)(param_1 + 0x14) + *(int *)(param_1 + 0x18) + *(int *)(param_1 + 0x1c) +
          *(int *)(param_1 + 0x20);
  if (*(int *)(param_1 + 0x24) != 0) {
    iVar1 = iVar1 + 1;
  }
  if (*(int *)(param_1 + 0x28) != 0) {
    iVar1 = iVar1 + 1;
  }
  if (*(int *)(param_1 + 0x2c) != 0) {
    iVar1 = iVar1 + 1;
  }
  return iVar1;
}

