
/* WARNING: Unknown calling convention */

symbolS * expr_build_dot(void)

{
  symbolS *psVar1;
  expressionS e;
  
  if (now_seg == (segT)(_bfd_std_section + 0x230)) {
    e.X_add_number = abs_section_offset;
    e._24_1_ = 2;
  }
  else {
    e._24_1_ = 3;
    e.X_add_symbol = &dot_symbol;
    e.X_add_number = 0;
  }
  psVar1 = make_expr_symbol(&e);
  psVar1 = symbol_clone_if_forward_ref(psVar1,0);
  return psVar1;
}



void FUN_00115280(void)

{
  undefined8 uVar1;
  undefined *local_28 [2];
  undefined8 local_18;
  undefined1 local_10;
  
  if (DAT_00168848 == 0x15fb30) {
    local_18 = DAT_00168ad8;
    local_10 = 2;
  }
  else {
    local_10 = 3;
    local_28[0] = &DAT_00168c00;
    local_18 = 0;
  }
  uVar1 = FUN_001150b0(local_28);
  FUN_0012bf20(uVar1,0);
  return;
}


SUB RSP,0x28
LEA RAX,[0x15fb30]
CMP qword ptr [0x00168848],RAX
JZ 0x001152c8
LEA RAX,[0x168c00]
MOV byte ptr [RSP + 0x18],0x3
MOV qword ptr [RSP],RAX
MOV qword ptr [RSP + 0x10],0x0
MOV RDI,RSP
CALL 0x001150b0
XOR ESI,ESI
MOV RDI,RAX
CALL 0x0012bf20
ADD RSP,0x28
RET
MOV RAX,qword ptr [0x00168ad8]
MOV byte ptr [RSP + 0x18],0x2
MOV qword ptr [RSP + 0x10],RAX
JMP 0x001152ad
(translation_unit "void FUN_00115280(void)\n\n{\n  undefined8 uVar1;\n  undefined *local_28 [2];\n  undefined8 local_18;\n  undefined1 local_10;\n  \n  if (DAT_00168848 == 0x15fb30) {\n    local_18 = DAT_00168ad8;\n    local_10 = 2;\n  }\n  else {\n    local_10 = 3;\n    local_28[0] = &DAT_00168c00;\n    local_18 = 0;\n  }\n  uVar1 = FUN_001150b0(local_28);\n  FUN_0012bf20(uVar1,0);\n  return;\n}\n\n" (function_definition "void FUN_00115280(void)\n\n{\n  undefined8 uVar1;\n  undefined *local_28 [2];\n  undefined8 local_18;\n  undefined1 local_10;\n  \n  if (DAT_00168848 == 0x15fb30) {\n    local_18 = DAT_00168ad8;\n    local_10 = 2;\n  }\n  else {\n    local_10 = 3;\n    local_28[0] = &DAT_00168c00;\n    local_18 = 0;\n  }\n  uVar1 = FUN_001150b0(local_28);\n  FUN_0012bf20(uVar1,0);\n  return;\n}" primitive_type (function_declarator "FUN_00115280(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined8 uVar1;\n  undefined *local_28 [2];\n  undefined8 local_18;\n  undefined1 local_10;\n  \n  if (DAT_00168848 == 0x15fb30) {\n    local_18 = DAT_00168ad8;\n    local_10 = 2;\n  }\n  else {\n    local_10 = 3;\n    local_28[0] = &DAT_00168c00;\n    local_18 = 0;\n  }\n  uVar1 = FUN_001150b0(local_28);\n  FUN_0012bf20(uVar1,0);\n  return;\n}" { (declaration "undefined8 uVar1;" type_identifier identifier ;) (declaration "undefined *local_28 [2];" type_identifier (pointer_declarator "*local_28 [2]" * (array_declarator "local_28 [2]" identifier [ number_literal ])) ;) (declaration "undefined8 local_18;" type_identifier identifier ;) (declaration "undefined1 local_10;" type_identifier identifier ;) (if_statement "if (DAT_00168848 == 0x15fb30) {\n    local_18 = DAT_00168ad8;\n    local_10 = 2;\n  }\n  else {\n    local_10 = 3;\n    local_28[0] = &DAT_00168c00;\n    local_18 = 0;\n  }" if (parenthesized_expression "(DAT_00168848 == 0x15fb30)" ( (binary_expression "DAT_00168848 == 0x15fb30" identifier == number_literal) )) (compound_statement "{\n    local_18 = DAT_00168ad8;\n    local_10 = 2;\n  }" { (expression_statement "local_18 = DAT_00168ad8;" (assignment_expression "local_18 = DAT_00168ad8" identifier = identifier) ;) (expression_statement "local_10 = 2;" (assignment_expression "local_10 = 2" identifier = number_literal) ;) }) (else_clause "else {\n    local_10 = 3;\n    local_28[0] = &DAT_00168c00;\n    local_18 = 0;\n  }" else (compound_statement "{\n    local_10 = 3;\n    local_28[0] = &DAT_00168c00;\n    local_18 = 0;\n  }" { (expression_statement "local_10 = 3;" (assignment_expression "local_10 = 3" identifier = number_literal) ;) (expression_statement "local_28[0] = &DAT_00168c00;" (assignment_expression "local_28[0] = &DAT_00168c00" (subscript_expression "local_28[0]" identifier [ number_literal ]) = (pointer_expression "&DAT_00168c00" & identifier)) ;) (expression_statement "local_18 = 0;" (assignment_expression "local_18 = 0" identifier = number_literal) ;) }))) (expression_statement "uVar1 = FUN_001150b0(local_28);" (assignment_expression "uVar1 = FUN_001150b0(local_28)" identifier = (call_expression "FUN_001150b0(local_28)" identifier (argument_list "(local_28)" ( identifier )))) ;) (expression_statement "FUN_0012bf20(uVar1,0);" (call_expression "FUN_0012bf20(uVar1,0)" identifier (argument_list "(uVar1,0)" ( identifier , number_literal ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Unknown calling convention */\n\nsymbolS * expr_build_dot(void)\n\n{\n  symbolS *psVar1;\n  expressionS e;\n  \n  if (now_seg == (segT)(_bfd_std_section + 0x230)) {\n    e.X_add_number = abs_section_offset;\n    e._24_1_ = 2;\n  }\n  else {\n    e._24_1_ = 3;\n    e.X_add_symbol = &dot_symbol;\n    e.X_add_number = 0;\n  }\n  psVar1 = make_expr_symbol(&e);\n  psVar1 = symbol_clone_if_forward_ref(psVar1,0);\n  return psVar1;\n}\n\n" comment (function_definition "symbolS * expr_build_dot(void)\n\n{\n  symbolS *psVar1;\n  expressionS e;\n  \n  if (now_seg == (segT)(_bfd_std_section + 0x230)) {\n    e.X_add_number = abs_section_offset;\n    e._24_1_ = 2;\n  }\n  else {\n    e._24_1_ = 3;\n    e.X_add_symbol = &dot_symbol;\n    e.X_add_number = 0;\n  }\n  psVar1 = make_expr_symbol(&e);\n  psVar1 = symbol_clone_if_forward_ref(psVar1,0);\n  return psVar1;\n}" type_identifier (pointer_declarator "* expr_build_dot(void)" * (function_declarator "expr_build_dot(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) )))) (compound_statement "{\n  symbolS *psVar1;\n  expressionS e;\n  \n  if (now_seg == (segT)(_bfd_std_section + 0x230)) {\n    e.X_add_number = abs_section_offset;\n    e._24_1_ = 2;\n  }\n  else {\n    e._24_1_ = 3;\n    e.X_add_symbol = &dot_symbol;\n    e.X_add_number = 0;\n  }\n  psVar1 = make_expr_symbol(&e);\n  psVar1 = symbol_clone_if_forward_ref(psVar1,0);\n  return psVar1;\n}" { (declaration "symbolS *psVar1;" type_identifier (pointer_declarator "*psVar1" * identifier) ;) (declaration "expressionS e;" type_identifier identifier ;) (if_statement "if (now_seg == (segT)(_bfd_std_section + 0x230)) {\n    e.X_add_number = abs_section_offset;\n    e._24_1_ = 2;\n  }\n  else {\n    e._24_1_ = 3;\n    e.X_add_symbol = &dot_symbol;\n    e.X_add_number = 0;\n  }" if (parenthesized_expression "(now_seg == (segT)(_bfd_std_section + 0x230))" ( (binary_expression "now_seg == (segT)(_bfd_std_section + 0x230)" identifier == (call_expression "(segT)(_bfd_std_section + 0x230)" (parenthesized_expression "(segT)" ( identifier )) (argument_list "(_bfd_std_section + 0x230)" ( (binary_expression "_bfd_std_section + 0x230" identifier + number_literal) )))) )) (compound_statement "{\n    e.X_add_number = abs_section_offset;\n    e._24_1_ = 2;\n  }" { (expression_statement "e.X_add_number = abs_section_offset;" (assignment_expression "e.X_add_number = abs_section_offset" (field_expression "e.X_add_number" identifier . field_identifier) = identifier) ;) (expression_statement "e._24_1_ = 2;" (assignment_expression "e._24_1_ = 2" (field_expression "e._24_1_" identifier . field_identifier) = number_literal) ;) }) (else_clause "else {\n    e._24_1_ = 3;\n    e.X_add_symbol = &dot_symbol;\n    e.X_add_number = 0;\n  }" else (compound_statement "{\n    e._24_1_ = 3;\n    e.X_add_symbol = &dot_symbol;\n    e.X_add_number = 0;\n  }" { (expression_statement "e._24_1_ = 3;" (assignment_expression "e._24_1_ = 3" (field_expression "e._24_1_" identifier . field_identifier) = number_literal) ;) (expression_statement "e.X_add_symbol = &dot_symbol;" (assignment_expression "e.X_add_symbol = &dot_symbol" (field_expression "e.X_add_symbol" identifier . field_identifier) = (pointer_expression "&dot_symbol" & identifier)) ;) (expression_statement "e.X_add_number = 0;" (assignment_expression "e.X_add_number = 0" (field_expression "e.X_add_number" identifier . field_identifier) = number_literal) ;) }))) (expression_statement "psVar1 = make_expr_symbol(&e);" (assignment_expression "psVar1 = make_expr_symbol(&e)" identifier = (call_expression "make_expr_symbol(&e)" identifier (argument_list "(&e)" ( (pointer_expression "&e" & identifier) )))) ;) (expression_statement "psVar1 = symbol_clone_if_forward_ref(psVar1,0);" (assignment_expression "psVar1 = symbol_clone_if_forward_ref(psVar1,0)" identifier = (call_expression "symbol_clone_if_forward_ref(psVar1,0)" identifier (argument_list "(psVar1,0)" ( identifier , number_literal )))) ;) (return_statement "return psVar1;" return identifier ;) })))
(translation_unit "void FUN_00115280(void)\n\n{\n  undefined8 uVar1;\n  undefined *local_28 [2];\n  undefined8 local_18;\n  undefined1 local_10;\n  \n  if (DAT_00168848 == 0x15fb30) {\n    local_18 = DAT_00168ad8;\n    local_10 = 2;\n  }\n  else {\n    local_10 = 3;\n    local_28[0] = &DAT_00168c00;\n    local_18 = 0;\n  }\n  uVar1 = FUN_001150b0(local_28);\n  FUN_0012bf20(uVar1,0);\n  return;\n}\n\n" (function_definition "void FUN_00115280(void)\n\n{\n  undefined8 uVar1;\n  undefined *local_28 [2];\n  undefined8 local_18;\n  undefined1 local_10;\n  \n  if (DAT_00168848 == 0x15fb30) {\n    local_18 = DAT_00168ad8;\n    local_10 = 2;\n  }\n  else {\n    local_10 = 3;\n    local_28[0] = &DAT_00168c00;\n    local_18 = 0;\n  }\n  uVar1 = FUN_001150b0(local_28);\n  FUN_0012bf20(uVar1,0);\n  return;\n}" primitive_type (function_declarator "FUN_00115280(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined8 uVar1;\n  undefined *local_28 [2];\n  undefined8 local_18;\n  undefined1 local_10;\n  \n  if (DAT_00168848 == 0x15fb30) {\n    local_18 = DAT_00168ad8;\n    local_10 = 2;\n  }\n  else {\n    local_10 = 3;\n    local_28[0] = &DAT_00168c00;\n    local_18 = 0;\n  }\n  uVar1 = FUN_001150b0(local_28);\n  FUN_0012bf20(uVar1,0);\n  return;\n}" { (declaration "undefined8 uVar1;" type_identifier identifier ;) (declaration "undefined *local_28 [2];" type_identifier (pointer_declarator "*local_28 [2]" * (array_declarator "local_28 [2]" identifier [ number_literal ])) ;) (declaration "undefined8 local_18;" type_identifier identifier ;) (declaration "undefined1 local_10;" type_identifier identifier ;) (if_statement "if (DAT_00168848 == 0x15fb30) {\n    local_18 = DAT_00168ad8;\n    local_10 = 2;\n  }\n  else {\n    local_10 = 3;\n    local_28[0] = &DAT_00168c00;\n    local_18 = 0;\n  }" if (parenthesized_expression "(DAT_00168848 == 0x15fb30)" ( (binary_expression "DAT_00168848 == 0x15fb30" identifier == number_literal) )) (compound_statement "{\n    local_18 = DAT_00168ad8;\n    local_10 = 2;\n  }" { (expression_statement "local_18 = DAT_00168ad8;" (assignment_expression "local_18 = DAT_00168ad8" identifier = identifier) ;) (expression_statement "local_10 = 2;" (assignment_expression "local_10 = 2" identifier = number_literal) ;) }) (else_clause "else {\n    local_10 = 3;\n    local_28[0] = &DAT_00168c00;\n    local_18 = 0;\n  }" else (compound_statement "{\n    local_10 = 3;\n    local_28[0] = &DAT_00168c00;\n    local_18 = 0;\n  }" { (expression_statement "local_10 = 3;" (assignment_expression "local_10 = 3" identifier = number_literal) ;) (expression_statement "local_28[0] = &DAT_00168c00;" (assignment_expression "local_28[0] = &DAT_00168c00" (subscript_expression "local_28[0]" identifier [ number_literal ]) = (pointer_expression "&DAT_00168c00" & identifier)) ;) (expression_statement "local_18 = 0;" (assignment_expression "local_18 = 0" identifier = number_literal) ;) }))) (expression_statement "uVar1 = FUN_001150b0(local_28);" (assignment_expression "uVar1 = FUN_001150b0(local_28)" identifier = (call_expression "FUN_001150b0(local_28)" identifier (argument_list "(local_28)" ( identifier )))) ;) (expression_statement "FUN_0012bf20(uVar1,0);" (call_expression "FUN_0012bf20(uVar1,0)" identifier (argument_list "(uVar1,0)" ( identifier , number_literal ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT ))) ;) (return_statement return ;) })))
(function_definition "void FUN_00115280(void)\n\n{\n  undefined8 uVar1;\n  undefined *local_28 [2];\n  undefined8 local_18;\n  undefined1 local_10;\n  \n  if (DAT_00168848 == 0x15fb30) {\n    local_18 = DAT_00168ad8;\n    local_10 = 2;\n  }\n  else {\n    local_10 = 3;\n    local_28[0] = &DAT_00168c00;\n    local_18 = 0;\n  }\n  uVar1 = FUN_001150b0(local_28);\n  FUN_0012bf20(uVar1,0);\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00115280(void)" (identifier "FUN_00115280") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  undefined8 uVar1;\n  undefined *local_28 [2];\n  undefined8 local_18;\n  undefined1 local_10;\n  \n  if (DAT_00168848 == 0x15fb30) {\n    local_18 = DAT_00168ad8;\n    local_10 = 2;\n  }\n  else {\n    local_10 = 3;\n    local_28[0] = &DAT_00168c00;\n    local_18 = 0;\n  }\n  uVar1 = FUN_001150b0(local_28);\n  FUN_0012bf20(uVar1,0);\n  return;\n}" ({ "{") (declaration "undefined8 uVar1;" (type_identifier "undefined8") (identifier "uVar1") (; ";")) (declaration "undefined *local_28 [2];" (type_identifier "undefined") (pointer_declarator "*local_28 [2]" (* "*") (array_declarator "local_28 [2]" (identifier "local_28") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "undefined8 local_18;" (type_identifier "undefined8") (identifier "local_18") (; ";")) (declaration "undefined1 local_10;" (type_identifier "undefined1") (identifier "local_10") (; ";")) (if_statement "if (DAT_00168848 == 0x15fb30) {\n    local_18 = DAT_00168ad8;\n    local_10 = 2;\n  }\n  else {\n    local_10 = 3;\n    local_28[0] = &DAT_00168c00;\n    local_18 = 0;\n  }" (if "if") (parenthesized_expression "(DAT_00168848 == 0x15fb30)" (( "(") (binary_expression "DAT_00168848 == 0x15fb30" (identifier "DAT_00168848") (== "==") (number_literal "0x15fb30")) () ")")) (compound_statement "{\n    local_18 = DAT_00168ad8;\n    local_10 = 2;\n  }" ({ "{") (expression_statement "local_18 = DAT_00168ad8;" (assignment_expression "local_18 = DAT_00168ad8" (identifier "local_18") (= "=") (identifier "DAT_00168ad8")) (; ";")) (expression_statement "local_10 = 2;" (assignment_expression "local_10 = 2" (identifier "local_10") (= "=") (number_literal "2")) (; ";")) (} "}")) (else_clause "else {\n    local_10 = 3;\n    local_28[0] = &DAT_00168c00;\n    local_18 = 0;\n  }" (else "else") (compound_statement "{\n    local_10 = 3;\n    local_28[0] = &DAT_00168c00;\n    local_18 = 0;\n  }" ({ "{") (expression_statement "local_10 = 3;" (assignment_expression "local_10 = 3" (identifier "local_10") (= "=") (number_literal "3")) (; ";")) (expression_statement "local_28[0] = &DAT_00168c00;" (assignment_expression "local_28[0] = &DAT_00168c00" (subscript_expression "local_28[0]" (identifier "local_28") ([ "[") (number_literal "0") (] "]")) (= "=") (pointer_expression "&DAT_00168c00" (& "&") (identifier "DAT_00168c00"))) (; ";")) (expression_statement "local_18 = 0;" (assignment_expression "local_18 = 0" (identifier "local_18") (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "uVar1 = FUN_001150b0(local_28);" (assignment_expression "uVar1 = FUN_001150b0(local_28)" (identifier "uVar1") (= "=") (call_expression "FUN_001150b0(local_28)" (identifier "FUN_001150b0") (argument_list "(local_28)" (( "(") (identifier "local_28") () ")")))) (; ";")) (expression_statement "FUN_0012bf20(uVar1,0);" (call_expression "FUN_0012bf20(uVar1,0)" (identifier "FUN_0012bf20") (argument_list "(uVar1,0)" (( "(") (identifier "uVar1") (, ",") (number_literal "0") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Unknown calling convention */

type_1 * function_1(void)

{
  type_1 *psVar1;
  type_2 e;
  
  if (var_1 == (segT)(var_2 + 0x230)) {
    e.X_add_number = abs_section_offset;
    e._24_1_ = 2;
  }
  else {
    e._24_1_ = 3;
    e.X_add_symbol = &dot_symbol;
    e.X_add_number = 0;
  }
  psVar1 = var_3(&e);
  psVar1 = var_4(psVar1,0);
  return psVar1;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type)))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal)))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal)))) (return_statement))))

void MASKED(void)

{
  undefined8 uVar1;
  undefined *local_28 [2];
  undefined8 local_18;
  undefined1 local_10;
  
  if (DAT_00168848 == 0x15fb30) {
    local_18 = DAT_00168ad8;
    local_10 = 2;
  }
  else {
    local_10 = 3;
    local_28[0] = &DAT_00168c00;
    local_18 = 0;
  }
  uVar1 = FUN_001150b0(local_28);
  FUN_0012bf20(uVar1,0);
  return;
}

