
int gold::Layout::special_ordering_of_input_section(char *name)

{
  char *__s;
  int iVar1;
  size_t __n;
  long lVar2;
  
  lVar2 = 0;
  iVar1 = strncmp(".text.unlikely",name,0xe);
  while( true ) {
    if (iVar1 == 0) {
      return (int)lVar2;
    }
    lVar2 = lVar2 + 1;
    if (lVar2 == 4) break;
    __s = *(char **)(special_ordering_of_input_section(char_const*)::text_section_sort + lVar2 * 8);
    __n = strlen(__s);
    iVar1 = strncmp(__s,name,__n);
  }
  return -1;
}



ulong FUN_001864b0(char *param_1)

{
  char *__s;
  int iVar1;
  size_t __n;
  ulong uVar2;
  
  uVar2 = 0;
  iVar1 = strncmp(".text.unlikely",param_1,0xe);
  while( true ) {
    if (iVar1 == 0) {
      return uVar2 & 0xffffffff;
    }
    uVar2 = uVar2 + 1;
    if (uVar2 == 4) break;
    __s = (&PTR_s__text_unlikely_003aaf20)[uVar2];
    __n = strlen(__s);
    iVar1 = strncmp(__s,param_1,__n);
  }
  return 0xffffffff;
}


PUSH R13
MOV EDX,0xe
LEA R13,[0x3aaf20]
PUSH R12
MOV R12,RDI
PUSH RBP
LEA RBP,[0x310770]
MOV RSI,R12
PUSH RBX
MOV RDI,RBP
XOR EBX,EBX
SUB RSP,0x8
CALL 0x0013e2f0
TEST EAX,EAX
JZ 0x0018650a
ADD RBX,0x1
CMP RBX,0x4
JZ 0x00186520
MOV RBP,qword ptr [R13 + RBX*0x8]
MOV RDI,RBP
CALL 0x0013e490
MOV RSI,R12
MOV RDI,RBP
MOV RDX,RAX
CALL 0x0013e2f0
TEST EAX,EAX
JNZ 0x001864e1
ADD RSP,0x8
MOV EAX,EBX
POP RBX
POP RBP
POP R12
POP R13
RET
ADD RSP,0x8
MOV EAX,0xffffffff
POP RBX
POP RBP
POP R12
POP R13
RET
(translation_unit "ulong FUN_001864b0(char *param_1)\n\n{\n  char *__s;\n  int iVar1;\n  size_t __n;\n  ulong uVar2;\n  \n  uVar2 = 0;\n  iVar1 = strncmp(".text.unlikely",param_1,0xe);\n  while( true ) {\n    if (iVar1 == 0) {\n      return uVar2 & 0xffffffff;\n    }\n    uVar2 = uVar2 + 1;\n    if (uVar2 == 4) break;\n    __s = (&PTR_s__text_unlikely_003aaf20)[uVar2];\n    __n = strlen(__s);\n    iVar1 = strncmp(__s,param_1,__n);\n  }\n  return 0xffffffff;\n}\n\n" (function_definition "ulong FUN_001864b0(char *param_1)\n\n{\n  char *__s;\n  int iVar1;\n  size_t __n;\n  ulong uVar2;\n  \n  uVar2 = 0;\n  iVar1 = strncmp(".text.unlikely",param_1,0xe);\n  while( true ) {\n    if (iVar1 == 0) {\n      return uVar2 & 0xffffffff;\n    }\n    uVar2 = uVar2 + 1;\n    if (uVar2 == 4) break;\n    __s = (&PTR_s__text_unlikely_003aaf20)[uVar2];\n    __n = strlen(__s);\n    iVar1 = strncmp(__s,param_1,__n);\n  }\n  return 0xffffffff;\n}" type_identifier (function_declarator "FUN_001864b0(char *param_1)" identifier (parameter_list "(char *param_1)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  char *__s;\n  int iVar1;\n  size_t __n;\n  ulong uVar2;\n  \n  uVar2 = 0;\n  iVar1 = strncmp(".text.unlikely",param_1,0xe);\n  while( true ) {\n    if (iVar1 == 0) {\n      return uVar2 & 0xffffffff;\n    }\n    uVar2 = uVar2 + 1;\n    if (uVar2 == 4) break;\n    __s = (&PTR_s__text_unlikely_003aaf20)[uVar2];\n    __n = strlen(__s);\n    iVar1 = strncmp(__s,param_1,__n);\n  }\n  return 0xffffffff;\n}" { (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "int iVar1;" primitive_type identifier ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "ulong uVar2;" type_identifier identifier ;) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) (expression_statement "iVar1 = strncmp(".text.unlikely",param_1,0xe);" (assignment_expression "iVar1 = strncmp(".text.unlikely",param_1,0xe)" identifier = (call_expression "strncmp(".text.unlikely",param_1,0xe)" identifier (argument_list "(".text.unlikely",param_1,0xe)" ( (string_literal "".text.unlikely"" " string_content ") , identifier , number_literal )))) ;) (while_statement "while( true ) {\n    if (iVar1 == 0) {\n      return uVar2 & 0xffffffff;\n    }\n    uVar2 = uVar2 + 1;\n    if (uVar2 == 4) break;\n    __s = (&PTR_s__text_unlikely_003aaf20)[uVar2];\n    __n = strlen(__s);\n    iVar1 = strncmp(__s,param_1,__n);\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    if (iVar1 == 0) {\n      return uVar2 & 0xffffffff;\n    }\n    uVar2 = uVar2 + 1;\n    if (uVar2 == 4) break;\n    __s = (&PTR_s__text_unlikely_003aaf20)[uVar2];\n    __n = strlen(__s);\n    iVar1 = strncmp(__s,param_1,__n);\n  }" { (if_statement "if (iVar1 == 0) {\n      return uVar2 & 0xffffffff;\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      return uVar2 & 0xffffffff;\n    }" { (return_statement "return uVar2 & 0xffffffff;" return (binary_expression "uVar2 & 0xffffffff" identifier & number_literal) ;) })) (expression_statement "uVar2 = uVar2 + 1;" (assignment_expression "uVar2 = uVar2 + 1" identifier = (binary_expression "uVar2 + 1" identifier + number_literal)) ;) (if_statement "if (uVar2 == 4) break;" if (parenthesized_expression "(uVar2 == 4)" ( (binary_expression "uVar2 == 4" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "__s = (&PTR_s__text_unlikely_003aaf20)[uVar2];" (assignment_expression "__s = (&PTR_s__text_unlikely_003aaf20)[uVar2]" identifier = (subscript_expression "(&PTR_s__text_unlikely_003aaf20)[uVar2]" (parenthesized_expression "(&PTR_s__text_unlikely_003aaf20)" ( (pointer_expression "&PTR_s__text_unlikely_003aaf20" & identifier) )) [ identifier ])) ;) (expression_statement "__n = strlen(__s);" (assignment_expression "__n = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "iVar1 = strncmp(__s,param_1,__n);" (assignment_expression "iVar1 = strncmp(__s,param_1,__n)" identifier = (call_expression "strncmp(__s,param_1,__n)" identifier (argument_list "(__s,param_1,__n)" ( identifier , identifier , identifier )))) ;) })) (return_statement "return 0xffffffff;" return number_literal ;) })))
(translation_unit "int gold::Layout::special_ordering_of_input_section(char *name)\n\n{\n  char *__s;\n  int iVar1;\n  size_t __n;\n  long lVar2;\n  \n  lVar2 = 0;\n  iVar1 = strncmp(".text.unlikely",name,0xe);\n  while( true ) {\n    if (iVar1 == 0) {\n      return (int)lVar2;\n    }\n    lVar2 = lVar2 + 1;\n    if (lVar2 == 4) break;\n    __s = *(char **)(special_ordering_of_input_section(char_const*)::text_section_sort + lVar2 * 8);\n    __n = strlen(__s);\n    iVar1 = strncmp(__s,name,__n);\n  }\n  return -1;\n}\n\n" (function_definition "int gold::Layout::special_ordering_of_input_section(char *name)\n\n{\n  char *__s;\n  int iVar1;\n  size_t __n;\n  long lVar2;\n  \n  lVar2 = 0;\n  iVar1 = strncmp(".text.unlikely",name,0xe);\n  while( true ) {\n    if (iVar1 == 0) {\n      return (int)lVar2;\n    }\n    lVar2 = lVar2 + 1;\n    if (lVar2 == 4) break;\n    __s = *(char **)(special_ordering_of_input_section(char_const*)::text_section_sort + lVar2 * 8);\n    __n = strlen(__s);\n    iVar1 = strncmp(__s,name,__n);\n  }\n  return -1;\n}" primitive_type (ERROR "gold::Layout::" identifier : : identifier : :) (function_declarator "special_ordering_of_input_section(char *name)" identifier (parameter_list "(char *name)" ( (parameter_declaration "char *name" primitive_type (pointer_declarator "*name" * identifier)) ))) (compound_statement "{\n  char *__s;\n  int iVar1;\n  size_t __n;\n  long lVar2;\n  \n  lVar2 = 0;\n  iVar1 = strncmp(".text.unlikely",name,0xe);\n  while( true ) {\n    if (iVar1 == 0) {\n      return (int)lVar2;\n    }\n    lVar2 = lVar2 + 1;\n    if (lVar2 == 4) break;\n    __s = *(char **)(special_ordering_of_input_section(char_const*)::text_section_sort + lVar2 * 8);\n    __n = strlen(__s);\n    iVar1 = strncmp(__s,name,__n);\n  }\n  return -1;\n}" { (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "int iVar1;" primitive_type identifier ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (expression_statement "lVar2 = 0;" (assignment_expression "lVar2 = 0" identifier = number_literal) ;) (expression_statement "iVar1 = strncmp(".text.unlikely",name,0xe);" (assignment_expression "iVar1 = strncmp(".text.unlikely",name,0xe)" identifier = (call_expression "strncmp(".text.unlikely",name,0xe)" identifier (argument_list "(".text.unlikely",name,0xe)" ( (string_literal "".text.unlikely"" " string_content ") , identifier , number_literal )))) ;) (while_statement "while( true ) {\n    if (iVar1 == 0) {\n      return (int)lVar2;\n    }\n    lVar2 = lVar2 + 1;\n    if (lVar2 == 4) break;\n    __s = *(char **)(special_ordering_of_input_section(char_const*)::text_section_sort + lVar2 * 8);\n    __n = strlen(__s);\n    iVar1 = strncmp(__s,name,__n);\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    if (iVar1 == 0) {\n      return (int)lVar2;\n    }\n    lVar2 = lVar2 + 1;\n    if (lVar2 == 4) break;\n    __s = *(char **)(special_ordering_of_input_section(char_const*)::text_section_sort + lVar2 * 8);\n    __n = strlen(__s);\n    iVar1 = strncmp(__s,name,__n);\n  }" { (if_statement "if (iVar1 == 0) {\n      return (int)lVar2;\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      return (int)lVar2;\n    }" { (return_statement "return (int)lVar2;" return (cast_expression "(int)lVar2" ( (type_descriptor "int" primitive_type) ) identifier) ;) })) (expression_statement "lVar2 = lVar2 + 1;" (assignment_expression "lVar2 = lVar2 + 1" identifier = (binary_expression "lVar2 + 1" identifier + number_literal)) ;) (if_statement "if (lVar2 == 4) break;" if (parenthesized_expression "(lVar2 == 4)" ( (binary_expression "lVar2 == 4" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "__s = *(char **)(special_ordering_of_input_section(char_const*)::text_section_sort + lVar2 * 8);" (assignment_expression "__s = *(char **)(special_ordering_of_input_section(char_const*)::text_section_sort + lVar2 * 8)" identifier = (pointer_expression "*(char **)(special_ordering_of_input_section(char_const*)::text_section_sort + lVar2 * 8)" * (cast_expression "(char **)(special_ordering_of_input_section(char_const*)::text_section_sort + lVar2 * 8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(special_ordering_of_input_section(char_const*)::text_section_sort + lVar2 * 8)" ( (ERROR "special_ordering_of_input_section(char_const*)::" (type_descriptor "special_ordering_of_input_section(char_const*)" type_identifier (abstract_function_declarator "(char_const*)" (parameter_list "(char_const*)" ( (parameter_declaration "char_const*" type_identifier (abstract_pointer_declarator "*" *)) )))) : :) (binary_expression "text_section_sort + lVar2 * 8" identifier + (binary_expression "lVar2 * 8" identifier * number_literal)) ))))) ;) (expression_statement "__n = strlen(__s);" (assignment_expression "__n = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "iVar1 = strncmp(__s,name,__n);" (assignment_expression "iVar1 = strncmp(__s,name,__n)" identifier = (call_expression "strncmp(__s,name,__n)" identifier (argument_list "(__s,name,__n)" ( identifier , identifier , identifier )))) ;) })) (return_statement "return -1;" return number_literal ;) })))
(translation_unit "ulong FUN_001864b0(char *param_1)\n\n{\n  char *__s;\n  int iVar1;\n  size_t __n;\n  ulong uVar2;\n  \n  uVar2 = 0;\n  iVar1 = strncmp(".text.unlikely",param_1,0xe);\n  while( true ) {\n    if (iVar1 == 0) {\n      return uVar2 & 0xffffffff;\n    }\n    uVar2 = uVar2 + 1;\n    if (uVar2 == 4) break;\n    __s = (&PTR_s__text_unlikely_003aaf20)[uVar2];\n    __n = strlen(__s);\n    iVar1 = strncmp(__s,param_1,__n);\n  }\n  return 0xffffffff;\n}\n\n" (function_definition "ulong FUN_001864b0(char *param_1)\n\n{\n  char *__s;\n  int iVar1;\n  size_t __n;\n  ulong uVar2;\n  \n  uVar2 = 0;\n  iVar1 = strncmp(".text.unlikely",param_1,0xe);\n  while( true ) {\n    if (iVar1 == 0) {\n      return uVar2 & 0xffffffff;\n    }\n    uVar2 = uVar2 + 1;\n    if (uVar2 == 4) break;\n    __s = (&PTR_s__text_unlikely_003aaf20)[uVar2];\n    __n = strlen(__s);\n    iVar1 = strncmp(__s,param_1,__n);\n  }\n  return 0xffffffff;\n}" type_identifier (function_declarator "FUN_001864b0(char *param_1)" identifier (parameter_list "(char *param_1)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  char *__s;\n  int iVar1;\n  size_t __n;\n  ulong uVar2;\n  \n  uVar2 = 0;\n  iVar1 = strncmp(".text.unlikely",param_1,0xe);\n  while( true ) {\n    if (iVar1 == 0) {\n      return uVar2 & 0xffffffff;\n    }\n    uVar2 = uVar2 + 1;\n    if (uVar2 == 4) break;\n    __s = (&PTR_s__text_unlikely_003aaf20)[uVar2];\n    __n = strlen(__s);\n    iVar1 = strncmp(__s,param_1,__n);\n  }\n  return 0xffffffff;\n}" { (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "int iVar1;" primitive_type identifier ;) (declaration "size_t __n;" primitive_type identifier ;) (declaration "ulong uVar2;" type_identifier identifier ;) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) (expression_statement "iVar1 = strncmp(".text.unlikely",param_1,0xe);" (assignment_expression "iVar1 = strncmp(".text.unlikely",param_1,0xe)" identifier = (call_expression "strncmp(".text.unlikely",param_1,0xe)" identifier (argument_list "(".text.unlikely",param_1,0xe)" ( (string_literal "".text.unlikely"" " string_content ") , identifier , number_literal )))) ;) (while_statement "while( true ) {\n    if (iVar1 == 0) {\n      return uVar2 & 0xffffffff;\n    }\n    uVar2 = uVar2 + 1;\n    if (uVar2 == 4) break;\n    __s = (&PTR_s__text_unlikely_003aaf20)[uVar2];\n    __n = strlen(__s);\n    iVar1 = strncmp(__s,param_1,__n);\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    if (iVar1 == 0) {\n      return uVar2 & 0xffffffff;\n    }\n    uVar2 = uVar2 + 1;\n    if (uVar2 == 4) break;\n    __s = (&PTR_s__text_unlikely_003aaf20)[uVar2];\n    __n = strlen(__s);\n    iVar1 = strncmp(__s,param_1,__n);\n  }" { (if_statement "if (iVar1 == 0) {\n      return uVar2 & 0xffffffff;\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n      return uVar2 & 0xffffffff;\n    }" { (return_statement "return uVar2 & 0xffffffff;" return (binary_expression "uVar2 & 0xffffffff" identifier & number_literal) ;) })) (expression_statement "uVar2 = uVar2 + 1;" (assignment_expression "uVar2 = uVar2 + 1" identifier = (binary_expression "uVar2 + 1" identifier + number_literal)) ;) (if_statement "if (uVar2 == 4) break;" if (parenthesized_expression "(uVar2 == 4)" ( (binary_expression "uVar2 == 4" identifier == number_literal) )) (break_statement "break;" break ;)) (expression_statement "__s = (&PTR_s__text_unlikely_003aaf20)[uVar2];" (assignment_expression "__s = (&PTR_s__text_unlikely_003aaf20)[uVar2]" identifier = (subscript_expression "(&PTR_s__text_unlikely_003aaf20)[uVar2]" (parenthesized_expression "(&PTR_s__text_unlikely_003aaf20)" ( (pointer_expression "&PTR_s__text_unlikely_003aaf20" & identifier) )) [ identifier ])) ;) (expression_statement "__n = strlen(__s);" (assignment_expression "__n = strlen(__s)" identifier = (call_expression "strlen(__s)" identifier (argument_list "(__s)" ( identifier )))) ;) (expression_statement "iVar1 = strncmp(__s,param_1,__n);" (assignment_expression "iVar1 = strncmp(__s,param_1,__n)" identifier = (call_expression "strncmp(__s,param_1,__n)" identifier (argument_list "(__s,param_1,__n)" ( identifier , identifier , identifier )))) ;) })) (return_statement "return 0xffffffff;" return number_literal ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") , IDENT , LIT )))) ;) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return (binary_expression IDENT & LIT) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression & IDENT) )) [ IDENT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) })) (return_statement return LIT ;) })))
(function_definition "ulong FUN_001864b0(char *param_1)\n\n{\n  char *__s;\n  int iVar1;\n  size_t __n;\n  ulong uVar2;\n  \n  uVar2 = 0;\n  iVar1 = strncmp(".text.unlikely",param_1,0xe);\n  while( true ) {\n    if (iVar1 == 0) {\n      return uVar2 & 0xffffffff;\n    }\n    uVar2 = uVar2 + 1;\n    if (uVar2 == 4) break;\n    __s = (&PTR_s__text_unlikely_003aaf20)[uVar2];\n    __n = strlen(__s);\n    iVar1 = strncmp(__s,param_1,__n);\n  }\n  return 0xffffffff;\n}" (type_identifier "ulong") (function_declarator "FUN_001864b0(char *param_1)" (identifier "FUN_001864b0") (parameter_list "(char *param_1)" (( "(") (parameter_declaration "char *param_1" (primitive_type "char") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  char *__s;\n  int iVar1;\n  size_t __n;\n  ulong uVar2;\n  \n  uVar2 = 0;\n  iVar1 = strncmp(".text.unlikely",param_1,0xe);\n  while( true ) {\n    if (iVar1 == 0) {\n      return uVar2 & 0xffffffff;\n    }\n    uVar2 = uVar2 + 1;\n    if (uVar2 == 4) break;\n    __s = (&PTR_s__text_unlikely_003aaf20)[uVar2];\n    __n = strlen(__s);\n    iVar1 = strncmp(__s,param_1,__n);\n  }\n  return 0xffffffff;\n}" ({ "{") (declaration "char *__s;" (primitive_type "char") (pointer_declarator "*__s" (* "*") (identifier "__s")) (; ";")) (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "size_t __n;" (primitive_type "size_t") (identifier "__n") (; ";")) (declaration "ulong uVar2;" (type_identifier "ulong") (identifier "uVar2") (; ";")) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" (identifier "uVar2") (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar1 = strncmp(".text.unlikely",param_1,0xe);" (assignment_expression "iVar1 = strncmp(".text.unlikely",param_1,0xe)" (identifier "iVar1") (= "=") (call_expression "strncmp(".text.unlikely",param_1,0xe)" (identifier "strncmp") (argument_list "(".text.unlikely",param_1,0xe)" (( "(") (string_literal "".text.unlikely"" (" """) (string_content ".text.unlikely") (" """)) (, ",") (identifier "param_1") (, ",") (number_literal "0xe") () ")")))) (; ";")) (while_statement "while( true ) {\n    if (iVar1 == 0) {\n      return uVar2 & 0xffffffff;\n    }\n    uVar2 = uVar2 + 1;\n    if (uVar2 == 4) break;\n    __s = (&PTR_s__text_unlikely_003aaf20)[uVar2];\n    __n = strlen(__s);\n    iVar1 = strncmp(__s,param_1,__n);\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    if (iVar1 == 0) {\n      return uVar2 & 0xffffffff;\n    }\n    uVar2 = uVar2 + 1;\n    if (uVar2 == 4) break;\n    __s = (&PTR_s__text_unlikely_003aaf20)[uVar2];\n    __n = strlen(__s);\n    iVar1 = strncmp(__s,param_1,__n);\n  }" ({ "{") (if_statement "if (iVar1 == 0) {\n      return uVar2 & 0xffffffff;\n    }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      return uVar2 & 0xffffffff;\n    }" ({ "{") (return_statement "return uVar2 & 0xffffffff;" (return "return") (binary_expression "uVar2 & 0xffffffff" (identifier "uVar2") (& "&") (number_literal "0xffffffff")) (; ";")) (} "}"))) (expression_statement "uVar2 = uVar2 + 1;" (assignment_expression "uVar2 = uVar2 + 1" (identifier "uVar2") (= "=") (binary_expression "uVar2 + 1" (identifier "uVar2") (+ "+") (number_literal "1"))) (; ";")) (if_statement "if (uVar2 == 4) break;" (if "if") (parenthesized_expression "(uVar2 == 4)" (( "(") (binary_expression "uVar2 == 4" (identifier "uVar2") (== "==") (number_literal "4")) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "__s = (&PTR_s__text_unlikely_003aaf20)[uVar2];" (assignment_expression "__s = (&PTR_s__text_unlikely_003aaf20)[uVar2]" (identifier "__s") (= "=") (subscript_expression "(&PTR_s__text_unlikely_003aaf20)[uVar2]" (parenthesized_expression "(&PTR_s__text_unlikely_003aaf20)" (( "(") (pointer_expression "&PTR_s__text_unlikely_003aaf20" (& "&") (identifier "PTR_s__text_unlikely_003aaf20")) () ")")) ([ "[") (identifier "uVar2") (] "]"))) (; ";")) (expression_statement "__n = strlen(__s);" (assignment_expression "__n = strlen(__s)" (identifier "__n") (= "=") (call_expression "strlen(__s)" (identifier "strlen") (argument_list "(__s)" (( "(") (identifier "__s") () ")")))) (; ";")) (expression_statement "iVar1 = strncmp(__s,param_1,__n);" (assignment_expression "iVar1 = strncmp(__s,param_1,__n)" (identifier "iVar1") (= "=") (call_expression "strncmp(__s,param_1,__n)" (identifier "strncmp") (argument_list "(__s,param_1,__n)" (( "(") (identifier "__s") (, ",") (identifier "param_1") (, ",") (identifier "__n") () ")")))) (; ";")) (} "}"))) (return_statement "return 0xffffffff;" (return "return") (number_literal "0xffffffff") (; ";")) (} "}")))

int gold::Layout::function_1(char *name)

{
  char *__s;
  int var_2;
  size_t __n;
  long var_3;
  
  var_3 = 0;
  var_2 = var_1(".text.unlikely",name,0xe);
  while( true ) {
    if (var_2 == 0) {
      return (int)var_3;
    }
    var_3 = var_3 + 1;
    if (var_3 == 4) break;
    __s = *(char **)(function_1(char_const*)::var_4 + var_3 * 8);
    __n = var_5(__s);
    var_2 = var_1(__s,name,__n);
  }
  return -1;
}


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

ulong MASKED(char *param_1)

{
  char *__s;
  int iVar1;
  size_t __n;
  ulong uVar2;
  
  uVar2 = 0;
  iVar1 = strncmp(".text.unlikely",param_1,0xe);
  while( true ) {
    if (iVar1 == 0) {
      return uVar2 & 0xffffffff;
    }
    uVar2 = uVar2 + 1;
    if (uVar2 == 4) break;
    __s = (&PTR_s__text_unlikely_003aaf20)[uVar2];
    __n = strlen(__s);
    iVar1 = strncmp(__s,param_1,__n);
  }
  return 0xffffffff;
}

