
void define_sym_at_dot(symbolS *symbolP)

{
  addressT val;
  
  symbolP->sy_frag = frag_now;
  val = frag_now_fix();
  S_SET_VALUE(symbolP,val);
  S_SET_SEGMENT(symbolP,now_seg);
  return;
}



void FUN_00129ad0(long param_1)

{
  undefined8 uVar1;
  
  *(undefined8 *)(param_1 + 0x40) = DAT_001e4648;
  uVar1 = FUN_001171d0();
  FUN_00129150(param_1,uVar1);
  FUN_00129690(param_1,DAT_001e44a8);
  return;
}


MOV RAX,qword ptr [0x001e4648]
PUSH RBX
MOV RBX,RDI
MOV qword ptr [RDI + 0x40],RAX
CALL 0x001171d0
MOV RDI,RBX
MOV RSI,RAX
CALL 0x00129150
MOV RSI,qword ptr [0x001e44a8]
MOV RDI,RBX
POP RBX
JMP 0x00129690
(translation_unit "void FUN_00129ad0(long param_1)\n\n{\n  undefined8 uVar1;\n  \n  *(undefined8 *)(param_1 + 0x40) = DAT_001e4648;\n  uVar1 = FUN_001171d0();\n  FUN_00129150(param_1,uVar1);\n  FUN_00129690(param_1,DAT_001e44a8);\n  return;\n}\n\n" (function_definition "void FUN_00129ad0(long param_1)\n\n{\n  undefined8 uVar1;\n  \n  *(undefined8 *)(param_1 + 0x40) = DAT_001e4648;\n  uVar1 = FUN_001171d0();\n  FUN_00129150(param_1,uVar1);\n  FUN_00129690(param_1,DAT_001e44a8);\n  return;\n}" primitive_type (function_declarator "FUN_00129ad0(long param_1)" identifier (parameter_list "(long param_1)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  undefined8 uVar1;\n  \n  *(undefined8 *)(param_1 + 0x40) = DAT_001e4648;\n  uVar1 = FUN_001171d0();\n  FUN_00129150(param_1,uVar1);\n  FUN_00129690(param_1,DAT_001e44a8);\n  return;\n}" { (declaration "undefined8 uVar1;" type_identifier identifier ;) (expression_statement "*(undefined8 *)(param_1 + 0x40) = DAT_001e4648;" (assignment_expression "*(undefined8 *)(param_1 + 0x40) = DAT_001e4648" (pointer_expression "*(undefined8 *)(param_1 + 0x40)" * (cast_expression "(undefined8 *)(param_1 + 0x40)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar1 = FUN_001171d0();" (assignment_expression "uVar1 = FUN_001171d0()" identifier = (call_expression "FUN_001171d0()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_00129150(param_1,uVar1);" (call_expression "FUN_00129150(param_1,uVar1)" identifier (argument_list "(param_1,uVar1)" ( identifier , identifier ))) ;) (expression_statement "FUN_00129690(param_1,DAT_001e44a8);" (call_expression "FUN_00129690(param_1,DAT_001e44a8)" identifier (argument_list "(param_1,DAT_001e44a8)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void define_sym_at_dot(symbolS *symbolP)\n\n{\n  addressT val;\n  \n  symbolP->sy_frag = frag_now;\n  val = frag_now_fix();\n  S_SET_VALUE(symbolP,val);\n  S_SET_SEGMENT(symbolP,now_seg);\n  return;\n}\n\n" (function_definition "void define_sym_at_dot(symbolS *symbolP)\n\n{\n  addressT val;\n  \n  symbolP->sy_frag = frag_now;\n  val = frag_now_fix();\n  S_SET_VALUE(symbolP,val);\n  S_SET_SEGMENT(symbolP,now_seg);\n  return;\n}" primitive_type (function_declarator "define_sym_at_dot(symbolS *symbolP)" identifier (parameter_list "(symbolS *symbolP)" ( (parameter_declaration "symbolS *symbolP" type_identifier (pointer_declarator "*symbolP" * identifier)) ))) (compound_statement "{\n  addressT val;\n  \n  symbolP->sy_frag = frag_now;\n  val = frag_now_fix();\n  S_SET_VALUE(symbolP,val);\n  S_SET_SEGMENT(symbolP,now_seg);\n  return;\n}" { (declaration "addressT val;" type_identifier identifier ;) (expression_statement "symbolP->sy_frag = frag_now;" (assignment_expression "symbolP->sy_frag = frag_now" (field_expression "symbolP->sy_frag" identifier -> field_identifier) = identifier) ;) (expression_statement "val = frag_now_fix();" (assignment_expression "val = frag_now_fix()" identifier = (call_expression "frag_now_fix()" identifier (argument_list "()" ( )))) ;) (expression_statement "S_SET_VALUE(symbolP,val);" (call_expression "S_SET_VALUE(symbolP,val)" identifier (argument_list "(symbolP,val)" ( identifier , identifier ))) ;) (expression_statement "S_SET_SEGMENT(symbolP,now_seg);" (call_expression "S_SET_SEGMENT(symbolP,now_seg)" identifier (argument_list "(symbolP,now_seg)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00129ad0(long param_1)\n\n{\n  undefined8 uVar1;\n  \n  *(undefined8 *)(param_1 + 0x40) = DAT_001e4648;\n  uVar1 = FUN_001171d0();\n  FUN_00129150(param_1,uVar1);\n  FUN_00129690(param_1,DAT_001e44a8);\n  return;\n}\n\n" (function_definition "void FUN_00129ad0(long param_1)\n\n{\n  undefined8 uVar1;\n  \n  *(undefined8 *)(param_1 + 0x40) = DAT_001e4648;\n  uVar1 = FUN_001171d0();\n  FUN_00129150(param_1,uVar1);\n  FUN_00129690(param_1,DAT_001e44a8);\n  return;\n}" primitive_type (function_declarator "FUN_00129ad0(long param_1)" identifier (parameter_list "(long param_1)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  undefined8 uVar1;\n  \n  *(undefined8 *)(param_1 + 0x40) = DAT_001e4648;\n  uVar1 = FUN_001171d0();\n  FUN_00129150(param_1,uVar1);\n  FUN_00129690(param_1,DAT_001e44a8);\n  return;\n}" { (declaration "undefined8 uVar1;" type_identifier identifier ;) (expression_statement "*(undefined8 *)(param_1 + 0x40) = DAT_001e4648;" (assignment_expression "*(undefined8 *)(param_1 + 0x40) = DAT_001e4648" (pointer_expression "*(undefined8 *)(param_1 + 0x40)" * (cast_expression "(undefined8 *)(param_1 + 0x40)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x40)" ( (binary_expression "param_1 + 0x40" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar1 = FUN_001171d0();" (assignment_expression "uVar1 = FUN_001171d0()" identifier = (call_expression "FUN_001171d0()" identifier (argument_list "()" ( )))) ;) (expression_statement "FUN_00129150(param_1,uVar1);" (call_expression "FUN_00129150(param_1,uVar1)" identifier (argument_list "(param_1,uVar1)" ( identifier , identifier ))) ;) (expression_statement "FUN_00129690(param_1,DAT_001e44a8);" (call_expression "FUN_00129690(param_1,DAT_001e44a8)" identifier (argument_list "(param_1,DAT_001e44a8)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) ))) (compound_statement { (declaration TYPE 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 IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (return_statement return ;) })))
(function_definition "void FUN_00129ad0(long param_1)\n\n{\n  undefined8 uVar1;\n  \n  *(undefined8 *)(param_1 + 0x40) = DAT_001e4648;\n  uVar1 = FUN_001171d0();\n  FUN_00129150(param_1,uVar1);\n  FUN_00129690(param_1,DAT_001e44a8);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00129ad0(long param_1)" (identifier "FUN_00129ad0") (parameter_list "(long param_1)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) () ")"))) (compound_statement "{\n  undefined8 uVar1;\n  \n  *(undefined8 *)(param_1 + 0x40) = DAT_001e4648;\n  uVar1 = FUN_001171d0();\n  FUN_00129150(param_1,uVar1);\n  FUN_00129690(param_1,DAT_001e44a8);\n  return;\n}" ({ "{") (declaration "undefined8 uVar1;" (type_identifier "undefined8") (identifier "uVar1") (; ";")) (expression_statement "*(undefined8 *)(param_1 + 0x40) = DAT_001e4648;" (assignment_expression "*(undefined8 *)(param_1 + 0x40) = DAT_001e4648" (pointer_expression "*(undefined8 *)(param_1 + 0x40)" (* "*") (cast_expression "(undefined8 *)(param_1 + 0x40)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x40)" (( "(") (binary_expression "param_1 + 0x40" (identifier "param_1") (+ "+") (number_literal "0x40")) () ")")))) (= "=") (identifier "DAT_001e4648")) (; ";")) (expression_statement "uVar1 = FUN_001171d0();" (assignment_expression "uVar1 = FUN_001171d0()" (identifier "uVar1") (= "=") (call_expression "FUN_001171d0()" (identifier "FUN_001171d0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "FUN_00129150(param_1,uVar1);" (call_expression "FUN_00129150(param_1,uVar1)" (identifier "FUN_00129150") (argument_list "(param_1,uVar1)" (( "(") (identifier "param_1") (, ",") (identifier "uVar1") () ")"))) (; ";")) (expression_statement "FUN_00129690(param_1,DAT_001e44a8);" (call_expression "FUN_00129690(param_1,DAT_001e44a8)" (identifier "FUN_00129690") (argument_list "(param_1,DAT_001e44a8)" (( "(") (identifier "param_1") (, ",") (identifier "DAT_001e44a8") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

void function_1(type_1 *symbolP)

{
  type_2 val;
  
  symbolP->sy_frag = frag_now;
  val = var_1();
  var_2(symbolP,val);
  var_3(symbolP,now_seg);
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (sized_type_specifier) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (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: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (return_statement))))

void MASKED(long param_1)

{
  undefined8 uVar1;
  
  *(undefined8 *)(param_1 + 0x40) = DAT_001e4648;
  uVar1 = FUN_001171d0();
  FUN_00129150(param_1,uVar1);
  FUN_00129690(param_1,DAT_001e44a8);
  return;
}

