
/* WARNING: Unknown calling convention -- yet parameter storage is locked */
/* DWARF original name:
   __inplace_stable_sort<__gnu_cxx::__normal_iterator<gold::Output_section::Input_section*,
   std::vector<gold::Output_section::Input_section> >, __gnu_cxx::__ops::_Iter_comp_iter<(anonymous
   namespace)::Sort_toc_sections<false> > > */

void std::
     __inplace_stable_sort<__gnu_cxx::__normal_iterator<gold::Output_section::Input_section*,_std::vector<gold::Output_section::Input_section>_>,___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)::Sort_toc_sections<false>_>_>
               (long __first,long __last)

{
  long lVar1;
  long lVar2;
  
  if (0x1c0 < __last - __first) {
    lVar2 = (__last - __first >> 6) * 0x20;
    lVar1 = __first + lVar2;
    __inplace_stable_sort<__gnu_cxx::__normal_iterator<gold::Output_section::Input_section*,_std::vector<gold::Output_section::Input_section>_>,___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)::Sort_toc_sections<false>_>_>
              (__first,lVar1);
    __inplace_stable_sort<__gnu_cxx::__normal_iterator<gold::Output_section::Input_section*,_std::vector<gold::Output_section::Input_section>_>,___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)::Sort_toc_sections<false>_>_>
              (lVar1,__last);
    __merge_without_buffer<__gnu_cxx::__normal_iterator<gold::Output_section::Input_section*,_std::vector<gold::Output_section::Input_section>_>,_long_int,___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)::Sort_toc_sections<false>_>_>
              (__first,lVar1,__last,lVar2 >> 5,__last - lVar1 >> 5);
    return;
  }
  __insertion_sort<__gnu_cxx::__normal_iterator<gold::Output_section::Input_section*,_std::vector<gold::Output_section::Input_section>_>,___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)::Sort_toc_sections<false>_>_>
            ();
  return;
}



void FUN_001f7950(long param_1,long param_2)

{
  long lVar1;
  long lVar2;
  
  if (0x1c0 < param_2 - param_1) {
    lVar2 = (param_2 - param_1 >> 6) * 0x20;
    lVar1 = param_1 + lVar2;
    FUN_001f7950(param_1,lVar1);
    FUN_001f7950(lVar1,param_2);
    FUN_001f77a0(param_1,lVar1,param_2,lVar2 >> 5,param_2 - lVar1 >> 5);
    return;
  }
  FUN_001e4710();
  return;
}


MOV RCX,RSI
SUB RCX,RDI
CMP RCX,0x1c0
JLE 0x001f79c0
SAR RCX,0x6
PUSH R13
PUSH R12
MOV R12,RSI
PUSH RBP
MOV RBP,RDI
PUSH RBX
MOV RBX,RCX
SHL RBX,0x5
LEA R13,[RDI + RBX*0x1]
SAR RBX,0x5
SUB RSP,0x8
MOV RSI,R13
CALL 0x001f7950
MOV RSI,R12
MOV RDI,R13
CALL 0x001f7950
MOV R8,R12
ADD RSP,0x8
MOV RCX,RBX
SUB R8,R13
POP RBX
MOV RDX,R12
MOV RSI,R13
MOV RDI,RBP
SAR R8,0x5
POP RBP
POP R12
POP R13
JMP 0x001f77a0
JMP 0x001e4710
(translation_unit "void FUN_001f7950(long param_1,long param_2)\n\n{\n  long lVar1;\n  long lVar2;\n  \n  if (0x1c0 < param_2 - param_1) {\n    lVar2 = (param_2 - param_1 >> 6) * 0x20;\n    lVar1 = param_1 + lVar2;\n    FUN_001f7950(param_1,lVar1);\n    FUN_001f7950(lVar1,param_2);\n    FUN_001f77a0(param_1,lVar1,param_2,lVar2 >> 5,param_2 - lVar1 >> 5);\n    return;\n  }\n  FUN_001e4710();\n  return;\n}\n\n" (function_definition "void FUN_001f7950(long param_1,long param_2)\n\n{\n  long lVar1;\n  long lVar2;\n  \n  if (0x1c0 < param_2 - param_1) {\n    lVar2 = (param_2 - param_1 >> 6) * 0x20;\n    lVar1 = param_1 + lVar2;\n    FUN_001f7950(param_1,lVar1);\n    FUN_001f7950(lVar1,param_2);\n    FUN_001f77a0(param_1,lVar1,param_2,lVar2 >> 5,param_2 - lVar1 >> 5);\n    return;\n  }\n  FUN_001e4710();\n  return;\n}" primitive_type (function_declarator "FUN_001f7950(long param_1,long param_2)" identifier (parameter_list "(long param_1,long param_2)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  long lVar1;\n  long lVar2;\n  \n  if (0x1c0 < param_2 - param_1) {\n    lVar2 = (param_2 - param_1 >> 6) * 0x20;\n    lVar1 = param_1 + lVar2;\n    FUN_001f7950(param_1,lVar1);\n    FUN_001f7950(lVar1,param_2);\n    FUN_001f77a0(param_1,lVar1,param_2,lVar2 >> 5,param_2 - lVar1 >> 5);\n    return;\n  }\n  FUN_001e4710();\n  return;\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (if_statement "if (0x1c0 < param_2 - param_1) {\n    lVar2 = (param_2 - param_1 >> 6) * 0x20;\n    lVar1 = param_1 + lVar2;\n    FUN_001f7950(param_1,lVar1);\n    FUN_001f7950(lVar1,param_2);\n    FUN_001f77a0(param_1,lVar1,param_2,lVar2 >> 5,param_2 - lVar1 >> 5);\n    return;\n  }" if (parenthesized_expression "(0x1c0 < param_2 - param_1)" ( (binary_expression "0x1c0 < param_2 - param_1" number_literal < (binary_expression "param_2 - param_1" identifier - identifier)) )) (compound_statement "{\n    lVar2 = (param_2 - param_1 >> 6) * 0x20;\n    lVar1 = param_1 + lVar2;\n    FUN_001f7950(param_1,lVar1);\n    FUN_001f7950(lVar1,param_2);\n    FUN_001f77a0(param_1,lVar1,param_2,lVar2 >> 5,param_2 - lVar1 >> 5);\n    return;\n  }" { (expression_statement "lVar2 = (param_2 - param_1 >> 6) * 0x20;" (assignment_expression "lVar2 = (param_2 - param_1 >> 6) * 0x20" identifier = (binary_expression "(param_2 - param_1 >> 6) * 0x20" (parenthesized_expression "(param_2 - param_1 >> 6)" ( (binary_expression "param_2 - param_1 >> 6" (binary_expression "param_2 - param_1" identifier - identifier) >> number_literal) )) * number_literal)) ;) (expression_statement "lVar1 = param_1 + lVar2;" (assignment_expression "lVar1 = param_1 + lVar2" identifier = (binary_expression "param_1 + lVar2" identifier + identifier)) ;) (expression_statement "FUN_001f7950(param_1,lVar1);" (call_expression "FUN_001f7950(param_1,lVar1)" identifier (argument_list "(param_1,lVar1)" ( identifier , identifier ))) ;) (expression_statement "FUN_001f7950(lVar1,param_2);" (call_expression "FUN_001f7950(lVar1,param_2)" identifier (argument_list "(lVar1,param_2)" ( identifier , identifier ))) ;) (expression_statement "FUN_001f77a0(param_1,lVar1,param_2,lVar2 >> 5,param_2 - lVar1 >> 5);" (call_expression "FUN_001f77a0(param_1,lVar1,param_2,lVar2 >> 5,param_2 - lVar1 >> 5)" identifier (argument_list "(param_1,lVar1,param_2,lVar2 >> 5,param_2 - lVar1 >> 5)" ( identifier , identifier , identifier , (binary_expression "lVar2 >> 5" identifier >> number_literal) , (binary_expression "param_2 - lVar1 >> 5" (binary_expression "param_2 - lVar1" identifier - identifier) >> number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_001e4710();" (call_expression "FUN_001e4710()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n/* DWARF original name:\n   __inplace_stable_sort<__gnu_cxx::__normal_iterator<gold::Output_section::Input_section*,\n   std::vector<gold::Output_section::Input_section> >, __gnu_cxx::__ops::_Iter_comp_iter<(anonymous\n   namespace)::Sort_toc_sections<false> > > */\n\nvoid std::\n     __inplace_stable_sort<__gnu_cxx::__normal_iterator<gold::Output_section::Input_section*,_std::vector<gold::Output_section::Input_section>_>,___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)::Sort_toc_sections<false>_>_>\n               (long __first,long __last)\n\n{\n  long lVar1;\n  long lVar2;\n  \n  if (0x1c0 < __last - __first) {\n    lVar2 = (__last - __first >> 6) * 0x20;\n    lVar1 = __first + lVar2;\n    __inplace_stable_sort<__gnu_cxx::__normal_iterator<gold::Output_section::Input_section*,_std::vector<gold::Output_section::Input_section>_>,___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)::Sort_toc_sections<false>_>_>\n              (__first,lVar1);\n    __inplace_stable_sort<__gnu_cxx::__normal_iterator<gold::Output_section::Input_section*,_std::vector<gold::Output_section::Input_section>_>,___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)::Sort_toc_sections<false>_>_>\n              (lVar1,__last);\n    __merge_without_buffer<__gnu_cxx::__normal_iterator<gold::Output_section::Input_section*,_std::vector<gold::Output_section::Input_section>_>,_long_int,___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)::Sort_toc_sections<false>_>_>\n              (__first,lVar1,__last,lVar2 >> 5,__last - lVar1 >> 5);\n    return;\n  }\n  __insertion_sort<__gnu_cxx::__normal_iterator<gold::Output_section::Input_section*,_std::vector<gold::Output_section::Input_section>_>,___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)::Sort_toc_sections<false>_>_>\n            ();\n  return;\n}\n\n" comment comment (declaration "void std::\n     __inplace_stable_sort<__gnu_cxx::__normal_iterator<gold::Output_section::Input_section*,_std::vector<gold::Output_section::Input_section>_>,___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)::Sort_toc_sections<false>_>_>\n               (long __first,long __last)\n\n{\n  long lVar1;" primitive_type (ERROR "std::\n     __inplace_stable_sort<__gnu_cxx::__normal_iterator<gold::Output_section::" identifier : : identifier < identifier : : identifier < identifier : : identifier : :) identifier (ERROR "*" *) , (ERROR "_std::vector<gold::Output_section::Input_section>" identifier : : identifier < identifier : : identifier : : identifier >) identifier (ERROR ">" >) , (ERROR "___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)::Sort_toc_sections<false>_>_>\n               (long __first,long __last)\n\n{\n  long" identifier : : identifier : : identifier < ( identifier ) : : identifier < false > identifier > (function_declarator "_>\n               (long __first,long __last)" identifier (ERROR ">" >) (parameter_list "(long __first,long __last)" ( (parameter_declaration "long __first" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long __last" (sized_type_specifier "long" long) identifier) ))) { long) identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (if_statement "if (0x1c0 < __last - __first) {\n    lVar2 = (__last - __first >> 6) * 0x20;\n    lVar1 = __first + lVar2;\n    __inplace_stable_sort<__gnu_cxx::__normal_iterator<gold::Output_section::Input_section*,_std::vector<gold::Output_section::Input_section>_>,___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)::Sort_toc_sections<false>_>_>\n              (__first,lVar1);\n    __inplace_stable_sort<__gnu_cxx::__normal_iterator<gold::Output_section::Input_section*,_std::vector<gold::Output_section::Input_section>_>,___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)::Sort_toc_sections<false>_>_>\n              (lVar1,__last);\n    __merge_without_buffer<__gnu_cxx::__normal_iterator<gold::Output_section::Input_section*,_std::vector<gold::Output_section::Input_section>_>,_long_int,___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)::Sort_toc_sections<false>_>_>\n              (__first,lVar1,__last,lVar2 >> 5,__last - lVar1 >> 5);\n    return;\n  }" if (parenthesized_expression "(0x1c0 < __last - __first)" ( (binary_expression "0x1c0 < __last - __first" number_literal < (binary_expression "__last - __first" identifier - identifier)) )) (compound_statement "{\n    lVar2 = (__last - __first >> 6) * 0x20;\n    lVar1 = __first + lVar2;\n    __inplace_stable_sort<__gnu_cxx::__normal_iterator<gold::Output_section::Input_section*,_std::vector<gold::Output_section::Input_section>_>,___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)::Sort_toc_sections<false>_>_>\n              (__first,lVar1);\n    __inplace_stable_sort<__gnu_cxx::__normal_iterator<gold::Output_section::Input_section*,_std::vector<gold::Output_section::Input_section>_>,___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)::Sort_toc_sections<false>_>_>\n              (lVar1,__last);\n    __merge_without_buffer<__gnu_cxx::__normal_iterator<gold::Output_section::Input_section*,_std::vector<gold::Output_section::Input_section>_>,_long_int,___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)::Sort_toc_sections<false>_>_>\n              (__first,lVar1,__last,lVar2 >> 5,__last - lVar1 >> 5);\n    return;\n  }" { (expression_statement "lVar2 = (__last - __first >> 6) * 0x20;" (assignment_expression "lVar2 = (__last - __first >> 6) * 0x20" identifier = (binary_expression "(__last - __first >> 6) * 0x20" (parenthesized_expression "(__last - __first >> 6)" ( (binary_expression "__last - __first >> 6" (binary_expression "__last - __first" identifier - identifier) >> number_literal) )) * number_literal)) ;) (expression_statement "lVar1 = __first + lVar2;" (assignment_expression "lVar1 = __first + lVar2" identifier = (binary_expression "__first + lVar2" identifier + identifier)) ;) (ERROR "__inplace_stable_sort<__gnu_cxx::__normal_iterator<gold::Output_section::Input_section*,_std::vector<gold::Output_section::Input_section>_>,___gnu_cxx::" (binary_expression "__inplace_stable_sort<__gnu_cxx::__normal_iterator<gold" (binary_expression "__inplace_stable_sort<__gnu_cxx" identifier < identifier) (ERROR "::__normal_iterator" : : identifier) < identifier) : : (comma_expression "Output_section::Input_section*,_std" identifier (ERROR "::Input_section*" : : identifier *) , identifier) : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Output_section::Input_section>_>,___gnu_cxx" identifier (ERROR "::Input_section>_>" : : (binary_expression "Input_section>_" identifier > identifier) >) , identifier) : :) (labeled_statement "__ops::_Iter_comp_iter<(anonymous_namespace)::Sort_toc_sections<false>_>_>\n              (__first,lVar1);" statement_identifier (ERROR "::_Iter_comp_iter<(anonymous_namespace):" : : (binary_expression "_Iter_comp_iter<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) :) : (expression_statement "Sort_toc_sections<false>_>_>\n              (__first,lVar1);" (binary_expression "Sort_toc_sections<false>_>_>\n              (__first,lVar1)" (binary_expression "Sort_toc_sections<false>_>_" (binary_expression "Sort_toc_sections<false>_" (binary_expression "Sort_toc_sections<false" identifier < false) > identifier) > identifier) > (parenthesized_expression "(__first,lVar1)" ( (comma_expression "__first,lVar1" identifier , identifier) ))) ;)) (ERROR "__inplace_stable_sort<__gnu_cxx::__normal_iterator<gold::Output_section::Input_section*,_std::vector<gold::Output_section::Input_section>_>,___gnu_cxx::" (binary_expression "__inplace_stable_sort<__gnu_cxx::__normal_iterator<gold" (binary_expression "__inplace_stable_sort<__gnu_cxx" identifier < identifier) (ERROR "::__normal_iterator" : : identifier) < identifier) : : (comma_expression "Output_section::Input_section*,_std" identifier (ERROR "::Input_section*" : : identifier *) , identifier) : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Output_section::Input_section>_>,___gnu_cxx" identifier (ERROR "::Input_section>_>" : : (binary_expression "Input_section>_" identifier > identifier) >) , identifier) : :) (labeled_statement "__ops::_Iter_comp_iter<(anonymous_namespace)::Sort_toc_sections<false>_>_>\n              (lVar1,__last);" statement_identifier (ERROR "::_Iter_comp_iter<(anonymous_namespace):" : : (binary_expression "_Iter_comp_iter<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) :) : (expression_statement "Sort_toc_sections<false>_>_>\n              (lVar1,__last);" (binary_expression "Sort_toc_sections<false>_>_>\n              (lVar1,__last)" (binary_expression "Sort_toc_sections<false>_>_" (binary_expression "Sort_toc_sections<false>_" (binary_expression "Sort_toc_sections<false" identifier < false) > identifier) > identifier) > (parenthesized_expression "(lVar1,__last)" ( (comma_expression "lVar1,__last" identifier , identifier) ))) ;)) (ERROR "__merge_without_buffer<__gnu_cxx::__normal_iterator<gold::Output_section::Input_section*,_std::vector<gold::Output_section::Input_section>_>,_long_int,___gnu_cxx::" (binary_expression "__merge_without_buffer<__gnu_cxx::__normal_iterator<gold" (binary_expression "__merge_without_buffer<__gnu_cxx" identifier < identifier) (ERROR "::__normal_iterator" : : identifier) < identifier) : : (comma_expression "Output_section::Input_section*,_std" identifier (ERROR "::Input_section*" : : identifier *) , identifier) : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Output_section::Input_section>_>,_long_int,___gnu_cxx" identifier (ERROR "::Input_section>_>" : : (binary_expression "Input_section>_" identifier > identifier) >) , (comma_expression "_long_int,___gnu_cxx" identifier , identifier)) : :) (labeled_statement "__ops::_Iter_comp_iter<(anonymous_namespace)::Sort_toc_sections<false>_>_>\n              (__first,lVar1,__last,lVar2 >> 5,__last - lVar1 >> 5);" statement_identifier (ERROR "::_Iter_comp_iter<(anonymous_namespace):" : : (binary_expression "_Iter_comp_iter<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) :) : (expression_statement "Sort_toc_sections<false>_>_>\n              (__first,lVar1,__last,lVar2 >> 5,__last - lVar1 >> 5);" (binary_expression "Sort_toc_sections<false>_>_>\n              (__first,lVar1,__last,lVar2 >> 5,__last - lVar1 >> 5)" (binary_expression "Sort_toc_sections<false>_>_" (binary_expression "Sort_toc_sections<false>_" (binary_expression "Sort_toc_sections<false" identifier < false) > identifier) > identifier) > (parenthesized_expression "(__first,lVar1,__last,lVar2 >> 5,__last - lVar1 >> 5)" ( (comma_expression "__first,lVar1,__last,lVar2 >> 5,__last - lVar1 >> 5" identifier , (comma_expression "lVar1,__last,lVar2 >> 5,__last - lVar1 >> 5" identifier , (comma_expression "__last,lVar2 >> 5,__last - lVar1 >> 5" identifier , (comma_expression "lVar2 >> 5,__last - lVar1 >> 5" (binary_expression "lVar2 >> 5" identifier >> number_literal) , (binary_expression "__last - lVar1 >> 5" (binary_expression "__last - lVar1" identifier - identifier) >> number_literal))))) ))) ;)) (return_statement "return;" return ;) })) (ERROR "__insertion_sort<__gnu_cxx::__normal_iterator<gold::" (binary_expression "__insertion_sort<__gnu_cxx::__normal_iterator<gold" (binary_expression "__insertion_sort<__gnu_cxx" identifier < identifier) (ERROR "::__normal_iterator" : : identifier) < identifier) : :) (labeled_statement "Output_section::Input_section*,_std::vector<gold::Output_section::Input_section>_>,___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)::Sort_toc_sections<false>_>_>\n            ();" statement_identifier (ERROR "::Input_section*,_std::vector<gold::Output_section::Input_section>_>,___gnu_cxx:" : : (binary_expression "Input_section*,_std" identifier * (ERROR "," ,) identifier) : : (binary_expression "vector<gold" identifier < identifier) : : (comma_expression "Output_section::Input_section>_>,___gnu_cxx" identifier (ERROR "::Input_section>_>" : : (binary_expression "Input_section>_" identifier > identifier) >) , identifier) :) : (labeled_statement "__ops::_Iter_comp_iter<(anonymous_namespace)::Sort_toc_sections<false>_>_>\n            ();" statement_identifier (ERROR "::_Iter_comp_iter<(anonymous_namespace):" : : (binary_expression "_Iter_comp_iter<(anonymous_namespace)" identifier < (parenthesized_expression "(anonymous_namespace)" ( identifier ))) :) : (expression_statement "Sort_toc_sections<false>_>_>\n            ();" (binary_expression "Sort_toc_sections<false>_>_>\n            ()" (binary_expression "Sort_toc_sections<false>_>_" (binary_expression "Sort_toc_sections<false>_" (binary_expression "Sort_toc_sections<false" identifier < false) > identifier) > identifier) > (parenthesized_expression "()" ( identifier ))) ;))) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "void FUN_001f7950(long param_1,long param_2)\n\n{\n  long lVar1;\n  long lVar2;\n  \n  if (0x1c0 < param_2 - param_1) {\n    lVar2 = (param_2 - param_1 >> 6) * 0x20;\n    lVar1 = param_1 + lVar2;\n    FUN_001f7950(param_1,lVar1);\n    FUN_001f7950(lVar1,param_2);\n    FUN_001f77a0(param_1,lVar1,param_2,lVar2 >> 5,param_2 - lVar1 >> 5);\n    return;\n  }\n  FUN_001e4710();\n  return;\n}\n\n" (function_definition "void FUN_001f7950(long param_1,long param_2)\n\n{\n  long lVar1;\n  long lVar2;\n  \n  if (0x1c0 < param_2 - param_1) {\n    lVar2 = (param_2 - param_1 >> 6) * 0x20;\n    lVar1 = param_1 + lVar2;\n    FUN_001f7950(param_1,lVar1);\n    FUN_001f7950(lVar1,param_2);\n    FUN_001f77a0(param_1,lVar1,param_2,lVar2 >> 5,param_2 - lVar1 >> 5);\n    return;\n  }\n  FUN_001e4710();\n  return;\n}" primitive_type (function_declarator "FUN_001f7950(long param_1,long param_2)" identifier (parameter_list "(long param_1,long param_2)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) ))) (compound_statement "{\n  long lVar1;\n  long lVar2;\n  \n  if (0x1c0 < param_2 - param_1) {\n    lVar2 = (param_2 - param_1 >> 6) * 0x20;\n    lVar1 = param_1 + lVar2;\n    FUN_001f7950(param_1,lVar1);\n    FUN_001f7950(lVar1,param_2);\n    FUN_001f77a0(param_1,lVar1,param_2,lVar2 >> 5,param_2 - lVar1 >> 5);\n    return;\n  }\n  FUN_001e4710();\n  return;\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (if_statement "if (0x1c0 < param_2 - param_1) {\n    lVar2 = (param_2 - param_1 >> 6) * 0x20;\n    lVar1 = param_1 + lVar2;\n    FUN_001f7950(param_1,lVar1);\n    FUN_001f7950(lVar1,param_2);\n    FUN_001f77a0(param_1,lVar1,param_2,lVar2 >> 5,param_2 - lVar1 >> 5);\n    return;\n  }" if (parenthesized_expression "(0x1c0 < param_2 - param_1)" ( (binary_expression "0x1c0 < param_2 - param_1" number_literal < (binary_expression "param_2 - param_1" identifier - identifier)) )) (compound_statement "{\n    lVar2 = (param_2 - param_1 >> 6) * 0x20;\n    lVar1 = param_1 + lVar2;\n    FUN_001f7950(param_1,lVar1);\n    FUN_001f7950(lVar1,param_2);\n    FUN_001f77a0(param_1,lVar1,param_2,lVar2 >> 5,param_2 - lVar1 >> 5);\n    return;\n  }" { (expression_statement "lVar2 = (param_2 - param_1 >> 6) * 0x20;" (assignment_expression "lVar2 = (param_2 - param_1 >> 6) * 0x20" identifier = (binary_expression "(param_2 - param_1 >> 6) * 0x20" (parenthesized_expression "(param_2 - param_1 >> 6)" ( (binary_expression "param_2 - param_1 >> 6" (binary_expression "param_2 - param_1" identifier - identifier) >> number_literal) )) * number_literal)) ;) (expression_statement "lVar1 = param_1 + lVar2;" (assignment_expression "lVar1 = param_1 + lVar2" identifier = (binary_expression "param_1 + lVar2" identifier + identifier)) ;) (expression_statement "FUN_001f7950(param_1,lVar1);" (call_expression "FUN_001f7950(param_1,lVar1)" identifier (argument_list "(param_1,lVar1)" ( identifier , identifier ))) ;) (expression_statement "FUN_001f7950(lVar1,param_2);" (call_expression "FUN_001f7950(lVar1,param_2)" identifier (argument_list "(lVar1,param_2)" ( identifier , identifier ))) ;) (expression_statement "FUN_001f77a0(param_1,lVar1,param_2,lVar2 >> 5,param_2 - lVar1 >> 5);" (call_expression "FUN_001f77a0(param_1,lVar1,param_2,lVar2 >> 5,param_2 - lVar1 >> 5)" identifier (argument_list "(param_1,lVar1,param_2,lVar2 >> 5,param_2 - lVar1 >> 5)" ( identifier , identifier , identifier , (binary_expression "lVar2 >> 5" identifier >> number_literal) , (binary_expression "param_2 - lVar1 >> 5" (binary_expression "param_2 - lVar1" identifier - identifier) >> number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_001e4710();" (call_expression "FUN_001e4710()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration (sized_type_specifier long) IDENT) ))) (compound_statement { (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (binary_expression IDENT - IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT - IDENT) >> LIT) )) * LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , (binary_expression IDENT >> LIT) , (binary_expression (binary_expression IDENT - IDENT) >> LIT) ))) ;) (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })))
(function_definition "void FUN_001f7950(long param_1,long param_2)\n\n{\n  long lVar1;\n  long lVar2;\n  \n  if (0x1c0 < param_2 - param_1) {\n    lVar2 = (param_2 - param_1 >> 6) * 0x20;\n    lVar1 = param_1 + lVar2;\n    FUN_001f7950(param_1,lVar1);\n    FUN_001f7950(lVar1,param_2);\n    FUN_001f77a0(param_1,lVar1,param_2,lVar2 >> 5,param_2 - lVar1 >> 5);\n    return;\n  }\n  FUN_001e4710();\n  return;\n}" (primitive_type "void") (function_declarator "FUN_001f7950(long param_1,long param_2)" (identifier "FUN_001f7950") (parameter_list "(long param_1,long param_2)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "long param_2" (sized_type_specifier "long" (long "long")) (identifier "param_2")) () ")"))) (compound_statement "{\n  long lVar1;\n  long lVar2;\n  \n  if (0x1c0 < param_2 - param_1) {\n    lVar2 = (param_2 - param_1 >> 6) * 0x20;\n    lVar1 = param_1 + lVar2;\n    FUN_001f7950(param_1,lVar1);\n    FUN_001f7950(lVar1,param_2);\n    FUN_001f77a0(param_1,lVar1,param_2,lVar2 >> 5,param_2 - lVar1 >> 5);\n    return;\n  }\n  FUN_001e4710();\n  return;\n}" ({ "{") (declaration "long lVar1;" (sized_type_specifier "long" (long "long")) (identifier "lVar1") (; ";")) (declaration "long lVar2;" (sized_type_specifier "long" (long "long")) (identifier "lVar2") (; ";")) (if_statement "if (0x1c0 < param_2 - param_1) {\n    lVar2 = (param_2 - param_1 >> 6) * 0x20;\n    lVar1 = param_1 + lVar2;\n    FUN_001f7950(param_1,lVar1);\n    FUN_001f7950(lVar1,param_2);\n    FUN_001f77a0(param_1,lVar1,param_2,lVar2 >> 5,param_2 - lVar1 >> 5);\n    return;\n  }" (if "if") (parenthesized_expression "(0x1c0 < param_2 - param_1)" (( "(") (binary_expression "0x1c0 < param_2 - param_1" (number_literal "0x1c0") (< "<") (binary_expression "param_2 - param_1" (identifier "param_2") (- "-") (identifier "param_1"))) () ")")) (compound_statement "{\n    lVar2 = (param_2 - param_1 >> 6) * 0x20;\n    lVar1 = param_1 + lVar2;\n    FUN_001f7950(param_1,lVar1);\n    FUN_001f7950(lVar1,param_2);\n    FUN_001f77a0(param_1,lVar1,param_2,lVar2 >> 5,param_2 - lVar1 >> 5);\n    return;\n  }" ({ "{") (expression_statement "lVar2 = (param_2 - param_1 >> 6) * 0x20;" (assignment_expression "lVar2 = (param_2 - param_1 >> 6) * 0x20" (identifier "lVar2") (= "=") (binary_expression "(param_2 - param_1 >> 6) * 0x20" (parenthesized_expression "(param_2 - param_1 >> 6)" (( "(") (binary_expression "param_2 - param_1 >> 6" (binary_expression "param_2 - param_1" (identifier "param_2") (- "-") (identifier "param_1")) (>> ">>") (number_literal "6")) () ")")) (* "*") (number_literal "0x20"))) (; ";")) (expression_statement "lVar1 = param_1 + lVar2;" (assignment_expression "lVar1 = param_1 + lVar2" (identifier "lVar1") (= "=") (binary_expression "param_1 + lVar2" (identifier "param_1") (+ "+") (identifier "lVar2"))) (; ";")) (expression_statement "FUN_001f7950(param_1,lVar1);" (call_expression "FUN_001f7950(param_1,lVar1)" (identifier "FUN_001f7950") (argument_list "(param_1,lVar1)" (( "(") (identifier "param_1") (, ",") (identifier "lVar1") () ")"))) (; ";")) (expression_statement "FUN_001f7950(lVar1,param_2);" (call_expression "FUN_001f7950(lVar1,param_2)" (identifier "FUN_001f7950") (argument_list "(lVar1,param_2)" (( "(") (identifier "lVar1") (, ",") (identifier "param_2") () ")"))) (; ";")) (expression_statement "FUN_001f77a0(param_1,lVar1,param_2,lVar2 >> 5,param_2 - lVar1 >> 5);" (call_expression "FUN_001f77a0(param_1,lVar1,param_2,lVar2 >> 5,param_2 - lVar1 >> 5)" (identifier "FUN_001f77a0") (argument_list "(param_1,lVar1,param_2,lVar2 >> 5,param_2 - lVar1 >> 5)" (( "(") (identifier "param_1") (, ",") (identifier "lVar1") (, ",") (identifier "param_2") (, ",") (binary_expression "lVar2 >> 5" (identifier "lVar2") (>> ">>") (number_literal "5")) (, ",") (binary_expression "param_2 - lVar1 >> 5" (binary_expression "param_2 - lVar1" (identifier "param_2") (- "-") (identifier "lVar1")) (>> ">>") (number_literal "5")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_001e4710();" (call_expression "FUN_001e4710()" (identifier "FUN_001e4710") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Unknown calling convention -- yet parameter storage is locked */
/* DWARF original name:
   __inplace_stable_sort<__gnu_cxx::__normal_iterator<gold::Output_section::Input_section*,
   std::vector<gold::Output_section::Input_section> >, __gnu_cxx::__ops::_Iter_comp_iter<(anonymous
   namespace)::Sort_toc_sections<false> > > */

void std::
     __inplace_stable_sort<__gnu_cxx::__normal_iterator<gold::Output_section::Input_section*,_std::vector<gold::Output_section::Input_section>var_5>,___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)::var_4<false>var_5>var_5>
               (long var_2,long var_1)

{
  long var_6;
  long var_3;
  
  if (0x1c0 < var_1 - var_2) {
    var_3 = (var_1 - var_2 >> 6) * 0x20;
    var_6 = var_2 + var_3;
    __inplace_stable_sort<__gnu_cxx::__normal_iterator<gold::Output_section::Input_section*,_std::vector<gold::Output_section::Input_section>var_5>,___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)::var_4<false>var_5>var_5>
              (var_2,var_6);
    __inplace_stable_sort<__gnu_cxx::__normal_iterator<gold::Output_section::Input_section*,_std::vector<gold::Output_section::Input_section>var_5>,___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)::var_4<false>var_5>var_5>
              (var_6,var_1);
    __merge_without_buffer<__gnu_cxx::__normal_iterator<gold::Output_section::Input_section*,_std::vector<gold::Output_section::Input_section>var_5>,_long_int,___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)::var_4<false>var_5>var_5>
              (var_2,var_6,var_1,var_3 >> 5,var_1 - var_6 >> 5);
    return;
  }
  __insertion_sort<__gnu_cxx::__normal_iterator<gold::Output_section::Input_section*,_std::vector<gold::Output_section::Input_section>var_5>,___gnu_cxx::__ops::_Iter_comp_iter<(anonymous_namespace)::var_4<false>var_5>var_5>
            ();
  return;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (sized_type_specifier) declarator: (identifier)) (parameter_declaration type: (sized_type_specifier) declarator: (identifier)))) body: (compound_statement (declaration type: (sized_type_specifier) declarator: (identifier)) (declaration type: (sized_type_specifier) declarator: (identifier)) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (binary_expression left: (identifier) right: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal))))) (return_statement))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement))))

void MASKED(long param_1,long param_2)

{
  long lVar1;
  long lVar2;
  
  if (0x1c0 < param_2 - param_1) {
    lVar2 = (param_2 - param_1 >> 6) * 0x20;
    lVar1 = param_1 + lVar2;
    MASKED(param_1,lVar1);
    MASKED(lVar1,param_2);
    FUN_001f77a0(param_1,lVar1,param_2,lVar2 >> 5,param_2 - lVar1 >> 5);
    return;
  }
  FUN_001e4710();
  return;
}

