
/* WARNING: Enum "DT": Some values do not have unique names */

vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
* gold::Symbol_table::linenos_from_loc
            (vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
             *__return_storage_ptr__,Task *task,Symbol_location *loc)

{
  pointer *ppbVar1;
  Object *pOVar2;
  Input_file *pIVar3;
  Target *pTVar4;
  iterator __position;
  Parameters *pPVar5;
  vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
  *result;
  Symbol_location code_loc;
  string canonical_result;
  
  pOVar2 = loc->object;
  pIVar3 = pOVar2->input_file_;
  if (pIVar3 != (Input_file *)0x0) {
    File_read::lock(&pIVar3->file_,task);
  }
  code_loc.offset = loc->offset;
  code_loc.object = loc->object;
  code_loc.shndx = loc->shndx;
  code_loc._12_4_ = *(undefined4 *)&loc->field_0xc;
  (__return_storage_ptr__->
  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
  )._M_impl._M_start = (pointer)0x0;
  (__return_storage_ptr__->
  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
  )._M_impl._M_finish = (pointer)0x0;
  pPVar5 = parameters;
  (__return_storage_ptr__->
  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
  )._M_impl._M_end_of_storage = (pointer)0x0;
  pTVar4 = pPVar5->target_;
  if (pTVar4 != (Target *)0x0) {
                    /* try { // try from 0027309e to 002730c6 has its CatchHandler @ 00273173 */
    (**(code **)(*(long *)pTVar4 + 0x88))(pTVar4,&code_loc);
    Dwarf_line_info::one_addr2line
              (&canonical_result,code_loc.object,code_loc.shndx,code_loc.offset,0x10,
               __return_storage_ptr__);
    if (canonical_result._M_string_length != 0) {
      __position._M_current =
           (__return_storage_ptr__->
           super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
           )._M_impl._M_finish;
      if (__position._M_current ==
          (__return_storage_ptr__->
          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
          )._M_impl._M_end_of_storage) {
        std::
        vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
        ::
        _M_realloc_insert<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>
                  (__return_storage_ptr__,__position,&canonical_result);
      }
      else {
        ((__position._M_current)->_M_dataplus)._M_p = (pointer)&(__position._M_current)->field_2;
                    /* try { // try from 0027312e to 0027314d has its CatchHandler @ 0027316b */
        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
        _M_construct<char*>(__position._M_current,canonical_result._M_dataplus._M_p,
                            canonical_result._M_dataplus._M_p + canonical_result._M_string_length);
        ppbVar1 = &(__return_storage_ptr__->
                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
                   )._M_impl._M_finish;
        *ppbVar1 = *ppbVar1 + 1;
      }
    }
    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
         *)canonical_result._M_dataplus._M_p != &canonical_result.field_2) {
      operator_delete(canonical_result._M_dataplus._M_p);
    }
    pIVar3 = pOVar2->input_file_;
    if (pIVar3 != (Input_file *)0x0) {
      File_read::unlock(&pIVar3->file_,task);
    }
    return __return_storage_ptr__;
  }
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00273166 to 0027316a has its CatchHandler @ 00273173 */
  do_gold_unreachable("../../gold/parameters.h",0x69,"target");
}



undefined8 * FUN_00273030(undefined8 *param_1,undefined8 param_2,long *param_3)

{
  long lVar1;
  long lVar2;
  long *plVar3;
  undefined *puVar4;
  long local_68;
  ulong uStack_60;
  long local_58;
  undefined1 *local_48;
  long local_40;
  undefined1 auStack_38 [16];
  
  lVar1 = *param_3;
  lVar2 = *(long *)(lVar1 + 0x28);
  if (lVar2 != 0) {
    FUN_00179ad0(lVar2 + 0x28);
  }
  local_58 = param_3[2];
  local_68 = *param_3;
  uStack_60 = param_3[1];
  *param_1 = 0;
  param_1[1] = 0;
  puVar4 = PTR_DAT_0043e6b0;
  param_1[2] = 0;
  plVar3 = *(long **)(puVar4 + 0x18);
  if (plVar3 != (long *)0x0) {
                    /* try { // try from 0027309e to 002730c6 has its CatchHandler @ 00273173 */
    (**(code **)(*plVar3 + 0x88))(plVar3,&local_68);
    FUN_0016da80(&local_48,local_68,uStack_60 & 0xffffffff,local_58,0x10,param_1);
    if (local_40 != 0) {
      plVar3 = (long *)param_1[1];
      if (plVar3 == (long *)param_1[2]) {
        FUN_001982e0(param_1,plVar3,&local_48);
      }
      else {
        *plVar3 = (long)(plVar3 + 2);
                    /* try { // try from 0027312e to 0027314d has its CatchHandler @ 0027316b */
        FUN_00166a10(plVar3,local_48,local_48 + local_40);
        param_1[1] = param_1[1] + 0x20;
      }
    }
    if (local_48 != auStack_38) {
      FUN_002dac60();
    }
    lVar1 = *(long *)(lVar1 + 0x28);
    if (lVar1 != 0) {
      FUN_0017a690(lVar1 + 0x28,param_2);
    }
    return param_1;
  }
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00273166 to 0027316a has its CatchHandler @ 00273173 */
  FUN_0017c650("../../gold/parameters.h",0x69,"target");
}


PUSH R14
PUSH R13
MOV R13,RSI
PUSH R12
PUSH RBP
MOV RBP,RDX
PUSH RBX
MOV RBX,RDI
SUB RSP,0x40
MOV R12,qword ptr [RDX]
MOV RDI,qword ptr [R12 + 0x28]
TEST RDI,RDI
JZ 0x0027305b
ADD RDI,0x28
CALL 0x00179ad0
MOV RAX,qword ptr [RBP + 0x10]
MOVDQU XMM0,xmmword ptr [RBP]
MOV qword ptr [RBX],0x0
MOV qword ptr [RBX + 0x8],0x0
MOV qword ptr [RSP + 0x10],RAX
MOV RAX,qword ptr [0x0043e6b0]
MOV qword ptr [RBX + 0x10],0x0
MOV RDI,qword ptr [RAX + 0x18]
MOVAPS xmmword ptr [RSP],XMM0
TEST RDI,RDI
JZ 0x00273153
MOV RAX,qword ptr [RDI]
MOV RSI,RSP
CALL qword ptr [RAX + 0x88]
LEA RBP,[RSP + 0x20]
MOV EDX,dword ptr [RSP + 0x8]
MOV RSI,qword ptr [RSP]
MOV R9,RBX
MOV RCX,qword ptr [RSP + 0x10]
MOV R8D,0x10
MOV RDI,RBP
CALL 0x0016da80
CMP qword ptr [RSP + 0x28],0x0
JNZ 0x00273110
MOV RDI,qword ptr [RSP + 0x20]
ADD RBP,0x10
CMP RDI,RBP
JZ 0x002730e2
CALL 0x002dac60
MOV RDI,qword ptr [R12 + 0x28]
TEST RDI,RDI
JZ 0x002730f8
ADD RDI,0x28
MOV RSI,R13
CALL 0x0017a690
ADD RSP,0x40
MOV RAX,RBX
POP RBX
POP RBP
POP R12
POP R13
POP R14
RET
MOV RDI,qword ptr [RBX + 0x8]
CMP RDI,qword ptr [RBX + 0x10]
JZ 0x00273140
LEA RAX,[RDI + 0x10]
MOV qword ptr [RDI],RAX
MOV RSI,qword ptr [RSP + 0x20]
MOV RDX,qword ptr [RSP + 0x28]
ADD RDX,RSI
CALL 0x00166a10
ADD qword ptr [RBX + 0x8],0x20
JMP 0x002730cf
MOV RSI,RDI
MOV RDX,RBP
MOV RDI,RBX
CALL 0x001982e0
JMP 0x002730cf
LEA RDX,[0x3874eb]
MOV ESI,0x69
LEA RDI,[0x3726d0]
CALL 0x0017c650
(translation_unit "undefined8 * FUN_00273030(undefined8 *param_1,undefined8 param_2,long *param_3)\n\n{\n  long lVar1;\n  long lVar2;\n  long *plVar3;\n  undefined *puVar4;\n  long local_68;\n  ulong uStack_60;\n  long local_58;\n  undefined1 *local_48;\n  long local_40;\n  undefined1 auStack_38 [16];\n  \n  lVar1 = *param_3;\n  lVar2 = *(long *)(lVar1 + 0x28);\n  if (lVar2 != 0) {\n    FUN_00179ad0(lVar2 + 0x28);\n  }\n  local_58 = param_3[2];\n  local_68 = *param_3;\n  uStack_60 = param_3[1];\n  *param_1 = 0;\n  param_1[1] = 0;\n  puVar4 = PTR_DAT_0043e6b0;\n  param_1[2] = 0;\n  plVar3 = *(long **)(puVar4 + 0x18);\n  if (plVar3 != (long *)0x0) {\n                    /* try { // try from 0027309e to 002730c6 has its CatchHandler @ 00273173 */\n    (**(code **)(*plVar3 + 0x88))(plVar3,&local_68);\n    FUN_0016da80(&local_48,local_68,uStack_60 & 0xffffffff,local_58,0x10,param_1);\n    if (local_40 != 0) {\n      plVar3 = (long *)param_1[1];\n      if (plVar3 == (long *)param_1[2]) {\n        FUN_001982e0(param_1,plVar3,&local_48);\n      }\n      else {\n        *plVar3 = (long)(plVar3 + 2);\n                    /* try { // try from 0027312e to 0027314d has its CatchHandler @ 0027316b */\n        FUN_00166a10(plVar3,local_48,local_48 + local_40);\n        param_1[1] = param_1[1] + 0x20;\n      }\n    }\n    if (local_48 != auStack_38) {\n      FUN_002dac60();\n    }\n    lVar1 = *(long *)(lVar1 + 0x28);\n    if (lVar1 != 0) {\n      FUN_0017a690(lVar1 + 0x28,param_2);\n    }\n    return param_1;\n  }\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00273166 to 0027316a has its CatchHandler @ 00273173 */\n  FUN_0017c650("../../gold/parameters.h",0x69,"target");\n}\n\n" (function_definition "undefined8 * FUN_00273030(undefined8 *param_1,undefined8 param_2,long *param_3)\n\n{\n  long lVar1;\n  long lVar2;\n  long *plVar3;\n  undefined *puVar4;\n  long local_68;\n  ulong uStack_60;\n  long local_58;\n  undefined1 *local_48;\n  long local_40;\n  undefined1 auStack_38 [16];\n  \n  lVar1 = *param_3;\n  lVar2 = *(long *)(lVar1 + 0x28);\n  if (lVar2 != 0) {\n    FUN_00179ad0(lVar2 + 0x28);\n  }\n  local_58 = param_3[2];\n  local_68 = *param_3;\n  uStack_60 = param_3[1];\n  *param_1 = 0;\n  param_1[1] = 0;\n  puVar4 = PTR_DAT_0043e6b0;\n  param_1[2] = 0;\n  plVar3 = *(long **)(puVar4 + 0x18);\n  if (plVar3 != (long *)0x0) {\n                    /* try { // try from 0027309e to 002730c6 has its CatchHandler @ 00273173 */\n    (**(code **)(*plVar3 + 0x88))(plVar3,&local_68);\n    FUN_0016da80(&local_48,local_68,uStack_60 & 0xffffffff,local_58,0x10,param_1);\n    if (local_40 != 0) {\n      plVar3 = (long *)param_1[1];\n      if (plVar3 == (long *)param_1[2]) {\n        FUN_001982e0(param_1,plVar3,&local_48);\n      }\n      else {\n        *plVar3 = (long)(plVar3 + 2);\n                    /* try { // try from 0027312e to 0027314d has its CatchHandler @ 0027316b */\n        FUN_00166a10(plVar3,local_48,local_48 + local_40);\n        param_1[1] = param_1[1] + 0x20;\n      }\n    }\n    if (local_48 != auStack_38) {\n      FUN_002dac60();\n    }\n    lVar1 = *(long *)(lVar1 + 0x28);\n    if (lVar1 != 0) {\n      FUN_0017a690(lVar1 + 0x28,param_2);\n    }\n    return param_1;\n  }\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00273166 to 0027316a has its CatchHandler @ 00273173 */\n  FUN_0017c650("../../gold/parameters.h",0x69,"target");\n}" type_identifier (pointer_declarator "* FUN_00273030(undefined8 *param_1,undefined8 param_2,long *param_3)" * (function_declarator "FUN_00273030(undefined8 *param_1,undefined8 param_2,long *param_3)" identifier (parameter_list "(undefined8 *param_1,undefined8 param_2,long *param_3)" ( (parameter_declaration "undefined8 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "long *param_3" (sized_type_specifier "long" long) (pointer_declarator "*param_3" * identifier)) )))) (compound_statement "{\n  long lVar1;\n  long lVar2;\n  long *plVar3;\n  undefined *puVar4;\n  long local_68;\n  ulong uStack_60;\n  long local_58;\n  undefined1 *local_48;\n  long local_40;\n  undefined1 auStack_38 [16];\n  \n  lVar1 = *param_3;\n  lVar2 = *(long *)(lVar1 + 0x28);\n  if (lVar2 != 0) {\n    FUN_00179ad0(lVar2 + 0x28);\n  }\n  local_58 = param_3[2];\n  local_68 = *param_3;\n  uStack_60 = param_3[1];\n  *param_1 = 0;\n  param_1[1] = 0;\n  puVar4 = PTR_DAT_0043e6b0;\n  param_1[2] = 0;\n  plVar3 = *(long **)(puVar4 + 0x18);\n  if (plVar3 != (long *)0x0) {\n                    /* try { // try from 0027309e to 002730c6 has its CatchHandler @ 00273173 */\n    (**(code **)(*plVar3 + 0x88))(plVar3,&local_68);\n    FUN_0016da80(&local_48,local_68,uStack_60 & 0xffffffff,local_58,0x10,param_1);\n    if (local_40 != 0) {\n      plVar3 = (long *)param_1[1];\n      if (plVar3 == (long *)param_1[2]) {\n        FUN_001982e0(param_1,plVar3,&local_48);\n      }\n      else {\n        *plVar3 = (long)(plVar3 + 2);\n                    /* try { // try from 0027312e to 0027314d has its CatchHandler @ 0027316b */\n        FUN_00166a10(plVar3,local_48,local_48 + local_40);\n        param_1[1] = param_1[1] + 0x20;\n      }\n    }\n    if (local_48 != auStack_38) {\n      FUN_002dac60();\n    }\n    lVar1 = *(long *)(lVar1 + 0x28);\n    if (lVar1 != 0) {\n      FUN_0017a690(lVar1 + 0x28,param_2);\n    }\n    return param_1;\n  }\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00273166 to 0027316a has its CatchHandler @ 00273173 */\n  FUN_0017c650("../../gold/parameters.h",0x69,"target");\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "long *plVar3;" (sized_type_specifier "long" long) (pointer_declarator "*plVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "long local_68;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uStack_60;" type_identifier identifier ;) (declaration "long local_58;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (declaration "long local_40;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 auStack_38 [16];" type_identifier (array_declarator "auStack_38 [16]" identifier [ number_literal ]) ;) (expression_statement "lVar1 = *param_3;" (assignment_expression "lVar1 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (expression_statement "lVar2 = *(long *)(lVar1 + 0x28);" (assignment_expression "lVar2 = *(long *)(lVar1 + 0x28)" identifier = (pointer_expression "*(long *)(lVar1 + 0x28)" * (cast_expression "(long *)(lVar1 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x28)" ( (binary_expression "lVar1 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (lVar2 != 0) {\n    FUN_00179ad0(lVar2 + 0x28);\n  }" if (parenthesized_expression "(lVar2 != 0)" ( (binary_expression "lVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_00179ad0(lVar2 + 0x28);\n  }" { (expression_statement "FUN_00179ad0(lVar2 + 0x28);" (call_expression "FUN_00179ad0(lVar2 + 0x28)" identifier (argument_list "(lVar2 + 0x28)" ( (binary_expression "lVar2 + 0x28" identifier + number_literal) ))) ;) })) (expression_statement "local_58 = param_3[2];" (assignment_expression "local_58 = param_3[2]" identifier = (subscript_expression "param_3[2]" identifier [ number_literal ])) ;) (expression_statement "local_68 = *param_3;" (assignment_expression "local_68 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (expression_statement "uStack_60 = param_3[1];" (assignment_expression "uStack_60 = param_3[1]" identifier = (subscript_expression "param_3[1]" identifier [ number_literal ])) ;) (expression_statement "*param_1 = 0;" (assignment_expression "*param_1 = 0" (pointer_expression "*param_1" * identifier) = number_literal) ;) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar4 = PTR_DAT_0043e6b0;" (assignment_expression "puVar4 = PTR_DAT_0043e6b0" identifier = identifier) ;) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar3 = *(long **)(puVar4 + 0x18);" (assignment_expression "plVar3 = *(long **)(puVar4 + 0x18)" identifier = (pointer_expression "*(long **)(puVar4 + 0x18)" * (cast_expression "(long **)(puVar4 + 0x18)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar4 + 0x18)" ( (binary_expression "puVar4 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (plVar3 != (long *)0x0) {\n                    /* try { // try from 0027309e to 002730c6 has its CatchHandler @ 00273173 */\n    (**(code **)(*plVar3 + 0x88))(plVar3,&local_68);\n    FUN_0016da80(&local_48,local_68,uStack_60 & 0xffffffff,local_58,0x10,param_1);\n    if (local_40 != 0) {\n      plVar3 = (long *)param_1[1];\n      if (plVar3 == (long *)param_1[2]) {\n        FUN_001982e0(param_1,plVar3,&local_48);\n      }\n      else {\n        *plVar3 = (long)(plVar3 + 2);\n                    /* try { // try from 0027312e to 0027314d has its CatchHandler @ 0027316b */\n        FUN_00166a10(plVar3,local_48,local_48 + local_40);\n        param_1[1] = param_1[1] + 0x20;\n      }\n    }\n    if (local_48 != auStack_38) {\n      FUN_002dac60();\n    }\n    lVar1 = *(long *)(lVar1 + 0x28);\n    if (lVar1 != 0) {\n      FUN_0017a690(lVar1 + 0x28,param_2);\n    }\n    return param_1;\n  }" if (parenthesized_expression "(plVar3 != (long *)0x0)" ( (binary_expression "plVar3 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* try { // try from 0027309e to 002730c6 has its CatchHandler @ 00273173 */\n    (**(code **)(*plVar3 + 0x88))(plVar3,&local_68);\n    FUN_0016da80(&local_48,local_68,uStack_60 & 0xffffffff,local_58,0x10,param_1);\n    if (local_40 != 0) {\n      plVar3 = (long *)param_1[1];\n      if (plVar3 == (long *)param_1[2]) {\n        FUN_001982e0(param_1,plVar3,&local_48);\n      }\n      else {\n        *plVar3 = (long)(plVar3 + 2);\n                    /* try { // try from 0027312e to 0027314d has its CatchHandler @ 0027316b */\n        FUN_00166a10(plVar3,local_48,local_48 + local_40);\n        param_1[1] = param_1[1] + 0x20;\n      }\n    }\n    if (local_48 != auStack_38) {\n      FUN_002dac60();\n    }\n    lVar1 = *(long *)(lVar1 + 0x28);\n    if (lVar1 != 0) {\n      FUN_0017a690(lVar1 + 0x28,param_2);\n    }\n    return param_1;\n  }" { comment (expression_statement "(**(code **)(*plVar3 + 0x88))(plVar3,&local_68);" (call_expression "(**(code **)(*plVar3 + 0x88))(plVar3,&local_68)" (parenthesized_expression "(**(code **)(*plVar3 + 0x88))" ( (pointer_expression "**(code **)(*plVar3 + 0x88)" * (pointer_expression "*(code **)(*plVar3 + 0x88)" * (cast_expression "(code **)(*plVar3 + 0x88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar3 + 0x88)" ( (binary_expression "*plVar3 + 0x88" (pointer_expression "*plVar3" * identifier) + number_literal) ))))) )) (argument_list "(plVar3,&local_68)" ( identifier , (pointer_expression "&local_68" & identifier) ))) ;) (expression_statement "FUN_0016da80(&local_48,local_68,uStack_60 & 0xffffffff,local_58,0x10,param_1);" (call_expression "FUN_0016da80(&local_48,local_68,uStack_60 & 0xffffffff,local_58,0x10,param_1)" identifier (argument_list "(&local_48,local_68,uStack_60 & 0xffffffff,local_58,0x10,param_1)" ( (pointer_expression "&local_48" & identifier) , identifier , (binary_expression "uStack_60 & 0xffffffff" identifier & number_literal) , identifier , number_literal , identifier ))) ;) (if_statement "if (local_40 != 0) {\n      plVar3 = (long *)param_1[1];\n      if (plVar3 == (long *)param_1[2]) {\n        FUN_001982e0(param_1,plVar3,&local_48);\n      }\n      else {\n        *plVar3 = (long)(plVar3 + 2);\n                    /* try { // try from 0027312e to 0027314d has its CatchHandler @ 0027316b */\n        FUN_00166a10(plVar3,local_48,local_48 + local_40);\n        param_1[1] = param_1[1] + 0x20;\n      }\n    }" if (parenthesized_expression "(local_40 != 0)" ( (binary_expression "local_40 != 0" identifier != number_literal) )) (compound_statement "{\n      plVar3 = (long *)param_1[1];\n      if (plVar3 == (long *)param_1[2]) {\n        FUN_001982e0(param_1,plVar3,&local_48);\n      }\n      else {\n        *plVar3 = (long)(plVar3 + 2);\n                    /* try { // try from 0027312e to 0027314d has its CatchHandler @ 0027316b */\n        FUN_00166a10(plVar3,local_48,local_48 + local_40);\n        param_1[1] = param_1[1] + 0x20;\n      }\n    }" { (expression_statement "plVar3 = (long *)param_1[1];" (assignment_expression "plVar3 = (long *)param_1[1]" identifier = (cast_expression "(long *)param_1[1]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) (if_statement "if (plVar3 == (long *)param_1[2]) {\n        FUN_001982e0(param_1,plVar3,&local_48);\n      }\n      else {\n        *plVar3 = (long)(plVar3 + 2);\n                    /* try { // try from 0027312e to 0027314d has its CatchHandler @ 0027316b */\n        FUN_00166a10(plVar3,local_48,local_48 + local_40);\n        param_1[1] = param_1[1] + 0x20;\n      }" if (parenthesized_expression "(plVar3 == (long *)param_1[2])" ( (binary_expression "plVar3 == (long *)param_1[2]" identifier == (cast_expression "(long *)param_1[2]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[2]" identifier [ number_literal ]))) )) (compound_statement "{\n        FUN_001982e0(param_1,plVar3,&local_48);\n      }" { (expression_statement "FUN_001982e0(param_1,plVar3,&local_48);" (call_expression "FUN_001982e0(param_1,plVar3,&local_48)" identifier (argument_list "(param_1,plVar3,&local_48)" ( identifier , identifier , (pointer_expression "&local_48" & identifier) ))) ;) }) (else_clause "else {\n        *plVar3 = (long)(plVar3 + 2);\n                    /* try { // try from 0027312e to 0027314d has its CatchHandler @ 0027316b */\n        FUN_00166a10(plVar3,local_48,local_48 + local_40);\n        param_1[1] = param_1[1] + 0x20;\n      }" else (compound_statement "{\n        *plVar3 = (long)(plVar3 + 2);\n                    /* try { // try from 0027312e to 0027314d has its CatchHandler @ 0027316b */\n        FUN_00166a10(plVar3,local_48,local_48 + local_40);\n        param_1[1] = param_1[1] + 0x20;\n      }" { (expression_statement "*plVar3 = (long)(plVar3 + 2);" (assignment_expression "*plVar3 = (long)(plVar3 + 2)" (pointer_expression "*plVar3" * identifier) = (cast_expression "(long)(plVar3 + 2)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(plVar3 + 2)" ( (binary_expression "plVar3 + 2" identifier + number_literal) )))) ;) comment (expression_statement "FUN_00166a10(plVar3,local_48,local_48 + local_40);" (call_expression "FUN_00166a10(plVar3,local_48,local_48 + local_40)" identifier (argument_list "(plVar3,local_48,local_48 + local_40)" ( identifier , identifier , (binary_expression "local_48 + local_40" identifier + identifier) ))) ;) (expression_statement "param_1[1] = param_1[1] + 0x20;" (assignment_expression "param_1[1] = param_1[1] + 0x20" (subscript_expression "param_1[1]" identifier [ number_literal ]) = (binary_expression "param_1[1] + 0x20" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal)) ;) }))) })) (if_statement "if (local_48 != auStack_38) {\n      FUN_002dac60();\n    }" if (parenthesized_expression "(local_48 != auStack_38)" ( (binary_expression "local_48 != auStack_38" identifier != identifier) )) (compound_statement "{\n      FUN_002dac60();\n    }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "lVar1 = *(long *)(lVar1 + 0x28);" (assignment_expression "lVar1 = *(long *)(lVar1 + 0x28)" identifier = (pointer_expression "*(long *)(lVar1 + 0x28)" * (cast_expression "(long *)(lVar1 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x28)" ( (binary_expression "lVar1 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (lVar1 != 0) {\n      FUN_0017a690(lVar1 + 0x28,param_2);\n    }" if (parenthesized_expression "(lVar1 != 0)" ( (binary_expression "lVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      FUN_0017a690(lVar1 + 0x28,param_2);\n    }" { (expression_statement "FUN_0017a690(lVar1 + 0x28,param_2);" (call_expression "FUN_0017a690(lVar1 + 0x28,param_2)" identifier (argument_list "(lVar1 + 0x28,param_2)" ( (binary_expression "lVar1 + 0x28" identifier + number_literal) , identifier ))) ;) })) (return_statement "return param_1;" return identifier ;) })) comment comment (expression_statement "FUN_0017c650("../../gold/parameters.h",0x69,"target");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x69,"target")" identifier (argument_list "("../../gold/parameters.h",0x69,"target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""target"" " string_content ") ))) ;) })))
(translation_unit "/* WARNING: Enum "DT": Some values do not have unique names */\n\nvector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n* gold::Symbol_table::linenos_from_loc\n            (vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n             *__return_storage_ptr__,Task *task,Symbol_location *loc)\n\n{\n  pointer *ppbVar1;\n  Object *pOVar2;\n  Input_file *pIVar3;\n  Target *pTVar4;\n  iterator __position;\n  Parameters *pPVar5;\n  vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  *result;\n  Symbol_location code_loc;\n  string canonical_result;\n  \n  pOVar2 = loc->object;\n  pIVar3 = pOVar2->input_file_;\n  if (pIVar3 != (Input_file *)0x0) {\n    File_read::lock(&pIVar3->file_,task);\n  }\n  code_loc.offset = loc->offset;\n  code_loc.object = loc->object;\n  code_loc.shndx = loc->shndx;\n  code_loc._12_4_ = *(undefined4 *)&loc->field_0xc;\n  (__return_storage_ptr__->\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  )._M_impl._M_start = (pointer)0x0;\n  (__return_storage_ptr__->\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  )._M_impl._M_finish = (pointer)0x0;\n  pPVar5 = parameters;\n  (__return_storage_ptr__->\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  )._M_impl._M_end_of_storage = (pointer)0x0;\n  pTVar4 = pPVar5->target_;\n  if (pTVar4 != (Target *)0x0) {\n                    /* try { // try from 0027309e to 002730c6 has its CatchHandler @ 00273173 */\n    (**(code **)(*(long *)pTVar4 + 0x88))(pTVar4,&code_loc);\n    Dwarf_line_info::one_addr2line\n              (&canonical_result,code_loc.object,code_loc.shndx,code_loc.offset,0x10,\n               __return_storage_ptr__);\n    if (canonical_result._M_string_length != 0) {\n      __position._M_current =\n           (__return_storage_ptr__->\n           super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n           )._M_impl._M_finish;\n      if (__position._M_current ==\n          (__return_storage_ptr__->\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          )._M_impl._M_end_of_storage) {\n        std::\n        vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ::\n        _M_realloc_insert<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                  (__return_storage_ptr__,__position,&canonical_result);\n      }\n      else {\n        ((__position._M_current)->_M_dataplus)._M_p = (pointer)&(__position._M_current)->field_2;\n                    /* try { // try from 0027312e to 0027314d has its CatchHandler @ 0027316b */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(__position._M_current,canonical_result._M_dataplus._M_p,\n                            canonical_result._M_dataplus._M_p + canonical_result._M_string_length);\n        ppbVar1 = &(__return_storage_ptr__->\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   )._M_impl._M_finish;\n        *ppbVar1 = *ppbVar1 + 1;\n      }\n    }\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)canonical_result._M_dataplus._M_p != &canonical_result.field_2) {\n      operator_delete(canonical_result._M_dataplus._M_p);\n    }\n    pIVar3 = pOVar2->input_file_;\n    if (pIVar3 != (Input_file *)0x0) {\n      File_read::unlock(&pIVar3->file_,task);\n    }\n    return __return_storage_ptr__;\n  }\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00273166 to 0027316a has its CatchHandler @ 00273173 */\n  do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n}\n\n" comment (ERROR "vector<std::" (binary_expression "vector<std" identifier < identifier) : :) (labeled_statement "__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n* gold::Symbol_table::linenos_from_loc\n            (vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n             *__return_storage_ptr__,Task *task,Symbol_location *loc)\n\n{\n  pointer *ppbVar1;\n  Object *pOVar2;\n  Input_file *pIVar3;\n  Target *pTVar4;\n  iterator __position;\n  Parameters *pPVar5;\n  vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  *result;\n  Symbol_location code_loc;\n  string canonical_result;\n  \n  pOVar2 = loc->object;\n  pIVar3 = pOVar2->input_file_;\n  if (pIVar3 != (Input_file *)0x0) {\n    File_read::lock(&pIVar3->file_,task);\n  }\n  code_loc.offset = loc->offset;\n  code_loc.object = loc->object;\n  code_loc.shndx = loc->shndx;\n  code_loc._12_4_ = *(undefined4 *)&loc->field_0xc;\n  (__return_storage_ptr__->\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  )._M_impl._M_start = (pointer)0x0;\n  (__return_storage_ptr__->\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  )._M_impl._M_finish = (pointer)0x0;\n  pPVar5 = parameters;\n  (__return_storage_ptr__->\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  )._M_impl._M_end_of_storage = (pointer)0x0;\n  pTVar4 = pPVar5->target_;\n  if (pTVar4 != (Target *)0x0) {\n                    /* try { // try from 0027309e to 002730c6 has its CatchHandler @ 00273173 */\n    (**(code **)(*(long *)pTVar4 + 0x88))(pTVar4,&code_loc);\n    Dwarf_line_info::one_addr2line\n              (&canonical_result,code_loc.object,code_loc.shndx,code_loc.offset,0x10,\n               __return_storage_ptr__);\n    if (canonical_result._M_string_length != 0) {\n      __position._M_current =\n           (__return_storage_ptr__->\n           super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n           )._M_impl._M_finish;\n      if (__position._M_current ==\n          (__return_storage_ptr__->\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          )._M_impl._M_end_of_storage) {\n        std::\n        vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ::\n        _M_realloc_insert<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                  (__return_storage_ptr__,__position,&canonical_result);\n      }\n      else {\n        ((__position._M_current)->_M_dataplus)._M_p = (pointer)&(__position._M_current)->field_2;\n                    /* try { // try from 0027312e to 0027314d has its CatchHandler @ 0027316b */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(__position._M_current,canonical_result._M_dataplus._M_p,\n                            canonical_result._M_dataplus._M_p + canonical_result._M_string_length);\n        ppbVar1 = &(__return_storage_ptr__->\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   )._M_impl._M_finish;\n        *ppbVar1 = *ppbVar1 + 1;\n      }\n    }\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)canonical_result._M_dataplus._M_p != &canonical_result.field_2) {\n      operator_delete(canonical_result._M_dataplus._M_p);\n    }\n    pIVar3 = pOVar2->input_file_;\n    if (pIVar3 != (Input_file *)0x0) {\n      File_read::unlock(&pIVar3->file_,task);\n    }\n    return __return_storage_ptr__;\n  }\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00273166 to 0027316a has its CatchHandler @ 00273173 */\n  do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n}" statement_identifier (ERROR "::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n* gold::Symbol_table::linenos_from_loc\n            (vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std:" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_>_>\n* gold" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > (pointer_expression "* gold" * identifier)) : : (comma_expression "Symbol_table::linenos_from_loc\n            (vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std" identifier (ERROR "::linenos_from_loc\n            (vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>" : : identifier ( (binary_expression "vector<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) :) : (ERROR "allocator<char>_>_>_>\n             *__return_storage_ptr__,Task *task,Symbol_location *loc)" (comma_expression "allocator<char>_>_>_>\n             *__return_storage_ptr__,Task *task,Symbol_location *loc" (binary_expression "allocator<char>_>_>_>\n             *__return_storage_ptr__" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > (pointer_expression "*__return_storage_ptr__" * identifier)) , (comma_expression "Task *task,Symbol_location *loc" (binary_expression "Task *task" identifier * identifier) , (binary_expression "Symbol_location *loc" identifier * identifier))) )) (compound_statement "{\n  pointer *ppbVar1;\n  Object *pOVar2;\n  Input_file *pIVar3;\n  Target *pTVar4;\n  iterator __position;\n  Parameters *pPVar5;\n  vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  *result;\n  Symbol_location code_loc;\n  string canonical_result;\n  \n  pOVar2 = loc->object;\n  pIVar3 = pOVar2->input_file_;\n  if (pIVar3 != (Input_file *)0x0) {\n    File_read::lock(&pIVar3->file_,task);\n  }\n  code_loc.offset = loc->offset;\n  code_loc.object = loc->object;\n  code_loc.shndx = loc->shndx;\n  code_loc._12_4_ = *(undefined4 *)&loc->field_0xc;\n  (__return_storage_ptr__->\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  )._M_impl._M_start = (pointer)0x0;\n  (__return_storage_ptr__->\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  )._M_impl._M_finish = (pointer)0x0;\n  pPVar5 = parameters;\n  (__return_storage_ptr__->\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  )._M_impl._M_end_of_storage = (pointer)0x0;\n  pTVar4 = pPVar5->target_;\n  if (pTVar4 != (Target *)0x0) {\n                    /* try { // try from 0027309e to 002730c6 has its CatchHandler @ 00273173 */\n    (**(code **)(*(long *)pTVar4 + 0x88))(pTVar4,&code_loc);\n    Dwarf_line_info::one_addr2line\n              (&canonical_result,code_loc.object,code_loc.shndx,code_loc.offset,0x10,\n               __return_storage_ptr__);\n    if (canonical_result._M_string_length != 0) {\n      __position._M_current =\n           (__return_storage_ptr__->\n           super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n           )._M_impl._M_finish;\n      if (__position._M_current ==\n          (__return_storage_ptr__->\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          )._M_impl._M_end_of_storage) {\n        std::\n        vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ::\n        _M_realloc_insert<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                  (__return_storage_ptr__,__position,&canonical_result);\n      }\n      else {\n        ((__position._M_current)->_M_dataplus)._M_p = (pointer)&(__position._M_current)->field_2;\n                    /* try { // try from 0027312e to 0027314d has its CatchHandler @ 0027316b */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(__position._M_current,canonical_result._M_dataplus._M_p,\n                            canonical_result._M_dataplus._M_p + canonical_result._M_string_length);\n        ppbVar1 = &(__return_storage_ptr__->\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   )._M_impl._M_finish;\n        *ppbVar1 = *ppbVar1 + 1;\n      }\n    }\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)canonical_result._M_dataplus._M_p != &canonical_result.field_2) {\n      operator_delete(canonical_result._M_dataplus._M_p);\n    }\n    pIVar3 = pOVar2->input_file_;\n    if (pIVar3 != (Input_file *)0x0) {\n      File_read::unlock(&pIVar3->file_,task);\n    }\n    return __return_storage_ptr__;\n  }\n                    /* WARNING: Subroutine does not return */\n                    /* try { // try from 00273166 to 0027316a has its CatchHandler @ 00273173 */\n  do_gold_unreachable("../../gold/parameters.h",0x69,"target");\n}" { (declaration "pointer *ppbVar1;" type_identifier (pointer_declarator "*ppbVar1" * identifier) ;) (declaration "Object *pOVar2;" type_identifier (pointer_declarator "*pOVar2" * identifier) ;) (declaration "Input_file *pIVar3;" type_identifier (pointer_declarator "*pIVar3" * identifier) ;) (declaration "Target *pTVar4;" type_identifier (pointer_declarator "*pTVar4" * identifier) ;) (declaration "iterator __position;" type_identifier identifier ;) (declaration "Parameters *pPVar5;" type_identifier (pointer_declarator "*pPVar5" * identifier) ;) (ERROR "vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "vector<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n  *result;" (binary_expression "allocator<char>_>_>_>\n  *result" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > (pointer_expression "*result" * identifier)) ;) (declaration "Symbol_location code_loc;" type_identifier identifier ;) (declaration "string canonical_result;" type_identifier identifier ;) (expression_statement "pOVar2 = loc->object;" (assignment_expression "pOVar2 = loc->object" identifier = (field_expression "loc->object" identifier -> field_identifier)) ;) (expression_statement "pIVar3 = pOVar2->input_file_;" (assignment_expression "pIVar3 = pOVar2->input_file_" identifier = (field_expression "pOVar2->input_file_" identifier -> field_identifier)) ;) (if_statement "if (pIVar3 != (Input_file *)0x0) {\n    File_read::lock(&pIVar3->file_,task);\n  }" if (parenthesized_expression "(pIVar3 != (Input_file *)0x0)" ( (binary_expression "pIVar3 != (Input_file *)0x0" identifier != (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    File_read::lock(&pIVar3->file_,task);\n  }" { (labeled_statement "File_read::lock(&pIVar3->file_,task);" statement_identifier : (ERROR ":" :) (expression_statement "lock(&pIVar3->file_,task);" (call_expression "lock(&pIVar3->file_,task)" identifier (argument_list "(&pIVar3->file_,task)" ( (pointer_expression "&pIVar3->file_" & (field_expression "pIVar3->file_" identifier -> field_identifier)) , identifier ))) ;)) })) (expression_statement "code_loc.offset = loc->offset;" (assignment_expression "code_loc.offset = loc->offset" (field_expression "code_loc.offset" identifier . field_identifier) = (field_expression "loc->offset" identifier -> field_identifier)) ;) (expression_statement "code_loc.object = loc->object;" (assignment_expression "code_loc.object = loc->object" (field_expression "code_loc.object" identifier . field_identifier) = (field_expression "loc->object" identifier -> field_identifier)) ;) (expression_statement "code_loc.shndx = loc->shndx;" (assignment_expression "code_loc.shndx = loc->shndx" (field_expression "code_loc.shndx" identifier . field_identifier) = (field_expression "loc->shndx" identifier -> field_identifier)) ;) (expression_statement "code_loc._12_4_ = *(undefined4 *)&loc->field_0xc;" (assignment_expression "code_loc._12_4_ = *(undefined4 *)&loc->field_0xc" (field_expression "code_loc._12_4_" identifier . field_identifier) = (pointer_expression "*(undefined4 *)&loc->field_0xc" * (cast_expression "(undefined4 *)&loc->field_0xc" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&loc->field_0xc" & (field_expression "loc->field_0xc" identifier -> field_identifier))))) ;) (expression_statement "(__return_storage_ptr__->\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  )._M_impl._M_start = (pointer)0x0;" (assignment_expression "(__return_storage_ptr__->\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  )._M_impl._M_start = (pointer)0x0" (field_expression "(__return_storage_ptr__->\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  )._M_impl._M_start" (field_expression "(__return_storage_ptr__->\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  )._M_impl" (parenthesized_expression "(__return_storage_ptr__->\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  )" ( (ERROR "__return_storage_ptr__->\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (comma_expression "__return_storage_ptr__->\n  super__Vector_base<std::__cxx11::basic_string<char,_std" (binary_expression "__return_storage_ptr__->\n  super__Vector_base<std::__cxx11::basic_string<char" (binary_expression "__return_storage_ptr__->\n  super__Vector_base<std" (field_expression "__return_storage_ptr__->\n  super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_>_>" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > identifier) )) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(__return_storage_ptr__->\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  )._M_impl._M_finish = (pointer)0x0;" (assignment_expression "(__return_storage_ptr__->\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  )._M_impl._M_finish = (pointer)0x0" (field_expression "(__return_storage_ptr__->\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  )._M_impl._M_finish" (field_expression "(__return_storage_ptr__->\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  )._M_impl" (parenthesized_expression "(__return_storage_ptr__->\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  )" ( (ERROR "__return_storage_ptr__->\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (comma_expression "__return_storage_ptr__->\n  super__Vector_base<std::__cxx11::basic_string<char,_std" (binary_expression "__return_storage_ptr__->\n  super__Vector_base<std::__cxx11::basic_string<char" (binary_expression "__return_storage_ptr__->\n  super__Vector_base<std" (field_expression "__return_storage_ptr__->\n  super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_>_>" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > identifier) )) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "pPVar5 = parameters;" (assignment_expression "pPVar5 = parameters" identifier = identifier) ;) (expression_statement "(__return_storage_ptr__->\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  )._M_impl._M_end_of_storage = (pointer)0x0;" (assignment_expression "(__return_storage_ptr__->\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  )._M_impl._M_end_of_storage = (pointer)0x0" (field_expression "(__return_storage_ptr__->\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  )._M_impl._M_end_of_storage" (field_expression "(__return_storage_ptr__->\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  )._M_impl" (parenthesized_expression "(__return_storage_ptr__->\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n  )" ( (ERROR "__return_storage_ptr__->\n  super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (comma_expression "__return_storage_ptr__->\n  super__Vector_base<std::__cxx11::basic_string<char,_std" (binary_expression "__return_storage_ptr__->\n  super__Vector_base<std::__cxx11::basic_string<char" (binary_expression "__return_storage_ptr__->\n  super__Vector_base<std" (field_expression "__return_storage_ptr__->\n  super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_>_>" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > identifier) )) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "pTVar4 = pPVar5->target_;" (assignment_expression "pTVar4 = pPVar5->target_" identifier = (field_expression "pPVar5->target_" identifier -> field_identifier)) ;) (if_statement "if (pTVar4 != (Target *)0x0) {\n                    /* try { // try from 0027309e to 002730c6 has its CatchHandler @ 00273173 */\n    (**(code **)(*(long *)pTVar4 + 0x88))(pTVar4,&code_loc);\n    Dwarf_line_info::one_addr2line\n              (&canonical_result,code_loc.object,code_loc.shndx,code_loc.offset,0x10,\n               __return_storage_ptr__);\n    if (canonical_result._M_string_length != 0) {\n      __position._M_current =\n           (__return_storage_ptr__->\n           super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n           )._M_impl._M_finish;\n      if (__position._M_current ==\n          (__return_storage_ptr__->\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          )._M_impl._M_end_of_storage) {\n        std::\n        vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ::\n        _M_realloc_insert<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                  (__return_storage_ptr__,__position,&canonical_result);\n      }\n      else {\n        ((__position._M_current)->_M_dataplus)._M_p = (pointer)&(__position._M_current)->field_2;\n                    /* try { // try from 0027312e to 0027314d has its CatchHandler @ 0027316b */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(__position._M_current,canonical_result._M_dataplus._M_p,\n                            canonical_result._M_dataplus._M_p + canonical_result._M_string_length);\n        ppbVar1 = &(__return_storage_ptr__->\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   )._M_impl._M_finish;\n        *ppbVar1 = *ppbVar1 + 1;\n      }\n    }\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)canonical_result._M_dataplus._M_p != &canonical_result.field_2) {\n      operator_delete(canonical_result._M_dataplus._M_p);\n    }\n    pIVar3 = pOVar2->input_file_;\n    if (pIVar3 != (Input_file *)0x0) {\n      File_read::unlock(&pIVar3->file_,task);\n    }\n    return __return_storage_ptr__;\n  }" if (parenthesized_expression "(pTVar4 != (Target *)0x0)" ( (binary_expression "pTVar4 != (Target *)0x0" identifier != (cast_expression "(Target *)0x0" ( (type_descriptor "Target *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* try { // try from 0027309e to 002730c6 has its CatchHandler @ 00273173 */\n    (**(code **)(*(long *)pTVar4 + 0x88))(pTVar4,&code_loc);\n    Dwarf_line_info::one_addr2line\n              (&canonical_result,code_loc.object,code_loc.shndx,code_loc.offset,0x10,\n               __return_storage_ptr__);\n    if (canonical_result._M_string_length != 0) {\n      __position._M_current =\n           (__return_storage_ptr__->\n           super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n           )._M_impl._M_finish;\n      if (__position._M_current ==\n          (__return_storage_ptr__->\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          )._M_impl._M_end_of_storage) {\n        std::\n        vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ::\n        _M_realloc_insert<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                  (__return_storage_ptr__,__position,&canonical_result);\n      }\n      else {\n        ((__position._M_current)->_M_dataplus)._M_p = (pointer)&(__position._M_current)->field_2;\n                    /* try { // try from 0027312e to 0027314d has its CatchHandler @ 0027316b */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(__position._M_current,canonical_result._M_dataplus._M_p,\n                            canonical_result._M_dataplus._M_p + canonical_result._M_string_length);\n        ppbVar1 = &(__return_storage_ptr__->\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   )._M_impl._M_finish;\n        *ppbVar1 = *ppbVar1 + 1;\n      }\n    }\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)canonical_result._M_dataplus._M_p != &canonical_result.field_2) {\n      operator_delete(canonical_result._M_dataplus._M_p);\n    }\n    pIVar3 = pOVar2->input_file_;\n    if (pIVar3 != (Input_file *)0x0) {\n      File_read::unlock(&pIVar3->file_,task);\n    }\n    return __return_storage_ptr__;\n  }" { comment (expression_statement "(**(code **)(*(long *)pTVar4 + 0x88))(pTVar4,&code_loc);" (call_expression "(**(code **)(*(long *)pTVar4 + 0x88))(pTVar4,&code_loc)" (parenthesized_expression "(**(code **)(*(long *)pTVar4 + 0x88))" ( (pointer_expression "**(code **)(*(long *)pTVar4 + 0x88)" * (pointer_expression "*(code **)(*(long *)pTVar4 + 0x88)" * (cast_expression "(code **)(*(long *)pTVar4 + 0x88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(long *)pTVar4 + 0x88)" ( (binary_expression "*(long *)pTVar4 + 0x88" (pointer_expression "*(long *)pTVar4" * (cast_expression "(long *)pTVar4" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) ))))) )) (argument_list "(pTVar4,&code_loc)" ( identifier , (pointer_expression "&code_loc" & identifier) ))) ;) (labeled_statement "Dwarf_line_info::one_addr2line\n              (&canonical_result,code_loc.object,code_loc.shndx,code_loc.offset,0x10,\n               __return_storage_ptr__);" statement_identifier : (ERROR ":" :) (expression_statement "one_addr2line\n              (&canonical_result,code_loc.object,code_loc.shndx,code_loc.offset,0x10,\n               __return_storage_ptr__);" (call_expression "one_addr2line\n              (&canonical_result,code_loc.object,code_loc.shndx,code_loc.offset,0x10,\n               __return_storage_ptr__)" identifier (argument_list "(&canonical_result,code_loc.object,code_loc.shndx,code_loc.offset,0x10,\n               __return_storage_ptr__)" ( (pointer_expression "&canonical_result" & identifier) , (field_expression "code_loc.object" identifier . field_identifier) , (field_expression "code_loc.shndx" identifier . field_identifier) , (field_expression "code_loc.offset" identifier . field_identifier) , number_literal , identifier ))) ;)) (if_statement "if (canonical_result._M_string_length != 0) {\n      __position._M_current =\n           (__return_storage_ptr__->\n           super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n           )._M_impl._M_finish;\n      if (__position._M_current ==\n          (__return_storage_ptr__->\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          )._M_impl._M_end_of_storage) {\n        std::\n        vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ::\n        _M_realloc_insert<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                  (__return_storage_ptr__,__position,&canonical_result);\n      }\n      else {\n        ((__position._M_current)->_M_dataplus)._M_p = (pointer)&(__position._M_current)->field_2;\n                    /* try { // try from 0027312e to 0027314d has its CatchHandler @ 0027316b */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(__position._M_current,canonical_result._M_dataplus._M_p,\n                            canonical_result._M_dataplus._M_p + canonical_result._M_string_length);\n        ppbVar1 = &(__return_storage_ptr__->\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   )._M_impl._M_finish;\n        *ppbVar1 = *ppbVar1 + 1;\n      }\n    }" if (parenthesized_expression "(canonical_result._M_string_length != 0)" ( (binary_expression "canonical_result._M_string_length != 0" (field_expression "canonical_result._M_string_length" identifier . field_identifier) != number_literal) )) (compound_statement "{\n      __position._M_current =\n           (__return_storage_ptr__->\n           super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n           )._M_impl._M_finish;\n      if (__position._M_current ==\n          (__return_storage_ptr__->\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          )._M_impl._M_end_of_storage) {\n        std::\n        vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ::\n        _M_realloc_insert<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                  (__return_storage_ptr__,__position,&canonical_result);\n      }\n      else {\n        ((__position._M_current)->_M_dataplus)._M_p = (pointer)&(__position._M_current)->field_2;\n                    /* try { // try from 0027312e to 0027314d has its CatchHandler @ 0027316b */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(__position._M_current,canonical_result._M_dataplus._M_p,\n                            canonical_result._M_dataplus._M_p + canonical_result._M_string_length);\n        ppbVar1 = &(__return_storage_ptr__->\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   )._M_impl._M_finish;\n        *ppbVar1 = *ppbVar1 + 1;\n      }\n    }" { (expression_statement "__position._M_current =\n           (__return_storage_ptr__->\n           super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n           )._M_impl._M_finish;" (assignment_expression "__position._M_current =\n           (__return_storage_ptr__->\n           super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n           )._M_impl._M_finish" (field_expression "__position._M_current" identifier . field_identifier) = (field_expression "(__return_storage_ptr__->\n           super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n           )._M_impl._M_finish" (field_expression "(__return_storage_ptr__->\n           super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n           )._M_impl" (parenthesized_expression "(__return_storage_ptr__->\n           super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n           )" ( (ERROR "__return_storage_ptr__->\n           super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (comma_expression "__return_storage_ptr__->\n           super__Vector_base<std::__cxx11::basic_string<char,_std" (binary_expression "__return_storage_ptr__->\n           super__Vector_base<std::__cxx11::basic_string<char" (binary_expression "__return_storage_ptr__->\n           super__Vector_base<std" (field_expression "__return_storage_ptr__->\n           super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_>_>" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (__position._M_current ==\n          (__return_storage_ptr__->\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          )._M_impl._M_end_of_storage) {\n        std::\n        vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ::\n        _M_realloc_insert<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                  (__return_storage_ptr__,__position,&canonical_result);\n      }\n      else {\n        ((__position._M_current)->_M_dataplus)._M_p = (pointer)&(__position._M_current)->field_2;\n                    /* try { // try from 0027312e to 0027314d has its CatchHandler @ 0027316b */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(__position._M_current,canonical_result._M_dataplus._M_p,\n                            canonical_result._M_dataplus._M_p + canonical_result._M_string_length);\n        ppbVar1 = &(__return_storage_ptr__->\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   )._M_impl._M_finish;\n        *ppbVar1 = *ppbVar1 + 1;\n      }" if (parenthesized_expression "(__position._M_current ==\n          (__return_storage_ptr__->\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          )._M_impl._M_end_of_storage)" ( (binary_expression "__position._M_current ==\n          (__return_storage_ptr__->\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          )._M_impl._M_end_of_storage" (field_expression "__position._M_current" identifier . field_identifier) == (field_expression "(__return_storage_ptr__->\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          )._M_impl._M_end_of_storage" (field_expression "(__return_storage_ptr__->\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          )._M_impl" (parenthesized_expression "(__return_storage_ptr__->\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n          )" ( (ERROR "__return_storage_ptr__->\n          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (comma_expression "__return_storage_ptr__->\n          super__Vector_base<std::__cxx11::basic_string<char,_std" (binary_expression "__return_storage_ptr__->\n          super__Vector_base<std::__cxx11::basic_string<char" (binary_expression "__return_storage_ptr__->\n          super__Vector_base<std" (field_expression "__return_storage_ptr__->\n          super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_>_>" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > identifier) )) . field_identifier) . field_identifier)) )) (compound_statement "{\n        std::\n        vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ::\n        _M_realloc_insert<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>&>\n                  (__return_storage_ptr__,__position,&canonical_result);\n      }" { (ERROR "std::\n        vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n        ::\n        _M_realloc_insert<const_std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (comma_expression "std::\n        vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std" identifier (ERROR "::\n        vector<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>" : : (binary_expression "vector<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) >) , identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>_>_>\n        ::\n        _M_realloc_insert<const_std" (binary_expression "allocator<char>_>_>_>\n        ::\n        _M_realloc_insert" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > (ERROR "::" : :) identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>&>\n                  (__return_storage_ptr__,__position,&canonical_result);" (binary_expression "allocator<char>_>&>\n                  (__return_storage_ptr__,__position,&canonical_result)" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (pointer_expression "&>\n                  (__return_storage_ptr__,__position,&canonical_result)" & (ERROR ">" >) (parenthesized_expression "(__return_storage_ptr__,__position,&canonical_result)" ( (comma_expression "__return_storage_ptr__,__position,&canonical_result" identifier , (comma_expression "__position,&canonical_result" identifier , (pointer_expression "&canonical_result" & identifier))) )))) ;) }) (else_clause "else {\n        ((__position._M_current)->_M_dataplus)._M_p = (pointer)&(__position._M_current)->field_2;\n                    /* try { // try from 0027312e to 0027314d has its CatchHandler @ 0027316b */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(__position._M_current,canonical_result._M_dataplus._M_p,\n                            canonical_result._M_dataplus._M_p + canonical_result._M_string_length);\n        ppbVar1 = &(__return_storage_ptr__->\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   )._M_impl._M_finish;\n        *ppbVar1 = *ppbVar1 + 1;\n      }" else (compound_statement "{\n        ((__position._M_current)->_M_dataplus)._M_p = (pointer)&(__position._M_current)->field_2;\n                    /* try { // try from 0027312e to 0027314d has its CatchHandler @ 0027316b */\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(__position._M_current,canonical_result._M_dataplus._M_p,\n                            canonical_result._M_dataplus._M_p + canonical_result._M_string_length);\n        ppbVar1 = &(__return_storage_ptr__->\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   )._M_impl._M_finish;\n        *ppbVar1 = *ppbVar1 + 1;\n      }" { (expression_statement "((__position._M_current)->_M_dataplus)._M_p = (pointer)&(__position._M_current)->field_2;" (assignment_expression "((__position._M_current)->_M_dataplus)._M_p = (pointer)&(__position._M_current)->field_2" (field_expression "((__position._M_current)->_M_dataplus)._M_p" (parenthesized_expression "((__position._M_current)->_M_dataplus)" ( (field_expression "(__position._M_current)->_M_dataplus" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) = (binary_expression "(pointer)&(__position._M_current)->field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "(__position._M_current)->field_2" (parenthesized_expression "(__position._M_current)" ( (field_expression "__position._M_current" identifier . field_identifier) )) -> field_identifier))) ;) comment (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char*>(__position._M_current,canonical_result._M_dataplus._M_p,\n                            canonical_result._M_dataplus._M_p + canonical_result._M_string_length);" statement_identifier (ERROR "::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>:" : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > :) : (expression_statement "_M_construct<char*>(__position._M_current,canonical_result._M_dataplus._M_p,\n                            canonical_result._M_dataplus._M_p + canonical_result._M_string_length);" (binary_expression "_M_construct<char*>(__position._M_current,canonical_result._M_dataplus._M_p,\n                            canonical_result._M_dataplus._M_p + canonical_result._M_string_length)" (binary_expression "_M_construct<char" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(__position._M_current,canonical_result._M_dataplus._M_p,\n                            canonical_result._M_dataplus._M_p + canonical_result._M_string_length)" ( (comma_expression "__position._M_current,canonical_result._M_dataplus._M_p,\n                            canonical_result._M_dataplus._M_p + canonical_result._M_string_length" (field_expression "__position._M_current" identifier . field_identifier) , (comma_expression "canonical_result._M_dataplus._M_p,\n                            canonical_result._M_dataplus._M_p + canonical_result._M_string_length" (field_expression "canonical_result._M_dataplus._M_p" (field_expression "canonical_result._M_dataplus" identifier . field_identifier) . field_identifier) , (binary_expression "canonical_result._M_dataplus._M_p + canonical_result._M_string_length" (field_expression "canonical_result._M_dataplus._M_p" (field_expression "canonical_result._M_dataplus" identifier . field_identifier) . field_identifier) + (field_expression "canonical_result._M_string_length" identifier . field_identifier)))) ))) ;)) (expression_statement "ppbVar1 = &(__return_storage_ptr__->\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   )._M_impl._M_finish;" (assignment_expression "ppbVar1 = &(__return_storage_ptr__->\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   )._M_impl._M_finish" identifier = (pointer_expression "&(__return_storage_ptr__->\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   )._M_impl._M_finish" & (field_expression "(__return_storage_ptr__->\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   )._M_impl._M_finish" (field_expression "(__return_storage_ptr__->\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   )._M_impl" (parenthesized_expression "(__return_storage_ptr__->\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                   )" ( (ERROR "__return_storage_ptr__->\n                   super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (comma_expression "__return_storage_ptr__->\n                   super__Vector_base<std::__cxx11::basic_string<char,_std" (binary_expression "__return_storage_ptr__->\n                   super__Vector_base<std::__cxx11::basic_string<char" (binary_expression "__return_storage_ptr__->\n                   super__Vector_base<std" (field_expression "__return_storage_ptr__->\n                   super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_>_>" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) > identifier) )) . field_identifier) . field_identifier))) ;) (expression_statement "*ppbVar1 = *ppbVar1 + 1;" (assignment_expression "*ppbVar1 = *ppbVar1 + 1" (pointer_expression "*ppbVar1" * identifier) = (binary_expression "*ppbVar1 + 1" (pointer_expression "*ppbVar1" * identifier) + number_literal)) ;) }))) })) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)canonical_result._M_dataplus._M_p != &canonical_result.field_2) {\n      operator_delete(canonical_result._M_dataplus._M_p);\n    }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)canonical_result._M_dataplus._M_p != &canonical_result.field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)canonical_result._M_dataplus._M_p != &canonical_result.field_2)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n         *)canonical_result._M_dataplus._M_p != &canonical_result.field_2" (binary_expression "allocator<char>_>_9\n         *)canonical_result._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n         *)canonical_result._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "canonical_result._M_dataplus._M_p" (field_expression "canonical_result._M_dataplus" identifier . field_identifier) . field_identifier))) != (pointer_expression "&canonical_result.field_2" & (field_expression "canonical_result.field_2" identifier . field_identifier))) )) )) (compound_statement "{\n      operator_delete(canonical_result._M_dataplus._M_p);\n    }" { (expression_statement "operator_delete(canonical_result._M_dataplus._M_p);" (call_expression "operator_delete(canonical_result._M_dataplus._M_p)" identifier (argument_list "(canonical_result._M_dataplus._M_p)" ( (field_expression "canonical_result._M_dataplus._M_p" (field_expression "canonical_result._M_dataplus" identifier . field_identifier) . field_identifier) ))) ;) })) (expression_statement "pIVar3 = pOVar2->input_file_;" (assignment_expression "pIVar3 = pOVar2->input_file_" identifier = (field_expression "pOVar2->input_file_" identifier -> field_identifier)) ;) (if_statement "if (pIVar3 != (Input_file *)0x0) {\n      File_read::unlock(&pIVar3->file_,task);\n    }" if (parenthesized_expression "(pIVar3 != (Input_file *)0x0)" ( (binary_expression "pIVar3 != (Input_file *)0x0" identifier != (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      File_read::unlock(&pIVar3->file_,task);\n    }" { (labeled_statement "File_read::unlock(&pIVar3->file_,task);" statement_identifier : (ERROR ":" :) (expression_statement "unlock(&pIVar3->file_,task);" (call_expression "unlock(&pIVar3->file_,task)" identifier (argument_list "(&pIVar3->file_,task)" ( (pointer_expression "&pIVar3->file_" & (field_expression "pIVar3->file_" identifier -> field_identifier)) , identifier ))) ;)) })) (return_statement "return __return_storage_ptr__;" return identifier ;) })) comment comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x69,"target");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x69,"target")" identifier (argument_list "("../../gold/parameters.h",0x69,"target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""target"" " string_content ") ))) ;) })))
(translation_unit "undefined8 * FUN_00273030(undefined8 *param_1,undefined8 param_2,long *param_3)\n\n{\n  long lVar1;\n  long lVar2;\n  long *plVar3;\n  undefined *puVar4;\n  long local_68;\n  ulong uStack_60;\n  long local_58;\n  undefined1 *local_48;\n  long local_40;\n  undefined1 auStack_38 [16];\n  \n  lVar1 = *param_3;\n  lVar2 = *(long *)(lVar1 + 0x28);\n  if (lVar2 != 0) {\n    FUN_00179ad0(lVar2 + 0x28);\n  }\n  local_58 = param_3[2];\n  local_68 = *param_3;\n  uStack_60 = param_3[1];\n  *param_1 = 0;\n  param_1[1] = 0;\n  puVar4 = PTR_DAT_0043e6b0;\n  param_1[2] = 0;\n  plVar3 = *(long **)(puVar4 + 0x18);\n  if (plVar3 != (long *)0x0) {\n                    \n    (**(code **)(*plVar3 + 0x88))(plVar3,&local_68);\n    FUN_0016da80(&local_48,local_68,uStack_60 & 0xffffffff,local_58,0x10,param_1);\n    if (local_40 != 0) {\n      plVar3 = (long *)param_1[1];\n      if (plVar3 == (long *)param_1[2]) {\n        FUN_001982e0(param_1,plVar3,&local_48);\n      }\n      else {\n        *plVar3 = (long)(plVar3 + 2);\n                    \n        FUN_00166a10(plVar3,local_48,local_48 + local_40);\n        param_1[1] = param_1[1] + 0x20;\n      }\n    }\n    if (local_48 != auStack_38) {\n      FUN_002dac60();\n    }\n    lVar1 = *(long *)(lVar1 + 0x28);\n    if (lVar1 != 0) {\n      FUN_0017a690(lVar1 + 0x28,param_2);\n    }\n    return param_1;\n  }\n                    \n                    \n  FUN_0017c650("../../gold/parameters.h",0x69,"target");\n}\n\n" (function_definition "undefined8 * FUN_00273030(undefined8 *param_1,undefined8 param_2,long *param_3)\n\n{\n  long lVar1;\n  long lVar2;\n  long *plVar3;\n  undefined *puVar4;\n  long local_68;\n  ulong uStack_60;\n  long local_58;\n  undefined1 *local_48;\n  long local_40;\n  undefined1 auStack_38 [16];\n  \n  lVar1 = *param_3;\n  lVar2 = *(long *)(lVar1 + 0x28);\n  if (lVar2 != 0) {\n    FUN_00179ad0(lVar2 + 0x28);\n  }\n  local_58 = param_3[2];\n  local_68 = *param_3;\n  uStack_60 = param_3[1];\n  *param_1 = 0;\n  param_1[1] = 0;\n  puVar4 = PTR_DAT_0043e6b0;\n  param_1[2] = 0;\n  plVar3 = *(long **)(puVar4 + 0x18);\n  if (plVar3 != (long *)0x0) {\n                    \n    (**(code **)(*plVar3 + 0x88))(plVar3,&local_68);\n    FUN_0016da80(&local_48,local_68,uStack_60 & 0xffffffff,local_58,0x10,param_1);\n    if (local_40 != 0) {\n      plVar3 = (long *)param_1[1];\n      if (plVar3 == (long *)param_1[2]) {\n        FUN_001982e0(param_1,plVar3,&local_48);\n      }\n      else {\n        *plVar3 = (long)(plVar3 + 2);\n                    \n        FUN_00166a10(plVar3,local_48,local_48 + local_40);\n        param_1[1] = param_1[1] + 0x20;\n      }\n    }\n    if (local_48 != auStack_38) {\n      FUN_002dac60();\n    }\n    lVar1 = *(long *)(lVar1 + 0x28);\n    if (lVar1 != 0) {\n      FUN_0017a690(lVar1 + 0x28,param_2);\n    }\n    return param_1;\n  }\n                    \n                    \n  FUN_0017c650("../../gold/parameters.h",0x69,"target");\n}" type_identifier (pointer_declarator "* FUN_00273030(undefined8 *param_1,undefined8 param_2,long *param_3)" * (function_declarator "FUN_00273030(undefined8 *param_1,undefined8 param_2,long *param_3)" identifier (parameter_list "(undefined8 *param_1,undefined8 param_2,long *param_3)" ( (parameter_declaration "undefined8 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined8 param_2" type_identifier identifier) , (parameter_declaration "long *param_3" (sized_type_specifier "long" long) (pointer_declarator "*param_3" * identifier)) )))) (compound_statement "{\n  long lVar1;\n  long lVar2;\n  long *plVar3;\n  undefined *puVar4;\n  long local_68;\n  ulong uStack_60;\n  long local_58;\n  undefined1 *local_48;\n  long local_40;\n  undefined1 auStack_38 [16];\n  \n  lVar1 = *param_3;\n  lVar2 = *(long *)(lVar1 + 0x28);\n  if (lVar2 != 0) {\n    FUN_00179ad0(lVar2 + 0x28);\n  }\n  local_58 = param_3[2];\n  local_68 = *param_3;\n  uStack_60 = param_3[1];\n  *param_1 = 0;\n  param_1[1] = 0;\n  puVar4 = PTR_DAT_0043e6b0;\n  param_1[2] = 0;\n  plVar3 = *(long **)(puVar4 + 0x18);\n  if (plVar3 != (long *)0x0) {\n                    \n    (**(code **)(*plVar3 + 0x88))(plVar3,&local_68);\n    FUN_0016da80(&local_48,local_68,uStack_60 & 0xffffffff,local_58,0x10,param_1);\n    if (local_40 != 0) {\n      plVar3 = (long *)param_1[1];\n      if (plVar3 == (long *)param_1[2]) {\n        FUN_001982e0(param_1,plVar3,&local_48);\n      }\n      else {\n        *plVar3 = (long)(plVar3 + 2);\n                    \n        FUN_00166a10(plVar3,local_48,local_48 + local_40);\n        param_1[1] = param_1[1] + 0x20;\n      }\n    }\n    if (local_48 != auStack_38) {\n      FUN_002dac60();\n    }\n    lVar1 = *(long *)(lVar1 + 0x28);\n    if (lVar1 != 0) {\n      FUN_0017a690(lVar1 + 0x28,param_2);\n    }\n    return param_1;\n  }\n                    \n                    \n  FUN_0017c650("../../gold/parameters.h",0x69,"target");\n}" { (declaration "long lVar1;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar2;" (sized_type_specifier "long" long) identifier ;) (declaration "long *plVar3;" (sized_type_specifier "long" long) (pointer_declarator "*plVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "long local_68;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uStack_60;" type_identifier identifier ;) (declaration "long local_58;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 *local_48;" type_identifier (pointer_declarator "*local_48" * identifier) ;) (declaration "long local_40;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 auStack_38 [16];" type_identifier (array_declarator "auStack_38 [16]" identifier [ number_literal ]) ;) (expression_statement "lVar1 = *param_3;" (assignment_expression "lVar1 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (expression_statement "lVar2 = *(long *)(lVar1 + 0x28);" (assignment_expression "lVar2 = *(long *)(lVar1 + 0x28)" identifier = (pointer_expression "*(long *)(lVar1 + 0x28)" * (cast_expression "(long *)(lVar1 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x28)" ( (binary_expression "lVar1 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (lVar2 != 0) {\n    FUN_00179ad0(lVar2 + 0x28);\n  }" if (parenthesized_expression "(lVar2 != 0)" ( (binary_expression "lVar2 != 0" identifier != number_literal) )) (compound_statement "{\n    FUN_00179ad0(lVar2 + 0x28);\n  }" { (expression_statement "FUN_00179ad0(lVar2 + 0x28);" (call_expression "FUN_00179ad0(lVar2 + 0x28)" identifier (argument_list "(lVar2 + 0x28)" ( (binary_expression "lVar2 + 0x28" identifier + number_literal) ))) ;) })) (expression_statement "local_58 = param_3[2];" (assignment_expression "local_58 = param_3[2]" identifier = (subscript_expression "param_3[2]" identifier [ number_literal ])) ;) (expression_statement "local_68 = *param_3;" (assignment_expression "local_68 = *param_3" identifier = (pointer_expression "*param_3" * identifier)) ;) (expression_statement "uStack_60 = param_3[1];" (assignment_expression "uStack_60 = param_3[1]" identifier = (subscript_expression "param_3[1]" identifier [ number_literal ])) ;) (expression_statement "*param_1 = 0;" (assignment_expression "*param_1 = 0" (pointer_expression "*param_1" * identifier) = number_literal) ;) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar4 = PTR_DAT_0043e6b0;" (assignment_expression "puVar4 = PTR_DAT_0043e6b0" identifier = identifier) ;) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "plVar3 = *(long **)(puVar4 + 0x18);" (assignment_expression "plVar3 = *(long **)(puVar4 + 0x18)" identifier = (pointer_expression "*(long **)(puVar4 + 0x18)" * (cast_expression "(long **)(puVar4 + 0x18)" ( (type_descriptor "long **" (sized_type_specifier "long" long) (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar4 + 0x18)" ( (binary_expression "puVar4 + 0x18" identifier + number_literal) ))))) ;) (if_statement "if (plVar3 != (long *)0x0) {\n                    \n    (**(code **)(*plVar3 + 0x88))(plVar3,&local_68);\n    FUN_0016da80(&local_48,local_68,uStack_60 & 0xffffffff,local_58,0x10,param_1);\n    if (local_40 != 0) {\n      plVar3 = (long *)param_1[1];\n      if (plVar3 == (long *)param_1[2]) {\n        FUN_001982e0(param_1,plVar3,&local_48);\n      }\n      else {\n        *plVar3 = (long)(plVar3 + 2);\n                    \n        FUN_00166a10(plVar3,local_48,local_48 + local_40);\n        param_1[1] = param_1[1] + 0x20;\n      }\n    }\n    if (local_48 != auStack_38) {\n      FUN_002dac60();\n    }\n    lVar1 = *(long *)(lVar1 + 0x28);\n    if (lVar1 != 0) {\n      FUN_0017a690(lVar1 + 0x28,param_2);\n    }\n    return param_1;\n  }" if (parenthesized_expression "(plVar3 != (long *)0x0)" ( (binary_expression "plVar3 != (long *)0x0" identifier != (cast_expression "(long *)0x0" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n    (**(code **)(*plVar3 + 0x88))(plVar3,&local_68);\n    FUN_0016da80(&local_48,local_68,uStack_60 & 0xffffffff,local_58,0x10,param_1);\n    if (local_40 != 0) {\n      plVar3 = (long *)param_1[1];\n      if (plVar3 == (long *)param_1[2]) {\n        FUN_001982e0(param_1,plVar3,&local_48);\n      }\n      else {\n        *plVar3 = (long)(plVar3 + 2);\n                    \n        FUN_00166a10(plVar3,local_48,local_48 + local_40);\n        param_1[1] = param_1[1] + 0x20;\n      }\n    }\n    if (local_48 != auStack_38) {\n      FUN_002dac60();\n    }\n    lVar1 = *(long *)(lVar1 + 0x28);\n    if (lVar1 != 0) {\n      FUN_0017a690(lVar1 + 0x28,param_2);\n    }\n    return param_1;\n  }" { (expression_statement "(**(code **)(*plVar3 + 0x88))(plVar3,&local_68);" (call_expression "(**(code **)(*plVar3 + 0x88))(plVar3,&local_68)" (parenthesized_expression "(**(code **)(*plVar3 + 0x88))" ( (pointer_expression "**(code **)(*plVar3 + 0x88)" * (pointer_expression "*(code **)(*plVar3 + 0x88)" * (cast_expression "(code **)(*plVar3 + 0x88)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*plVar3 + 0x88)" ( (binary_expression "*plVar3 + 0x88" (pointer_expression "*plVar3" * identifier) + number_literal) ))))) )) (argument_list "(plVar3,&local_68)" ( identifier , (pointer_expression "&local_68" & identifier) ))) ;) (expression_statement "FUN_0016da80(&local_48,local_68,uStack_60 & 0xffffffff,local_58,0x10,param_1);" (call_expression "FUN_0016da80(&local_48,local_68,uStack_60 & 0xffffffff,local_58,0x10,param_1)" identifier (argument_list "(&local_48,local_68,uStack_60 & 0xffffffff,local_58,0x10,param_1)" ( (pointer_expression "&local_48" & identifier) , identifier , (binary_expression "uStack_60 & 0xffffffff" identifier & number_literal) , identifier , number_literal , identifier ))) ;) (if_statement "if (local_40 != 0) {\n      plVar3 = (long *)param_1[1];\n      if (plVar3 == (long *)param_1[2]) {\n        FUN_001982e0(param_1,plVar3,&local_48);\n      }\n      else {\n        *plVar3 = (long)(plVar3 + 2);\n                    \n        FUN_00166a10(plVar3,local_48,local_48 + local_40);\n        param_1[1] = param_1[1] + 0x20;\n      }\n    }" if (parenthesized_expression "(local_40 != 0)" ( (binary_expression "local_40 != 0" identifier != number_literal) )) (compound_statement "{\n      plVar3 = (long *)param_1[1];\n      if (plVar3 == (long *)param_1[2]) {\n        FUN_001982e0(param_1,plVar3,&local_48);\n      }\n      else {\n        *plVar3 = (long)(plVar3 + 2);\n                    \n        FUN_00166a10(plVar3,local_48,local_48 + local_40);\n        param_1[1] = param_1[1] + 0x20;\n      }\n    }" { (expression_statement "plVar3 = (long *)param_1[1];" (assignment_expression "plVar3 = (long *)param_1[1]" identifier = (cast_expression "(long *)param_1[1]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[1]" identifier [ number_literal ]))) ;) (if_statement "if (plVar3 == (long *)param_1[2]) {\n        FUN_001982e0(param_1,plVar3,&local_48);\n      }\n      else {\n        *plVar3 = (long)(plVar3 + 2);\n                    \n        FUN_00166a10(plVar3,local_48,local_48 + local_40);\n        param_1[1] = param_1[1] + 0x20;\n      }" if (parenthesized_expression "(plVar3 == (long *)param_1[2])" ( (binary_expression "plVar3 == (long *)param_1[2]" identifier == (cast_expression "(long *)param_1[2]" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[2]" identifier [ number_literal ]))) )) (compound_statement "{\n        FUN_001982e0(param_1,plVar3,&local_48);\n      }" { (expression_statement "FUN_001982e0(param_1,plVar3,&local_48);" (call_expression "FUN_001982e0(param_1,plVar3,&local_48)" identifier (argument_list "(param_1,plVar3,&local_48)" ( identifier , identifier , (pointer_expression "&local_48" & identifier) ))) ;) }) (else_clause "else {\n        *plVar3 = (long)(plVar3 + 2);\n                    \n        FUN_00166a10(plVar3,local_48,local_48 + local_40);\n        param_1[1] = param_1[1] + 0x20;\n      }" else (compound_statement "{\n        *plVar3 = (long)(plVar3 + 2);\n                    \n        FUN_00166a10(plVar3,local_48,local_48 + local_40);\n        param_1[1] = param_1[1] + 0x20;\n      }" { (expression_statement "*plVar3 = (long)(plVar3 + 2);" (assignment_expression "*plVar3 = (long)(plVar3 + 2)" (pointer_expression "*plVar3" * identifier) = (cast_expression "(long)(plVar3 + 2)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(plVar3 + 2)" ( (binary_expression "plVar3 + 2" identifier + number_literal) )))) ;) (expression_statement "FUN_00166a10(plVar3,local_48,local_48 + local_40);" (call_expression "FUN_00166a10(plVar3,local_48,local_48 + local_40)" identifier (argument_list "(plVar3,local_48,local_48 + local_40)" ( identifier , identifier , (binary_expression "local_48 + local_40" identifier + identifier) ))) ;) (expression_statement "param_1[1] = param_1[1] + 0x20;" (assignment_expression "param_1[1] = param_1[1] + 0x20" (subscript_expression "param_1[1]" identifier [ number_literal ]) = (binary_expression "param_1[1] + 0x20" (subscript_expression "param_1[1]" identifier [ number_literal ]) + number_literal)) ;) }))) })) (if_statement "if (local_48 != auStack_38) {\n      FUN_002dac60();\n    }" if (parenthesized_expression "(local_48 != auStack_38)" ( (binary_expression "local_48 != auStack_38" identifier != identifier) )) (compound_statement "{\n      FUN_002dac60();\n    }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "lVar1 = *(long *)(lVar1 + 0x28);" (assignment_expression "lVar1 = *(long *)(lVar1 + 0x28)" identifier = (pointer_expression "*(long *)(lVar1 + 0x28)" * (cast_expression "(long *)(lVar1 + 0x28)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar1 + 0x28)" ( (binary_expression "lVar1 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if (lVar1 != 0) {\n      FUN_0017a690(lVar1 + 0x28,param_2);\n    }" if (parenthesized_expression "(lVar1 != 0)" ( (binary_expression "lVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      FUN_0017a690(lVar1 + 0x28,param_2);\n    }" { (expression_statement "FUN_0017a690(lVar1 + 0x28,param_2);" (call_expression "FUN_0017a690(lVar1 + 0x28,param_2)" identifier (argument_list "(lVar1 + 0x28,param_2)" ( (binary_expression "lVar1 + 0x28" identifier + number_literal) , identifier ))) ;) })) (return_statement "return param_1;" return identifier ;) })) (expression_statement "FUN_0017c650("../../gold/parameters.h",0x69,"target");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x69,"target")" identifier (argument_list "("../../gold/parameters.h",0x69,"target")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""target"" " string_content ") ))) ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration (sized_type_specifier long) (pointer_declarator * IDENT)) )))) (compound_statement { (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT , (binary_expression IDENT & LIT) , IDENT , LIT , IDENT ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (pointer_expression & IDENT) ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , (binary_expression IDENT + IDENT) ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (subscript_expression IDENT [ LIT ]) + LIT)) ;) }))) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , IDENT ))) ;) })) (return_statement return IDENT ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })))
(function_definition "undefined8 * FUN_00273030(undefined8 *param_1,undefined8 param_2,long *param_3)\n\n{\n  long lVar1;\n  long lVar2;\n  long *plVar3;\n  undefined *puVar4;\n  long local_68;\n  ulong uStack_60;\n  long local_58;\n  undefined1 *local_48;\n  long local_40;\n  undefined1 auStack_38 [16];\n  \n  lVar1 = *param_3;\n  lVar2 = *(long *)(lVar1 + 0x28);\n  if (lVar2 != 0) {\n    FUN_00179ad0(lVar2 + 0x28);\n  }\n  local_58 = param_3[2];\n  local_68 = *param_3;\n  uStack_60 = param_3[1];\n  *param_1 = 0;\n  param_1[1] = 0;\n  puVar4 = PTR_DAT_0043e6b0;\n  param_1[2] = 0;\n  plVar3 = *(long **)(puVar4 + 0x18);\n  if (plVar3 != (long *)0x0) {\n                    \n    (**(code **)(*plVar3 + 0x88))(plVar3,&local_68);\n    FUN_0016da80(&local_48,local_68,uStack_60 & 0xffffffff,local_58,0x10,param_1);\n    if (local_40 != 0) {\n      plVar3 = (long *)param_1[1];\n      if (plVar3 == (long *)param_1[2]) {\n        FUN_001982e0(param_1,plVar3,&local_48);\n      }\n      else {\n        *plVar3 = (long)(plVar3 + 2);\n                    \n        FUN_00166a10(plVar3,local_48,local_48 + local_40);\n        param_1[1] = param_1[1] + 0x20;\n      }\n    }\n    if (local_48 != auStack_38) {\n      FUN_002dac60();\n    }\n    lVar1 = *(long *)(lVar1 + 0x28);\n    if (lVar1 != 0) {\n      FUN_0017a690(lVar1 + 0x28,param_2);\n    }\n    return param_1;\n  }\n                    \n                    \n  FUN_0017c650("../../gold/parameters.h",0x69,"target");\n}" (type_identifier "undefined8") (pointer_declarator "* FUN_00273030(undefined8 *param_1,undefined8 param_2,long *param_3)" (* "*") (function_declarator "FUN_00273030(undefined8 *param_1,undefined8 param_2,long *param_3)" (identifier "FUN_00273030") (parameter_list "(undefined8 *param_1,undefined8 param_2,long *param_3)" (( "(") (parameter_declaration "undefined8 *param_1" (type_identifier "undefined8") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) (, ",") (parameter_declaration "long *param_3" (sized_type_specifier "long" (long "long")) (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) () ")")))) (compound_statement "{\n  long lVar1;\n  long lVar2;\n  long *plVar3;\n  undefined *puVar4;\n  long local_68;\n  ulong uStack_60;\n  long local_58;\n  undefined1 *local_48;\n  long local_40;\n  undefined1 auStack_38 [16];\n  \n  lVar1 = *param_3;\n  lVar2 = *(long *)(lVar1 + 0x28);\n  if (lVar2 != 0) {\n    FUN_00179ad0(lVar2 + 0x28);\n  }\n  local_58 = param_3[2];\n  local_68 = *param_3;\n  uStack_60 = param_3[1];\n  *param_1 = 0;\n  param_1[1] = 0;\n  puVar4 = PTR_DAT_0043e6b0;\n  param_1[2] = 0;\n  plVar3 = *(long **)(puVar4 + 0x18);\n  if (plVar3 != (long *)0x0) {\n                    \n    (**(code **)(*plVar3 + 0x88))(plVar3,&local_68);\n    FUN_0016da80(&local_48,local_68,uStack_60 & 0xffffffff,local_58,0x10,param_1);\n    if (local_40 != 0) {\n      plVar3 = (long *)param_1[1];\n      if (plVar3 == (long *)param_1[2]) {\n        FUN_001982e0(param_1,plVar3,&local_48);\n      }\n      else {\n        *plVar3 = (long)(plVar3 + 2);\n                    \n        FUN_00166a10(plVar3,local_48,local_48 + local_40);\n        param_1[1] = param_1[1] + 0x20;\n      }\n    }\n    if (local_48 != auStack_38) {\n      FUN_002dac60();\n    }\n    lVar1 = *(long *)(lVar1 + 0x28);\n    if (lVar1 != 0) {\n      FUN_0017a690(lVar1 + 0x28,param_2);\n    }\n    return param_1;\n  }\n                    \n                    \n  FUN_0017c650("../../gold/parameters.h",0x69,"target");\n}" ({ "{") (declaration "long lVar1;" (sized_type_specifier "long" (long "long")) (identifier "lVar1") (; ";")) (declaration "long lVar2;" (sized_type_specifier "long" (long "long")) (identifier "lVar2") (; ";")) (declaration "long *plVar3;" (sized_type_specifier "long" (long "long")) (pointer_declarator "*plVar3" (* "*") (identifier "plVar3")) (; ";")) (declaration "undefined *puVar4;" (type_identifier "undefined") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "long local_68;" (sized_type_specifier "long" (long "long")) (identifier "local_68") (; ";")) (declaration "ulong uStack_60;" (type_identifier "ulong") (identifier "uStack_60") (; ";")) (declaration "long local_58;" (sized_type_specifier "long" (long "long")) (identifier "local_58") (; ";")) (declaration "undefined1 *local_48;" (type_identifier "undefined1") (pointer_declarator "*local_48" (* "*") (identifier "local_48")) (; ";")) (declaration "long local_40;" (sized_type_specifier "long" (long "long")) (identifier "local_40") (; ";")) (declaration "undefined1 auStack_38 [16];" (type_identifier "undefined1") (array_declarator "auStack_38 [16]" (identifier "auStack_38") ([ "[") (number_literal "16") (] "]")) (; ";")) (expression_statement "lVar1 = *param_3;" (assignment_expression "lVar1 = *param_3" (identifier "lVar1") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (expression_statement "lVar2 = *(long *)(lVar1 + 0x28);" (assignment_expression "lVar2 = *(long *)(lVar1 + 0x28)" (identifier "lVar2") (= "=") (pointer_expression "*(long *)(lVar1 + 0x28)" (* "*") (cast_expression "(long *)(lVar1 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar1 + 0x28)" (( "(") (binary_expression "lVar1 + 0x28" (identifier "lVar1") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (if_statement "if (lVar2 != 0) {\n    FUN_00179ad0(lVar2 + 0x28);\n  }" (if "if") (parenthesized_expression "(lVar2 != 0)" (( "(") (binary_expression "lVar2 != 0" (identifier "lVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_00179ad0(lVar2 + 0x28);\n  }" ({ "{") (expression_statement "FUN_00179ad0(lVar2 + 0x28);" (call_expression "FUN_00179ad0(lVar2 + 0x28)" (identifier "FUN_00179ad0") (argument_list "(lVar2 + 0x28)" (( "(") (binary_expression "lVar2 + 0x28" (identifier "lVar2") (+ "+") (number_literal "0x28")) () ")"))) (; ";")) (} "}"))) (expression_statement "local_58 = param_3[2];" (assignment_expression "local_58 = param_3[2]" (identifier "local_58") (= "=") (subscript_expression "param_3[2]" (identifier "param_3") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "local_68 = *param_3;" (assignment_expression "local_68 = *param_3" (identifier "local_68") (= "=") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) (; ";")) (expression_statement "uStack_60 = param_3[1];" (assignment_expression "uStack_60 = param_3[1]" (identifier "uStack_60") (= "=") (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "*param_1 = 0;" (assignment_expression "*param_1 = 0" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_1[1] = 0;" (assignment_expression "param_1[1] = 0" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar4 = PTR_DAT_0043e6b0;" (assignment_expression "puVar4 = PTR_DAT_0043e6b0" (identifier "puVar4") (= "=") (identifier "PTR_DAT_0043e6b0")) (; ";")) (expression_statement "param_1[2] = 0;" (assignment_expression "param_1[2] = 0" (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "plVar3 = *(long **)(puVar4 + 0x18);" (assignment_expression "plVar3 = *(long **)(puVar4 + 0x18)" (identifier "plVar3") (= "=") (pointer_expression "*(long **)(puVar4 + 0x18)" (* "*") (cast_expression "(long **)(puVar4 + 0x18)" (( "(") (type_descriptor "long **" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar4 + 0x18)" (( "(") (binary_expression "puVar4 + 0x18" (identifier "puVar4") (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (if_statement "if (plVar3 != (long *)0x0) {\n                    \n    (**(code **)(*plVar3 + 0x88))(plVar3,&local_68);\n    FUN_0016da80(&local_48,local_68,uStack_60 & 0xffffffff,local_58,0x10,param_1);\n    if (local_40 != 0) {\n      plVar3 = (long *)param_1[1];\n      if (plVar3 == (long *)param_1[2]) {\n        FUN_001982e0(param_1,plVar3,&local_48);\n      }\n      else {\n        *plVar3 = (long)(plVar3 + 2);\n                    \n        FUN_00166a10(plVar3,local_48,local_48 + local_40);\n        param_1[1] = param_1[1] + 0x20;\n      }\n    }\n    if (local_48 != auStack_38) {\n      FUN_002dac60();\n    }\n    lVar1 = *(long *)(lVar1 + 0x28);\n    if (lVar1 != 0) {\n      FUN_0017a690(lVar1 + 0x28,param_2);\n    }\n    return param_1;\n  }" (if "if") (parenthesized_expression "(plVar3 != (long *)0x0)" (( "(") (binary_expression "plVar3 != (long *)0x0" (identifier "plVar3") (!= "!=") (cast_expression "(long *)0x0" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n    (**(code **)(*plVar3 + 0x88))(plVar3,&local_68);\n    FUN_0016da80(&local_48,local_68,uStack_60 & 0xffffffff,local_58,0x10,param_1);\n    if (local_40 != 0) {\n      plVar3 = (long *)param_1[1];\n      if (plVar3 == (long *)param_1[2]) {\n        FUN_001982e0(param_1,plVar3,&local_48);\n      }\n      else {\n        *plVar3 = (long)(plVar3 + 2);\n                    \n        FUN_00166a10(plVar3,local_48,local_48 + local_40);\n        param_1[1] = param_1[1] + 0x20;\n      }\n    }\n    if (local_48 != auStack_38) {\n      FUN_002dac60();\n    }\n    lVar1 = *(long *)(lVar1 + 0x28);\n    if (lVar1 != 0) {\n      FUN_0017a690(lVar1 + 0x28,param_2);\n    }\n    return param_1;\n  }" ({ "{") (expression_statement "(**(code **)(*plVar3 + 0x88))(plVar3,&local_68);" (call_expression "(**(code **)(*plVar3 + 0x88))(plVar3,&local_68)" (parenthesized_expression "(**(code **)(*plVar3 + 0x88))" (( "(") (pointer_expression "**(code **)(*plVar3 + 0x88)" (* "*") (pointer_expression "*(code **)(*plVar3 + 0x88)" (* "*") (cast_expression "(code **)(*plVar3 + 0x88)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*plVar3 + 0x88)" (( "(") (binary_expression "*plVar3 + 0x88" (pointer_expression "*plVar3" (* "*") (identifier "plVar3")) (+ "+") (number_literal "0x88")) () ")"))))) () ")")) (argument_list "(plVar3,&local_68)" (( "(") (identifier "plVar3") (, ",") (pointer_expression "&local_68" (& "&") (identifier "local_68")) () ")"))) (; ";")) (expression_statement "FUN_0016da80(&local_48,local_68,uStack_60 & 0xffffffff,local_58,0x10,param_1);" (call_expression "FUN_0016da80(&local_48,local_68,uStack_60 & 0xffffffff,local_58,0x10,param_1)" (identifier "FUN_0016da80") (argument_list "(&local_48,local_68,uStack_60 & 0xffffffff,local_58,0x10,param_1)" (( "(") (pointer_expression "&local_48" (& "&") (identifier "local_48")) (, ",") (identifier "local_68") (, ",") (binary_expression "uStack_60 & 0xffffffff" (identifier "uStack_60") (& "&") (number_literal "0xffffffff")) (, ",") (identifier "local_58") (, ",") (number_literal "0x10") (, ",") (identifier "param_1") () ")"))) (; ";")) (if_statement "if (local_40 != 0) {\n      plVar3 = (long *)param_1[1];\n      if (plVar3 == (long *)param_1[2]) {\n        FUN_001982e0(param_1,plVar3,&local_48);\n      }\n      else {\n        *plVar3 = (long)(plVar3 + 2);\n                    \n        FUN_00166a10(plVar3,local_48,local_48 + local_40);\n        param_1[1] = param_1[1] + 0x20;\n      }\n    }" (if "if") (parenthesized_expression "(local_40 != 0)" (( "(") (binary_expression "local_40 != 0" (identifier "local_40") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      plVar3 = (long *)param_1[1];\n      if (plVar3 == (long *)param_1[2]) {\n        FUN_001982e0(param_1,plVar3,&local_48);\n      }\n      else {\n        *plVar3 = (long)(plVar3 + 2);\n                    \n        FUN_00166a10(plVar3,local_48,local_48 + local_40);\n        param_1[1] = param_1[1] + 0x20;\n      }\n    }" ({ "{") (expression_statement "plVar3 = (long *)param_1[1];" (assignment_expression "plVar3 = (long *)param_1[1]" (identifier "plVar3") (= "=") (cast_expression "(long *)param_1[1]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")))) (; ";")) (if_statement "if (plVar3 == (long *)param_1[2]) {\n        FUN_001982e0(param_1,plVar3,&local_48);\n      }\n      else {\n        *plVar3 = (long)(plVar3 + 2);\n                    \n        FUN_00166a10(plVar3,local_48,local_48 + local_40);\n        param_1[1] = param_1[1] + 0x20;\n      }" (if "if") (parenthesized_expression "(plVar3 == (long *)param_1[2])" (( "(") (binary_expression "plVar3 == (long *)param_1[2]" (identifier "plVar3") (== "==") (cast_expression "(long *)param_1[2]" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[2]" (identifier "param_1") ([ "[") (number_literal "2") (] "]")))) () ")")) (compound_statement "{\n        FUN_001982e0(param_1,plVar3,&local_48);\n      }" ({ "{") (expression_statement "FUN_001982e0(param_1,plVar3,&local_48);" (call_expression "FUN_001982e0(param_1,plVar3,&local_48)" (identifier "FUN_001982e0") (argument_list "(param_1,plVar3,&local_48)" (( "(") (identifier "param_1") (, ",") (identifier "plVar3") (, ",") (pointer_expression "&local_48" (& "&") (identifier "local_48")) () ")"))) (; ";")) (} "}")) (else_clause "else {\n        *plVar3 = (long)(plVar3 + 2);\n                    \n        FUN_00166a10(plVar3,local_48,local_48 + local_40);\n        param_1[1] = param_1[1] + 0x20;\n      }" (else "else") (compound_statement "{\n        *plVar3 = (long)(plVar3 + 2);\n                    \n        FUN_00166a10(plVar3,local_48,local_48 + local_40);\n        param_1[1] = param_1[1] + 0x20;\n      }" ({ "{") (expression_statement "*plVar3 = (long)(plVar3 + 2);" (assignment_expression "*plVar3 = (long)(plVar3 + 2)" (pointer_expression "*plVar3" (* "*") (identifier "plVar3")) (= "=") (cast_expression "(long)(plVar3 + 2)" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (parenthesized_expression "(plVar3 + 2)" (( "(") (binary_expression "plVar3 + 2" (identifier "plVar3") (+ "+") (number_literal "2")) () ")")))) (; ";")) (expression_statement "FUN_00166a10(plVar3,local_48,local_48 + local_40);" (call_expression "FUN_00166a10(plVar3,local_48,local_48 + local_40)" (identifier "FUN_00166a10") (argument_list "(plVar3,local_48,local_48 + local_40)" (( "(") (identifier "plVar3") (, ",") (identifier "local_48") (, ",") (binary_expression "local_48 + local_40" (identifier "local_48") (+ "+") (identifier "local_40")) () ")"))) (; ";")) (expression_statement "param_1[1] = param_1[1] + 0x20;" (assignment_expression "param_1[1] = param_1[1] + 0x20" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "param_1[1] + 0x20" (subscript_expression "param_1[1]" (identifier "param_1") ([ "[") (number_literal "1") (] "]")) (+ "+") (number_literal "0x20"))) (; ";")) (} "}")))) (} "}"))) (if_statement "if (local_48 != auStack_38) {\n      FUN_002dac60();\n    }" (if "if") (parenthesized_expression "(local_48 != auStack_38)" (( "(") (binary_expression "local_48 != auStack_38" (identifier "local_48") (!= "!=") (identifier "auStack_38")) () ")")) (compound_statement "{\n      FUN_002dac60();\n    }" ({ "{") (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" (identifier "FUN_002dac60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "lVar1 = *(long *)(lVar1 + 0x28);" (assignment_expression "lVar1 = *(long *)(lVar1 + 0x28)" (identifier "lVar1") (= "=") (pointer_expression "*(long *)(lVar1 + 0x28)" (* "*") (cast_expression "(long *)(lVar1 + 0x28)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar1 + 0x28)" (( "(") (binary_expression "lVar1 + 0x28" (identifier "lVar1") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (if_statement "if (lVar1 != 0) {\n      FUN_0017a690(lVar1 + 0x28,param_2);\n    }" (if "if") (parenthesized_expression "(lVar1 != 0)" (( "(") (binary_expression "lVar1 != 0" (identifier "lVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_0017a690(lVar1 + 0x28,param_2);\n    }" ({ "{") (expression_statement "FUN_0017a690(lVar1 + 0x28,param_2);" (call_expression "FUN_0017a690(lVar1 + 0x28,param_2)" (identifier "FUN_0017a690") (argument_list "(lVar1 + 0x28,param_2)" (( "(") (binary_expression "lVar1 + 0x28" (identifier "lVar1") (+ "+") (number_literal "0x28")) (, ",") (identifier "param_2") () ")"))) (; ";")) (} "}"))) (return_statement "return param_1;" (return "return") (identifier "param_1") (; ";")) (} "}"))) (expression_statement "FUN_0017c650("../../gold/parameters.h",0x69,"target");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x69,"target")" (identifier "FUN_0017c650") (argument_list "("../../gold/parameters.h",0x69,"target")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x69") (, ",") (string_literal ""target"" (" """) (string_content "target") (" """)) () ")"))) (; ";")) (} "}")))

/* WARNING: Enum "DT": Some values do not have unique names */

vector<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_std::var_1<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>var_3>
* gold::Symbol_table::linenos_from_loc
            (vector<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_std::var_1<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>var_3>
             *__return_storage_ptr__,Task *task,type_7 *loc)

{
  type_1 *ppbVar1;
  type_2 *pOVar2;
  type_3 *var_4;
  type_4 *var_7;
  type_5 __position;
  type_6 *pPVar5;
  vector<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_std::var_1<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>var_3>
  *result;
  type_7 code_loc;
  type_8 canonical_result;
  
  pOVar2 = loc->object;
  var_4 = pOVar2->input_file_;
  if (var_4 != (type_3 *)0x0) {
    File_read::var_5(&var_4->file_,task);
  }
  code_loc.offset = loc->offset;
  code_loc.object = loc->object;
  code_loc.shndx = loc->shndx;
  code_loc._12_4_ = *(type_9 *)&loc->field_0xc;
  (__return_storage_ptr__->
  super__Vector_base<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_std::var_1<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>var_3>var_6
  )._M_impl._M_start = (type_1)0x0;
  (__return_storage_ptr__->
  super__Vector_base<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_std::var_1<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>var_3>var_6
  )._M_impl._M_finish = (type_1)0x0;
  pPVar5 = parameters;
  (__return_storage_ptr__->
  super__Vector_base<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_std::var_1<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>var_3>var_6
  )._M_impl._M_end_of_storage = (type_1)0x0;
  var_7 = pPVar5->target_;
  if (var_7 != (type_4 *)0x0) {
                    /* try { // try from 0027309e to 002730c6 has its CatchHandler @ 00273173 */
    (**(type_10 **)(*(long *)var_7 + 0x88))(var_7,&code_loc);
    Dwarf_line_info::var_8
              (&canonical_result,code_loc.object,code_loc.shndx,code_loc.offset,0x10,
               __return_storage_ptr__);
    if (canonical_result._M_string_length != 0) {
      __position._M_current =
           (__return_storage_ptr__->
           super__Vector_base<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_std::var_1<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>var_3>var_6
           )._M_impl._M_finish;
      if (__position._M_current ==
          (__return_storage_ptr__->
          super__Vector_base<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_std::var_1<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>var_3>var_6
          )._M_impl._M_end_of_storage) {
        std::
        vector<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_std::var_1<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>var_3>
        ::
        _M_realloc_insert<const_std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>&>
                  (__return_storage_ptr__,__position,&canonical_result);
      }
      else {
        ((__position._M_current)->_M_dataplus)._M_p = (type_1)&(__position._M_current)->field_2;
                    /* try { // try from 0027312e to 0027314d has its CatchHandler @ 0027316b */
        std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>::
        var_9<var_2*>(__position._M_current,canonical_result._M_dataplus._M_p,
                            canonical_result._M_dataplus._M_p + canonical_result._M_string_length);
        ppbVar1 = &(__return_storage_ptr__->
                   super__Vector_base<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>,_std::var_1<std::__cxx11::basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_3>var_3>var_6
                   )._M_impl._M_finish;
        *ppbVar1 = *ppbVar1 + 1;
      }
    }
    if ((anon_union_16_2_edb7204a_for_basic_string<var_2,_std::char_traits<var_2>,_std::var_1<var_2>var_3>var_10
         *)canonical_result._M_dataplus._M_p != &canonical_result.field_2) {
      var_11(canonical_result._M_dataplus._M_p);
    }
    var_4 = pOVar2->input_file_;
    if (var_4 != (type_3 *)0x0) {
      File_read::var_12(&var_4->file_,task);
    }
    return __return_storage_ptr__;
  }
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00273166 to 0027316a has its CatchHandler @ 00273173 */
  var_13("../../gold/parameters.h",0x69,"target");
}


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

undefined8 * MASKED(undefined8 *param_1,undefined8 param_2,long *param_3)

{
  long lVar1;
  long lVar2;
  long *plVar3;
  undefined *puVar4;
  long local_68;
  ulong uStack_60;
  long local_58;
  undefined1 *local_48;
  long local_40;
  undefined1 auStack_38 [16];
  
  lVar1 = *param_3;
  lVar2 = *(long *)(lVar1 + 0x28);
  if (lVar2 != 0) {
    FUN_00179ad0(lVar2 + 0x28);
  }
  local_58 = param_3[2];
  local_68 = *param_3;
  uStack_60 = param_3[1];
  *param_1 = 0;
  param_1[1] = 0;
  puVar4 = PTR_DAT_0043e6b0;
  param_1[2] = 0;
  plVar3 = *(long **)(puVar4 + 0x18);
  if (plVar3 != (long *)0x0) {
                    /* try { // try from 0027309e to 002730c6 has its CatchHandler @ 00273173 */
    (**(code **)(*plVar3 + 0x88))(plVar3,&local_68);
    FUN_0016da80(&local_48,local_68,uStack_60 & 0xffffffff,local_58,0x10,param_1);
    if (local_40 != 0) {
      plVar3 = (long *)param_1[1];
      if (plVar3 == (long *)param_1[2]) {
        FUN_001982e0(param_1,plVar3,&local_48);
      }
      else {
        *plVar3 = (long)(plVar3 + 2);
                    /* try { // try from 0027312e to 0027314d has its CatchHandler @ 0027316b */
        FUN_00166a10(plVar3,local_48,local_48 + local_40);
        param_1[1] = param_1[1] + 0x20;
      }
    }
    if (local_48 != auStack_38) {
      FUN_002dac60();
    }
    lVar1 = *(long *)(lVar1 + 0x28);
    if (lVar1 != 0) {
      FUN_0017a690(lVar1 + 0x28,param_2);
    }
    return param_1;
  }
                    /* WARNING: Subroutine does not return */
                    /* try { // try from 00273166 to 0027316a has its CatchHandler @ 00273173 */
  FUN_0017c650("../../gold/parameters.h",0x69,"target");
}

