
etree_type * exp_relop(asection *section,bfd_vma value)

{
  uint uVar1;
  etree_type *peVar2;
  char *pcVar3;
  
  peVar2 = (etree_type *)stat_alloc(0x28);
  (peVar2->type).node_code = 0x16e;
  pcVar3 = ldlex_filename();
  (peVar2->type).node_class = etree_rel;
  (peVar2->type).filename = pcVar3;
  uVar1 = lineno;
  (peVar2->rel).section = section;
  (peVar2->type).lineno = uVar1;
  (peVar2->rel).value = value;
  return peVar2;
}



undefined4 * FUN_00123140(undefined8 param_1,undefined8 param_2)

{
  undefined4 uVar1;
  undefined4 *puVar2;
  undefined8 uVar3;
  
  puVar2 = (undefined4 *)FUN_00115600(0x28);
  *puVar2 = 0x16e;
  uVar3 = FUN_0010f840();
  puVar2[4] = 9;
  *(undefined8 *)(puVar2 + 2) = uVar3;
  uVar1 = DAT_0018196c;
  *(undefined8 *)(puVar2 + 6) = param_1;
  puVar2[1] = uVar1;
  *(undefined8 *)(puVar2 + 8) = param_2;
  return puVar2;
}


PUSH R12
MOV R12,RDI
MOV EDI,0x28
PUSH RBP
MOV RBP,RSI
PUSH RBX
CALL 0x00115600
MOV dword ptr [RAX],0x16e
MOV RBX,RAX
CALL 0x0010f840
MOV dword ptr [RBX + 0x10],0x9
MOV qword ptr [RBX + 0x8],RAX
MOV EAX,dword ptr [0x0018196c]
MOV qword ptr [RBX + 0x18],R12
MOV dword ptr [RBX + 0x4],EAX
MOV RAX,RBX
MOV qword ptr [RBX + 0x20],RBP
POP RBX
POP RBP
POP R12
RET
(translation_unit "undefined4 * FUN_00123140(undefined8 param_1,undefined8 param_2)\n\n{\n  undefined4 uVar1;\n  undefined4 *puVar2;\n  undefined8 uVar3;\n  \n  puVar2 = (undefined4 *)FUN_00115600(0x28);\n  *puVar2 = 0x16e;\n  uVar3 = FUN_0010f840();\n  puVar2[4] = 9;\n  *(undefined8 *)(puVar2 + 2) = uVar3;\n  uVar1 = DAT_0018196c;\n  *(undefined8 *)(puVar2 + 6) = param_1;\n  puVar2[1] = uVar1;\n  *(undefined8 *)(puVar2 + 8) = param_2;\n  return puVar2;\n}\n\n" (function_definition "undefined4 * FUN_00123140(undefined8 param_1,undefined8 param_2)\n\n{\n  undefined4 uVar1;\n  undefined4 *puVar2;\n  undefined8 uVar3;\n  \n  puVar2 = (undefined4 *)FUN_00115600(0x28);\n  *puVar2 = 0x16e;\n  uVar3 = FUN_0010f840();\n  puVar2[4] = 9;\n  *(undefined8 *)(puVar2 + 2) = uVar3;\n  uVar1 = DAT_0018196c;\n  *(undefined8 *)(puVar2 + 6) = param_1;\n  puVar2[1] = uVar1;\n  *(undefined8 *)(puVar2 + 8) = param_2;\n  return puVar2;\n}" type_identifier (pointer_declarator "* FUN_00123140(undefined8 param_1,undefined8 param_2)" * (function_declarator "FUN_00123140(undefined8 param_1,undefined8 param_2)" identifier (parameter_list "(undefined8 param_1,undefined8 param_2)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) )))) (compound_statement "{\n  undefined4 uVar1;\n  undefined4 *puVar2;\n  undefined8 uVar3;\n  \n  puVar2 = (undefined4 *)FUN_00115600(0x28);\n  *puVar2 = 0x16e;\n  uVar3 = FUN_0010f840();\n  puVar2[4] = 9;\n  *(undefined8 *)(puVar2 + 2) = uVar3;\n  uVar1 = DAT_0018196c;\n  *(undefined8 *)(puVar2 + 6) = param_1;\n  puVar2[1] = uVar1;\n  *(undefined8 *)(puVar2 + 8) = param_2;\n  return puVar2;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (expression_statement "puVar2 = (undefined4 *)FUN_00115600(0x28);" (assignment_expression "puVar2 = (undefined4 *)FUN_00115600(0x28)" identifier = (cast_expression "(undefined4 *)FUN_00115600(0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00115600(0x28)" identifier (argument_list "(0x28)" ( number_literal ))))) ;) (expression_statement "*puVar2 = 0x16e;" (assignment_expression "*puVar2 = 0x16e" (pointer_expression "*puVar2" * identifier) = number_literal) ;) (expression_statement "uVar3 = FUN_0010f840();" (assignment_expression "uVar3 = FUN_0010f840()" identifier = (call_expression "FUN_0010f840()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar2[4] = 9;" (assignment_expression "puVar2[4] = 9" (subscript_expression "puVar2[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined8 *)(puVar2 + 2) = uVar3;" (assignment_expression "*(undefined8 *)(puVar2 + 2) = uVar3" (pointer_expression "*(undefined8 *)(puVar2 + 2)" * (cast_expression "(undefined8 *)(puVar2 + 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 2)" ( (binary_expression "puVar2 + 2" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar1 = DAT_0018196c;" (assignment_expression "uVar1 = DAT_0018196c" identifier = identifier) ;) (expression_statement "*(undefined8 *)(puVar2 + 6) = param_1;" (assignment_expression "*(undefined8 *)(puVar2 + 6) = param_1" (pointer_expression "*(undefined8 *)(puVar2 + 6)" * (cast_expression "(undefined8 *)(puVar2 + 6)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 6)" ( (binary_expression "puVar2 + 6" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar2[1] = uVar1;" (assignment_expression "puVar2[1] = uVar1" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined8 *)(puVar2 + 8) = param_2;" (assignment_expression "*(undefined8 *)(puVar2 + 8) = param_2" (pointer_expression "*(undefined8 *)(puVar2 + 8)" * (cast_expression "(undefined8 *)(puVar2 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 8)" ( (binary_expression "puVar2 + 8" identifier + number_literal) )))) = identifier) ;) (return_statement "return puVar2;" return identifier ;) })))
(translation_unit "etree_type * exp_relop(asection *section,bfd_vma value)\n\n{\n  uint uVar1;\n  etree_type *peVar2;\n  char *pcVar3;\n  \n  peVar2 = (etree_type *)stat_alloc(0x28);\n  (peVar2->type).node_code = 0x16e;\n  pcVar3 = ldlex_filename();\n  (peVar2->type).node_class = etree_rel;\n  (peVar2->type).filename = pcVar3;\n  uVar1 = lineno;\n  (peVar2->rel).section = section;\n  (peVar2->type).lineno = uVar1;\n  (peVar2->rel).value = value;\n  return peVar2;\n}\n\n" (function_definition "etree_type * exp_relop(asection *section,bfd_vma value)\n\n{\n  uint uVar1;\n  etree_type *peVar2;\n  char *pcVar3;\n  \n  peVar2 = (etree_type *)stat_alloc(0x28);\n  (peVar2->type).node_code = 0x16e;\n  pcVar3 = ldlex_filename();\n  (peVar2->type).node_class = etree_rel;\n  (peVar2->type).filename = pcVar3;\n  uVar1 = lineno;\n  (peVar2->rel).section = section;\n  (peVar2->type).lineno = uVar1;\n  (peVar2->rel).value = value;\n  return peVar2;\n}" type_identifier (pointer_declarator "* exp_relop(asection *section,bfd_vma value)" * (function_declarator "exp_relop(asection *section,bfd_vma value)" identifier (parameter_list "(asection *section,bfd_vma value)" ( (parameter_declaration "asection *section" type_identifier (pointer_declarator "*section" * identifier)) , (parameter_declaration "bfd_vma value" type_identifier identifier) )))) (compound_statement "{\n  uint uVar1;\n  etree_type *peVar2;\n  char *pcVar3;\n  \n  peVar2 = (etree_type *)stat_alloc(0x28);\n  (peVar2->type).node_code = 0x16e;\n  pcVar3 = ldlex_filename();\n  (peVar2->type).node_class = etree_rel;\n  (peVar2->type).filename = pcVar3;\n  uVar1 = lineno;\n  (peVar2->rel).section = section;\n  (peVar2->type).lineno = uVar1;\n  (peVar2->rel).value = value;\n  return peVar2;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "etree_type *peVar2;" type_identifier (pointer_declarator "*peVar2" * identifier) ;) (declaration "char *pcVar3;" primitive_type (pointer_declarator "*pcVar3" * identifier) ;) (expression_statement "peVar2 = (etree_type *)stat_alloc(0x28);" (assignment_expression "peVar2 = (etree_type *)stat_alloc(0x28)" identifier = (cast_expression "(etree_type *)stat_alloc(0x28)" ( (type_descriptor "etree_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "stat_alloc(0x28)" identifier (argument_list "(0x28)" ( number_literal ))))) ;) (expression_statement "(peVar2->type).node_code = 0x16e;" (assignment_expression "(peVar2->type).node_code = 0x16e" (field_expression "(peVar2->type).node_code" (parenthesized_expression "(peVar2->type)" ( (field_expression "peVar2->type" identifier -> field_identifier) )) . field_identifier) = number_literal) ;) (expression_statement "pcVar3 = ldlex_filename();" (assignment_expression "pcVar3 = ldlex_filename()" identifier = (call_expression "ldlex_filename()" identifier (argument_list "()" ( )))) ;) (expression_statement "(peVar2->type).node_class = etree_rel;" (assignment_expression "(peVar2->type).node_class = etree_rel" (field_expression "(peVar2->type).node_class" (parenthesized_expression "(peVar2->type)" ( (field_expression "peVar2->type" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "(peVar2->type).filename = pcVar3;" (assignment_expression "(peVar2->type).filename = pcVar3" (field_expression "(peVar2->type).filename" (parenthesized_expression "(peVar2->type)" ( (field_expression "peVar2->type" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "uVar1 = lineno;" (assignment_expression "uVar1 = lineno" identifier = identifier) ;) (expression_statement "(peVar2->rel).section = section;" (assignment_expression "(peVar2->rel).section = section" (field_expression "(peVar2->rel).section" (parenthesized_expression "(peVar2->rel)" ( (field_expression "peVar2->rel" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "(peVar2->type).lineno = uVar1;" (assignment_expression "(peVar2->type).lineno = uVar1" (field_expression "(peVar2->type).lineno" (parenthesized_expression "(peVar2->type)" ( (field_expression "peVar2->type" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "(peVar2->rel).value = value;" (assignment_expression "(peVar2->rel).value = value" (field_expression "(peVar2->rel).value" (parenthesized_expression "(peVar2->rel)" ( (field_expression "peVar2->rel" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (return_statement "return peVar2;" return identifier ;) })))
(translation_unit "undefined4 * FUN_00123140(undefined8 param_1,undefined8 param_2)\n\n{\n  undefined4 uVar1;\n  undefined4 *puVar2;\n  undefined8 uVar3;\n  \n  puVar2 = (undefined4 *)FUN_00115600(0x28);\n  *puVar2 = 0x16e;\n  uVar3 = FUN_0010f840();\n  puVar2[4] = 9;\n  *(undefined8 *)(puVar2 + 2) = uVar3;\n  uVar1 = DAT_0018196c;\n  *(undefined8 *)(puVar2 + 6) = param_1;\n  puVar2[1] = uVar1;\n  *(undefined8 *)(puVar2 + 8) = param_2;\n  return puVar2;\n}\n\n" (function_definition "undefined4 * FUN_00123140(undefined8 param_1,undefined8 param_2)\n\n{\n  undefined4 uVar1;\n  undefined4 *puVar2;\n  undefined8 uVar3;\n  \n  puVar2 = (undefined4 *)FUN_00115600(0x28);\n  *puVar2 = 0x16e;\n  uVar3 = FUN_0010f840();\n  puVar2[4] = 9;\n  *(undefined8 *)(puVar2 + 2) = uVar3;\n  uVar1 = DAT_0018196c;\n  *(undefined8 *)(puVar2 + 6) = param_1;\n  puVar2[1] = uVar1;\n  *(undefined8 *)(puVar2 + 8) = param_2;\n  return puVar2;\n}" type_identifier (pointer_declarator "* FUN_00123140(undefined8 param_1,undefined8 param_2)" * (function_declarator "FUN_00123140(undefined8 param_1,undefined8 param_2)" identifier (parameter_list "(undefined8 param_1,undefined8 param_2)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) )))) (compound_statement "{\n  undefined4 uVar1;\n  undefined4 *puVar2;\n  undefined8 uVar3;\n  \n  puVar2 = (undefined4 *)FUN_00115600(0x28);\n  *puVar2 = 0x16e;\n  uVar3 = FUN_0010f840();\n  puVar2[4] = 9;\n  *(undefined8 *)(puVar2 + 2) = uVar3;\n  uVar1 = DAT_0018196c;\n  *(undefined8 *)(puVar2 + 6) = param_1;\n  puVar2[1] = uVar1;\n  *(undefined8 *)(puVar2 + 8) = param_2;\n  return puVar2;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined8 uVar3;" type_identifier identifier ;) (expression_statement "puVar2 = (undefined4 *)FUN_00115600(0x28);" (assignment_expression "puVar2 = (undefined4 *)FUN_00115600(0x28)" identifier = (cast_expression "(undefined4 *)FUN_00115600(0x28)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00115600(0x28)" identifier (argument_list "(0x28)" ( number_literal ))))) ;) (expression_statement "*puVar2 = 0x16e;" (assignment_expression "*puVar2 = 0x16e" (pointer_expression "*puVar2" * identifier) = number_literal) ;) (expression_statement "uVar3 = FUN_0010f840();" (assignment_expression "uVar3 = FUN_0010f840()" identifier = (call_expression "FUN_0010f840()" identifier (argument_list "()" ( )))) ;) (expression_statement "puVar2[4] = 9;" (assignment_expression "puVar2[4] = 9" (subscript_expression "puVar2[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined8 *)(puVar2 + 2) = uVar3;" (assignment_expression "*(undefined8 *)(puVar2 + 2) = uVar3" (pointer_expression "*(undefined8 *)(puVar2 + 2)" * (cast_expression "(undefined8 *)(puVar2 + 2)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 2)" ( (binary_expression "puVar2 + 2" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar1 = DAT_0018196c;" (assignment_expression "uVar1 = DAT_0018196c" identifier = identifier) ;) (expression_statement "*(undefined8 *)(puVar2 + 6) = param_1;" (assignment_expression "*(undefined8 *)(puVar2 + 6) = param_1" (pointer_expression "*(undefined8 *)(puVar2 + 6)" * (cast_expression "(undefined8 *)(puVar2 + 6)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 6)" ( (binary_expression "puVar2 + 6" identifier + number_literal) )))) = identifier) ;) (expression_statement "puVar2[1] = uVar1;" (assignment_expression "puVar2[1] = uVar1" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined8 *)(puVar2 + 8) = param_2;" (assignment_expression "*(undefined8 *)(puVar2 + 8) = param_2" (pointer_expression "*(undefined8 *)(puVar2 + 8)" * (cast_expression "(undefined8 *)(puVar2 + 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 8)" ( (binary_expression "puVar2 + 8" identifier + number_literal) )))) = identifier) ;) (return_statement "return puVar2;" return identifier ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (return_statement return IDENT ;) })))
(function_definition "undefined4 * FUN_00123140(undefined8 param_1,undefined8 param_2)\n\n{\n  undefined4 uVar1;\n  undefined4 *puVar2;\n  undefined8 uVar3;\n  \n  puVar2 = (undefined4 *)FUN_00115600(0x28);\n  *puVar2 = 0x16e;\n  uVar3 = FUN_0010f840();\n  puVar2[4] = 9;\n  *(undefined8 *)(puVar2 + 2) = uVar3;\n  uVar1 = DAT_0018196c;\n  *(undefined8 *)(puVar2 + 6) = param_1;\n  puVar2[1] = uVar1;\n  *(undefined8 *)(puVar2 + 8) = param_2;\n  return puVar2;\n}" (type_identifier "undefined4") (pointer_declarator "* FUN_00123140(undefined8 param_1,undefined8 param_2)" (* "*") (function_declarator "FUN_00123140(undefined8 param_1,undefined8 param_2)" (identifier "FUN_00123140") (parameter_list "(undefined8 param_1,undefined8 param_2)" (( "(") (parameter_declaration "undefined8 param_1" (type_identifier "undefined8") (identifier "param_1")) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) () ")")))) (compound_statement "{\n  undefined4 uVar1;\n  undefined4 *puVar2;\n  undefined8 uVar3;\n  \n  puVar2 = (undefined4 *)FUN_00115600(0x28);\n  *puVar2 = 0x16e;\n  uVar3 = FUN_0010f840();\n  puVar2[4] = 9;\n  *(undefined8 *)(puVar2 + 2) = uVar3;\n  uVar1 = DAT_0018196c;\n  *(undefined8 *)(puVar2 + 6) = param_1;\n  puVar2[1] = uVar1;\n  *(undefined8 *)(puVar2 + 8) = param_2;\n  return puVar2;\n}" ({ "{") (declaration "undefined4 uVar1;" (type_identifier "undefined4") (identifier "uVar1") (; ";")) (declaration "undefined4 *puVar2;" (type_identifier "undefined4") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined8 uVar3;" (type_identifier "undefined8") (identifier "uVar3") (; ";")) (expression_statement "puVar2 = (undefined4 *)FUN_00115600(0x28);" (assignment_expression "puVar2 = (undefined4 *)FUN_00115600(0x28)" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)FUN_00115600(0x28)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00115600(0x28)" (identifier "FUN_00115600") (argument_list "(0x28)" (( "(") (number_literal "0x28") () ")"))))) (; ";")) (expression_statement "*puVar2 = 0x16e;" (assignment_expression "*puVar2 = 0x16e" (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) (= "=") (number_literal "0x16e")) (; ";")) (expression_statement "uVar3 = FUN_0010f840();" (assignment_expression "uVar3 = FUN_0010f840()" (identifier "uVar3") (= "=") (call_expression "FUN_0010f840()" (identifier "FUN_0010f840") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "puVar2[4] = 9;" (assignment_expression "puVar2[4] = 9" (subscript_expression "puVar2[4]" (identifier "puVar2") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "9")) (; ";")) (expression_statement "*(undefined8 *)(puVar2 + 2) = uVar3;" (assignment_expression "*(undefined8 *)(puVar2 + 2) = uVar3" (pointer_expression "*(undefined8 *)(puVar2 + 2)" (* "*") (cast_expression "(undefined8 *)(puVar2 + 2)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 2)" (( "(") (binary_expression "puVar2 + 2" (identifier "puVar2") (+ "+") (number_literal "2")) () ")")))) (= "=") (identifier "uVar3")) (; ";")) (expression_statement "uVar1 = DAT_0018196c;" (assignment_expression "uVar1 = DAT_0018196c" (identifier "uVar1") (= "=") (identifier "DAT_0018196c")) (; ";")) (expression_statement "*(undefined8 *)(puVar2 + 6) = param_1;" (assignment_expression "*(undefined8 *)(puVar2 + 6) = param_1" (pointer_expression "*(undefined8 *)(puVar2 + 6)" (* "*") (cast_expression "(undefined8 *)(puVar2 + 6)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 6)" (( "(") (binary_expression "puVar2 + 6" (identifier "puVar2") (+ "+") (number_literal "6")) () ")")))) (= "=") (identifier "param_1")) (; ";")) (expression_statement "puVar2[1] = uVar1;" (assignment_expression "puVar2[1] = uVar1" (subscript_expression "puVar2[1]" (identifier "puVar2") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar1")) (; ";")) (expression_statement "*(undefined8 *)(puVar2 + 8) = param_2;" (assignment_expression "*(undefined8 *)(puVar2 + 8) = param_2" (pointer_expression "*(undefined8 *)(puVar2 + 8)" (* "*") (cast_expression "(undefined8 *)(puVar2 + 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 8)" (( "(") (binary_expression "puVar2 + 8" (identifier "puVar2") (+ "+") (number_literal "8")) () ")")))) (= "=") (identifier "param_2")) (; ";")) (return_statement "return puVar2;" (return "return") (identifier "puVar2") (; ";")) (} "}")))

type_1 * function_1(type_2 *section,type_3 value)

{
  type_4 uVar1;
  type_1 *peVar2;
  char *pcVar3;
  
  peVar2 = (type_1 *)var_1(0x28);
  (peVar2->type).node_code = 0x16e;
  pcVar3 = var_2();
  (peVar2->type).node_class = etree_rel;
  (peVar2->type).filename = pcVar3;
  uVar1 = lineno;
  (peVar2->rel).section = section;
  (peVar2->type).lineno = uVar1;
  (peVar2->rel).value = value;
  return peVar2;
}


(translation_unit (function_definition type: (type_identifier) declarator: (pointer_declarator declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier))))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (number_literal)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))) (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: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (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: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (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: (identifier))) (return_statement (identifier)))))

undefined4 * MASKED(undefined8 param_1,undefined8 param_2)

{
  undefined4 uVar1;
  undefined4 *puVar2;
  undefined8 uVar3;
  
  puVar2 = (undefined4 *)FUN_00115600(0x28);
  *puVar2 = 0x16e;
  uVar3 = FUN_0010f840();
  puVar2[4] = 9;
  *(undefined8 *)(puVar2 + 2) = uVar3;
  uVar1 = DAT_0018196c;
  *(undefined8 *)(puVar2 + 6) = param_1;
  puVar2[1] = uVar1;
  *(undefined8 *)(puVar2 + 8) = param_2;
  return puVar2;
}

