
/* DWARF original prototype: string section_name(Elf_file<32,_false,_gold::Object> * this, uint
   shndx) */

string * __thiscall
elfcpp::Elf_file<32,_false,_gold::Object>::section_name
          (string *__return_storage_ptr__,Elf_file<32,_false,_gold::Object> *this,uint shndx)

{
  uint *puVar1;
  uchar *puVar2;
  int iVar3;
  undefined4 uVar4;
  section_size_type shndx_00;
  uint uVar5;
  uint uVar6;
  Object *pOVar7;
  uint uVar8;
  off_t oVar9;
  
  pOVar7 = this->file_;
  uVar5 = shndx;
  oVar9 = section_header_offset(this,shndx);
  if (pOVar7->input_file_ != (Input_file *)0x0) {
    puVar1 = (uint *)gold::File_read::get_view
                               (&pOVar7->input_file_->file_,oVar9,0x2800000001,uVar5,
                                SUB41(*(undefined4 *)&pOVar7->offset_,0),
                                SUB41((int)pOVar7->offset_,0));
    shndx_00 = this->shstrndx_;
    uVar5 = *puVar1;
    oVar9 = section_header_offset(this,shndx_00);
    uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +
            ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;
    if (pOVar7->input_file_ != (Input_file *)0x0) {
      puVar2 = gold::File_read::get_view
                         (&pOVar7->input_file_->file_,oVar9,0x2800000001,shndx_00,
                          SUB41(*(undefined4 *)&pOVar7->offset_,0),SUB41((int)pOVar7->offset_,0));
      uVar6 = *(uint *)(puVar2 + 0x14);
      uVar8 = *(uint *)(puVar2 + 0x10);
      uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +
              ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;
      if (uVar6 <= uVar5) {
        shndx_00 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8);
        (*(code *)PTR_error_00432a5c)(pOVar7,shndx_00,shndx,uVar5);
      }
      if (pOVar7->input_file_ != (Input_file *)0x0) {
        puVar2 = gold::File_read::get_view
                           (&pOVar7->input_file_->file_,
                            (ulonglong)
                            ((((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +
                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000),CONCAT44(uVar6,1),
                            shndx_00,SUB41(*(undefined4 *)&pOVar7->offset_,0),
                            SUB41((int)pOVar7->offset_,0));
        iVar3 = (*(code *)PTR_memchr_004366a8)(puVar2 + uVar5,0,uVar6 - uVar5);
        if (iVar3 == 0) {
          uVar4 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);
          (*(code *)PTR_error_00432a5c)(pOVar7,uVar4,shndx);
        }
        (__return_storage_ptr__->_M_dataplus)._M_p = (pointer)&__return_storage_ptr__->field_2;
        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::
        _M_construct<char_const*>(__return_storage_ptr__,puVar2 + uVar5,iVar3,0);
        return __return_storage_ptr__;
      }
    }
  }
                    /* WARNING: Subroutine does not return */
  gold::do_gold_unreachable(PTR_LAB_0043220c + 0x44a8,0x1e3,PTR_LAB_0043220c + 0x5a4c);
}



/* elfcpp::Elf_file<32, false, gold::Object>::section_name[abi:cxx11](unsigned int) const */

uint elfcpp::Elf_file<32,false,gold::Object>::section_name_abi_cxx11_(uint param_1)

{
  longlong lVar1;
  uint *puVar2;
  int iVar3;
  int iVar4;
  undefined4 uVar5;
  Elf_file<32,false,gold::Object> *in_a1;
  uint uVar6;
  undefined1 uVar7;
  uint in_a2;
  uint uVar8;
  int iVar9;
  uint uVar10;
  
  iVar9 = *(int *)in_a1;
  uVar6 = in_a2;
  lVar1 = section_header_offset(in_a1,in_a2);
  if (*(int *)(iVar9 + 0x1c) != 0) {
    puVar2 = (uint *)gold::File_read::get_view
                               (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,SUB41(uVar6,0),
                                SUB41(*(undefined4 *)(iVar9 + 0x20),0));
    uVar6 = *(uint *)(in_a1 + 0x14);
    uVar8 = *puVar2;
    lVar1 = section_header_offset(in_a1,uVar6);
    uVar7 = (undefined1)uVar6;
    uVar6 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +
            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;
    if (*(int *)(iVar9 + 0x1c) != 0) {
      iVar3 = gold::File_read::get_view
                        (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,
                         SUB41(*(undefined4 *)(iVar9 + 0x20),0));
      uVar8 = *(uint *)(iVar3 + 0x14);
      uVar10 = *(uint *)(iVar3 + 0x10);
      uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +
              ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;
      if (uVar8 <= uVar6) {
        uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8);
        (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2,uVar6);
        uVar7 = (undefined1)uVar5;
      }
      if (*(int *)(iVar9 + 0x1c) != 0) {
        iVar3 = gold::File_read::get_view
                          ((ulonglong)
                           ((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +
                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000),CONCAT44(uVar8,1),
                           *(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,
                           SUB41(*(undefined4 *)(iVar9 + 0x20),0));
        iVar4 = (*(code *)PTR_memchr_004366a8)(iVar3 + uVar6,0,uVar8 - uVar6);
        if (iVar4 == 0) {
          uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);
          (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2);
        }
        *(uint *)param_1 = param_1 + 8;
        std::string::_M_construct<char_const*>((string *)param_1,iVar3 + uVar6,iVar4,0);
        return param_1;
      }
    }
  }
                    /* WARNING: Subroutine does not return */
  gold::do_gold_unreachable(PTR_LAB_0043220c + 0x44a8,0x1e3,PTR_LAB_0043220c + 0x5a4c);
}


lui gp,0x37
addiu gp,gp,-0x6558
addu gp,gp,t9
addiu sp,sp,-0x58
sw s6,0x4c(sp)
sw s2,0x3c(sp)
sw s1,0x38(sp)
or s1,a1,zero
sw gp,0x28(sp)
sw s5,0x48(sp)
or s5,a2,zero
sw s4,0x44(sp)
or s4,a0,zero
sw ra,0x54(sp)
or a0,s1,zero
sw s7,0x50(sp)
sw s3,0x40(sp)
sw s0,0x34(sp)
lw s6,-0x76c0(gp)
lw s2,0x0(a1)
or t9,s6,zero
bal 0x000d0494
_or a1,a2,zero
lw a0,0x1c(s2)
beq a0,zero,0x000d0948
_lw gp,0x28(sp)
lw a3,0x24(s2)
li s3,0x1
lw a2,0x20(s2)
li s7,0x28
lw t9,-0x7d34(gp)
addiu a0,a0,0x20
sw v1,0x14(sp)
sw s3,0x20(sp)
sw s3,0x1c(sp)
sw s7,0x18(sp)
bal 0x000e97b8
_sw v0,0x10(sp)
or a0,s1,zero
lw a1,0x14(s1)
or t9,s6,zero
bal 0x000d0494
_lw s0,0x0(v0)
lw a0,0x1c(s2)
wsbh s0,s0
lw gp,0x28(sp)
beq a0,zero,0x000d0948
_rotr s0,s0,0x10
lw a3,0x24(s2)
addiu a0,a0,0x20
lw a2,0x20(s2)
lw t9,-0x7d34(gp)
sw s3,0x20(sp)
sw s3,0x1c(sp)
sw s7,0x18(sp)
sw v1,0x14(sp)
bal 0x000e97b8
_sw v0,0x10(sp)
lw s1,0x14(v0)
lw s3,0x10(v0)
lw gp,0x28(sp)
wsbh s1,s1
wsbh s3,s3
rotr s1,s1,0x10
sltu v0,s0,s1
beq v0,zero,0x000d08e4
_rotr s3,s3,0x10
lw a0,0x1c(s2)
beq a0,zero,0x000d0948
_li v0,0x1
lw a3,0x24(s2)
lw a2,0x20(s2)
addiu a0,a0,0x20
lw t9,-0x7d34(gp)
sw s1,0x18(sp)
sw v0,0x20(sp)
sw v0,0x1c(sp)
sw s3,0x14(sp)
bal 0x000e97b8
_sw zero,0x10(sp)
subu a2,s1,s0
lw gp,0x28(sp)
addu s0,v0,s0
or a1,zero,zero
lw t9,-0x3b28(gp)
jalr t9
_or a0,s0,zero
lw gp,0x28(sp)
beq v0,zero,0x000d0918
_or s1,v0,zero
or a3,zero,zero
lw t9,-0x7d48(gp)
addiu v0,s4,0x8
sll a3,a3,0x18
sw v0,0x0(s4)
or a2,s1,zero
or a1,s0,zero
bal 0x000cc59c
_or a0,s4,zero
or v0,s4,zero
lw ra,0x54(sp)
lw s7,0x50(sp)
lw s6,0x4c(sp)
lw s5,0x48(sp)
lw s4,0x44(sp)
lw s3,0x40(sp)
lw s2,0x3c(sp)
lw s1,0x38(sp)
lw s0,0x34(sp)
jr ra
_addiu sp,sp,0x58
lw a0,-0x7fc4(gp)
lw t9,-0x39b8(gp)
jalr t9
_addiu a0,a0,0x4fa8
or a3,s0,zero
lw gp,0x28(sp)
or a2,s5,zero
or a1,v0,zero
lw t9,-0x7774(gp)
jalr t9
_or a0,s2,zero
b 0x000d0834
_lw gp,0x28(sp)
lw a0,-0x7fc4(gp)
lw t9,-0x39b8(gp)
jalr t9
_addiu a0,a0,0x4fd4
or a2,s5,zero
lw gp,0x28(sp)
or a1,v0,zero
lw t9,-0x7774(gp)
jalr t9
_or a0,s2,zero
b 0x000d0890
_lw gp,0x28(sp)
lw a2,-0x7fc4(gp)
li a1,0x1e3
lw a0,-0x7fc4(gp)
lw t9,-0x7e0c(gp)
addiu a2,a2,0x5a4c
bal 0x000eb2f0
_addiu a0,a0,0x44a8
(translation_unit "/* elfcpp::Elf_file<32, false, gold::Object>::section_name[abi:cxx11](unsigned int) const */\n\nuint elfcpp::Elf_file<32,false,gold::Object>::section_name_abi_cxx11_(uint param_1)\n\n{\n  longlong lVar1;\n  uint *puVar2;\n  int iVar3;\n  int iVar4;\n  undefined4 uVar5;\n  Elf_file<32,false,gold::Object> *in_a1;\n  uint uVar6;\n  undefined1 uVar7;\n  uint in_a2;\n  uint uVar8;\n  int iVar9;\n  uint uVar10;\n  \n  iVar9 = *(int *)in_a1;\n  uVar6 = in_a2;\n  lVar1 = section_header_offset(in_a1,in_a2);\n  if (*(int *)(iVar9 + 0x1c) != 0) {\n    puVar2 = (uint *)gold::File_read::get_view\n                               (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,SUB41(uVar6,0),\n                                SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n    uVar6 = *(uint *)(in_a1 + 0x14);\n    uVar8 = *puVar2;\n    lVar1 = section_header_offset(in_a1,uVar6);\n    uVar7 = (undefined1)uVar6;\n    uVar6 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n    if (*(int *)(iVar9 + 0x1c) != 0) {\n      iVar3 = gold::File_read::get_view\n                        (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                         SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n      uVar8 = *(uint *)(iVar3 + 0x14);\n      uVar10 = *(uint *)(iVar3 + 0x10);\n      uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n      if (uVar8 <= uVar6) {\n        uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8);\n        (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2,uVar6);\n        uVar7 = (undefined1)uVar5;\n      }\n      if (*(int *)(iVar9 + 0x1c) != 0) {\n        iVar3 = gold::File_read::get_view\n                          ((ulonglong)\n                           ((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000),CONCAT44(uVar8,1),\n                           *(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                           SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n        iVar4 = (*(code *)PTR_memchr_004366a8)(iVar3 + uVar6,0,uVar8 - uVar6);\n        if (iVar4 == 0) {\n          uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);\n          (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2);\n        }\n        *(uint *)param_1 = param_1 + 8;\n        std::string::_M_construct<char_const*>((string *)param_1,iVar3 + uVar6,iVar4,0);\n        return param_1;\n      }\n    }\n  }\n                    /* WARNING: Subroutine does not return */\n  gold::do_gold_unreachable(PTR_LAB_0043220c + 0x44a8,0x1e3,PTR_LAB_0043220c + 0x5a4c);\n}\n\n" comment (declaration "uint elfcpp::Elf_file<32,false,gold::Object>::section_name_abi_cxx11_(uint param_1)\n\n{\n  longlong lVar1;" type_identifier (ERROR "elfcpp::" identifier : :) identifier (ERROR "<32" < number_literal) , identifier , (ERROR "gold::Object>::section_name_abi_cxx11_(uint param_1)\n\n{\n  longlong" identifier : : identifier > : : (function_declarator "section_name_abi_cxx11_(uint param_1)" identifier (parameter_list "(uint param_1)" ( (parameter_declaration "uint param_1" type_identifier identifier) ))) { identifier) identifier ;) (declaration "uint *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (ERROR "Elf_file<32,false," (binary_expression "Elf_file<32" identifier < number_literal) , false ,) (labeled_statement "gold::Object> *in_a1;" statement_identifier : (ERROR ":" :) (expression_statement "Object> *in_a1;" (binary_expression "Object> *in_a1" identifier > (pointer_expression "*in_a1" * identifier)) ;)) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "undefined1 uVar7;" type_identifier identifier ;) (declaration "uint in_a2;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (expression_statement "iVar9 = *(int *)in_a1;" (assignment_expression "iVar9 = *(int *)in_a1" identifier = (pointer_expression "*(int *)in_a1" * (cast_expression "(int *)in_a1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar6 = in_a2;" (assignment_expression "uVar6 = in_a2" identifier = identifier) ;) (expression_statement "lVar1 = section_header_offset(in_a1,in_a2);" (assignment_expression "lVar1 = section_header_offset(in_a1,in_a2)" identifier = (call_expression "section_header_offset(in_a1,in_a2)" identifier (argument_list "(in_a1,in_a2)" ( identifier , identifier )))) ;) (if_statement "if (*(int *)(iVar9 + 0x1c) != 0) {\n    puVar2 = (uint *)gold::File_read::get_view\n                               (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,SUB41(uVar6,0),\n                                SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n    uVar6 = *(uint *)(in_a1 + 0x14);\n    uVar8 = *puVar2;\n    lVar1 = section_header_offset(in_a1,uVar6);\n    uVar7 = (undefined1)uVar6;\n    uVar6 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n    if (*(int *)(iVar9 + 0x1c) != 0) {\n      iVar3 = gold::File_read::get_view\n                        (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                         SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n      uVar8 = *(uint *)(iVar3 + 0x14);\n      uVar10 = *(uint *)(iVar3 + 0x10);\n      uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n      if (uVar8 <= uVar6) {\n        uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8);\n        (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2,uVar6);\n        uVar7 = (undefined1)uVar5;\n      }\n      if (*(int *)(iVar9 + 0x1c) != 0) {\n        iVar3 = gold::File_read::get_view\n                          ((ulonglong)\n                           ((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000),CONCAT44(uVar8,1),\n                           *(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                           SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n        iVar4 = (*(code *)PTR_memchr_004366a8)(iVar3 + uVar6,0,uVar8 - uVar6);\n        if (iVar4 == 0) {\n          uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);\n          (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2);\n        }\n        *(uint *)param_1 = param_1 + 8;\n        std::string::_M_construct<char_const*>((string *)param_1,iVar3 + uVar6,iVar4,0);\n        return param_1;\n      }\n    }\n  }" if (parenthesized_expression "(*(int *)(iVar9 + 0x1c) != 0)" ( (binary_expression "*(int *)(iVar9 + 0x1c) != 0" (pointer_expression "*(int *)(iVar9 + 0x1c)" * (cast_expression "(int *)(iVar9 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x1c)" ( (binary_expression "iVar9 + 0x1c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    puVar2 = (uint *)gold::File_read::get_view\n                               (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,SUB41(uVar6,0),\n                                SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n    uVar6 = *(uint *)(in_a1 + 0x14);\n    uVar8 = *puVar2;\n    lVar1 = section_header_offset(in_a1,uVar6);\n    uVar7 = (undefined1)uVar6;\n    uVar6 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n    if (*(int *)(iVar9 + 0x1c) != 0) {\n      iVar3 = gold::File_read::get_view\n                        (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                         SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n      uVar8 = *(uint *)(iVar3 + 0x14);\n      uVar10 = *(uint *)(iVar3 + 0x10);\n      uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n      if (uVar8 <= uVar6) {\n        uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8);\n        (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2,uVar6);\n        uVar7 = (undefined1)uVar5;\n      }\n      if (*(int *)(iVar9 + 0x1c) != 0) {\n        iVar3 = gold::File_read::get_view\n                          ((ulonglong)\n                           ((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000),CONCAT44(uVar8,1),\n                           *(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                           SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n        iVar4 = (*(code *)PTR_memchr_004366a8)(iVar3 + uVar6,0,uVar8 - uVar6);\n        if (iVar4 == 0) {\n          uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);\n          (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2);\n        }\n        *(uint *)param_1 = param_1 + 8;\n        std::string::_M_construct<char_const*>((string *)param_1,iVar3 + uVar6,iVar4,0);\n        return param_1;\n      }\n    }\n  }" { (ERROR "puVar2 = (uint *)gold::" (assignment_expression "puVar2 = (uint *)gold" identifier = (cast_expression "(uint *)gold" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) : :) (labeled_statement "File_read::get_view\n                               (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,SUB41(uVar6,0),\n                                SUB41(*(undefined4 *)(iVar9 + 0x20),0));" statement_identifier : (ERROR ":" :) (expression_statement "get_view\n                               (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,SUB41(uVar6,0),\n                                SUB41(*(undefined4 *)(iVar9 + 0x20),0));" (call_expression "get_view\n                               (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,SUB41(uVar6,0),\n                                SUB41(*(undefined4 *)(iVar9 + 0x20),0))" identifier (argument_list "(lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,SUB41(uVar6,0),\n                                SUB41(*(undefined4 *)(iVar9 + 0x20),0))" ( identifier , number_literal , (binary_expression "*(int *)(iVar9 + 0x1c) + 0x20" (pointer_expression "*(int *)(iVar9 + 0x1c)" * (cast_expression "(int *)(iVar9 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x1c)" ( (binary_expression "iVar9 + 0x1c" identifier + number_literal) )))) + number_literal) , (call_expression "SUB41(uVar6,0)" identifier (argument_list "(uVar6,0)" ( identifier , number_literal ))) , (call_expression "SUB41(*(undefined4 *)(iVar9 + 0x20),0)" identifier (argument_list "(*(undefined4 *)(iVar9 + 0x20),0)" ( (pointer_expression "*(undefined4 *)(iVar9 + 0x20)" * (cast_expression "(undefined4 *)(iVar9 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x20)" ( (binary_expression "iVar9 + 0x20" identifier + number_literal) )))) , number_literal ))) ))) ;)) (expression_statement "uVar6 = *(uint *)(in_a1 + 0x14);" (assignment_expression "uVar6 = *(uint *)(in_a1 + 0x14)" identifier = (pointer_expression "*(uint *)(in_a1 + 0x14)" * (cast_expression "(uint *)(in_a1 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_a1 + 0x14)" ( (binary_expression "in_a1 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = *puVar2;" (assignment_expression "uVar8 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "lVar1 = section_header_offset(in_a1,uVar6);" (assignment_expression "lVar1 = section_header_offset(in_a1,uVar6)" identifier = (call_expression "section_header_offset(in_a1,uVar6)" identifier (argument_list "(in_a1,uVar6)" ( identifier , identifier )))) ;) (expression_statement "uVar7 = (undefined1)uVar6;" (assignment_expression "uVar7 = (undefined1)uVar6" identifier = (cast_expression "(undefined1)uVar6" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "uVar6 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar6 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10)" ( (binary_expression "(uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10" (binary_expression "(uVar8 >> 0x10) << 0x18" (parenthesized_expression "(uVar8 >> 0x10)" ( (binary_expression "uVar8 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar8 >> 0x18) << 0x10" (parenthesized_expression "(uVar8 >> 0x18)" ( (binary_expression "uVar8 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff)" ( (binary_expression "(uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff" (binary_expression "(uVar8 & 0xff) << 8" (parenthesized_expression "(uVar8 & 0xff)" ( (binary_expression "uVar8 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar8 >> 8 & 0xff" (binary_expression "uVar8 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (if_statement "if (*(int *)(iVar9 + 0x1c) != 0) {\n      iVar3 = gold::File_read::get_view\n                        (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                         SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n      uVar8 = *(uint *)(iVar3 + 0x14);\n      uVar10 = *(uint *)(iVar3 + 0x10);\n      uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n      if (uVar8 <= uVar6) {\n        uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8);\n        (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2,uVar6);\n        uVar7 = (undefined1)uVar5;\n      }\n      if (*(int *)(iVar9 + 0x1c) != 0) {\n        iVar3 = gold::File_read::get_view\n                          ((ulonglong)\n                           ((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000),CONCAT44(uVar8,1),\n                           *(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                           SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n        iVar4 = (*(code *)PTR_memchr_004366a8)(iVar3 + uVar6,0,uVar8 - uVar6);\n        if (iVar4 == 0) {\n          uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);\n          (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2);\n        }\n        *(uint *)param_1 = param_1 + 8;\n        std::string::_M_construct<char_const*>((string *)param_1,iVar3 + uVar6,iVar4,0);\n        return param_1;\n      }\n    }" if (parenthesized_expression "(*(int *)(iVar9 + 0x1c) != 0)" ( (binary_expression "*(int *)(iVar9 + 0x1c) != 0" (pointer_expression "*(int *)(iVar9 + 0x1c)" * (cast_expression "(int *)(iVar9 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x1c)" ( (binary_expression "iVar9 + 0x1c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      iVar3 = gold::File_read::get_view\n                        (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                         SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n      uVar8 = *(uint *)(iVar3 + 0x14);\n      uVar10 = *(uint *)(iVar3 + 0x10);\n      uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n      if (uVar8 <= uVar6) {\n        uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8);\n        (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2,uVar6);\n        uVar7 = (undefined1)uVar5;\n      }\n      if (*(int *)(iVar9 + 0x1c) != 0) {\n        iVar3 = gold::File_read::get_view\n                          ((ulonglong)\n                           ((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000),CONCAT44(uVar8,1),\n                           *(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                           SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n        iVar4 = (*(code *)PTR_memchr_004366a8)(iVar3 + uVar6,0,uVar8 - uVar6);\n        if (iVar4 == 0) {\n          uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);\n          (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2);\n        }\n        *(uint *)param_1 = param_1 + 8;\n        std::string::_M_construct<char_const*>((string *)param_1,iVar3 + uVar6,iVar4,0);\n        return param_1;\n      }\n    }" { (ERROR "iVar3 = gold::" (assignment_expression "iVar3 = gold" identifier = identifier) : :) (labeled_statement "File_read::get_view\n                        (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                         SUB41(*(undefined4 *)(iVar9 + 0x20),0));" statement_identifier : (ERROR ":" :) (expression_statement "get_view\n                        (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                         SUB41(*(undefined4 *)(iVar9 + 0x20),0));" (call_expression "get_view\n                        (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                         SUB41(*(undefined4 *)(iVar9 + 0x20),0))" identifier (argument_list "(lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                         SUB41(*(undefined4 *)(iVar9 + 0x20),0))" ( identifier , number_literal , (binary_expression "*(int *)(iVar9 + 0x1c) + 0x20" (pointer_expression "*(int *)(iVar9 + 0x1c)" * (cast_expression "(int *)(iVar9 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x1c)" ( (binary_expression "iVar9 + 0x1c" identifier + number_literal) )))) + number_literal) , (cast_expression "(bool)uVar7" ( (type_descriptor "bool" primitive_type) ) identifier) , (call_expression "SUB41(*(undefined4 *)(iVar9 + 0x20),0)" identifier (argument_list "(*(undefined4 *)(iVar9 + 0x20),0)" ( (pointer_expression "*(undefined4 *)(iVar9 + 0x20)" * (cast_expression "(undefined4 *)(iVar9 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x20)" ( (binary_expression "iVar9 + 0x20" identifier + number_literal) )))) , number_literal ))) ))) ;)) (expression_statement "uVar8 = *(uint *)(iVar3 + 0x14);" (assignment_expression "uVar8 = *(uint *)(iVar3 + 0x14)" identifier = (pointer_expression "*(uint *)(iVar3 + 0x14)" * (cast_expression "(uint *)(iVar3 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar10 = *(uint *)(iVar3 + 0x10);" (assignment_expression "uVar10 = *(uint *)(iVar3 + 0x10)" identifier = (pointer_expression "*(uint *)(iVar3 + 0x10)" * (cast_expression "(uint *)(iVar3 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x10)" ( (binary_expression "iVar3 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10)" ( (binary_expression "(uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10" (binary_expression "(uVar8 >> 0x10) << 0x18" (parenthesized_expression "(uVar8 >> 0x10)" ( (binary_expression "uVar8 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar8 >> 0x18) << 0x10" (parenthesized_expression "(uVar8 >> 0x18)" ( (binary_expression "uVar8 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff)" ( (binary_expression "(uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff" (binary_expression "(uVar8 & 0xff) << 8" (parenthesized_expression "(uVar8 & 0xff)" ( (binary_expression "uVar8 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar8 >> 8 & 0xff" (binary_expression "uVar8 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (if_statement "if (uVar8 <= uVar6) {\n        uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8);\n        (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2,uVar6);\n        uVar7 = (undefined1)uVar5;\n      }" if (parenthesized_expression "(uVar8 <= uVar6)" ( (binary_expression "uVar8 <= uVar6" identifier <= identifier) )) (compound_statement "{\n        uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8);\n        (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2,uVar6);\n        uVar7 = (undefined1)uVar5;\n      }" { (expression_statement "uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8);" (assignment_expression "uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8)" identifier = (call_expression "(*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8)" (parenthesized_expression "(*(code *)PTR_gettext_00436818)" ( (pointer_expression "*(code *)PTR_gettext_00436818" * (cast_expression "(code *)PTR_gettext_00436818" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_0043220c + 0x4fa8)" ( (binary_expression "PTR_LAB_0043220c + 0x4fa8" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2,uVar6);" (call_expression "(*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2,uVar6)" (parenthesized_expression "(*(code *)PTR_error_00432a5c)" ( (pointer_expression "*(code *)PTR_error_00432a5c" * (cast_expression "(code *)PTR_error_00432a5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar9,uVar5,in_a2,uVar6)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "uVar7 = (undefined1)uVar5;" (assignment_expression "uVar7 = (undefined1)uVar5" identifier = (cast_expression "(undefined1)uVar5" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) })) (if_statement "if (*(int *)(iVar9 + 0x1c) != 0) {\n        iVar3 = gold::File_read::get_view\n                          ((ulonglong)\n                           ((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000),CONCAT44(uVar8,1),\n                           *(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                           SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n        iVar4 = (*(code *)PTR_memchr_004366a8)(iVar3 + uVar6,0,uVar8 - uVar6);\n        if (iVar4 == 0) {\n          uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);\n          (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2);\n        }\n        *(uint *)param_1 = param_1 + 8;\n        std::string::_M_construct<char_const*>((string *)param_1,iVar3 + uVar6,iVar4,0);\n        return param_1;\n      }" if (parenthesized_expression "(*(int *)(iVar9 + 0x1c) != 0)" ( (binary_expression "*(int *)(iVar9 + 0x1c) != 0" (pointer_expression "*(int *)(iVar9 + 0x1c)" * (cast_expression "(int *)(iVar9 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x1c)" ( (binary_expression "iVar9 + 0x1c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        iVar3 = gold::File_read::get_view\n                          ((ulonglong)\n                           ((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000),CONCAT44(uVar8,1),\n                           *(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                           SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n        iVar4 = (*(code *)PTR_memchr_004366a8)(iVar3 + uVar6,0,uVar8 - uVar6);\n        if (iVar4 == 0) {\n          uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);\n          (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2);\n        }\n        *(uint *)param_1 = param_1 + 8;\n        std::string::_M_construct<char_const*>((string *)param_1,iVar3 + uVar6,iVar4,0);\n        return param_1;\n      }" { (ERROR "iVar3 = gold::" (assignment_expression "iVar3 = gold" identifier = identifier) : :) (labeled_statement "File_read::get_view\n                          ((ulonglong)\n                           ((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000),CONCAT44(uVar8,1),\n                           *(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                           SUB41(*(undefined4 *)(iVar9 + 0x20),0));" statement_identifier : (ERROR ":" :) (expression_statement "get_view\n                          ((ulonglong)\n                           ((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000),CONCAT44(uVar8,1),\n                           *(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                           SUB41(*(undefined4 *)(iVar9 + 0x20),0));" (call_expression "get_view\n                          ((ulonglong)\n                           ((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000),CONCAT44(uVar8,1),\n                           *(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                           SUB41(*(undefined4 *)(iVar9 + 0x20),0))" identifier (argument_list "((ulonglong)\n                           ((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000),CONCAT44(uVar8,1),\n                           *(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                           SUB41(*(undefined4 *)(iVar9 + 0x20),0))" ( (call_expression "(ulonglong)\n                           ((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000)" ( (binary_expression "(((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10)" ( (binary_expression "(uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10" (binary_expression "(uVar10 >> 0x10) << 0x18" (parenthesized_expression "(uVar10 >> 0x10)" ( (binary_expression "uVar10 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar10 >> 0x18) << 0x10" (parenthesized_expression "(uVar10 >> 0x18)" ( (binary_expression "uVar10 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff)" ( (binary_expression "(uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff" (binary_expression "(uVar10 & 0xff) << 8" (parenthesized_expression "(uVar10 & 0xff)" ( (binary_expression "uVar10 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar10 >> 8 & 0xff" (binary_expression "uVar10 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) ))) , (call_expression "CONCAT44(uVar8,1)" identifier (argument_list "(uVar8,1)" ( identifier , number_literal ))) , (binary_expression "*(int *)(iVar9 + 0x1c) + 0x20" (pointer_expression "*(int *)(iVar9 + 0x1c)" * (cast_expression "(int *)(iVar9 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x1c)" ( (binary_expression "iVar9 + 0x1c" identifier + number_literal) )))) + number_literal) , (cast_expression "(bool)uVar7" ( (type_descriptor "bool" primitive_type) ) identifier) , (call_expression "SUB41(*(undefined4 *)(iVar9 + 0x20),0)" identifier (argument_list "(*(undefined4 *)(iVar9 + 0x20),0)" ( (pointer_expression "*(undefined4 *)(iVar9 + 0x20)" * (cast_expression "(undefined4 *)(iVar9 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x20)" ( (binary_expression "iVar9 + 0x20" identifier + number_literal) )))) , number_literal ))) ))) ;)) (expression_statement "iVar4 = (*(code *)PTR_memchr_004366a8)(iVar3 + uVar6,0,uVar8 - uVar6);" (assignment_expression "iVar4 = (*(code *)PTR_memchr_004366a8)(iVar3 + uVar6,0,uVar8 - uVar6)" identifier = (call_expression "(*(code *)PTR_memchr_004366a8)(iVar3 + uVar6,0,uVar8 - uVar6)" (parenthesized_expression "(*(code *)PTR_memchr_004366a8)" ( (pointer_expression "*(code *)PTR_memchr_004366a8" * (cast_expression "(code *)PTR_memchr_004366a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3 + uVar6,0,uVar8 - uVar6)" ( (binary_expression "iVar3 + uVar6" identifier + identifier) , number_literal , (binary_expression "uVar8 - uVar6" identifier - identifier) )))) ;) (if_statement "if (iVar4 == 0) {\n          uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);\n          (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2);\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);\n          (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2);\n        }" { (expression_statement "uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);" (assignment_expression "uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4)" identifier = (call_expression "(*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4)" (parenthesized_expression "(*(code *)PTR_gettext_00436818)" ( (pointer_expression "*(code *)PTR_gettext_00436818" * (cast_expression "(code *)PTR_gettext_00436818" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_0043220c + 0x4fd4)" ( (binary_expression "PTR_LAB_0043220c + 0x4fd4" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2);" (call_expression "(*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2)" (parenthesized_expression "(*(code *)PTR_error_00432a5c)" ( (pointer_expression "*(code *)PTR_error_00432a5c" * (cast_expression "(code *)PTR_error_00432a5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar9,uVar5,in_a2)" ( identifier , identifier , identifier ))) ;) })) (expression_statement "*(uint *)param_1 = param_1 + 8;" (assignment_expression "*(uint *)param_1 = param_1 + 8" (pointer_expression "*(uint *)param_1" * (cast_expression "(uint *)param_1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "param_1 + 8" identifier + number_literal)) ;) (labeled_statement "std::string::_M_construct<char_const*>((string *)param_1,iVar3 + uVar6,iVar4,0);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_construct<char_const*>((string *)param_1,iVar3 + uVar6,iVar4,0);" statement_identifier : (ERROR ":" :) (expression_statement "_M_construct<char_const*>((string *)param_1,iVar3 + uVar6,iVar4,0);" (binary_expression "_M_construct<char_const*>((string *)param_1,iVar3 + uVar6,iVar4,0)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "((string *)param_1,iVar3 + uVar6,iVar4,0)" ( (comma_expression "(string *)param_1,iVar3 + uVar6,iVar4,0" (cast_expression "(string *)param_1" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (comma_expression "iVar3 + uVar6,iVar4,0" (binary_expression "iVar3 + uVar6" identifier + identifier) , (comma_expression "iVar4,0" identifier , number_literal))) ))) ;))) (return_statement "return param_1;" return identifier ;) })) })) })) comment (labeled_statement "gold::do_gold_unreachable(PTR_LAB_0043220c + 0x44a8,0x1e3,PTR_LAB_0043220c + 0x5a4c);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable(PTR_LAB_0043220c + 0x44a8,0x1e3,PTR_LAB_0043220c + 0x5a4c);" (call_expression "do_gold_unreachable(PTR_LAB_0043220c + 0x44a8,0x1e3,PTR_LAB_0043220c + 0x5a4c)" identifier (argument_list "(PTR_LAB_0043220c + 0x44a8,0x1e3,PTR_LAB_0043220c + 0x5a4c)" ( (binary_expression "PTR_LAB_0043220c + 0x44a8" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_0043220c + 0x5a4c" identifier + number_literal) ))) ;)) (ERROR "}" }))
(translation_unit "/* DWARF original prototype: string section_name(Elf_file<32,_false,_gold::Object> * this, uint\n   shndx) */\n\nstring * __thiscall\nelfcpp::Elf_file<32,_false,_gold::Object>::section_name\n          (string *__return_storage_ptr__,Elf_file<32,_false,_gold::Object> *this,uint shndx)\n\n{\n  uint *puVar1;\n  uchar *puVar2;\n  int iVar3;\n  undefined4 uVar4;\n  section_size_type shndx_00;\n  uint uVar5;\n  uint uVar6;\n  Object *pOVar7;\n  uint uVar8;\n  off_t oVar9;\n  \n  pOVar7 = this->file_;\n  uVar5 = shndx;\n  oVar9 = section_header_offset(this,shndx);\n  if (pOVar7->input_file_ != (Input_file *)0x0) {\n    puVar1 = (uint *)gold::File_read::get_view\n                               (&pOVar7->input_file_->file_,oVar9,0x2800000001,uVar5,\n                                SUB41(*(undefined4 *)&pOVar7->offset_,0),\n                                SUB41((int)pOVar7->offset_,0));\n    shndx_00 = this->shstrndx_;\n    uVar5 = *puVar1;\n    oVar9 = section_header_offset(this,shndx_00);\n    uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n    if (pOVar7->input_file_ != (Input_file *)0x0) {\n      puVar2 = gold::File_read::get_view\n                         (&pOVar7->input_file_->file_,oVar9,0x2800000001,shndx_00,\n                          SUB41(*(undefined4 *)&pOVar7->offset_,0),SUB41((int)pOVar7->offset_,0));\n      uVar6 = *(uint *)(puVar2 + 0x14);\n      uVar8 = *(uint *)(puVar2 + 0x10);\n      uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n      if (uVar6 <= uVar5) {\n        shndx_00 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8);\n        (*(code *)PTR_error_00432a5c)(pOVar7,shndx_00,shndx,uVar5);\n      }\n      if (pOVar7->input_file_ != (Input_file *)0x0) {\n        puVar2 = gold::File_read::get_view\n                           (&pOVar7->input_file_->file_,\n                            (ulonglong)\n                            ((((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000),CONCAT44(uVar6,1),\n                            shndx_00,SUB41(*(undefined4 *)&pOVar7->offset_,0),\n                            SUB41((int)pOVar7->offset_,0));\n        iVar3 = (*(code *)PTR_memchr_004366a8)(puVar2 + uVar5,0,uVar6 - uVar5);\n        if (iVar3 == 0) {\n          uVar4 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);\n          (*(code *)PTR_error_00432a5c)(pOVar7,uVar4,shndx);\n        }\n        (__return_storage_ptr__->_M_dataplus)._M_p = (pointer)&__return_storage_ptr__->field_2;\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(__return_storage_ptr__,puVar2 + uVar5,iVar3,0);\n        return __return_storage_ptr__;\n      }\n    }\n  }\n                    /* WARNING: Subroutine does not return */\n  gold::do_gold_unreachable(PTR_LAB_0043220c + 0x44a8,0x1e3,PTR_LAB_0043220c + 0x5a4c);\n}\n\n" comment (ERROR "string * __thiscall\nelfcpp::Elf_file<32,_false," (binary_expression "string * __thiscall\nelfcpp::Elf_file<32" (binary_expression "string * __thiscall" identifier * identifier) (ERROR "elfcpp::Elf_file" identifier : : identifier) < number_literal) , identifier ,) (labeled_statement "_gold::Object>::section_name\n          (string *__return_storage_ptr__,Elf_file<32,_false,_gold::Object> *this,uint shndx)" statement_identifier (ERROR "::Object>:" : : identifier > :) : (expression_statement "section_name\n          (string *__return_storage_ptr__,Elf_file<32,_false,_gold::Object> *this,uint shndx)" (call_expression "section_name\n          (string *__return_storage_ptr__,Elf_file<32,_false,_gold::Object> *this,uint shndx)" identifier (argument_list "(string *__return_storage_ptr__,Elf_file<32,_false,_gold::Object> *this,uint shndx)" ( (binary_expression "string *__return_storage_ptr__" identifier * identifier) , (binary_expression "Elf_file<32" identifier < number_literal) , identifier , (ERROR "_gold::" identifier : :) (binary_expression "Object> *this" identifier > (pointer_expression "*this" * identifier)) , (ERROR "uint" identifier) identifier ))) ;)) (compound_statement "{\n  uint *puVar1;\n  uchar *puVar2;\n  int iVar3;\n  undefined4 uVar4;\n  section_size_type shndx_00;\n  uint uVar5;\n  uint uVar6;\n  Object *pOVar7;\n  uint uVar8;\n  off_t oVar9;\n  \n  pOVar7 = this->file_;\n  uVar5 = shndx;\n  oVar9 = section_header_offset(this,shndx);\n  if (pOVar7->input_file_ != (Input_file *)0x0) {\n    puVar1 = (uint *)gold::File_read::get_view\n                               (&pOVar7->input_file_->file_,oVar9,0x2800000001,uVar5,\n                                SUB41(*(undefined4 *)&pOVar7->offset_,0),\n                                SUB41((int)pOVar7->offset_,0));\n    shndx_00 = this->shstrndx_;\n    uVar5 = *puVar1;\n    oVar9 = section_header_offset(this,shndx_00);\n    uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n    if (pOVar7->input_file_ != (Input_file *)0x0) {\n      puVar2 = gold::File_read::get_view\n                         (&pOVar7->input_file_->file_,oVar9,0x2800000001,shndx_00,\n                          SUB41(*(undefined4 *)&pOVar7->offset_,0),SUB41((int)pOVar7->offset_,0));\n      uVar6 = *(uint *)(puVar2 + 0x14);\n      uVar8 = *(uint *)(puVar2 + 0x10);\n      uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n      if (uVar6 <= uVar5) {\n        shndx_00 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8);\n        (*(code *)PTR_error_00432a5c)(pOVar7,shndx_00,shndx,uVar5);\n      }\n      if (pOVar7->input_file_ != (Input_file *)0x0) {\n        puVar2 = gold::File_read::get_view\n                           (&pOVar7->input_file_->file_,\n                            (ulonglong)\n                            ((((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000),CONCAT44(uVar6,1),\n                            shndx_00,SUB41(*(undefined4 *)&pOVar7->offset_,0),\n                            SUB41((int)pOVar7->offset_,0));\n        iVar3 = (*(code *)PTR_memchr_004366a8)(puVar2 + uVar5,0,uVar6 - uVar5);\n        if (iVar3 == 0) {\n          uVar4 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);\n          (*(code *)PTR_error_00432a5c)(pOVar7,uVar4,shndx);\n        }\n        (__return_storage_ptr__->_M_dataplus)._M_p = (pointer)&__return_storage_ptr__->field_2;\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(__return_storage_ptr__,puVar2 + uVar5,iVar3,0);\n        return __return_storage_ptr__;\n      }\n    }\n  }\n                    /* WARNING: Subroutine does not return */\n  gold::do_gold_unreachable(PTR_LAB_0043220c + 0x44a8,0x1e3,PTR_LAB_0043220c + 0x5a4c);\n}" { (declaration "uint *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "uchar *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "section_size_type shndx_00;" type_identifier identifier ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "Object *pOVar7;" type_identifier (pointer_declarator "*pOVar7" * identifier) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "off_t oVar9;" type_identifier identifier ;) (expression_statement "pOVar7 = this->file_;" (assignment_expression "pOVar7 = this->file_" identifier = (field_expression "this->file_" identifier -> field_identifier)) ;) (expression_statement "uVar5 = shndx;" (assignment_expression "uVar5 = shndx" identifier = identifier) ;) (expression_statement "oVar9 = section_header_offset(this,shndx);" (assignment_expression "oVar9 = section_header_offset(this,shndx)" identifier = (call_expression "section_header_offset(this,shndx)" identifier (argument_list "(this,shndx)" ( identifier , identifier )))) ;) (if_statement "if (pOVar7->input_file_ != (Input_file *)0x0) {\n    puVar1 = (uint *)gold::File_read::get_view\n                               (&pOVar7->input_file_->file_,oVar9,0x2800000001,uVar5,\n                                SUB41(*(undefined4 *)&pOVar7->offset_,0),\n                                SUB41((int)pOVar7->offset_,0));\n    shndx_00 = this->shstrndx_;\n    uVar5 = *puVar1;\n    oVar9 = section_header_offset(this,shndx_00);\n    uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n    if (pOVar7->input_file_ != (Input_file *)0x0) {\n      puVar2 = gold::File_read::get_view\n                         (&pOVar7->input_file_->file_,oVar9,0x2800000001,shndx_00,\n                          SUB41(*(undefined4 *)&pOVar7->offset_,0),SUB41((int)pOVar7->offset_,0));\n      uVar6 = *(uint *)(puVar2 + 0x14);\n      uVar8 = *(uint *)(puVar2 + 0x10);\n      uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n      if (uVar6 <= uVar5) {\n        shndx_00 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8);\n        (*(code *)PTR_error_00432a5c)(pOVar7,shndx_00,shndx,uVar5);\n      }\n      if (pOVar7->input_file_ != (Input_file *)0x0) {\n        puVar2 = gold::File_read::get_view\n                           (&pOVar7->input_file_->file_,\n                            (ulonglong)\n                            ((((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000),CONCAT44(uVar6,1),\n                            shndx_00,SUB41(*(undefined4 *)&pOVar7->offset_,0),\n                            SUB41((int)pOVar7->offset_,0));\n        iVar3 = (*(code *)PTR_memchr_004366a8)(puVar2 + uVar5,0,uVar6 - uVar5);\n        if (iVar3 == 0) {\n          uVar4 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);\n          (*(code *)PTR_error_00432a5c)(pOVar7,uVar4,shndx);\n        }\n        (__return_storage_ptr__->_M_dataplus)._M_p = (pointer)&__return_storage_ptr__->field_2;\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(__return_storage_ptr__,puVar2 + uVar5,iVar3,0);\n        return __return_storage_ptr__;\n      }\n    }\n  }" if (parenthesized_expression "(pOVar7->input_file_ != (Input_file *)0x0)" ( (binary_expression "pOVar7->input_file_ != (Input_file *)0x0" (field_expression "pOVar7->input_file_" identifier -> field_identifier) != (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    puVar1 = (uint *)gold::File_read::get_view\n                               (&pOVar7->input_file_->file_,oVar9,0x2800000001,uVar5,\n                                SUB41(*(undefined4 *)&pOVar7->offset_,0),\n                                SUB41((int)pOVar7->offset_,0));\n    shndx_00 = this->shstrndx_;\n    uVar5 = *puVar1;\n    oVar9 = section_header_offset(this,shndx_00);\n    uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;\n    if (pOVar7->input_file_ != (Input_file *)0x0) {\n      puVar2 = gold::File_read::get_view\n                         (&pOVar7->input_file_->file_,oVar9,0x2800000001,shndx_00,\n                          SUB41(*(undefined4 *)&pOVar7->offset_,0),SUB41((int)pOVar7->offset_,0));\n      uVar6 = *(uint *)(puVar2 + 0x14);\n      uVar8 = *(uint *)(puVar2 + 0x10);\n      uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n      if (uVar6 <= uVar5) {\n        shndx_00 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8);\n        (*(code *)PTR_error_00432a5c)(pOVar7,shndx_00,shndx,uVar5);\n      }\n      if (pOVar7->input_file_ != (Input_file *)0x0) {\n        puVar2 = gold::File_read::get_view\n                           (&pOVar7->input_file_->file_,\n                            (ulonglong)\n                            ((((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000),CONCAT44(uVar6,1),\n                            shndx_00,SUB41(*(undefined4 *)&pOVar7->offset_,0),\n                            SUB41((int)pOVar7->offset_,0));\n        iVar3 = (*(code *)PTR_memchr_004366a8)(puVar2 + uVar5,0,uVar6 - uVar5);\n        if (iVar3 == 0) {\n          uVar4 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);\n          (*(code *)PTR_error_00432a5c)(pOVar7,uVar4,shndx);\n        }\n        (__return_storage_ptr__->_M_dataplus)._M_p = (pointer)&__return_storage_ptr__->field_2;\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(__return_storage_ptr__,puVar2 + uVar5,iVar3,0);\n        return __return_storage_ptr__;\n      }\n    }\n  }" { (ERROR "puVar1 = (uint *)gold::" (assignment_expression "puVar1 = (uint *)gold" identifier = (cast_expression "(uint *)gold" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) : :) (labeled_statement "File_read::get_view\n                               (&pOVar7->input_file_->file_,oVar9,0x2800000001,uVar5,\n                                SUB41(*(undefined4 *)&pOVar7->offset_,0),\n                                SUB41((int)pOVar7->offset_,0));" statement_identifier : (ERROR ":" :) (expression_statement "get_view\n                               (&pOVar7->input_file_->file_,oVar9,0x2800000001,uVar5,\n                                SUB41(*(undefined4 *)&pOVar7->offset_,0),\n                                SUB41((int)pOVar7->offset_,0));" (call_expression "get_view\n                               (&pOVar7->input_file_->file_,oVar9,0x2800000001,uVar5,\n                                SUB41(*(undefined4 *)&pOVar7->offset_,0),\n                                SUB41((int)pOVar7->offset_,0))" identifier (argument_list "(&pOVar7->input_file_->file_,oVar9,0x2800000001,uVar5,\n                                SUB41(*(undefined4 *)&pOVar7->offset_,0),\n                                SUB41((int)pOVar7->offset_,0))" ( (pointer_expression "&pOVar7->input_file_->file_" & (field_expression "pOVar7->input_file_->file_" (field_expression "pOVar7->input_file_" identifier -> field_identifier) -> field_identifier)) , identifier , number_literal , identifier , (call_expression "SUB41(*(undefined4 *)&pOVar7->offset_,0)" identifier (argument_list "(*(undefined4 *)&pOVar7->offset_,0)" ( (pointer_expression "*(undefined4 *)&pOVar7->offset_" * (cast_expression "(undefined4 *)&pOVar7->offset_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar7->offset_" & (field_expression "pOVar7->offset_" identifier -> field_identifier)))) , number_literal ))) , (call_expression "SUB41((int)pOVar7->offset_,0)" identifier (argument_list "((int)pOVar7->offset_,0)" ( (cast_expression "(int)pOVar7->offset_" ( (type_descriptor "int" primitive_type) ) (field_expression "pOVar7->offset_" identifier -> field_identifier)) , number_literal ))) ))) ;)) (expression_statement "shndx_00 = this->shstrndx_;" (assignment_expression "shndx_00 = this->shstrndx_" identifier = (field_expression "this->shstrndx_" identifier -> field_identifier)) ;) (expression_statement "uVar5 = *puVar1;" (assignment_expression "uVar5 = *puVar1" identifier = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "oVar9 = section_header_offset(this,shndx_00);" (assignment_expression "oVar9 = section_header_offset(this,shndx_00)" identifier = (call_expression "section_header_offset(this,shndx_00)" identifier (argument_list "(this,shndx_00)" ( identifier , identifier )))) ;) (expression_statement "uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar5 = (((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10)" ( (binary_expression "(uVar5 >> 0x10) << 0x18 | (uVar5 >> 0x18) << 0x10" (binary_expression "(uVar5 >> 0x10) << 0x18" (parenthesized_expression "(uVar5 >> 0x10)" ( (binary_expression "uVar5 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar5 >> 0x18) << 0x10" (parenthesized_expression "(uVar5 >> 0x18)" ( (binary_expression "uVar5 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff)" ( (binary_expression "(uVar5 & 0xff) << 8 | uVar5 >> 8 & 0xff" (binary_expression "(uVar5 & 0xff) << 8" (parenthesized_expression "(uVar5 & 0xff)" ( (binary_expression "uVar5 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar5 >> 8 & 0xff" (binary_expression "uVar5 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (if_statement "if (pOVar7->input_file_ != (Input_file *)0x0) {\n      puVar2 = gold::File_read::get_view\n                         (&pOVar7->input_file_->file_,oVar9,0x2800000001,shndx_00,\n                          SUB41(*(undefined4 *)&pOVar7->offset_,0),SUB41((int)pOVar7->offset_,0));\n      uVar6 = *(uint *)(puVar2 + 0x14);\n      uVar8 = *(uint *)(puVar2 + 0x10);\n      uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n      if (uVar6 <= uVar5) {\n        shndx_00 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8);\n        (*(code *)PTR_error_00432a5c)(pOVar7,shndx_00,shndx,uVar5);\n      }\n      if (pOVar7->input_file_ != (Input_file *)0x0) {\n        puVar2 = gold::File_read::get_view\n                           (&pOVar7->input_file_->file_,\n                            (ulonglong)\n                            ((((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000),CONCAT44(uVar6,1),\n                            shndx_00,SUB41(*(undefined4 *)&pOVar7->offset_,0),\n                            SUB41((int)pOVar7->offset_,0));\n        iVar3 = (*(code *)PTR_memchr_004366a8)(puVar2 + uVar5,0,uVar6 - uVar5);\n        if (iVar3 == 0) {\n          uVar4 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);\n          (*(code *)PTR_error_00432a5c)(pOVar7,uVar4,shndx);\n        }\n        (__return_storage_ptr__->_M_dataplus)._M_p = (pointer)&__return_storage_ptr__->field_2;\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(__return_storage_ptr__,puVar2 + uVar5,iVar3,0);\n        return __return_storage_ptr__;\n      }\n    }" if (parenthesized_expression "(pOVar7->input_file_ != (Input_file *)0x0)" ( (binary_expression "pOVar7->input_file_ != (Input_file *)0x0" (field_expression "pOVar7->input_file_" identifier -> field_identifier) != (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      puVar2 = gold::File_read::get_view\n                         (&pOVar7->input_file_->file_,oVar9,0x2800000001,shndx_00,\n                          SUB41(*(undefined4 *)&pOVar7->offset_,0),SUB41((int)pOVar7->offset_,0));\n      uVar6 = *(uint *)(puVar2 + 0x14);\n      uVar8 = *(uint *)(puVar2 + 0x10);\n      uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;\n      if (uVar6 <= uVar5) {\n        shndx_00 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8);\n        (*(code *)PTR_error_00432a5c)(pOVar7,shndx_00,shndx,uVar5);\n      }\n      if (pOVar7->input_file_ != (Input_file *)0x0) {\n        puVar2 = gold::File_read::get_view\n                           (&pOVar7->input_file_->file_,\n                            (ulonglong)\n                            ((((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000),CONCAT44(uVar6,1),\n                            shndx_00,SUB41(*(undefined4 *)&pOVar7->offset_,0),\n                            SUB41((int)pOVar7->offset_,0));\n        iVar3 = (*(code *)PTR_memchr_004366a8)(puVar2 + uVar5,0,uVar6 - uVar5);\n        if (iVar3 == 0) {\n          uVar4 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);\n          (*(code *)PTR_error_00432a5c)(pOVar7,uVar4,shndx);\n        }\n        (__return_storage_ptr__->_M_dataplus)._M_p = (pointer)&__return_storage_ptr__->field_2;\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(__return_storage_ptr__,puVar2 + uVar5,iVar3,0);\n        return __return_storage_ptr__;\n      }\n    }" { (ERROR "puVar2 = gold::" (assignment_expression "puVar2 = gold" identifier = identifier) : :) (labeled_statement "File_read::get_view\n                         (&pOVar7->input_file_->file_,oVar9,0x2800000001,shndx_00,\n                          SUB41(*(undefined4 *)&pOVar7->offset_,0),SUB41((int)pOVar7->offset_,0));" statement_identifier : (ERROR ":" :) (expression_statement "get_view\n                         (&pOVar7->input_file_->file_,oVar9,0x2800000001,shndx_00,\n                          SUB41(*(undefined4 *)&pOVar7->offset_,0),SUB41((int)pOVar7->offset_,0));" (call_expression "get_view\n                         (&pOVar7->input_file_->file_,oVar9,0x2800000001,shndx_00,\n                          SUB41(*(undefined4 *)&pOVar7->offset_,0),SUB41((int)pOVar7->offset_,0))" identifier (argument_list "(&pOVar7->input_file_->file_,oVar9,0x2800000001,shndx_00,\n                          SUB41(*(undefined4 *)&pOVar7->offset_,0),SUB41((int)pOVar7->offset_,0))" ( (pointer_expression "&pOVar7->input_file_->file_" & (field_expression "pOVar7->input_file_->file_" (field_expression "pOVar7->input_file_" identifier -> field_identifier) -> field_identifier)) , identifier , number_literal , identifier , (call_expression "SUB41(*(undefined4 *)&pOVar7->offset_,0)" identifier (argument_list "(*(undefined4 *)&pOVar7->offset_,0)" ( (pointer_expression "*(undefined4 *)&pOVar7->offset_" * (cast_expression "(undefined4 *)&pOVar7->offset_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar7->offset_" & (field_expression "pOVar7->offset_" identifier -> field_identifier)))) , number_literal ))) , (call_expression "SUB41((int)pOVar7->offset_,0)" identifier (argument_list "((int)pOVar7->offset_,0)" ( (cast_expression "(int)pOVar7->offset_" ( (type_descriptor "int" primitive_type) ) (field_expression "pOVar7->offset_" identifier -> field_identifier)) , number_literal ))) ))) ;)) (expression_statement "uVar6 = *(uint *)(puVar2 + 0x14);" (assignment_expression "uVar6 = *(uint *)(puVar2 + 0x14)" identifier = (pointer_expression "*(uint *)(puVar2 + 0x14)" * (cast_expression "(uint *)(puVar2 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x14)" ( (binary_expression "puVar2 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = *(uint *)(puVar2 + 0x10);" (assignment_expression "uVar8 = *(uint *)(puVar2 + 0x10)" identifier = (pointer_expression "*(uint *)(puVar2 + 0x10)" * (cast_expression "(uint *)(puVar2 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0x10)" ( (binary_expression "puVar2 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar6 = (((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10)" ( (binary_expression "(uVar6 >> 0x10) << 0x18 | (uVar6 >> 0x18) << 0x10" (binary_expression "(uVar6 >> 0x10) << 0x18" (parenthesized_expression "(uVar6 >> 0x10)" ( (binary_expression "uVar6 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar6 >> 0x18) << 0x10" (parenthesized_expression "(uVar6 >> 0x18)" ( (binary_expression "uVar6 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff)" ( (binary_expression "(uVar6 & 0xff) << 8 | uVar6 >> 8 & 0xff" (binary_expression "(uVar6 & 0xff) << 8" (parenthesized_expression "(uVar6 & 0xff)" ( (binary_expression "uVar6 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar6 >> 8 & 0xff" (binary_expression "uVar6 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (if_statement "if (uVar6 <= uVar5) {\n        shndx_00 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8);\n        (*(code *)PTR_error_00432a5c)(pOVar7,shndx_00,shndx,uVar5);\n      }" if (parenthesized_expression "(uVar6 <= uVar5)" ( (binary_expression "uVar6 <= uVar5" identifier <= identifier) )) (compound_statement "{\n        shndx_00 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8);\n        (*(code *)PTR_error_00432a5c)(pOVar7,shndx_00,shndx,uVar5);\n      }" { (expression_statement "shndx_00 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8);" (assignment_expression "shndx_00 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8)" identifier = (call_expression "(*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8)" (parenthesized_expression "(*(code *)PTR_gettext_00436818)" ( (pointer_expression "*(code *)PTR_gettext_00436818" * (cast_expression "(code *)PTR_gettext_00436818" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_0043220c + 0x4fa8)" ( (binary_expression "PTR_LAB_0043220c + 0x4fa8" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_error_00432a5c)(pOVar7,shndx_00,shndx,uVar5);" (call_expression "(*(code *)PTR_error_00432a5c)(pOVar7,shndx_00,shndx,uVar5)" (parenthesized_expression "(*(code *)PTR_error_00432a5c)" ( (pointer_expression "*(code *)PTR_error_00432a5c" * (cast_expression "(code *)PTR_error_00432a5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pOVar7,shndx_00,shndx,uVar5)" ( identifier , identifier , identifier , identifier ))) ;) })) (if_statement "if (pOVar7->input_file_ != (Input_file *)0x0) {\n        puVar2 = gold::File_read::get_view\n                           (&pOVar7->input_file_->file_,\n                            (ulonglong)\n                            ((((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000),CONCAT44(uVar6,1),\n                            shndx_00,SUB41(*(undefined4 *)&pOVar7->offset_,0),\n                            SUB41((int)pOVar7->offset_,0));\n        iVar3 = (*(code *)PTR_memchr_004366a8)(puVar2 + uVar5,0,uVar6 - uVar5);\n        if (iVar3 == 0) {\n          uVar4 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);\n          (*(code *)PTR_error_00432a5c)(pOVar7,uVar4,shndx);\n        }\n        (__return_storage_ptr__->_M_dataplus)._M_p = (pointer)&__return_storage_ptr__->field_2;\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(__return_storage_ptr__,puVar2 + uVar5,iVar3,0);\n        return __return_storage_ptr__;\n      }" if (parenthesized_expression "(pOVar7->input_file_ != (Input_file *)0x0)" ( (binary_expression "pOVar7->input_file_ != (Input_file *)0x0" (field_expression "pOVar7->input_file_" identifier -> field_identifier) != (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        puVar2 = gold::File_read::get_view\n                           (&pOVar7->input_file_->file_,\n                            (ulonglong)\n                            ((((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000),CONCAT44(uVar6,1),\n                            shndx_00,SUB41(*(undefined4 *)&pOVar7->offset_,0),\n                            SUB41((int)pOVar7->offset_,0));\n        iVar3 = (*(code *)PTR_memchr_004366a8)(puVar2 + uVar5,0,uVar6 - uVar5);\n        if (iVar3 == 0) {\n          uVar4 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);\n          (*(code *)PTR_error_00432a5c)(pOVar7,uVar4,shndx);\n        }\n        (__return_storage_ptr__->_M_dataplus)._M_p = (pointer)&__return_storage_ptr__->field_2;\n        std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(__return_storage_ptr__,puVar2 + uVar5,iVar3,0);\n        return __return_storage_ptr__;\n      }" { (ERROR "puVar2 = gold::" (assignment_expression "puVar2 = gold" identifier = identifier) : :) (labeled_statement "File_read::get_view\n                           (&pOVar7->input_file_->file_,\n                            (ulonglong)\n                            ((((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000),CONCAT44(uVar6,1),\n                            shndx_00,SUB41(*(undefined4 *)&pOVar7->offset_,0),\n                            SUB41((int)pOVar7->offset_,0));" statement_identifier : (ERROR ":" :) (expression_statement "get_view\n                           (&pOVar7->input_file_->file_,\n                            (ulonglong)\n                            ((((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000),CONCAT44(uVar6,1),\n                            shndx_00,SUB41(*(undefined4 *)&pOVar7->offset_,0),\n                            SUB41((int)pOVar7->offset_,0));" (call_expression "get_view\n                           (&pOVar7->input_file_->file_,\n                            (ulonglong)\n                            ((((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000),CONCAT44(uVar6,1),\n                            shndx_00,SUB41(*(undefined4 *)&pOVar7->offset_,0),\n                            SUB41((int)pOVar7->offset_,0))" identifier (argument_list "(&pOVar7->input_file_->file_,\n                            (ulonglong)\n                            ((((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000),CONCAT44(uVar6,1),\n                            shndx_00,SUB41(*(undefined4 *)&pOVar7->offset_,0),\n                            SUB41((int)pOVar7->offset_,0))" ( (pointer_expression "&pOVar7->input_file_->file_" & (field_expression "pOVar7->input_file_->file_" (field_expression "pOVar7->input_file_" identifier -> field_identifier) -> field_identifier)) , (call_expression "(ulonglong)\n                            ((((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "((((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000)" ( (binary_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n                            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10)" ( (binary_expression "(uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10" (binary_expression "(uVar8 >> 0x10) << 0x18" (parenthesized_expression "(uVar8 >> 0x10)" ( (binary_expression "uVar8 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar8 >> 0x18) << 0x10" (parenthesized_expression "(uVar8 >> 0x18)" ( (binary_expression "uVar8 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff)" ( (binary_expression "(uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff" (binary_expression "(uVar8 & 0xff) << 8" (parenthesized_expression "(uVar8 & 0xff)" ( (binary_expression "uVar8 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar8 >> 8 & 0xff" (binary_expression "uVar8 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) ))) , (call_expression "CONCAT44(uVar6,1)" identifier (argument_list "(uVar6,1)" ( identifier , number_literal ))) , identifier , (call_expression "SUB41(*(undefined4 *)&pOVar7->offset_,0)" identifier (argument_list "(*(undefined4 *)&pOVar7->offset_,0)" ( (pointer_expression "*(undefined4 *)&pOVar7->offset_" * (cast_expression "(undefined4 *)&pOVar7->offset_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar7->offset_" & (field_expression "pOVar7->offset_" identifier -> field_identifier)))) , number_literal ))) , (call_expression "SUB41((int)pOVar7->offset_,0)" identifier (argument_list "((int)pOVar7->offset_,0)" ( (cast_expression "(int)pOVar7->offset_" ( (type_descriptor "int" primitive_type) ) (field_expression "pOVar7->offset_" identifier -> field_identifier)) , number_literal ))) ))) ;)) (expression_statement "iVar3 = (*(code *)PTR_memchr_004366a8)(puVar2 + uVar5,0,uVar6 - uVar5);" (assignment_expression "iVar3 = (*(code *)PTR_memchr_004366a8)(puVar2 + uVar5,0,uVar6 - uVar5)" identifier = (call_expression "(*(code *)PTR_memchr_004366a8)(puVar2 + uVar5,0,uVar6 - uVar5)" (parenthesized_expression "(*(code *)PTR_memchr_004366a8)" ( (pointer_expression "*(code *)PTR_memchr_004366a8" * (cast_expression "(code *)PTR_memchr_004366a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar2 + uVar5,0,uVar6 - uVar5)" ( (binary_expression "puVar2 + uVar5" identifier + identifier) , number_literal , (binary_expression "uVar6 - uVar5" identifier - identifier) )))) ;) (if_statement "if (iVar3 == 0) {\n          uVar4 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);\n          (*(code *)PTR_error_00432a5c)(pOVar7,uVar4,shndx);\n        }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar4 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);\n          (*(code *)PTR_error_00432a5c)(pOVar7,uVar4,shndx);\n        }" { (expression_statement "uVar4 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);" (assignment_expression "uVar4 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4)" identifier = (call_expression "(*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4)" (parenthesized_expression "(*(code *)PTR_gettext_00436818)" ( (pointer_expression "*(code *)PTR_gettext_00436818" * (cast_expression "(code *)PTR_gettext_00436818" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_0043220c + 0x4fd4)" ( (binary_expression "PTR_LAB_0043220c + 0x4fd4" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_error_00432a5c)(pOVar7,uVar4,shndx);" (call_expression "(*(code *)PTR_error_00432a5c)(pOVar7,uVar4,shndx)" (parenthesized_expression "(*(code *)PTR_error_00432a5c)" ( (pointer_expression "*(code *)PTR_error_00432a5c" * (cast_expression "(code *)PTR_error_00432a5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pOVar7,uVar4,shndx)" ( identifier , identifier , identifier ))) ;) })) (expression_statement "(__return_storage_ptr__->_M_dataplus)._M_p = (pointer)&__return_storage_ptr__->field_2;" (assignment_expression "(__return_storage_ptr__->_M_dataplus)._M_p = (pointer)&__return_storage_ptr__->field_2" (field_expression "(__return_storage_ptr__->_M_dataplus)._M_p" (parenthesized_expression "(__return_storage_ptr__->_M_dataplus)" ( (field_expression "__return_storage_ptr__->_M_dataplus" identifier -> field_identifier) )) . field_identifier) = (binary_expression "(pointer)&__return_storage_ptr__->field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "__return_storage_ptr__->field_2" identifier -> field_identifier))) ;) (labeled_statement "std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>::\n        _M_construct<char_const*>(__return_storage_ptr__,puVar2 + uVar5,iVar3,0);" 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_const*>(__return_storage_ptr__,puVar2 + uVar5,iVar3,0);" (binary_expression "_M_construct<char_const*>(__return_storage_ptr__,puVar2 + uVar5,iVar3,0)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "(__return_storage_ptr__,puVar2 + uVar5,iVar3,0)" ( (comma_expression "__return_storage_ptr__,puVar2 + uVar5,iVar3,0" identifier , (comma_expression "puVar2 + uVar5,iVar3,0" (binary_expression "puVar2 + uVar5" identifier + identifier) , (comma_expression "iVar3,0" identifier , number_literal))) ))) ;)) (return_statement "return __return_storage_ptr__;" return identifier ;) })) })) })) comment (labeled_statement "gold::do_gold_unreachable(PTR_LAB_0043220c + 0x44a8,0x1e3,PTR_LAB_0043220c + 0x5a4c);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable(PTR_LAB_0043220c + 0x44a8,0x1e3,PTR_LAB_0043220c + 0x5a4c);" (call_expression "do_gold_unreachable(PTR_LAB_0043220c + 0x44a8,0x1e3,PTR_LAB_0043220c + 0x5a4c)" identifier (argument_list "(PTR_LAB_0043220c + 0x44a8,0x1e3,PTR_LAB_0043220c + 0x5a4c)" ( (binary_expression "PTR_LAB_0043220c + 0x44a8" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_0043220c + 0x5a4c" identifier + number_literal) ))) ;)) }))
(translation_unit "uint elfcpp::Elf_file<32,false,gold::Object>::section_name_abi_cxx11_(uint param_1)\n\n{\n  longlong lVar1;\n  uint *puVar2;\n  int iVar3;\n  int iVar4;\n  undefined4 uVar5;\n  Elf_file<32,false,gold::Object> *in_a1;\n  uint uVar6;\n  undefined1 uVar7;\n  uint in_a2;\n  uint uVar8;\n  int iVar9;\n  uint uVar10;\n  \n  iVar9 = *(int *)in_a1;\n  uVar6 = in_a2;\n  lVar1 = section_header_offset(in_a1,in_a2);\n  if (*(int *)(iVar9 + 0x1c) != 0) {\n    puVar2 = (uint *)gold::File_read::get_view\n                               (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,SUB41(uVar6,0),\n                                SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n    uVar6 = *(uint *)(in_a1 + 0x14);\n    uVar8 = *puVar2;\n    lVar1 = section_header_offset(in_a1,uVar6);\n    uVar7 = (undefined1)uVar6;\n    uVar6 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n    if (*(int *)(iVar9 + 0x1c) != 0) {\n      iVar3 = gold::File_read::get_view\n                        (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                         SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n      uVar8 = *(uint *)(iVar3 + 0x14);\n      uVar10 = *(uint *)(iVar3 + 0x10);\n      uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n      if (uVar8 <= uVar6) {\n        uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8);\n        (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2,uVar6);\n        uVar7 = (undefined1)uVar5;\n      }\n      if (*(int *)(iVar9 + 0x1c) != 0) {\n        iVar3 = gold::File_read::get_view\n                          ((ulonglong)\n                           ((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000),CONCAT44(uVar8,1),\n                           *(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                           SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n        iVar4 = (*(code *)PTR_memchr_004366a8)(iVar3 + uVar6,0,uVar8 - uVar6);\n        if (iVar4 == 0) {\n          uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);\n          (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2);\n        }\n        *(uint *)param_1 = param_1 + 8;\n        std::string::_M_construct<char_const*>((string *)param_1,iVar3 + uVar6,iVar4,0);\n        return param_1;\n      }\n    }\n  }\n                    \n  gold::do_gold_unreachable(PTR_LAB_0043220c + 0x44a8,0x1e3,PTR_LAB_0043220c + 0x5a4c);\n}\n\n" (declaration "uint elfcpp::Elf_file<32,false,gold::Object>::section_name_abi_cxx11_(uint param_1)\n\n{\n  longlong lVar1;" type_identifier (ERROR "elfcpp::" identifier : :) identifier (ERROR "<32" < number_literal) , identifier , (ERROR "gold::Object>::section_name_abi_cxx11_(uint param_1)\n\n{\n  longlong" identifier : : identifier > : : (function_declarator "section_name_abi_cxx11_(uint param_1)" identifier (parameter_list "(uint param_1)" ( (parameter_declaration "uint param_1" type_identifier identifier) ))) { identifier) identifier ;) (declaration "uint *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (ERROR "Elf_file<32,false," (binary_expression "Elf_file<32" identifier < number_literal) , false ,) (labeled_statement "gold::Object> *in_a1;" statement_identifier : (ERROR ":" :) (expression_statement "Object> *in_a1;" (binary_expression "Object> *in_a1" identifier > (pointer_expression "*in_a1" * identifier)) ;)) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "undefined1 uVar7;" type_identifier identifier ;) (declaration "uint in_a2;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (expression_statement "iVar9 = *(int *)in_a1;" (assignment_expression "iVar9 = *(int *)in_a1" identifier = (pointer_expression "*(int *)in_a1" * (cast_expression "(int *)in_a1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "uVar6 = in_a2;" (assignment_expression "uVar6 = in_a2" identifier = identifier) ;) (expression_statement "lVar1 = section_header_offset(in_a1,in_a2);" (assignment_expression "lVar1 = section_header_offset(in_a1,in_a2)" identifier = (call_expression "section_header_offset(in_a1,in_a2)" identifier (argument_list "(in_a1,in_a2)" ( identifier , identifier )))) ;) (if_statement "if (*(int *)(iVar9 + 0x1c) != 0) {\n    puVar2 = (uint *)gold::File_read::get_view\n                               (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,SUB41(uVar6,0),\n                                SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n    uVar6 = *(uint *)(in_a1 + 0x14);\n    uVar8 = *puVar2;\n    lVar1 = section_header_offset(in_a1,uVar6);\n    uVar7 = (undefined1)uVar6;\n    uVar6 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n    if (*(int *)(iVar9 + 0x1c) != 0) {\n      iVar3 = gold::File_read::get_view\n                        (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                         SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n      uVar8 = *(uint *)(iVar3 + 0x14);\n      uVar10 = *(uint *)(iVar3 + 0x10);\n      uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n      if (uVar8 <= uVar6) {\n        uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8);\n        (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2,uVar6);\n        uVar7 = (undefined1)uVar5;\n      }\n      if (*(int *)(iVar9 + 0x1c) != 0) {\n        iVar3 = gold::File_read::get_view\n                          ((ulonglong)\n                           ((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000),CONCAT44(uVar8,1),\n                           *(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                           SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n        iVar4 = (*(code *)PTR_memchr_004366a8)(iVar3 + uVar6,0,uVar8 - uVar6);\n        if (iVar4 == 0) {\n          uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);\n          (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2);\n        }\n        *(uint *)param_1 = param_1 + 8;\n        std::string::_M_construct<char_const*>((string *)param_1,iVar3 + uVar6,iVar4,0);\n        return param_1;\n      }\n    }\n  }" if (parenthesized_expression "(*(int *)(iVar9 + 0x1c) != 0)" ( (binary_expression "*(int *)(iVar9 + 0x1c) != 0" (pointer_expression "*(int *)(iVar9 + 0x1c)" * (cast_expression "(int *)(iVar9 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x1c)" ( (binary_expression "iVar9 + 0x1c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    puVar2 = (uint *)gold::File_read::get_view\n                               (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,SUB41(uVar6,0),\n                                SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n    uVar6 = *(uint *)(in_a1 + 0x14);\n    uVar8 = *puVar2;\n    lVar1 = section_header_offset(in_a1,uVar6);\n    uVar7 = (undefined1)uVar6;\n    uVar6 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n    if (*(int *)(iVar9 + 0x1c) != 0) {\n      iVar3 = gold::File_read::get_view\n                        (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                         SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n      uVar8 = *(uint *)(iVar3 + 0x14);\n      uVar10 = *(uint *)(iVar3 + 0x10);\n      uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n      if (uVar8 <= uVar6) {\n        uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8);\n        (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2,uVar6);\n        uVar7 = (undefined1)uVar5;\n      }\n      if (*(int *)(iVar9 + 0x1c) != 0) {\n        iVar3 = gold::File_read::get_view\n                          ((ulonglong)\n                           ((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000),CONCAT44(uVar8,1),\n                           *(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                           SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n        iVar4 = (*(code *)PTR_memchr_004366a8)(iVar3 + uVar6,0,uVar8 - uVar6);\n        if (iVar4 == 0) {\n          uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);\n          (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2);\n        }\n        *(uint *)param_1 = param_1 + 8;\n        std::string::_M_construct<char_const*>((string *)param_1,iVar3 + uVar6,iVar4,0);\n        return param_1;\n      }\n    }\n  }" { (ERROR "puVar2 = (uint *)gold::" (assignment_expression "puVar2 = (uint *)gold" identifier = (cast_expression "(uint *)gold" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) : :) (labeled_statement "File_read::get_view\n                               (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,SUB41(uVar6,0),\n                                SUB41(*(undefined4 *)(iVar9 + 0x20),0));" statement_identifier : (ERROR ":" :) (expression_statement "get_view\n                               (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,SUB41(uVar6,0),\n                                SUB41(*(undefined4 *)(iVar9 + 0x20),0));" (call_expression "get_view\n                               (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,SUB41(uVar6,0),\n                                SUB41(*(undefined4 *)(iVar9 + 0x20),0))" identifier (argument_list "(lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,SUB41(uVar6,0),\n                                SUB41(*(undefined4 *)(iVar9 + 0x20),0))" ( identifier , number_literal , (binary_expression "*(int *)(iVar9 + 0x1c) + 0x20" (pointer_expression "*(int *)(iVar9 + 0x1c)" * (cast_expression "(int *)(iVar9 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x1c)" ( (binary_expression "iVar9 + 0x1c" identifier + number_literal) )))) + number_literal) , (call_expression "SUB41(uVar6,0)" identifier (argument_list "(uVar6,0)" ( identifier , number_literal ))) , (call_expression "SUB41(*(undefined4 *)(iVar9 + 0x20),0)" identifier (argument_list "(*(undefined4 *)(iVar9 + 0x20),0)" ( (pointer_expression "*(undefined4 *)(iVar9 + 0x20)" * (cast_expression "(undefined4 *)(iVar9 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x20)" ( (binary_expression "iVar9 + 0x20" identifier + number_literal) )))) , number_literal ))) ))) ;)) (expression_statement "uVar6 = *(uint *)(in_a1 + 0x14);" (assignment_expression "uVar6 = *(uint *)(in_a1 + 0x14)" identifier = (pointer_expression "*(uint *)(in_a1 + 0x14)" * (cast_expression "(uint *)(in_a1 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_a1 + 0x14)" ( (binary_expression "in_a1 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = *puVar2;" (assignment_expression "uVar8 = *puVar2" identifier = (pointer_expression "*puVar2" * identifier)) ;) (expression_statement "lVar1 = section_header_offset(in_a1,uVar6);" (assignment_expression "lVar1 = section_header_offset(in_a1,uVar6)" identifier = (call_expression "section_header_offset(in_a1,uVar6)" identifier (argument_list "(in_a1,uVar6)" ( identifier , identifier )))) ;) (expression_statement "uVar7 = (undefined1)uVar6;" (assignment_expression "uVar7 = (undefined1)uVar6" identifier = (cast_expression "(undefined1)uVar6" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) (expression_statement "uVar6 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar6 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10)" ( (binary_expression "(uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10" (binary_expression "(uVar8 >> 0x10) << 0x18" (parenthesized_expression "(uVar8 >> 0x10)" ( (binary_expression "uVar8 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar8 >> 0x18) << 0x10" (parenthesized_expression "(uVar8 >> 0x18)" ( (binary_expression "uVar8 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff)" ( (binary_expression "(uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff" (binary_expression "(uVar8 & 0xff) << 8" (parenthesized_expression "(uVar8 & 0xff)" ( (binary_expression "uVar8 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar8 >> 8 & 0xff" (binary_expression "uVar8 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (if_statement "if (*(int *)(iVar9 + 0x1c) != 0) {\n      iVar3 = gold::File_read::get_view\n                        (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                         SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n      uVar8 = *(uint *)(iVar3 + 0x14);\n      uVar10 = *(uint *)(iVar3 + 0x10);\n      uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n      if (uVar8 <= uVar6) {\n        uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8);\n        (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2,uVar6);\n        uVar7 = (undefined1)uVar5;\n      }\n      if (*(int *)(iVar9 + 0x1c) != 0) {\n        iVar3 = gold::File_read::get_view\n                          ((ulonglong)\n                           ((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000),CONCAT44(uVar8,1),\n                           *(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                           SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n        iVar4 = (*(code *)PTR_memchr_004366a8)(iVar3 + uVar6,0,uVar8 - uVar6);\n        if (iVar4 == 0) {\n          uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);\n          (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2);\n        }\n        *(uint *)param_1 = param_1 + 8;\n        std::string::_M_construct<char_const*>((string *)param_1,iVar3 + uVar6,iVar4,0);\n        return param_1;\n      }\n    }" if (parenthesized_expression "(*(int *)(iVar9 + 0x1c) != 0)" ( (binary_expression "*(int *)(iVar9 + 0x1c) != 0" (pointer_expression "*(int *)(iVar9 + 0x1c)" * (cast_expression "(int *)(iVar9 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x1c)" ( (binary_expression "iVar9 + 0x1c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n      iVar3 = gold::File_read::get_view\n                        (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                         SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n      uVar8 = *(uint *)(iVar3 + 0x14);\n      uVar10 = *(uint *)(iVar3 + 0x10);\n      uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n      if (uVar8 <= uVar6) {\n        uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8);\n        (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2,uVar6);\n        uVar7 = (undefined1)uVar5;\n      }\n      if (*(int *)(iVar9 + 0x1c) != 0) {\n        iVar3 = gold::File_read::get_view\n                          ((ulonglong)\n                           ((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000),CONCAT44(uVar8,1),\n                           *(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                           SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n        iVar4 = (*(code *)PTR_memchr_004366a8)(iVar3 + uVar6,0,uVar8 - uVar6);\n        if (iVar4 == 0) {\n          uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);\n          (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2);\n        }\n        *(uint *)param_1 = param_1 + 8;\n        std::string::_M_construct<char_const*>((string *)param_1,iVar3 + uVar6,iVar4,0);\n        return param_1;\n      }\n    }" { (ERROR "iVar3 = gold::" (assignment_expression "iVar3 = gold" identifier = identifier) : :) (labeled_statement "File_read::get_view\n                        (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                         SUB41(*(undefined4 *)(iVar9 + 0x20),0));" statement_identifier : (ERROR ":" :) (expression_statement "get_view\n                        (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                         SUB41(*(undefined4 *)(iVar9 + 0x20),0));" (call_expression "get_view\n                        (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                         SUB41(*(undefined4 *)(iVar9 + 0x20),0))" identifier (argument_list "(lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                         SUB41(*(undefined4 *)(iVar9 + 0x20),0))" ( identifier , number_literal , (binary_expression "*(int *)(iVar9 + 0x1c) + 0x20" (pointer_expression "*(int *)(iVar9 + 0x1c)" * (cast_expression "(int *)(iVar9 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x1c)" ( (binary_expression "iVar9 + 0x1c" identifier + number_literal) )))) + number_literal) , (cast_expression "(bool)uVar7" ( (type_descriptor "bool" primitive_type) ) identifier) , (call_expression "SUB41(*(undefined4 *)(iVar9 + 0x20),0)" identifier (argument_list "(*(undefined4 *)(iVar9 + 0x20),0)" ( (pointer_expression "*(undefined4 *)(iVar9 + 0x20)" * (cast_expression "(undefined4 *)(iVar9 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x20)" ( (binary_expression "iVar9 + 0x20" identifier + number_literal) )))) , number_literal ))) ))) ;)) (expression_statement "uVar8 = *(uint *)(iVar3 + 0x14);" (assignment_expression "uVar8 = *(uint *)(iVar3 + 0x14)" identifier = (pointer_expression "*(uint *)(iVar3 + 0x14)" * (cast_expression "(uint *)(iVar3 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x14)" ( (binary_expression "iVar3 + 0x14" identifier + number_literal) ))))) ;) (expression_statement "uVar10 = *(uint *)(iVar3 + 0x10);" (assignment_expression "uVar10 = *(uint *)(iVar3 + 0x10)" identifier = (pointer_expression "*(uint *)(iVar3 + 0x10)" * (cast_expression "(uint *)(iVar3 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x10)" ( (binary_expression "iVar3 + 0x10" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" identifier = (binary_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10)" ( (binary_expression "(uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10" (binary_expression "(uVar8 >> 0x10) << 0x18" (parenthesized_expression "(uVar8 >> 0x10)" ( (binary_expression "uVar8 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar8 >> 0x18) << 0x10" (parenthesized_expression "(uVar8 >> 0x18)" ( (binary_expression "uVar8 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff)" ( (binary_expression "(uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff" (binary_expression "(uVar8 & 0xff) << 8" (parenthesized_expression "(uVar8 & 0xff)" ( (binary_expression "uVar8 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar8 >> 8 & 0xff" (binary_expression "uVar8 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal))) ;) (if_statement "if (uVar8 <= uVar6) {\n        uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8);\n        (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2,uVar6);\n        uVar7 = (undefined1)uVar5;\n      }" if (parenthesized_expression "(uVar8 <= uVar6)" ( (binary_expression "uVar8 <= uVar6" identifier <= identifier) )) (compound_statement "{\n        uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8);\n        (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2,uVar6);\n        uVar7 = (undefined1)uVar5;\n      }" { (expression_statement "uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8);" (assignment_expression "uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8)" identifier = (call_expression "(*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8)" (parenthesized_expression "(*(code *)PTR_gettext_00436818)" ( (pointer_expression "*(code *)PTR_gettext_00436818" * (cast_expression "(code *)PTR_gettext_00436818" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_0043220c + 0x4fa8)" ( (binary_expression "PTR_LAB_0043220c + 0x4fa8" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2,uVar6);" (call_expression "(*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2,uVar6)" (parenthesized_expression "(*(code *)PTR_error_00432a5c)" ( (pointer_expression "*(code *)PTR_error_00432a5c" * (cast_expression "(code *)PTR_error_00432a5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar9,uVar5,in_a2,uVar6)" ( identifier , identifier , identifier , identifier ))) ;) (expression_statement "uVar7 = (undefined1)uVar5;" (assignment_expression "uVar7 = (undefined1)uVar5" identifier = (cast_expression "(undefined1)uVar5" ( (type_descriptor "undefined1" type_identifier) ) identifier)) ;) })) (if_statement "if (*(int *)(iVar9 + 0x1c) != 0) {\n        iVar3 = gold::File_read::get_view\n                          ((ulonglong)\n                           ((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000),CONCAT44(uVar8,1),\n                           *(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                           SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n        iVar4 = (*(code *)PTR_memchr_004366a8)(iVar3 + uVar6,0,uVar8 - uVar6);\n        if (iVar4 == 0) {\n          uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);\n          (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2);\n        }\n        *(uint *)param_1 = param_1 + 8;\n        std::string::_M_construct<char_const*>((string *)param_1,iVar3 + uVar6,iVar4,0);\n        return param_1;\n      }" if (parenthesized_expression "(*(int *)(iVar9 + 0x1c) != 0)" ( (binary_expression "*(int *)(iVar9 + 0x1c) != 0" (pointer_expression "*(int *)(iVar9 + 0x1c)" * (cast_expression "(int *)(iVar9 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x1c)" ( (binary_expression "iVar9 + 0x1c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        iVar3 = gold::File_read::get_view\n                          ((ulonglong)\n                           ((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000),CONCAT44(uVar8,1),\n                           *(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                           SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n        iVar4 = (*(code *)PTR_memchr_004366a8)(iVar3 + uVar6,0,uVar8 - uVar6);\n        if (iVar4 == 0) {\n          uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);\n          (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2);\n        }\n        *(uint *)param_1 = param_1 + 8;\n        std::string::_M_construct<char_const*>((string *)param_1,iVar3 + uVar6,iVar4,0);\n        return param_1;\n      }" { (ERROR "iVar3 = gold::" (assignment_expression "iVar3 = gold" identifier = identifier) : :) (labeled_statement "File_read::get_view\n                          ((ulonglong)\n                           ((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000),CONCAT44(uVar8,1),\n                           *(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                           SUB41(*(undefined4 *)(iVar9 + 0x20),0));" statement_identifier : (ERROR ":" :) (expression_statement "get_view\n                          ((ulonglong)\n                           ((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000),CONCAT44(uVar8,1),\n                           *(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                           SUB41(*(undefined4 *)(iVar9 + 0x20),0));" (call_expression "get_view\n                          ((ulonglong)\n                           ((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000),CONCAT44(uVar8,1),\n                           *(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                           SUB41(*(undefined4 *)(iVar9 + 0x20),0))" identifier (argument_list "((ulonglong)\n                           ((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000),CONCAT44(uVar8,1),\n                           *(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                           SUB41(*(undefined4 *)(iVar9 + 0x20),0))" ( (call_expression "(ulonglong)\n                           ((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000)" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000)" ( (binary_expression "(((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10)" ( (binary_expression "((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10)" ( (binary_expression "(uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10" (binary_expression "(uVar10 >> 0x10) << 0x18" (parenthesized_expression "(uVar10 >> 0x10)" ( (binary_expression "uVar10 >> 0x10" identifier >> number_literal) )) << number_literal) | (binary_expression "(uVar10 >> 0x18) << 0x10" (parenthesized_expression "(uVar10 >> 0x18)" ( (binary_expression "uVar10 >> 0x18" identifier >> number_literal) )) << number_literal)) )) >> number_literal) )) + (binary_expression "((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff)" ( (binary_expression "(uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff" (binary_expression "(uVar10 & 0xff) << 8" (parenthesized_expression "(uVar10 & 0xff)" ( (binary_expression "uVar10 & 0xff" identifier & number_literal) )) << number_literal) | (binary_expression "uVar10 >> 8 & 0xff" (binary_expression "uVar10 >> 8" identifier >> number_literal) & number_literal)) )) * number_literal)) ))) , (call_expression "CONCAT44(uVar8,1)" identifier (argument_list "(uVar8,1)" ( identifier , number_literal ))) , (binary_expression "*(int *)(iVar9 + 0x1c) + 0x20" (pointer_expression "*(int *)(iVar9 + 0x1c)" * (cast_expression "(int *)(iVar9 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x1c)" ( (binary_expression "iVar9 + 0x1c" identifier + number_literal) )))) + number_literal) , (cast_expression "(bool)uVar7" ( (type_descriptor "bool" primitive_type) ) identifier) , (call_expression "SUB41(*(undefined4 *)(iVar9 + 0x20),0)" identifier (argument_list "(*(undefined4 *)(iVar9 + 0x20),0)" ( (pointer_expression "*(undefined4 *)(iVar9 + 0x20)" * (cast_expression "(undefined4 *)(iVar9 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar9 + 0x20)" ( (binary_expression "iVar9 + 0x20" identifier + number_literal) )))) , number_literal ))) ))) ;)) (expression_statement "iVar4 = (*(code *)PTR_memchr_004366a8)(iVar3 + uVar6,0,uVar8 - uVar6);" (assignment_expression "iVar4 = (*(code *)PTR_memchr_004366a8)(iVar3 + uVar6,0,uVar8 - uVar6)" identifier = (call_expression "(*(code *)PTR_memchr_004366a8)(iVar3 + uVar6,0,uVar8 - uVar6)" (parenthesized_expression "(*(code *)PTR_memchr_004366a8)" ( (pointer_expression "*(code *)PTR_memchr_004366a8" * (cast_expression "(code *)PTR_memchr_004366a8" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar3 + uVar6,0,uVar8 - uVar6)" ( (binary_expression "iVar3 + uVar6" identifier + identifier) , number_literal , (binary_expression "uVar8 - uVar6" identifier - identifier) )))) ;) (if_statement "if (iVar4 == 0) {\n          uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);\n          (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2);\n        }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);\n          (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2);\n        }" { (expression_statement "uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);" (assignment_expression "uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4)" identifier = (call_expression "(*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4)" (parenthesized_expression "(*(code *)PTR_gettext_00436818)" ( (pointer_expression "*(code *)PTR_gettext_00436818" * (cast_expression "(code *)PTR_gettext_00436818" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_LAB_0043220c + 0x4fd4)" ( (binary_expression "PTR_LAB_0043220c + 0x4fd4" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2);" (call_expression "(*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2)" (parenthesized_expression "(*(code *)PTR_error_00432a5c)" ( (pointer_expression "*(code *)PTR_error_00432a5c" * (cast_expression "(code *)PTR_error_00432a5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar9,uVar5,in_a2)" ( identifier , identifier , identifier ))) ;) })) (expression_statement "*(uint *)param_1 = param_1 + 8;" (assignment_expression "*(uint *)param_1 = param_1 + 8" (pointer_expression "*(uint *)param_1" * (cast_expression "(uint *)param_1" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "param_1 + 8" identifier + number_literal)) ;) (labeled_statement "std::string::_M_construct<char_const*>((string *)param_1,iVar3 + uVar6,iVar4,0);" statement_identifier : (ERROR ":" :) (labeled_statement "string::_M_construct<char_const*>((string *)param_1,iVar3 + uVar6,iVar4,0);" statement_identifier : (ERROR ":" :) (expression_statement "_M_construct<char_const*>((string *)param_1,iVar3 + uVar6,iVar4,0);" (binary_expression "_M_construct<char_const*>((string *)param_1,iVar3 + uVar6,iVar4,0)" (binary_expression "_M_construct<char_const" identifier < identifier) (ERROR "*" *) > (parenthesized_expression "((string *)param_1,iVar3 + uVar6,iVar4,0)" ( (comma_expression "(string *)param_1,iVar3 + uVar6,iVar4,0" (cast_expression "(string *)param_1" ( (type_descriptor "string *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (comma_expression "iVar3 + uVar6,iVar4,0" (binary_expression "iVar3 + uVar6" identifier + identifier) , (comma_expression "iVar4,0" identifier , number_literal))) ))) ;))) (return_statement "return param_1;" return identifier ;) })) })) })) (labeled_statement "gold::do_gold_unreachable(PTR_LAB_0043220c + 0x44a8,0x1e3,PTR_LAB_0043220c + 0x5a4c);" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable(PTR_LAB_0043220c + 0x44a8,0x1e3,PTR_LAB_0043220c + 0x5a4c);" (call_expression "do_gold_unreachable(PTR_LAB_0043220c + 0x44a8,0x1e3,PTR_LAB_0043220c + 0x5a4c)" identifier (argument_list "(PTR_LAB_0043220c + 0x44a8,0x1e3,PTR_LAB_0043220c + 0x5a4c)" ( (binary_expression "PTR_LAB_0043220c + 0x44a8" identifier + number_literal) , number_literal , (binary_expression "PTR_LAB_0043220c + 0x5a4c" identifier + number_literal) ))) ;)) (ERROR "}" }))
(translation_unit (declaration TYPE (ERROR IDENT : :) IDENT (ERROR < LIT) , IDENT , (ERROR IDENT : : IDENT > : : (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) { IDENT) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (ERROR (binary_expression IDENT < LIT) , BOOL ,) (labeled_statement statement_identifier : (ERROR :) (expression_statement (binary_expression IDENT > (pointer_expression * IDENT)) ;)) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (ERROR (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) : :) (labeled_statement statement_identifier : (ERROR :) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (call_expression IDENT (argument_list ( IDENT , LIT ))) , (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT ))) ))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (ERROR (assignment_expression IDENT = IDENT) : :) (labeled_statement statement_identifier : (ERROR :) (expression_statement (call_expression IDENT (argument_list ( IDENT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) , (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT ))) ))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (ERROR (assignment_expression IDENT = IDENT) : :) (labeled_statement statement_identifier : (ERROR :) (expression_statement (call_expression IDENT (argument_list ( (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) << LIT)) )) >> LIT) )) + (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT) | (binary_expression (binary_expression IDENT >> LIT) & LIT)) )) * LIT)) ))) , (call_expression IDENT (argument_list ( IDENT , LIT ))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , (cast_expression ( (type_descriptor TYPE) ) IDENT) , (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT ))) ))) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + IDENT) , LIT , (binary_expression IDENT - IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) = (binary_expression IDENT + LIT)) ;) (labeled_statement statement_identifier : (ERROR :) (labeled_statement statement_identifier : (ERROR :) (expression_statement (binary_expression (binary_expression IDENT < IDENT) (ERROR *) > (parenthesized_expression ( (comma_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (comma_expression (binary_expression IDENT + IDENT) , (comma_expression IDENT , LIT))) ))) ;))) (return_statement return IDENT ;) })) })) })) (labeled_statement statement_identifier : (ERROR :) (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;)) (ERROR }))
(declaration "uint elfcpp::Elf_file<32,false,gold::Object>::section_name_abi_cxx11_(uint param_1)\n\n{\n  longlong lVar1;" (type_identifier "uint") (ERROR "elfcpp::" (identifier "elfcpp") (: ":") (: ":")) (identifier "Elf_file") (ERROR "<32" (< "<") (number_literal "32")) (, ",") (identifier "false") (, ",") (ERROR "gold::Object>::section_name_abi_cxx11_(uint param_1)\n\n{\n  longlong" (identifier "gold") (: ":") (: ":") (identifier "Object") (> ">") (: ":") (: ":") (function_declarator "section_name_abi_cxx11_(uint param_1)" (identifier "section_name_abi_cxx11_") (parameter_list "(uint param_1)" (( "(") (parameter_declaration "uint param_1" (type_identifier "uint") (identifier "param_1")) () ")"))) ({ "{") (identifier "longlong")) (identifier "lVar1") (; ";")) (declaration "uint *puVar2;" (type_identifier "uint") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (ERROR "Elf_file<32,false," (binary_expression "Elf_file<32" (identifier "Elf_file") (< "<") (number_literal "32")) (, ",") (false "false") (, ",")) (labeled_statement "gold::Object> *in_a1;" (statement_identifier "gold") (: ":") (ERROR ":" (: ":")) (expression_statement "Object> *in_a1;" (binary_expression "Object> *in_a1" (identifier "Object") (> ">") (pointer_expression "*in_a1" (* "*") (identifier "in_a1"))) (; ";"))) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "undefined1 uVar7;" (type_identifier "undefined1") (identifier "uVar7") (; ";")) (declaration "uint in_a2;" (type_identifier "uint") (identifier "in_a2") (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "int iVar9;" (primitive_type "int") (identifier "iVar9") (; ";")) (declaration "uint uVar10;" (type_identifier "uint") (identifier "uVar10") (; ";")) (expression_statement "iVar9 = *(int *)in_a1;" (assignment_expression "iVar9 = *(int *)in_a1" (identifier "iVar9") (= "=") (pointer_expression "*(int *)in_a1" (* "*") (cast_expression "(int *)in_a1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "in_a1")))) (; ";")) (expression_statement "uVar6 = in_a2;" (assignment_expression "uVar6 = in_a2" (identifier "uVar6") (= "=") (identifier "in_a2")) (; ";")) (expression_statement "lVar1 = section_header_offset(in_a1,in_a2);" (assignment_expression "lVar1 = section_header_offset(in_a1,in_a2)" (identifier "lVar1") (= "=") (call_expression "section_header_offset(in_a1,in_a2)" (identifier "section_header_offset") (argument_list "(in_a1,in_a2)" (( "(") (identifier "in_a1") (, ",") (identifier "in_a2") () ")")))) (; ";")) (if_statement "if (*(int *)(iVar9 + 0x1c) != 0) {\n    puVar2 = (uint *)gold::File_read::get_view\n                               (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,SUB41(uVar6,0),\n                                SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n    uVar6 = *(uint *)(in_a1 + 0x14);\n    uVar8 = *puVar2;\n    lVar1 = section_header_offset(in_a1,uVar6);\n    uVar7 = (undefined1)uVar6;\n    uVar6 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n    if (*(int *)(iVar9 + 0x1c) != 0) {\n      iVar3 = gold::File_read::get_view\n                        (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                         SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n      uVar8 = *(uint *)(iVar3 + 0x14);\n      uVar10 = *(uint *)(iVar3 + 0x10);\n      uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n      if (uVar8 <= uVar6) {\n        uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8);\n        (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2,uVar6);\n        uVar7 = (undefined1)uVar5;\n      }\n      if (*(int *)(iVar9 + 0x1c) != 0) {\n        iVar3 = gold::File_read::get_view\n                          ((ulonglong)\n                           ((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000),CONCAT44(uVar8,1),\n                           *(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                           SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n        iVar4 = (*(code *)PTR_memchr_004366a8)(iVar3 + uVar6,0,uVar8 - uVar6);\n        if (iVar4 == 0) {\n          uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);\n          (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2);\n        }\n        *(uint *)param_1 = param_1 + 8;\n        std::string::_M_construct<char_const*>((string *)param_1,iVar3 + uVar6,iVar4,0);\n        return param_1;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar9 + 0x1c) != 0)" (( "(") (binary_expression "*(int *)(iVar9 + 0x1c) != 0" (pointer_expression "*(int *)(iVar9 + 0x1c)" (* "*") (cast_expression "(int *)(iVar9 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x1c)" (( "(") (binary_expression "iVar9 + 0x1c" (identifier "iVar9") (+ "+") (number_literal "0x1c")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    puVar2 = (uint *)gold::File_read::get_view\n                               (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,SUB41(uVar6,0),\n                                SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n    uVar6 = *(uint *)(in_a1 + 0x14);\n    uVar8 = *puVar2;\n    lVar1 = section_header_offset(in_a1,uVar6);\n    uVar7 = (undefined1)uVar6;\n    uVar6 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n    if (*(int *)(iVar9 + 0x1c) != 0) {\n      iVar3 = gold::File_read::get_view\n                        (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                         SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n      uVar8 = *(uint *)(iVar3 + 0x14);\n      uVar10 = *(uint *)(iVar3 + 0x10);\n      uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n      if (uVar8 <= uVar6) {\n        uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8);\n        (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2,uVar6);\n        uVar7 = (undefined1)uVar5;\n      }\n      if (*(int *)(iVar9 + 0x1c) != 0) {\n        iVar3 = gold::File_read::get_view\n                          ((ulonglong)\n                           ((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000),CONCAT44(uVar8,1),\n                           *(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                           SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n        iVar4 = (*(code *)PTR_memchr_004366a8)(iVar3 + uVar6,0,uVar8 - uVar6);\n        if (iVar4 == 0) {\n          uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);\n          (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2);\n        }\n        *(uint *)param_1 = param_1 + 8;\n        std::string::_M_construct<char_const*>((string *)param_1,iVar3 + uVar6,iVar4,0);\n        return param_1;\n      }\n    }\n  }" ({ "{") (ERROR "puVar2 = (uint *)gold::" (assignment_expression "puVar2 = (uint *)gold" (identifier "puVar2") (= "=") (cast_expression "(uint *)gold" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "gold"))) (: ":") (: ":")) (labeled_statement "File_read::get_view\n                               (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,SUB41(uVar6,0),\n                                SUB41(*(undefined4 *)(iVar9 + 0x20),0));" (statement_identifier "File_read") (: ":") (ERROR ":" (: ":")) (expression_statement "get_view\n                               (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,SUB41(uVar6,0),\n                                SUB41(*(undefined4 *)(iVar9 + 0x20),0));" (call_expression "get_view\n                               (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,SUB41(uVar6,0),\n                                SUB41(*(undefined4 *)(iVar9 + 0x20),0))" (identifier "get_view") (argument_list "(lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,SUB41(uVar6,0),\n                                SUB41(*(undefined4 *)(iVar9 + 0x20),0))" (( "(") (identifier "lVar1") (, ",") (number_literal "0x2800000001") (, ",") (binary_expression "*(int *)(iVar9 + 0x1c) + 0x20" (pointer_expression "*(int *)(iVar9 + 0x1c)" (* "*") (cast_expression "(int *)(iVar9 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x1c)" (( "(") (binary_expression "iVar9 + 0x1c" (identifier "iVar9") (+ "+") (number_literal "0x1c")) () ")")))) (+ "+") (number_literal "0x20")) (, ",") (call_expression "SUB41(uVar6,0)" (identifier "SUB41") (argument_list "(uVar6,0)" (( "(") (identifier "uVar6") (, ",") (number_literal "0") () ")"))) (, ",") (call_expression "SUB41(*(undefined4 *)(iVar9 + 0x20),0)" (identifier "SUB41") (argument_list "(*(undefined4 *)(iVar9 + 0x20),0)" (( "(") (pointer_expression "*(undefined4 *)(iVar9 + 0x20)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x20)" (( "(") (binary_expression "iVar9 + 0x20" (identifier "iVar9") (+ "+") (number_literal "0x20")) () ")")))) (, ",") (number_literal "0") () ")"))) () ")"))) (; ";"))) (expression_statement "uVar6 = *(uint *)(in_a1 + 0x14);" (assignment_expression "uVar6 = *(uint *)(in_a1 + 0x14)" (identifier "uVar6") (= "=") (pointer_expression "*(uint *)(in_a1 + 0x14)" (* "*") (cast_expression "(uint *)(in_a1 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_a1 + 0x14)" (( "(") (binary_expression "in_a1 + 0x14" (identifier "in_a1") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "uVar8 = *puVar2;" (assignment_expression "uVar8 = *puVar2" (identifier "uVar8") (= "=") (pointer_expression "*puVar2" (* "*") (identifier "puVar2"))) (; ";")) (expression_statement "lVar1 = section_header_offset(in_a1,uVar6);" (assignment_expression "lVar1 = section_header_offset(in_a1,uVar6)" (identifier "lVar1") (= "=") (call_expression "section_header_offset(in_a1,uVar6)" (identifier "section_header_offset") (argument_list "(in_a1,uVar6)" (( "(") (identifier "in_a1") (, ",") (identifier "uVar6") () ")")))) (; ";")) (expression_statement "uVar7 = (undefined1)uVar6;" (assignment_expression "uVar7 = (undefined1)uVar6" (identifier "uVar7") (= "=") (cast_expression "(undefined1)uVar6" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (identifier "uVar6"))) (; ";")) (expression_statement "uVar6 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar6 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (identifier "uVar6") (= "=") (binary_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10" (binary_expression "(uVar8 >> 0x10) << 0x18" (parenthesized_expression "(uVar8 >> 0x10)" (( "(") (binary_expression "uVar8 >> 0x10" (identifier "uVar8") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar8 >> 0x18) << 0x10" (parenthesized_expression "(uVar8 >> 0x18)" (( "(") (binary_expression "uVar8 >> 0x18" (identifier "uVar8") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff)" (( "(") (binary_expression "(uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff" (binary_expression "(uVar8 & 0xff) << 8" (parenthesized_expression "(uVar8 & 0xff)" (( "(") (binary_expression "uVar8 & 0xff" (identifier "uVar8") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar8 >> 8 & 0xff" (binary_expression "uVar8 >> 8" (identifier "uVar8") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (if_statement "if (*(int *)(iVar9 + 0x1c) != 0) {\n      iVar3 = gold::File_read::get_view\n                        (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                         SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n      uVar8 = *(uint *)(iVar3 + 0x14);\n      uVar10 = *(uint *)(iVar3 + 0x10);\n      uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n      if (uVar8 <= uVar6) {\n        uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8);\n        (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2,uVar6);\n        uVar7 = (undefined1)uVar5;\n      }\n      if (*(int *)(iVar9 + 0x1c) != 0) {\n        iVar3 = gold::File_read::get_view\n                          ((ulonglong)\n                           ((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000),CONCAT44(uVar8,1),\n                           *(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                           SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n        iVar4 = (*(code *)PTR_memchr_004366a8)(iVar3 + uVar6,0,uVar8 - uVar6);\n        if (iVar4 == 0) {\n          uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);\n          (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2);\n        }\n        *(uint *)param_1 = param_1 + 8;\n        std::string::_M_construct<char_const*>((string *)param_1,iVar3 + uVar6,iVar4,0);\n        return param_1;\n      }\n    }" (if "if") (parenthesized_expression "(*(int *)(iVar9 + 0x1c) != 0)" (( "(") (binary_expression "*(int *)(iVar9 + 0x1c) != 0" (pointer_expression "*(int *)(iVar9 + 0x1c)" (* "*") (cast_expression "(int *)(iVar9 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x1c)" (( "(") (binary_expression "iVar9 + 0x1c" (identifier "iVar9") (+ "+") (number_literal "0x1c")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      iVar3 = gold::File_read::get_view\n                        (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                         SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n      uVar8 = *(uint *)(iVar3 + 0x14);\n      uVar10 = *(uint *)(iVar3 + 0x10);\n      uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;\n      if (uVar8 <= uVar6) {\n        uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8);\n        (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2,uVar6);\n        uVar7 = (undefined1)uVar5;\n      }\n      if (*(int *)(iVar9 + 0x1c) != 0) {\n        iVar3 = gold::File_read::get_view\n                          ((ulonglong)\n                           ((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000),CONCAT44(uVar8,1),\n                           *(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                           SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n        iVar4 = (*(code *)PTR_memchr_004366a8)(iVar3 + uVar6,0,uVar8 - uVar6);\n        if (iVar4 == 0) {\n          uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);\n          (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2);\n        }\n        *(uint *)param_1 = param_1 + 8;\n        std::string::_M_construct<char_const*>((string *)param_1,iVar3 + uVar6,iVar4,0);\n        return param_1;\n      }\n    }" ({ "{") (ERROR "iVar3 = gold::" (assignment_expression "iVar3 = gold" (identifier "iVar3") (= "=") (identifier "gold")) (: ":") (: ":")) (labeled_statement "File_read::get_view\n                        (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                         SUB41(*(undefined4 *)(iVar9 + 0x20),0));" (statement_identifier "File_read") (: ":") (ERROR ":" (: ":")) (expression_statement "get_view\n                        (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                         SUB41(*(undefined4 *)(iVar9 + 0x20),0));" (call_expression "get_view\n                        (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                         SUB41(*(undefined4 *)(iVar9 + 0x20),0))" (identifier "get_view") (argument_list "(lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                         SUB41(*(undefined4 *)(iVar9 + 0x20),0))" (( "(") (identifier "lVar1") (, ",") (number_literal "0x2800000001") (, ",") (binary_expression "*(int *)(iVar9 + 0x1c) + 0x20" (pointer_expression "*(int *)(iVar9 + 0x1c)" (* "*") (cast_expression "(int *)(iVar9 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x1c)" (( "(") (binary_expression "iVar9 + 0x1c" (identifier "iVar9") (+ "+") (number_literal "0x1c")) () ")")))) (+ "+") (number_literal "0x20")) (, ",") (cast_expression "(bool)uVar7" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar7")) (, ",") (call_expression "SUB41(*(undefined4 *)(iVar9 + 0x20),0)" (identifier "SUB41") (argument_list "(*(undefined4 *)(iVar9 + 0x20),0)" (( "(") (pointer_expression "*(undefined4 *)(iVar9 + 0x20)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x20)" (( "(") (binary_expression "iVar9 + 0x20" (identifier "iVar9") (+ "+") (number_literal "0x20")) () ")")))) (, ",") (number_literal "0") () ")"))) () ")"))) (; ";"))) (expression_statement "uVar8 = *(uint *)(iVar3 + 0x14);" (assignment_expression "uVar8 = *(uint *)(iVar3 + 0x14)" (identifier "uVar8") (= "=") (pointer_expression "*(uint *)(iVar3 + 0x14)" (* "*") (cast_expression "(uint *)(iVar3 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x14)" (( "(") (binary_expression "iVar3 + 0x14" (identifier "iVar3") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "uVar10 = *(uint *)(iVar3 + 0x10);" (assignment_expression "uVar10 = *(uint *)(iVar3 + 0x10)" (identifier "uVar10") (= "=") (pointer_expression "*(uint *)(iVar3 + 0x10)" (* "*") (cast_expression "(uint *)(iVar3 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar3 + 0x10)" (( "(") (binary_expression "iVar3 + 0x10" (identifier "iVar3") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;" (assignment_expression "uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (identifier "uVar8") (= "=") (binary_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +\n              ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10" (binary_expression "(uVar8 >> 0x10) << 0x18" (parenthesized_expression "(uVar8 >> 0x10)" (( "(") (binary_expression "uVar8 >> 0x10" (identifier "uVar8") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar8 >> 0x18) << 0x10" (parenthesized_expression "(uVar8 >> 0x18)" (( "(") (binary_expression "uVar8 >> 0x18" (identifier "uVar8") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff)" (( "(") (binary_expression "(uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff" (binary_expression "(uVar8 & 0xff) << 8" (parenthesized_expression "(uVar8 & 0xff)" (( "(") (binary_expression "uVar8 & 0xff" (identifier "uVar8") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar8 >> 8 & 0xff" (binary_expression "uVar8 >> 8" (identifier "uVar8") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000")))) (; ";")) (if_statement "if (uVar8 <= uVar6) {\n        uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8);\n        (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2,uVar6);\n        uVar7 = (undefined1)uVar5;\n      }" (if "if") (parenthesized_expression "(uVar8 <= uVar6)" (( "(") (binary_expression "uVar8 <= uVar6" (identifier "uVar8") (<= "<=") (identifier "uVar6")) () ")")) (compound_statement "{\n        uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8);\n        (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2,uVar6);\n        uVar7 = (undefined1)uVar5;\n      }" ({ "{") (expression_statement "uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8);" (assignment_expression "uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8)" (identifier "uVar5") (= "=") (call_expression "(*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8)" (parenthesized_expression "(*(code *)PTR_gettext_00436818)" (( "(") (pointer_expression "*(code *)PTR_gettext_00436818" (* "*") (cast_expression "(code *)PTR_gettext_00436818" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_gettext_00436818"))) () ")")) (argument_list "(PTR_LAB_0043220c + 0x4fa8)" (( "(") (binary_expression "PTR_LAB_0043220c + 0x4fa8" (identifier "PTR_LAB_0043220c") (+ "+") (number_literal "0x4fa8")) () ")")))) (; ";")) (expression_statement "(*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2,uVar6);" (call_expression "(*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2,uVar6)" (parenthesized_expression "(*(code *)PTR_error_00432a5c)" (( "(") (pointer_expression "*(code *)PTR_error_00432a5c" (* "*") (cast_expression "(code *)PTR_error_00432a5c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_error_00432a5c"))) () ")")) (argument_list "(iVar9,uVar5,in_a2,uVar6)" (( "(") (identifier "iVar9") (, ",") (identifier "uVar5") (, ",") (identifier "in_a2") (, ",") (identifier "uVar6") () ")"))) (; ";")) (expression_statement "uVar7 = (undefined1)uVar5;" (assignment_expression "uVar7 = (undefined1)uVar5" (identifier "uVar7") (= "=") (cast_expression "(undefined1)uVar5" (( "(") (type_descriptor "undefined1" (type_identifier "undefined1")) () ")") (identifier "uVar5"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(iVar9 + 0x1c) != 0) {\n        iVar3 = gold::File_read::get_view\n                          ((ulonglong)\n                           ((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000),CONCAT44(uVar8,1),\n                           *(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                           SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n        iVar4 = (*(code *)PTR_memchr_004366a8)(iVar3 + uVar6,0,uVar8 - uVar6);\n        if (iVar4 == 0) {\n          uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);\n          (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2);\n        }\n        *(uint *)param_1 = param_1 + 8;\n        std::string::_M_construct<char_const*>((string *)param_1,iVar3 + uVar6,iVar4,0);\n        return param_1;\n      }" (if "if") (parenthesized_expression "(*(int *)(iVar9 + 0x1c) != 0)" (( "(") (binary_expression "*(int *)(iVar9 + 0x1c) != 0" (pointer_expression "*(int *)(iVar9 + 0x1c)" (* "*") (cast_expression "(int *)(iVar9 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x1c)" (( "(") (binary_expression "iVar9 + 0x1c" (identifier "iVar9") (+ "+") (number_literal "0x1c")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar3 = gold::File_read::get_view\n                          ((ulonglong)\n                           ((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000),CONCAT44(uVar8,1),\n                           *(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                           SUB41(*(undefined4 *)(iVar9 + 0x20),0));\n        iVar4 = (*(code *)PTR_memchr_004366a8)(iVar3 + uVar6,0,uVar8 - uVar6);\n        if (iVar4 == 0) {\n          uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);\n          (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2);\n        }\n        *(uint *)param_1 = param_1 + 8;\n        std::string::_M_construct<char_const*>((string *)param_1,iVar3 + uVar6,iVar4,0);\n        return param_1;\n      }" ({ "{") (ERROR "iVar3 = gold::" (assignment_expression "iVar3 = gold" (identifier "iVar3") (= "=") (identifier "gold")) (: ":") (: ":")) (labeled_statement "File_read::get_view\n                          ((ulonglong)\n                           ((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000),CONCAT44(uVar8,1),\n                           *(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                           SUB41(*(undefined4 *)(iVar9 + 0x20),0));" (statement_identifier "File_read") (: ":") (ERROR ":" (: ":")) (expression_statement "get_view\n                          ((ulonglong)\n                           ((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000),CONCAT44(uVar8,1),\n                           *(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                           SUB41(*(undefined4 *)(iVar9 + 0x20),0));" (call_expression "get_view\n                          ((ulonglong)\n                           ((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000),CONCAT44(uVar8,1),\n                           *(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                           SUB41(*(undefined4 *)(iVar9 + 0x20),0))" (identifier "get_view") (argument_list "((ulonglong)\n                           ((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000),CONCAT44(uVar8,1),\n                           *(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,\n                           SUB41(*(undefined4 *)(iVar9 + 0x20),0))" (( "(") (call_expression "(ulonglong)\n                           ((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000)" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (argument_list "((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000)" (( "(") (binary_expression "(((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +\n                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000" (parenthesized_expression "(((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10)" (( "(") (binary_expression "((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10" (parenthesized_expression "((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10)" (( "(") (binary_expression "(uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10" (binary_expression "(uVar10 >> 0x10) << 0x18" (parenthesized_expression "(uVar10 >> 0x10)" (( "(") (binary_expression "uVar10 >> 0x10" (identifier "uVar10") (>> ">>") (number_literal "0x10")) () ")")) (<< "<<") (number_literal "0x18")) (| "|") (binary_expression "(uVar10 >> 0x18) << 0x10" (parenthesized_expression "(uVar10 >> 0x18)" (( "(") (binary_expression "uVar10 >> 0x18" (identifier "uVar10") (>> ">>") (number_literal "0x18")) () ")")) (<< "<<") (number_literal "0x10"))) () ")")) (>> ">>") (number_literal "0x10")) () ")")) (+ "+") (binary_expression "((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000" (parenthesized_expression "((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff)" (( "(") (binary_expression "(uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff" (binary_expression "(uVar10 & 0xff) << 8" (parenthesized_expression "(uVar10 & 0xff)" (( "(") (binary_expression "uVar10 & 0xff" (identifier "uVar10") (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "uVar10 >> 8 & 0xff" (binary_expression "uVar10 >> 8" (identifier "uVar10") (>> ">>") (number_literal "8")) (& "&") (number_literal "0xff"))) () ")")) (* "*") (number_literal "0x10000"))) () ")"))) (, ",") (call_expression "CONCAT44(uVar8,1)" (identifier "CONCAT44") (argument_list "(uVar8,1)" (( "(") (identifier "uVar8") (, ",") (number_literal "1") () ")"))) (, ",") (binary_expression "*(int *)(iVar9 + 0x1c) + 0x20" (pointer_expression "*(int *)(iVar9 + 0x1c)" (* "*") (cast_expression "(int *)(iVar9 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x1c)" (( "(") (binary_expression "iVar9 + 0x1c" (identifier "iVar9") (+ "+") (number_literal "0x1c")) () ")")))) (+ "+") (number_literal "0x20")) (, ",") (cast_expression "(bool)uVar7" (( "(") (type_descriptor "bool" (primitive_type "bool")) () ")") (identifier "uVar7")) (, ",") (call_expression "SUB41(*(undefined4 *)(iVar9 + 0x20),0)" (identifier "SUB41") (argument_list "(*(undefined4 *)(iVar9 + 0x20),0)" (( "(") (pointer_expression "*(undefined4 *)(iVar9 + 0x20)" (* "*") (cast_expression "(undefined4 *)(iVar9 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar9 + 0x20)" (( "(") (binary_expression "iVar9 + 0x20" (identifier "iVar9") (+ "+") (number_literal "0x20")) () ")")))) (, ",") (number_literal "0") () ")"))) () ")"))) (; ";"))) (expression_statement "iVar4 = (*(code *)PTR_memchr_004366a8)(iVar3 + uVar6,0,uVar8 - uVar6);" (assignment_expression "iVar4 = (*(code *)PTR_memchr_004366a8)(iVar3 + uVar6,0,uVar8 - uVar6)" (identifier "iVar4") (= "=") (call_expression "(*(code *)PTR_memchr_004366a8)(iVar3 + uVar6,0,uVar8 - uVar6)" (parenthesized_expression "(*(code *)PTR_memchr_004366a8)" (( "(") (pointer_expression "*(code *)PTR_memchr_004366a8" (* "*") (cast_expression "(code *)PTR_memchr_004366a8" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memchr_004366a8"))) () ")")) (argument_list "(iVar3 + uVar6,0,uVar8 - uVar6)" (( "(") (binary_expression "iVar3 + uVar6" (identifier "iVar3") (+ "+") (identifier "uVar6")) (, ",") (number_literal "0") (, ",") (binary_expression "uVar8 - uVar6" (identifier "uVar8") (- "-") (identifier "uVar6")) () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n          uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);\n          (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2);\n        }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);\n          (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2);\n        }" ({ "{") (expression_statement "uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);" (assignment_expression "uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4)" (identifier "uVar5") (= "=") (call_expression "(*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4)" (parenthesized_expression "(*(code *)PTR_gettext_00436818)" (( "(") (pointer_expression "*(code *)PTR_gettext_00436818" (* "*") (cast_expression "(code *)PTR_gettext_00436818" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_gettext_00436818"))) () ")")) (argument_list "(PTR_LAB_0043220c + 0x4fd4)" (( "(") (binary_expression "PTR_LAB_0043220c + 0x4fd4" (identifier "PTR_LAB_0043220c") (+ "+") (number_literal "0x4fd4")) () ")")))) (; ";")) (expression_statement "(*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2);" (call_expression "(*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2)" (parenthesized_expression "(*(code *)PTR_error_00432a5c)" (( "(") (pointer_expression "*(code *)PTR_error_00432a5c" (* "*") (cast_expression "(code *)PTR_error_00432a5c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_error_00432a5c"))) () ")")) (argument_list "(iVar9,uVar5,in_a2)" (( "(") (identifier "iVar9") (, ",") (identifier "uVar5") (, ",") (identifier "in_a2") () ")"))) (; ";")) (} "}"))) (expression_statement "*(uint *)param_1 = param_1 + 8;" (assignment_expression "*(uint *)param_1 = param_1 + 8" (pointer_expression "*(uint *)param_1" (* "*") (cast_expression "(uint *)param_1" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) (= "=") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8"))) (; ";")) (labeled_statement "std::string::_M_construct<char_const*>((string *)param_1,iVar3 + uVar6,iVar4,0);" (statement_identifier "std") (: ":") (ERROR ":" (: ":")) (labeled_statement "string::_M_construct<char_const*>((string *)param_1,iVar3 + uVar6,iVar4,0);" (statement_identifier "string") (: ":") (ERROR ":" (: ":")) (expression_statement "_M_construct<char_const*>((string *)param_1,iVar3 + uVar6,iVar4,0);" (binary_expression "_M_construct<char_const*>((string *)param_1,iVar3 + uVar6,iVar4,0)" (binary_expression "_M_construct<char_const" (identifier "_M_construct") (< "<") (identifier "char_const")) (ERROR "*" (* "*")) (> ">") (parenthesized_expression "((string *)param_1,iVar3 + uVar6,iVar4,0)" (( "(") (comma_expression "(string *)param_1,iVar3 + uVar6,iVar4,0" (cast_expression "(string *)param_1" (( "(") (type_descriptor "string *" (type_identifier "string") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1")) (, ",") (comma_expression "iVar3 + uVar6,iVar4,0" (binary_expression "iVar3 + uVar6" (identifier "iVar3") (+ "+") (identifier "uVar6")) (, ",") (comma_expression "iVar4,0" (identifier "iVar4") (, ",") (number_literal "0")))) () ")"))) (; ";")))) (return_statement "return param_1;" (return "return") (identifier "param_1") (; ";")) (} "}"))) (} "}"))) (} "}"))) (labeled_statement "gold::do_gold_unreachable(PTR_LAB_0043220c + 0x44a8,0x1e3,PTR_LAB_0043220c + 0x5a4c);" (statement_identifier "gold") (: ":") (ERROR ":" (: ":")) (expression_statement "do_gold_unreachable(PTR_LAB_0043220c + 0x44a8,0x1e3,PTR_LAB_0043220c + 0x5a4c);" (call_expression "do_gold_unreachable(PTR_LAB_0043220c + 0x44a8,0x1e3,PTR_LAB_0043220c + 0x5a4c)" (identifier "do_gold_unreachable") (argument_list "(PTR_LAB_0043220c + 0x44a8,0x1e3,PTR_LAB_0043220c + 0x5a4c)" (( "(") (binary_expression "PTR_LAB_0043220c + 0x44a8" (identifier "PTR_LAB_0043220c") (+ "+") (number_literal "0x44a8")) (, ",") (number_literal "0x1e3") (, ",") (binary_expression "PTR_LAB_0043220c + 0x5a4c" (identifier "PTR_LAB_0043220c") (+ "+") (number_literal "0x5a4c")) () ")"))) (; ";"))) (ERROR "}" (} "}"))
(translation_unit (declaration type: (type_identifier) (ERROR (identifier)) declarator: (identifier) (ERROR (number_literal)) declarator: (identifier) (ERROR (identifier) (identifier) (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (identifier)))) (identifier)) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (ERROR (binary_expression left: (identifier) right: (number_literal)) (false)) (labeled_statement label: (statement_identifier) (ERROR) (expression_statement (binary_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (ERROR (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) (labeled_statement label: (statement_identifier) (ERROR) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal))) (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (ERROR (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (ERROR (assignment_expression left: (identifier) right: (identifier))) (labeled_statement label: (statement_identifier) (ERROR) (expression_statement (call_expression function: (identifier) arguments: (argument_list (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) right: (number_literal))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)) right: (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))) right: (number_literal))))) (call_expression function: (identifier) arguments: (argument_list (identifier) (number_literal))) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)) (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) (call_expression function: (identifier) arguments: (argument_list (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (identifier)) (number_literal) (binary_expression left: (identifier) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier) (identifier)))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (binary_expression left: (identifier) right: (number_literal)))) (labeled_statement label: (statement_identifier) (ERROR) (labeled_statement label: (statement_identifier) (ERROR) (expression_statement (binary_expression left: (binary_expression left: (identifier) right: (identifier)) (ERROR) right: (parenthesized_expression (comma_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)) right: (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (comma_expression left: (identifier) right: (number_literal))))))))) (return_statement (identifier)))))))) (labeled_statement label: (statement_identifier) (ERROR) (expression_statement (call_expression function: (identifier) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal)))))) (ERROR))

/* elfcpp::Elf_file<32, false, gold::Object>::MASKED(unsigned int) const */

uint elfcpp::Elf_file<32,false,gold::Object>::section_name_abi_cxx11_(uint param_1)

{
  longlong lVar1;
  uint *puVar2;
  int iVar3;
  int iVar4;
  undefined4 uVar5;
  Elf_file<32,false,gold::Object> *in_a1;
  uint uVar6;
  undefined1 uVar7;
  uint in_a2;
  uint uVar8;
  int iVar9;
  uint uVar10;
  
  iVar9 = *(int *)in_a1;
  uVar6 = in_a2;
  lVar1 = section_header_offset(in_a1,in_a2);
  if (*(int *)(iVar9 + 0x1c) != 0) {
    puVar2 = (uint *)gold::File_read::get_view
                               (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,SUB41(uVar6,0),
                                SUB41(*(undefined4 *)(iVar9 + 0x20),0));
    uVar6 = *(uint *)(in_a1 + 0x14);
    uVar8 = *puVar2;
    lVar1 = section_header_offset(in_a1,uVar6);
    uVar7 = (undefined1)uVar6;
    uVar6 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +
            ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;
    if (*(int *)(iVar9 + 0x1c) != 0) {
      iVar3 = gold::File_read::get_view
                        (lVar1,0x2800000001,*(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,
                         SUB41(*(undefined4 *)(iVar9 + 0x20),0));
      uVar8 = *(uint *)(iVar3 + 0x14);
      uVar10 = *(uint *)(iVar3 + 0x10);
      uVar8 = (((uVar8 >> 0x10) << 0x18 | (uVar8 >> 0x18) << 0x10) >> 0x10) +
              ((uVar8 & 0xff) << 8 | uVar8 >> 8 & 0xff) * 0x10000;
      if (uVar8 <= uVar6) {
        uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fa8);
        (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2,uVar6);
        uVar7 = (undefined1)uVar5;
      }
      if (*(int *)(iVar9 + 0x1c) != 0) {
        iVar3 = gold::File_read::get_view
                          ((ulonglong)
                           ((((uVar10 >> 0x10) << 0x18 | (uVar10 >> 0x18) << 0x10) >> 0x10) +
                           ((uVar10 & 0xff) << 8 | uVar10 >> 8 & 0xff) * 0x10000),CONCAT44(uVar8,1),
                           *(int *)(iVar9 + 0x1c) + 0x20,(bool)uVar7,
                           SUB41(*(undefined4 *)(iVar9 + 0x20),0));
        iVar4 = (*(code *)PTR_memchr_004366a8)(iVar3 + uVar6,0,uVar8 - uVar6);
        if (iVar4 == 0) {
          uVar5 = (*(code *)PTR_gettext_00436818)(PTR_LAB_0043220c + 0x4fd4);
          (*(code *)PTR_error_00432a5c)(iVar9,uVar5,in_a2);
        }
        *(uint *)param_1 = param_1 + 8;
        std::string::_M_construct<char_const*>((string *)param_1,iVar3 + uVar6,iVar4,0);
        return param_1;
      }
    }
  }
                    /* WARNING: Subroutine does not return */
  gold::do_gold_unreachable(PTR_LAB_0043220c + 0x44a8,0x1e3,PTR_LAB_0043220c + 0x5a4c);
}

