
bfd_boolean lang_discard_section_p(asection *section)

{
  uint uVar1;
  flagword flags;
  
  uVar1 = (uint)((ulong)section >> 0xf) & 1;
  if ((((ulong)section & 0x2000000) != 0) && ((link_info._1_1_ & 0x10) != 0)) {
    uVar1 = 1;
  }
  if (((link_info._1_1_ & 0x20) != 0) && (((ulong)section & 0x2000) != 0)) {
    uVar1 = 1;
  }
  return uVar1;
}



uint FUN_00113350(uint param_1)

{
  uint uVar1;
  
  uVar1 = param_1 >> 0xf & 1;
  if (((param_1 & 0x2000000) != 0) && ((DAT_0017fac1 & 0x10) != 0)) {
    uVar1 = 1;
  }
  if (((DAT_0017fac1 & 0x20) != 0) && ((param_1 & 0x2000) != 0)) {
    uVar1 = 1;
  }
  return uVar1;
}


MOV EAX,EDI
MOVZX EDX,byte ptr [0x0017fac1]
SHR EAX,0xf
AND EAX,0x1
TEST EDI,0x2000000
JZ 0x00113372
TEST DL,0x10
MOV ECX,0x1
CMOVNZ EAX,ECX
AND EDX,0x20
JZ 0x00113385
AND EDI,0x2000
MOV EDX,0x1
CMOVNZ EAX,EDX
RET
(translation_unit "uint FUN_00113350(uint param_1)\n\n{\n  uint uVar1;\n  \n  uVar1 = param_1 >> 0xf & 1;\n  if (((param_1 & 0x2000000) != 0) && ((DAT_0017fac1 & 0x10) != 0)) {\n    uVar1 = 1;\n  }\n  if (((DAT_0017fac1 & 0x20) != 0) && ((param_1 & 0x2000) != 0)) {\n    uVar1 = 1;\n  }\n  return uVar1;\n}\n\n" (function_definition "uint FUN_00113350(uint param_1)\n\n{\n  uint uVar1;\n  \n  uVar1 = param_1 >> 0xf & 1;\n  if (((param_1 & 0x2000000) != 0) && ((DAT_0017fac1 & 0x10) != 0)) {\n    uVar1 = 1;\n  }\n  if (((DAT_0017fac1 & 0x20) != 0) && ((param_1 & 0x2000) != 0)) {\n    uVar1 = 1;\n  }\n  return uVar1;\n}" type_identifier (function_declarator "FUN_00113350(uint param_1)" identifier (parameter_list "(uint param_1)" ( (parameter_declaration "uint param_1" type_identifier identifier) ))) (compound_statement "{\n  uint uVar1;\n  \n  uVar1 = param_1 >> 0xf & 1;\n  if (((param_1 & 0x2000000) != 0) && ((DAT_0017fac1 & 0x10) != 0)) {\n    uVar1 = 1;\n  }\n  if (((DAT_0017fac1 & 0x20) != 0) && ((param_1 & 0x2000) != 0)) {\n    uVar1 = 1;\n  }\n  return uVar1;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (expression_statement "uVar1 = param_1 >> 0xf & 1;" (assignment_expression "uVar1 = param_1 >> 0xf & 1" identifier = (binary_expression "param_1 >> 0xf & 1" (binary_expression "param_1 >> 0xf" identifier >> number_literal) & number_literal)) ;) (if_statement "if (((param_1 & 0x2000000) != 0) && ((DAT_0017fac1 & 0x10) != 0)) {\n    uVar1 = 1;\n  }" if (parenthesized_expression "(((param_1 & 0x2000000) != 0) && ((DAT_0017fac1 & 0x10) != 0))" ( (binary_expression "((param_1 & 0x2000000) != 0) && ((DAT_0017fac1 & 0x10) != 0)" (parenthesized_expression "((param_1 & 0x2000000) != 0)" ( (binary_expression "(param_1 & 0x2000000) != 0" (parenthesized_expression "(param_1 & 0x2000000)" ( (binary_expression "param_1 & 0x2000000" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "((DAT_0017fac1 & 0x10) != 0)" ( (binary_expression "(DAT_0017fac1 & 0x10) != 0" (parenthesized_expression "(DAT_0017fac1 & 0x10)" ( (binary_expression "DAT_0017fac1 & 0x10" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n    uVar1 = 1;\n  }" { (expression_statement "uVar1 = 1;" (assignment_expression "uVar1 = 1" identifier = number_literal) ;) })) (if_statement "if (((DAT_0017fac1 & 0x20) != 0) && ((param_1 & 0x2000) != 0)) {\n    uVar1 = 1;\n  }" if (parenthesized_expression "(((DAT_0017fac1 & 0x20) != 0) && ((param_1 & 0x2000) != 0))" ( (binary_expression "((DAT_0017fac1 & 0x20) != 0) && ((param_1 & 0x2000) != 0)" (parenthesized_expression "((DAT_0017fac1 & 0x20) != 0)" ( (binary_expression "(DAT_0017fac1 & 0x20) != 0" (parenthesized_expression "(DAT_0017fac1 & 0x20)" ( (binary_expression "DAT_0017fac1 & 0x20" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "((param_1 & 0x2000) != 0)" ( (binary_expression "(param_1 & 0x2000) != 0" (parenthesized_expression "(param_1 & 0x2000)" ( (binary_expression "param_1 & 0x2000" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n    uVar1 = 1;\n  }" { (expression_statement "uVar1 = 1;" (assignment_expression "uVar1 = 1" identifier = number_literal) ;) })) (return_statement "return uVar1;" return identifier ;) })))
(translation_unit "bfd_boolean lang_discard_section_p(asection *section)\n\n{\n  uint uVar1;\n  flagword flags;\n  \n  uVar1 = (uint)((ulong)section >> 0xf) & 1;\n  if ((((ulong)section & 0x2000000) != 0) && ((link_info._1_1_ & 0x10) != 0)) {\n    uVar1 = 1;\n  }\n  if (((link_info._1_1_ & 0x20) != 0) && (((ulong)section & 0x2000) != 0)) {\n    uVar1 = 1;\n  }\n  return uVar1;\n}\n\n" (function_definition "bfd_boolean lang_discard_section_p(asection *section)\n\n{\n  uint uVar1;\n  flagword flags;\n  \n  uVar1 = (uint)((ulong)section >> 0xf) & 1;\n  if ((((ulong)section & 0x2000000) != 0) && ((link_info._1_1_ & 0x10) != 0)) {\n    uVar1 = 1;\n  }\n  if (((link_info._1_1_ & 0x20) != 0) && (((ulong)section & 0x2000) != 0)) {\n    uVar1 = 1;\n  }\n  return uVar1;\n}" type_identifier (function_declarator "lang_discard_section_p(asection *section)" identifier (parameter_list "(asection *section)" ( (parameter_declaration "asection *section" type_identifier (pointer_declarator "*section" * identifier)) ))) (compound_statement "{\n  uint uVar1;\n  flagword flags;\n  \n  uVar1 = (uint)((ulong)section >> 0xf) & 1;\n  if ((((ulong)section & 0x2000000) != 0) && ((link_info._1_1_ & 0x10) != 0)) {\n    uVar1 = 1;\n  }\n  if (((link_info._1_1_ & 0x20) != 0) && (((ulong)section & 0x2000) != 0)) {\n    uVar1 = 1;\n  }\n  return uVar1;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "flagword flags;" type_identifier identifier ;) (expression_statement "uVar1 = (uint)((ulong)section >> 0xf) & 1;" (assignment_expression "uVar1 = (uint)((ulong)section >> 0xf) & 1" identifier = (binary_expression "(uint)((ulong)section >> 0xf) & 1" (call_expression "(uint)((ulong)section >> 0xf)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulong)section >> 0xf)" ( (binary_expression "(ulong)section >> 0xf" (cast_expression "(ulong)section" ( (type_descriptor "ulong" type_identifier) ) identifier) >> number_literal) ))) & number_literal)) ;) (if_statement "if ((((ulong)section & 0x2000000) != 0) && ((link_info._1_1_ & 0x10) != 0)) {\n    uVar1 = 1;\n  }" if (parenthesized_expression "((((ulong)section & 0x2000000) != 0) && ((link_info._1_1_ & 0x10) != 0))" ( (binary_expression "(((ulong)section & 0x2000000) != 0) && ((link_info._1_1_ & 0x10) != 0)" (parenthesized_expression "(((ulong)section & 0x2000000) != 0)" ( (binary_expression "((ulong)section & 0x2000000) != 0" (parenthesized_expression "((ulong)section & 0x2000000)" ( (binary_expression "(ulong)section & 0x2000000" (cast_expression "(ulong)section" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) )) != number_literal) )) && (parenthesized_expression "((link_info._1_1_ & 0x10) != 0)" ( (binary_expression "(link_info._1_1_ & 0x10) != 0" (parenthesized_expression "(link_info._1_1_ & 0x10)" ( (binary_expression "link_info._1_1_ & 0x10" (field_expression "link_info._1_1_" identifier . field_identifier) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n    uVar1 = 1;\n  }" { (expression_statement "uVar1 = 1;" (assignment_expression "uVar1 = 1" identifier = number_literal) ;) })) (if_statement "if (((link_info._1_1_ & 0x20) != 0) && (((ulong)section & 0x2000) != 0)) {\n    uVar1 = 1;\n  }" if (parenthesized_expression "(((link_info._1_1_ & 0x20) != 0) && (((ulong)section & 0x2000) != 0))" ( (binary_expression "((link_info._1_1_ & 0x20) != 0) && (((ulong)section & 0x2000) != 0)" (parenthesized_expression "((link_info._1_1_ & 0x20) != 0)" ( (binary_expression "(link_info._1_1_ & 0x20) != 0" (parenthesized_expression "(link_info._1_1_ & 0x20)" ( (binary_expression "link_info._1_1_ & 0x20" (field_expression "link_info._1_1_" identifier . field_identifier) & number_literal) )) != number_literal) )) && (parenthesized_expression "(((ulong)section & 0x2000) != 0)" ( (binary_expression "((ulong)section & 0x2000) != 0" (parenthesized_expression "((ulong)section & 0x2000)" ( (binary_expression "(ulong)section & 0x2000" (cast_expression "(ulong)section" ( (type_descriptor "ulong" type_identifier) ) identifier) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n    uVar1 = 1;\n  }" { (expression_statement "uVar1 = 1;" (assignment_expression "uVar1 = 1" identifier = number_literal) ;) })) (return_statement "return uVar1;" return identifier ;) })))
(translation_unit "uint FUN_00113350(uint param_1)\n\n{\n  uint uVar1;\n  \n  uVar1 = param_1 >> 0xf & 1;\n  if (((param_1 & 0x2000000) != 0) && ((DAT_0017fac1 & 0x10) != 0)) {\n    uVar1 = 1;\n  }\n  if (((DAT_0017fac1 & 0x20) != 0) && ((param_1 & 0x2000) != 0)) {\n    uVar1 = 1;\n  }\n  return uVar1;\n}\n\n" (function_definition "uint FUN_00113350(uint param_1)\n\n{\n  uint uVar1;\n  \n  uVar1 = param_1 >> 0xf & 1;\n  if (((param_1 & 0x2000000) != 0) && ((DAT_0017fac1 & 0x10) != 0)) {\n    uVar1 = 1;\n  }\n  if (((DAT_0017fac1 & 0x20) != 0) && ((param_1 & 0x2000) != 0)) {\n    uVar1 = 1;\n  }\n  return uVar1;\n}" type_identifier (function_declarator "FUN_00113350(uint param_1)" identifier (parameter_list "(uint param_1)" ( (parameter_declaration "uint param_1" type_identifier identifier) ))) (compound_statement "{\n  uint uVar1;\n  \n  uVar1 = param_1 >> 0xf & 1;\n  if (((param_1 & 0x2000000) != 0) && ((DAT_0017fac1 & 0x10) != 0)) {\n    uVar1 = 1;\n  }\n  if (((DAT_0017fac1 & 0x20) != 0) && ((param_1 & 0x2000) != 0)) {\n    uVar1 = 1;\n  }\n  return uVar1;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (expression_statement "uVar1 = param_1 >> 0xf & 1;" (assignment_expression "uVar1 = param_1 >> 0xf & 1" identifier = (binary_expression "param_1 >> 0xf & 1" (binary_expression "param_1 >> 0xf" identifier >> number_literal) & number_literal)) ;) (if_statement "if (((param_1 & 0x2000000) != 0) && ((DAT_0017fac1 & 0x10) != 0)) {\n    uVar1 = 1;\n  }" if (parenthesized_expression "(((param_1 & 0x2000000) != 0) && ((DAT_0017fac1 & 0x10) != 0))" ( (binary_expression "((param_1 & 0x2000000) != 0) && ((DAT_0017fac1 & 0x10) != 0)" (parenthesized_expression "((param_1 & 0x2000000) != 0)" ( (binary_expression "(param_1 & 0x2000000) != 0" (parenthesized_expression "(param_1 & 0x2000000)" ( (binary_expression "param_1 & 0x2000000" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "((DAT_0017fac1 & 0x10) != 0)" ( (binary_expression "(DAT_0017fac1 & 0x10) != 0" (parenthesized_expression "(DAT_0017fac1 & 0x10)" ( (binary_expression "DAT_0017fac1 & 0x10" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n    uVar1 = 1;\n  }" { (expression_statement "uVar1 = 1;" (assignment_expression "uVar1 = 1" identifier = number_literal) ;) })) (if_statement "if (((DAT_0017fac1 & 0x20) != 0) && ((param_1 & 0x2000) != 0)) {\n    uVar1 = 1;\n  }" if (parenthesized_expression "(((DAT_0017fac1 & 0x20) != 0) && ((param_1 & 0x2000) != 0))" ( (binary_expression "((DAT_0017fac1 & 0x20) != 0) && ((param_1 & 0x2000) != 0)" (parenthesized_expression "((DAT_0017fac1 & 0x20) != 0)" ( (binary_expression "(DAT_0017fac1 & 0x20) != 0" (parenthesized_expression "(DAT_0017fac1 & 0x20)" ( (binary_expression "DAT_0017fac1 & 0x20" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "((param_1 & 0x2000) != 0)" ( (binary_expression "(param_1 & 0x2000) != 0" (parenthesized_expression "(param_1 & 0x2000)" ( (binary_expression "param_1 & 0x2000" identifier & number_literal) )) != number_literal) ))) )) (compound_statement "{\n    uVar1 = 1;\n  }" { (expression_statement "uVar1 = 1;" (assignment_expression "uVar1 = 1" identifier = number_literal) ;) })) (return_statement "return uVar1;" 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 IDENT >> LIT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (return_statement return IDENT ;) })))
(function_definition "uint FUN_00113350(uint param_1)\n\n{\n  uint uVar1;\n  \n  uVar1 = param_1 >> 0xf & 1;\n  if (((param_1 & 0x2000000) != 0) && ((DAT_0017fac1 & 0x10) != 0)) {\n    uVar1 = 1;\n  }\n  if (((DAT_0017fac1 & 0x20) != 0) && ((param_1 & 0x2000) != 0)) {\n    uVar1 = 1;\n  }\n  return uVar1;\n}" (type_identifier "uint") (function_declarator "FUN_00113350(uint param_1)" (identifier "FUN_00113350") (parameter_list "(uint param_1)" (( "(") (parameter_declaration "uint param_1" (type_identifier "uint") (identifier "param_1")) () ")"))) (compound_statement "{\n  uint uVar1;\n  \n  uVar1 = param_1 >> 0xf & 1;\n  if (((param_1 & 0x2000000) != 0) && ((DAT_0017fac1 & 0x10) != 0)) {\n    uVar1 = 1;\n  }\n  if (((DAT_0017fac1 & 0x20) != 0) && ((param_1 & 0x2000) != 0)) {\n    uVar1 = 1;\n  }\n  return uVar1;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (expression_statement "uVar1 = param_1 >> 0xf & 1;" (assignment_expression "uVar1 = param_1 >> 0xf & 1" (identifier "uVar1") (= "=") (binary_expression "param_1 >> 0xf & 1" (binary_expression "param_1 >> 0xf" (identifier "param_1") (>> ">>") (number_literal "0xf")) (& "&") (number_literal "1"))) (; ";")) (if_statement "if (((param_1 & 0x2000000) != 0) && ((DAT_0017fac1 & 0x10) != 0)) {\n    uVar1 = 1;\n  }" (if "if") (parenthesized_expression "(((param_1 & 0x2000000) != 0) && ((DAT_0017fac1 & 0x10) != 0))" (( "(") (binary_expression "((param_1 & 0x2000000) != 0) && ((DAT_0017fac1 & 0x10) != 0)" (parenthesized_expression "((param_1 & 0x2000000) != 0)" (( "(") (binary_expression "(param_1 & 0x2000000) != 0" (parenthesized_expression "(param_1 & 0x2000000)" (( "(") (binary_expression "param_1 & 0x2000000" (identifier "param_1") (& "&") (number_literal "0x2000000")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((DAT_0017fac1 & 0x10) != 0)" (( "(") (binary_expression "(DAT_0017fac1 & 0x10) != 0" (parenthesized_expression "(DAT_0017fac1 & 0x10)" (( "(") (binary_expression "DAT_0017fac1 & 0x10" (identifier "DAT_0017fac1") (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    uVar1 = 1;\n  }" ({ "{") (expression_statement "uVar1 = 1;" (assignment_expression "uVar1 = 1" (identifier "uVar1") (= "=") (number_literal "1")) (; ";")) (} "}"))) (if_statement "if (((DAT_0017fac1 & 0x20) != 0) && ((param_1 & 0x2000) != 0)) {\n    uVar1 = 1;\n  }" (if "if") (parenthesized_expression "(((DAT_0017fac1 & 0x20) != 0) && ((param_1 & 0x2000) != 0))" (( "(") (binary_expression "((DAT_0017fac1 & 0x20) != 0) && ((param_1 & 0x2000) != 0)" (parenthesized_expression "((DAT_0017fac1 & 0x20) != 0)" (( "(") (binary_expression "(DAT_0017fac1 & 0x20) != 0" (parenthesized_expression "(DAT_0017fac1 & 0x20)" (( "(") (binary_expression "DAT_0017fac1 & 0x20" (identifier "DAT_0017fac1") (& "&") (number_literal "0x20")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((param_1 & 0x2000) != 0)" (( "(") (binary_expression "(param_1 & 0x2000) != 0" (parenthesized_expression "(param_1 & 0x2000)" (( "(") (binary_expression "param_1 & 0x2000" (identifier "param_1") (& "&") (number_literal "0x2000")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n    uVar1 = 1;\n  }" ({ "{") (expression_statement "uVar1 = 1;" (assignment_expression "uVar1 = 1" (identifier "uVar1") (= "=") (number_literal "1")) (; ";")) (} "}"))) (return_statement "return uVar1;" (return "return") (identifier "uVar1") (; ";")) (} "}")))

type_1 function_1(type_2 *section)

{
  type_3 uVar1;
  type_4 flags;
  
  uVar1 = (type_3)((type_5)section >> 0xf) & 1;
  if ((((type_5)section & 0x2000000) != 0) && ((link_info._1_1_ & 0x10) != 0)) {
    uVar1 = 1;
  }
  if (((link_info._1_1_ & 0x20) != 0) && (((type_5)section & 0x2000) != 0)) {
    uVar1 = 1;
  }
  return uVar1;
}


(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))))) (return_statement (identifier)))))

uint MASKED(uint param_1)

{
  uint uVar1;
  
  uVar1 = param_1 >> 0xf & 1;
  if (((param_1 & 0x2000000) != 0) && ((DAT_0017fac1 & 0x10) != 0)) {
    uVar1 = 1;
  }
  if (((DAT_0017fac1 & 0x20) != 0) && ((param_1 & 0x2000) != 0)) {
    uVar1 = 1;
  }
  return uVar1;
}

