
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* DWARF original prototype: void do_count_local_symbols(Mips_relobj<32,_true> * this,
   Stringpool_template<char> * pool, Stringpool_template<char> * dynpool) */

void __thiscall
anon_unknown.dwarf_29466b::Mips_relobj<32,_true>::do_count_local_symbols
          (Mips_relobj<32,_true> *this,Stringpool_template<char> *pool,
          Stringpool_template<char> *dynpool)

{
  byte bVar1;
  int iVar2;
  uint uVar3;
  Input_file *pIVar4;
  uint uVar5;
  _Bit_type _Var6;
  undefined4 uVar7;
  uint uVar8;
  _Bit_type *p_Var9;
  _Bit_type *p_Var10;
  uint __new_size;
  _Bit_type *p_Var11;
  off_t oVar12;
  
  (*(code *)PTR_do_count_local_symbols_004c1f30)();
  __new_size = (this->super_Sized_relobj_file<32,_true>).local_symbol_count_;
  if (__new_size == 0) {
    return;
  }
  std::vector<bool,_std::allocator<bool>_>::resize(&this->local_symbol_is_mips16_,__new_size,false);
  std::vector<bool,_std::allocator<bool>_>::resize
            (&this->local_symbol_is_micromips_,__new_size,false);
  oVar12 = elfcpp::Elf_file<32,_true,_gold::Object>::section_header_offset
                     (&(this->super_Sized_relobj_file<32,_true>).elf_file_,
                      (this->super_Sized_relobj_file<32,_true>).symtab_shndx_);
  pIVar4 = (this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.super_Relobj.
           super_Object.input_file_;
  if (pIVar4 == (Input_file *)0x0) {
LAB_001370e4:
    (*(code *)(PTR_LAB_004c1a4c + 0x5bbc))();
  }
  else {
    iVar2 = (*(code *)PTR_get_view_004c1b74)
                      (&pIVar4->file_,0x28,
                       *(undefined4 *)
                        &(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.
                         super_Relobj.super_Object.offset_,
                       (int)(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.
                            super_Relobj.super_Object.offset_,oVar12,0x28,1,1);
    uVar7 = 0x1a75;
    if (*(int *)(iVar2 + 4) != 2) goto LAB_001370f8;
    if (*(uint *)(iVar2 + 0x1c) == __new_size) {
      pIVar4 = (this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.super_Relobj.
               super_Object.input_file_;
      if (pIVar4 != (Input_file *)0x0) {
        iVar2 = (*(code *)PTR_get_view_004c1b74)
                          (&pIVar4->file_,0x1a75,
                           *(undefined4 *)
                            &(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.
                             super_Relobj.super_Object.offset_,
                           (int)(this->super_Sized_relobj_file<32,_true>).
                                super_Sized_relobj<32,_true>.super_Relobj.super_Object.offset_,0,
                           *(undefined4 *)(iVar2 + 0x10),__new_size << 4,1,1);
        if (__new_size < 2) {
          return;
        }
        p_Var11 = (this->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl
                  .super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p;
        uVar8 = 1;
        p_Var10 = (this->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.
                  _M_impl.super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p;
        do {
          uVar3 = uVar8 >> 5;
          bVar1 = *(byte *)(iVar2 + 0x1d);
          uVar5 = 1 << (uVar8 & 0x1f);
          p_Var9 = p_Var11 + uVar3;
          if ((bVar1 & 0xf0) == 0xf0) {
            *p_Var9 = *p_Var9 | uVar5;
            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;
LAB_00137084:
            _Var6 = uVar5 | p_Var10[uVar3];
          }
          else {
            *p_Var9 = ~uVar5 & *p_Var9;
            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;
LAB_001370d4:
            _Var6 = ~uVar5 & p_Var10[uVar3];
          }
          uVar8 = uVar8 + 1;
          p_Var10[uVar3] = _Var6;
          iVar2 = iVar2 + 0x10;
          if (uVar8 == __new_size) {
            return;
          }
        } while( true );
      }
      goto LAB_001370e4;
    }
  }
  uVar7 = 0x1a79;
LAB_001370f8:
  (*(code *)PTR_do_gold_unreachable_004c1a30)
            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,uVar7,PTR_s__s_004c1a50 + -0x5470)
  ;
  return;
}



void FUN_00136f1c(int param_1)

{
  byte bVar1;
  int iVar2;
  int iVar3;
  uint uVar4;
  undefined4 uVar5;
  uint uVar6;
  uint *puVar7;
  int iVar8;
  uint uVar9;
  int iVar10;
  undefined8 uVar11;
  
  (*(code *)PTR_do_count_local_symbols_004c1f30)();
  uVar9 = *(uint *)(param_1 + 0xb8);
  if (uVar9 == 0) {
    return;
  }
  std::vector<bool,std::allocator<bool>>::resize
            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x14c),uVar9,false);
  std::vector<bool,std::allocator<bool>>::resize
            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x160),uVar9,false);
  uVar11 = elfcpp::Elf_file<32,true,gold::Object>::section_header_offset
                     ((Elf_file<32,true,gold::Object> *)(param_1 + 0x90),*(uint *)(param_1 + 0xb4));
  if (*(int *)(param_1 + 0x1c) == 0) {
LAB_001370e4:
    (*(code *)(PTR_LAB_004c1a4c + 0x5bbc))();
  }
  else {
    iVar2 = (*(code *)PTR_get_view_004c1b74)
                      (*(int *)(param_1 + 0x1c) + 0x20,0x28,*(undefined4 *)(param_1 + 0x20),
                       *(undefined4 *)(param_1 + 0x24),uVar11,0x28,1,1);
    uVar5 = 0x1a75;
    if (*(int *)(iVar2 + 4) != 2) goto LAB_001370f8;
    if (*(uint *)(iVar2 + 0x1c) == uVar9) {
      if (*(int *)(param_1 + 0x1c) != 0) {
        iVar2 = (*(code *)PTR_get_view_004c1b74)
                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),
                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),
                           uVar9 << 4,1,1);
        if (uVar9 < 2) {
          return;
        }
        iVar10 = *(int *)(param_1 + 0x14c);
        uVar6 = 1;
        iVar8 = *(int *)(param_1 + 0x160);
        do {
          bVar1 = *(byte *)(iVar2 + 0x1d);
          uVar4 = 1 << (uVar6 & 0x1f);
          iVar3 = (uVar6 >> 5) * 4;
          puVar7 = (uint *)(iVar10 + iVar3);
          if ((bVar1 & 0xf0) == 0xf0) {
            *puVar7 = *puVar7 | uVar4;
            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;
LAB_00137084:
            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);
          }
          else {
            *puVar7 = ~uVar4 & *puVar7;
            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;
LAB_001370d4:
            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);
          }
          uVar6 = uVar6 + 1;
          *(uint *)(iVar8 + iVar3) = uVar4;
          iVar2 = iVar2 + 0x10;
          if (uVar6 == uVar9) {
            return;
          }
        } while( true );
      }
      goto LAB_001370e4;
    }
  }
  uVar5 = 0x1a79;
LAB_001370f8:
  (*(code *)PTR_do_gold_unreachable_004c1a30)
            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,uVar5,PTR_s__s_004c1a50 + -0x5470)
  ;
  return;
}


lui gp,0x39
addiu gp,gp,0x2324
addu gp,gp,t9
addiu sp,sp,-0x40
lw t9,-0x7310(gp)
sw s1,0x34(sp)
or s1,a0,zero
sw gp,0x28(sp)
sw s0,0x30(sp)
sw ra,0x3c(sp)
jalr t9
_sw s2,0x38(sp)
lw s0,0xb8(s1)
bne s0,zero,0x00136f70
_lw gp,0x28(sp)
lw ra,0x3c(sp)
lw s2,0x38(sp)
lw s1,0x34(sp)
lw s0,0x30(sp)
jr ra
_addiu sp,sp,0x40
lw s2,-0x7494(gp)
or a2,zero,zero
addiu a0,s1,0x14c
or t9,s2,zero
bal 0x00144b20
_or a1,s0,zero
or a2,zero,zero
addiu a0,s1,0x160
or t9,s2,zero
bal 0x00144b20
_or a1,s0,zero
addiu a0,s1,0x90
lw gp,0x28(sp)
lw t9,-0x730c(gp)
bal 0x001440a0
_lw a1,0xb4(s1)
lw a0,0x1c(s1)
beq a0,zero,0x001370e4
_lw gp,0x28(sp)
lw a3,0x24(s1)
li a1,0x28
lw a2,0x20(s1)
li s2,0x1
lw t9,-0x76cc(gp)
addiu a0,a0,0x20
sw a1,0x18(sp)
sw v1,0x14(sp)
sw s2,0x20(sp)
sw s2,0x1c(sp)
jalr t9
_sw v0,0x10(sp)
li v1,0x2
lw a0,0x4(v0)
li a1,0x1a75
bne a0,v1,0x001370f8
_lw gp,0x28(sp)
lw v1,0x1c(v0)
bne v1,s0,0x001370f4
_sll v1,s0,0x4
lw a0,0x1c(s1)
beq a0,zero,0x001370e4
_lw v0,0x10(v0)
lw a3,0x24(s1)
addiu a0,a0,0x20
lw a2,0x20(s1)
lw t9,-0x76cc(gp)
sw v1,0x18(sp)
sw s2,0x20(sp)
sw s2,0x1c(sp)
sw zero,0x10(sp)
jalr t9
_sw v0,0x14(sp)
sltiu v1,s0,0x2
bne v1,zero,0x00136f58
_addiu v0,v0,0x10
lw t8,0x14c(s1)
li a1,0x1
lw t7,0x160(s1)
li t6,0x1
li t5,-0x10
li t4,0xf0
li t3,-0x40
b 0x0013709c
_li t2,0x80
or a3,a3,a0
and a2,a2,t3
sw a3,0x0(t0)
bne a2,t2,0x001370d4
_addu v1,t7,v1
lw a2,0x0(v1)
or a0,a0,a2
addiu a1,a1,0x1
sw a0,0x0(v1)
beq a1,s0,0x00136f58
_addiu v0,v0,0x10
srl v1,a1,0x5
lbu a2,0xd(v0)
sllv a0,t6,a1
sll v1,v1,0x2
and t1,a2,t5
addu t0,t8,v1
beq t1,t4,0x00137070
_lw a3,0x0(t0)
nor t1,zero,a0
and a3,t1,a3
and a2,a2,t3
sw a3,0x0(t0)
beq a2,t2,0x00137084
_addu v1,t7,v1
lw a2,0x0(v1)
nor a0,zero,a0
b 0x0013708c
_and a0,a0,a2
lw t9,-0x77f4(gp)
addiu t9,t9,0x5bbc
jalr t9
_nop
li a1,0x1a79
lw a2,-0x77f0(gp)
lw a0,-0x7fc4(gp)
lw t9,-0x7810(gp)
addiu a2,a2,-0x5470
jalr t9
_addiu a0,a0,0x3588
(translation_unit "void FUN_00136f1c(int param_1)\n\n{\n  byte bVar1;\n  int iVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  uint uVar6;\n  uint *puVar7;\n  int iVar8;\n  uint uVar9;\n  int iVar10;\n  undefined8 uVar11;\n  \n  (*(code *)PTR_do_count_local_symbols_004c1f30)();\n  uVar9 = *(uint *)(param_1 + 0xb8);\n  if (uVar9 == 0) {\n    return;\n  }\n  std::vector<bool,std::allocator<bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x14c),uVar9,false);\n  std::vector<bool,std::allocator<bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x160),uVar9,false);\n  uVar11 = elfcpp::Elf_file<32,true,gold::Object>::section_header_offset\n                     ((Elf_file<32,true,gold::Object> *)(param_1 + 0x90),*(uint *)(param_1 + 0xb4));\n  if (*(int *)(param_1 + 0x1c) == 0) {\nLAB_001370e4:\n    (*(code *)(PTR_LAB_004c1a4c + 0x5bbc))();\n  }\n  else {\n    iVar2 = (*(code *)PTR_get_view_004c1b74)\n                      (*(int *)(param_1 + 0x1c) + 0x20,0x28,*(undefined4 *)(param_1 + 0x20),\n                       *(undefined4 *)(param_1 + 0x24),uVar11,0x28,1,1);\n    uVar5 = 0x1a75;\n    if (*(int *)(iVar2 + 4) != 2) goto LAB_001370f8;\n    if (*(uint *)(iVar2 + 0x1c) == uVar9) {\n      if (*(int *)(param_1 + 0x1c) != 0) {\n        iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1);\n        if (uVar9 < 2) {\n          return;\n        }\n        iVar10 = *(int *)(param_1 + 0x14c);\n        uVar6 = 1;\n        iVar8 = *(int *)(param_1 + 0x160);\n        do {\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar4 = 1 << (uVar6 & 0x1f);\n          iVar3 = (uVar6 >> 5) * 4;\n          puVar7 = (uint *)(iVar10 + iVar3);\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }\n          uVar6 = uVar6 + 1;\n          *(uint *)(iVar8 + iVar3) = uVar4;\n          iVar2 = iVar2 + 0x10;\n          if (uVar6 == uVar9) {\n            return;\n          }\n        } while( true );\n      }\n      goto LAB_001370e4;\n    }\n  }\n  uVar5 = 0x1a79;\nLAB_001370f8:\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,uVar5,PTR_s__s_004c1a50 + -0x5470)\n  ;\n  return;\n}\n\n" (function_definition "void FUN_00136f1c(int param_1)\n\n{\n  byte bVar1;\n  int iVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  uint uVar6;\n  uint *puVar7;\n  int iVar8;\n  uint uVar9;\n  int iVar10;\n  undefined8 uVar11;\n  \n  (*(code *)PTR_do_count_local_symbols_004c1f30)();\n  uVar9 = *(uint *)(param_1 + 0xb8);\n  if (uVar9 == 0) {\n    return;\n  }\n  std::vector<bool,std::allocator<bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x14c),uVar9,false);\n  std::vector<bool,std::allocator<bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x160),uVar9,false);\n  uVar11 = elfcpp::Elf_file<32,true,gold::Object>::section_header_offset\n                     ((Elf_file<32,true,gold::Object> *)(param_1 + 0x90),*(uint *)(param_1 + 0xb4));\n  if (*(int *)(param_1 + 0x1c) == 0) {\nLAB_001370e4:\n    (*(code *)(PTR_LAB_004c1a4c + 0x5bbc))();\n  }\n  else {\n    iVar2 = (*(code *)PTR_get_view_004c1b74)\n                      (*(int *)(param_1 + 0x1c) + 0x20,0x28,*(undefined4 *)(param_1 + 0x20),\n                       *(undefined4 *)(param_1 + 0x24),uVar11,0x28,1,1);\n    uVar5 = 0x1a75;\n    if (*(int *)(iVar2 + 4) != 2) goto LAB_001370f8;\n    if (*(uint *)(iVar2 + 0x1c) == uVar9) {\n      if (*(int *)(param_1 + 0x1c) != 0) {\n        iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1);\n        if (uVar9 < 2) {\n          return;\n        }\n        iVar10 = *(int *)(param_1 + 0x14c);\n        uVar6 = 1;\n        iVar8 = *(int *)(param_1 + 0x160);\n        do {\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar4 = 1 << (uVar6 & 0x1f);\n          iVar3 = (uVar6 >> 5) * 4;\n          puVar7 = (uint *)(iVar10 + iVar3);\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }\n          uVar6 = uVar6 + 1;\n          *(uint *)(iVar8 + iVar3) = uVar4;\n          iVar2 = iVar2 + 0x10;\n          if (uVar6 == uVar9) {\n            return;\n          }\n        } while( true );\n      }\n      goto LAB_001370e4;\n    }\n  }\n  uVar5 = 0x1a79;\nLAB_001370f8:\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,uVar5,PTR_s__s_004c1a50 + -0x5470)\n  ;\n  return;\n}" primitive_type (function_declarator "FUN_00136f1c(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  byte bVar1;\n  int iVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  uint uVar6;\n  uint *puVar7;\n  int iVar8;\n  uint uVar9;\n  int iVar10;\n  undefined8 uVar11;\n  \n  (*(code *)PTR_do_count_local_symbols_004c1f30)();\n  uVar9 = *(uint *)(param_1 + 0xb8);\n  if (uVar9 == 0) {\n    return;\n  }\n  std::vector<bool,std::allocator<bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x14c),uVar9,false);\n  std::vector<bool,std::allocator<bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x160),uVar9,false);\n  uVar11 = elfcpp::Elf_file<32,true,gold::Object>::section_header_offset\n                     ((Elf_file<32,true,gold::Object> *)(param_1 + 0x90),*(uint *)(param_1 + 0xb4));\n  if (*(int *)(param_1 + 0x1c) == 0) {\nLAB_001370e4:\n    (*(code *)(PTR_LAB_004c1a4c + 0x5bbc))();\n  }\n  else {\n    iVar2 = (*(code *)PTR_get_view_004c1b74)\n                      (*(int *)(param_1 + 0x1c) + 0x20,0x28,*(undefined4 *)(param_1 + 0x20),\n                       *(undefined4 *)(param_1 + 0x24),uVar11,0x28,1,1);\n    uVar5 = 0x1a75;\n    if (*(int *)(iVar2 + 4) != 2) goto LAB_001370f8;\n    if (*(uint *)(iVar2 + 0x1c) == uVar9) {\n      if (*(int *)(param_1 + 0x1c) != 0) {\n        iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1);\n        if (uVar9 < 2) {\n          return;\n        }\n        iVar10 = *(int *)(param_1 + 0x14c);\n        uVar6 = 1;\n        iVar8 = *(int *)(param_1 + 0x160);\n        do {\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar4 = 1 << (uVar6 & 0x1f);\n          iVar3 = (uVar6 >> 5) * 4;\n          puVar7 = (uint *)(iVar10 + iVar3);\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }\n          uVar6 = uVar6 + 1;\n          *(uint *)(iVar8 + iVar3) = uVar4;\n          iVar2 = iVar2 + 0x10;\n          if (uVar6 == uVar9) {\n            return;\n          }\n        } while( true );\n      }\n      goto LAB_001370e4;\n    }\n  }\n  uVar5 = 0x1a79;\nLAB_001370f8:\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,uVar5,PTR_s__s_004c1a50 + -0x5470)\n  ;\n  return;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "undefined8 uVar11;" type_identifier identifier ;) (expression_statement "(*(code *)PTR_do_count_local_symbols_004c1f30)();" (call_expression "(*(code *)PTR_do_count_local_symbols_004c1f30)()" (parenthesized_expression "(*(code *)PTR_do_count_local_symbols_004c1f30)" ( (pointer_expression "*(code *)PTR_do_count_local_symbols_004c1f30" * (cast_expression "(code *)PTR_do_count_local_symbols_004c1f30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "uVar9 = *(uint *)(param_1 + 0xb8);" (assignment_expression "uVar9 = *(uint *)(param_1 + 0xb8)" identifier = (pointer_expression "*(uint *)(param_1 + 0xb8)" * (cast_expression "(uint *)(param_1 + 0xb8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb8)" ( (binary_expression "param_1 + 0xb8" identifier + number_literal) ))))) ;) (if_statement "if (uVar9 == 0) {\n    return;\n  }" if (parenthesized_expression "(uVar9 == 0)" ( (binary_expression "uVar9 == 0" identifier == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (labeled_statement "std::vector<bool,std::allocator<bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x14c),uVar9,false);" statement_identifier (ERROR "::vector<bool,std:" : : (comma_expression "vector<bool,std" (binary_expression "vector<bool" identifier < identifier) , identifier) :) : (expression_statement "allocator<bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x14c),uVar9,false);" (binary_expression "allocator<bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x14c),uVar9,false)" identifier < (binary_expression "bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x14c),uVar9,false)" identifier >> (ERROR "::" : :) (call_expression "resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x14c),uVar9,false)" identifier (argument_list "((vector<bool,std::allocator<bool>> *)(param_1 + 0x14c),uVar9,false)" ( (call_expression "(vector<bool,std::allocator<bool>> *)(param_1 + 0x14c)" (parenthesized_expression "(vector<bool,std::allocator<bool>> *)" ( (ERROR "vector<bool,std::" (comma_expression "vector<bool,std" (binary_expression "vector<bool" identifier < identifier) , identifier) : :) (binary_expression "allocator<bool>> *" identifier < (binary_expression "bool>> *" identifier >> (pointer_expression "*" * identifier))) )) (argument_list "(param_1 + 0x14c)" ( (binary_expression "param_1 + 0x14c" identifier + number_literal) ))) , identifier , false ))))) ;)) (labeled_statement "std::vector<bool,std::allocator<bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x160),uVar9,false);" statement_identifier (ERROR "::vector<bool,std:" : : (comma_expression "vector<bool,std" (binary_expression "vector<bool" identifier < identifier) , identifier) :) : (expression_statement "allocator<bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x160),uVar9,false);" (binary_expression "allocator<bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x160),uVar9,false)" identifier < (binary_expression "bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x160),uVar9,false)" identifier >> (ERROR "::" : :) (call_expression "resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x160),uVar9,false)" identifier (argument_list "((vector<bool,std::allocator<bool>> *)(param_1 + 0x160),uVar9,false)" ( (call_expression "(vector<bool,std::allocator<bool>> *)(param_1 + 0x160)" (parenthesized_expression "(vector<bool,std::allocator<bool>> *)" ( (ERROR "vector<bool,std::" (comma_expression "vector<bool,std" (binary_expression "vector<bool" identifier < identifier) , identifier) : :) (binary_expression "allocator<bool>> *" identifier < (binary_expression "bool>> *" identifier >> (pointer_expression "*" * identifier))) )) (argument_list "(param_1 + 0x160)" ( (binary_expression "param_1 + 0x160" identifier + number_literal) ))) , identifier , false ))))) ;)) (ERROR "uVar11 = elfcpp::Elf_file<32,true,gold::" (comma_expression "uVar11 = elfcpp::Elf_file<32,true,gold" (binary_expression "uVar11 = elfcpp::Elf_file<32" (assignment_expression "uVar11 = elfcpp" identifier = identifier) (ERROR "::Elf_file" : : identifier) < number_literal) , (comma_expression "true,gold" true , identifier)) : :) (expression_statement "Object>::section_header_offset\n                     ((Elf_file<32,true,gold::Object> *)(param_1 + 0x90),*(uint *)(param_1 + 0xb4));" (binary_expression "Object>::section_header_offset\n                     ((Elf_file<32,true,gold::Object> *)(param_1 + 0x90),*(uint *)(param_1 + 0xb4))" identifier > (ERROR "::" : :) (call_expression "section_header_offset\n                     ((Elf_file<32,true,gold::Object> *)(param_1 + 0x90),*(uint *)(param_1 + 0xb4))" identifier (argument_list "((Elf_file<32,true,gold::Object> *)(param_1 + 0x90),*(uint *)(param_1 + 0xb4))" ( (call_expression "(Elf_file<32,true,gold::Object> *)(param_1 + 0x90)" (parenthesized_expression "(Elf_file<32,true,gold::Object> *)" ( (ERROR "Elf_file<32,true,gold::" (comma_expression "Elf_file<32,true,gold" (binary_expression "Elf_file<32" identifier < number_literal) , (comma_expression "true,gold" true , identifier)) : :) (binary_expression "Object> *" identifier > (pointer_expression "*" * identifier)) )) (argument_list "(param_1 + 0x90)" ( (binary_expression "param_1 + 0x90" identifier + number_literal) ))) , (pointer_expression "*(uint *)(param_1 + 0xb4)" * (cast_expression "(uint *)(param_1 + 0xb4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb4)" ( (binary_expression "param_1 + 0xb4" identifier + number_literal) )))) )))) ;) (if_statement "if (*(int *)(param_1 + 0x1c) == 0) {\nLAB_001370e4:\n    (*(code *)(PTR_LAB_004c1a4c + 0x5bbc))();\n  }\n  else {\n    iVar2 = (*(code *)PTR_get_view_004c1b74)\n                      (*(int *)(param_1 + 0x1c) + 0x20,0x28,*(undefined4 *)(param_1 + 0x20),\n                       *(undefined4 *)(param_1 + 0x24),uVar11,0x28,1,1);\n    uVar5 = 0x1a75;\n    if (*(int *)(iVar2 + 4) != 2) goto LAB_001370f8;\n    if (*(uint *)(iVar2 + 0x1c) == uVar9) {\n      if (*(int *)(param_1 + 0x1c) != 0) {\n        iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1);\n        if (uVar9 < 2) {\n          return;\n        }\n        iVar10 = *(int *)(param_1 + 0x14c);\n        uVar6 = 1;\n        iVar8 = *(int *)(param_1 + 0x160);\n        do {\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar4 = 1 << (uVar6 & 0x1f);\n          iVar3 = (uVar6 >> 5) * 4;\n          puVar7 = (uint *)(iVar10 + iVar3);\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }\n          uVar6 = uVar6 + 1;\n          *(uint *)(iVar8 + iVar3) = uVar4;\n          iVar2 = iVar2 + 0x10;\n          if (uVar6 == uVar9) {\n            return;\n          }\n        } while( true );\n      }\n      goto LAB_001370e4;\n    }\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x1c) == 0)" ( (binary_expression "*(int *)(param_1 + 0x1c) == 0" (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_001370e4:\n    (*(code *)(PTR_LAB_004c1a4c + 0x5bbc))();\n  }" { (labeled_statement "LAB_001370e4:\n    (*(code *)(PTR_LAB_004c1a4c + 0x5bbc))();" statement_identifier : (expression_statement "(*(code *)(PTR_LAB_004c1a4c + 0x5bbc))();" (call_expression "(*(code *)(PTR_LAB_004c1a4c + 0x5bbc))()" (parenthesized_expression "(*(code *)(PTR_LAB_004c1a4c + 0x5bbc))" ( (pointer_expression "*(code *)(PTR_LAB_004c1a4c + 0x5bbc)" * (cast_expression "(code *)(PTR_LAB_004c1a4c + 0x5bbc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_004c1a4c + 0x5bbc)" ( (binary_expression "PTR_LAB_004c1a4c + 0x5bbc" identifier + number_literal) )))) )) (argument_list "()" ( ))) ;)) }) (else_clause "else {\n    iVar2 = (*(code *)PTR_get_view_004c1b74)\n                      (*(int *)(param_1 + 0x1c) + 0x20,0x28,*(undefined4 *)(param_1 + 0x20),\n                       *(undefined4 *)(param_1 + 0x24),uVar11,0x28,1,1);\n    uVar5 = 0x1a75;\n    if (*(int *)(iVar2 + 4) != 2) goto LAB_001370f8;\n    if (*(uint *)(iVar2 + 0x1c) == uVar9) {\n      if (*(int *)(param_1 + 0x1c) != 0) {\n        iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1);\n        if (uVar9 < 2) {\n          return;\n        }\n        iVar10 = *(int *)(param_1 + 0x14c);\n        uVar6 = 1;\n        iVar8 = *(int *)(param_1 + 0x160);\n        do {\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar4 = 1 << (uVar6 & 0x1f);\n          iVar3 = (uVar6 >> 5) * 4;\n          puVar7 = (uint *)(iVar10 + iVar3);\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }\n          uVar6 = uVar6 + 1;\n          *(uint *)(iVar8 + iVar3) = uVar4;\n          iVar2 = iVar2 + 0x10;\n          if (uVar6 == uVar9) {\n            return;\n          }\n        } while( true );\n      }\n      goto LAB_001370e4;\n    }\n  }" else (compound_statement "{\n    iVar2 = (*(code *)PTR_get_view_004c1b74)\n                      (*(int *)(param_1 + 0x1c) + 0x20,0x28,*(undefined4 *)(param_1 + 0x20),\n                       *(undefined4 *)(param_1 + 0x24),uVar11,0x28,1,1);\n    uVar5 = 0x1a75;\n    if (*(int *)(iVar2 + 4) != 2) goto LAB_001370f8;\n    if (*(uint *)(iVar2 + 0x1c) == uVar9) {\n      if (*(int *)(param_1 + 0x1c) != 0) {\n        iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1);\n        if (uVar9 < 2) {\n          return;\n        }\n        iVar10 = *(int *)(param_1 + 0x14c);\n        uVar6 = 1;\n        iVar8 = *(int *)(param_1 + 0x160);\n        do {\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar4 = 1 << (uVar6 & 0x1f);\n          iVar3 = (uVar6 >> 5) * 4;\n          puVar7 = (uint *)(iVar10 + iVar3);\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }\n          uVar6 = uVar6 + 1;\n          *(uint *)(iVar8 + iVar3) = uVar4;\n          iVar2 = iVar2 + 0x10;\n          if (uVar6 == uVar9) {\n            return;\n          }\n        } while( true );\n      }\n      goto LAB_001370e4;\n    }\n  }" { (expression_statement "iVar2 = (*(code *)PTR_get_view_004c1b74)\n                      (*(int *)(param_1 + 0x1c) + 0x20,0x28,*(undefined4 *)(param_1 + 0x20),\n                       *(undefined4 *)(param_1 + 0x24),uVar11,0x28,1,1);" (assignment_expression "iVar2 = (*(code *)PTR_get_view_004c1b74)\n                      (*(int *)(param_1 + 0x1c) + 0x20,0x28,*(undefined4 *)(param_1 + 0x20),\n                       *(undefined4 *)(param_1 + 0x24),uVar11,0x28,1,1)" identifier = (call_expression "(*(code *)PTR_get_view_004c1b74)\n                      (*(int *)(param_1 + 0x1c) + 0x20,0x28,*(undefined4 *)(param_1 + 0x20),\n                       *(undefined4 *)(param_1 + 0x24),uVar11,0x28,1,1)" (parenthesized_expression "(*(code *)PTR_get_view_004c1b74)" ( (pointer_expression "*(code *)PTR_get_view_004c1b74" * (cast_expression "(code *)PTR_get_view_004c1b74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(int *)(param_1 + 0x1c) + 0x20,0x28,*(undefined4 *)(param_1 + 0x20),\n                       *(undefined4 *)(param_1 + 0x24),uVar11,0x28,1,1)" ( (binary_expression "*(int *)(param_1 + 0x1c) + 0x20" (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) + number_literal) , number_literal , (pointer_expression "*(undefined4 *)(param_1 + 0x20)" * (cast_expression "(undefined4 *)(param_1 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x24)" * (cast_expression "(undefined4 *)(param_1 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) , identifier , number_literal , number_literal , number_literal )))) ;) (expression_statement "uVar5 = 0x1a75;" (assignment_expression "uVar5 = 0x1a75" identifier = number_literal) ;) (if_statement "if (*(int *)(iVar2 + 4) != 2) goto LAB_001370f8;" if (parenthesized_expression "(*(int *)(iVar2 + 4) != 2)" ( (binary_expression "*(int *)(iVar2 + 4) != 2" (pointer_expression "*(int *)(iVar2 + 4)" * (cast_expression "(int *)(iVar2 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_001370f8;" goto statement_identifier ;)) (if_statement "if (*(uint *)(iVar2 + 0x1c) == uVar9) {\n      if (*(int *)(param_1 + 0x1c) != 0) {\n        iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1);\n        if (uVar9 < 2) {\n          return;\n        }\n        iVar10 = *(int *)(param_1 + 0x14c);\n        uVar6 = 1;\n        iVar8 = *(int *)(param_1 + 0x160);\n        do {\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar4 = 1 << (uVar6 & 0x1f);\n          iVar3 = (uVar6 >> 5) * 4;\n          puVar7 = (uint *)(iVar10 + iVar3);\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }\n          uVar6 = uVar6 + 1;\n          *(uint *)(iVar8 + iVar3) = uVar4;\n          iVar2 = iVar2 + 0x10;\n          if (uVar6 == uVar9) {\n            return;\n          }\n        } while( true );\n      }\n      goto LAB_001370e4;\n    }" if (parenthesized_expression "(*(uint *)(iVar2 + 0x1c) == uVar9)" ( (binary_expression "*(uint *)(iVar2 + 0x1c) == uVar9" (pointer_expression "*(uint *)(iVar2 + 0x1c)" * (cast_expression "(uint *)(iVar2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n      if (*(int *)(param_1 + 0x1c) != 0) {\n        iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1);\n        if (uVar9 < 2) {\n          return;\n        }\n        iVar10 = *(int *)(param_1 + 0x14c);\n        uVar6 = 1;\n        iVar8 = *(int *)(param_1 + 0x160);\n        do {\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar4 = 1 << (uVar6 & 0x1f);\n          iVar3 = (uVar6 >> 5) * 4;\n          puVar7 = (uint *)(iVar10 + iVar3);\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }\n          uVar6 = uVar6 + 1;\n          *(uint *)(iVar8 + iVar3) = uVar4;\n          iVar2 = iVar2 + 0x10;\n          if (uVar6 == uVar9) {\n            return;\n          }\n        } while( true );\n      }\n      goto LAB_001370e4;\n    }" { (if_statement "if (*(int *)(param_1 + 0x1c) != 0) {\n        iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1);\n        if (uVar9 < 2) {\n          return;\n        }\n        iVar10 = *(int *)(param_1 + 0x14c);\n        uVar6 = 1;\n        iVar8 = *(int *)(param_1 + 0x160);\n        do {\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar4 = 1 << (uVar6 & 0x1f);\n          iVar3 = (uVar6 >> 5) * 4;\n          puVar7 = (uint *)(iVar10 + iVar3);\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }\n          uVar6 = uVar6 + 1;\n          *(uint *)(iVar8 + iVar3) = uVar4;\n          iVar2 = iVar2 + 0x10;\n          if (uVar6 == uVar9) {\n            return;\n          }\n        } while( true );\n      }" if (parenthesized_expression "(*(int *)(param_1 + 0x1c) != 0)" ( (binary_expression "*(int *)(param_1 + 0x1c) != 0" (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1);\n        if (uVar9 < 2) {\n          return;\n        }\n        iVar10 = *(int *)(param_1 + 0x14c);\n        uVar6 = 1;\n        iVar8 = *(int *)(param_1 + 0x160);\n        do {\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar4 = 1 << (uVar6 & 0x1f);\n          iVar3 = (uVar6 >> 5) * 4;\n          puVar7 = (uint *)(iVar10 + iVar3);\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }\n          uVar6 = uVar6 + 1;\n          *(uint *)(iVar8 + iVar3) = uVar4;\n          iVar2 = iVar2 + 0x10;\n          if (uVar6 == uVar9) {\n            return;\n          }\n        } while( true );\n      }" { (expression_statement "iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1);" (assignment_expression "iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1)" identifier = (call_expression "(*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1)" (parenthesized_expression "(*(code *)PTR_get_view_004c1b74)" ( (pointer_expression "*(code *)PTR_get_view_004c1b74" * (cast_expression "(code *)PTR_get_view_004c1b74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1)" ( (binary_expression "*(int *)(param_1 + 0x1c) + 0x20" (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) + number_literal) , number_literal , (pointer_expression "*(undefined4 *)(param_1 + 0x20)" * (cast_expression "(undefined4 *)(param_1 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x24)" * (cast_expression "(undefined4 *)(param_1 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) , number_literal , (pointer_expression "*(undefined4 *)(iVar2 + 0x10)" * (cast_expression "(undefined4 *)(iVar2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) )))) , (binary_expression "uVar9 << 4" identifier << number_literal) , number_literal , number_literal )))) ;) (if_statement "if (uVar9 < 2) {\n          return;\n        }" if (parenthesized_expression "(uVar9 < 2)" ( (binary_expression "uVar9 < 2" identifier < number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (expression_statement "iVar10 = *(int *)(param_1 + 0x14c);" (assignment_expression "iVar10 = *(int *)(param_1 + 0x14c)" identifier = (pointer_expression "*(int *)(param_1 + 0x14c)" * (cast_expression "(int *)(param_1 + 0x14c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14c)" ( (binary_expression "param_1 + 0x14c" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (expression_statement "iVar8 = *(int *)(param_1 + 0x160);" (assignment_expression "iVar8 = *(int *)(param_1 + 0x160)" identifier = (pointer_expression "*(int *)(param_1 + 0x160)" * (cast_expression "(int *)(param_1 + 0x160)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x160)" ( (binary_expression "param_1 + 0x160" identifier + number_literal) ))))) ;) (do_statement "do {\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar4 = 1 << (uVar6 & 0x1f);\n          iVar3 = (uVar6 >> 5) * 4;\n          puVar7 = (uint *)(iVar10 + iVar3);\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }\n          uVar6 = uVar6 + 1;\n          *(uint *)(iVar8 + iVar3) = uVar4;\n          iVar2 = iVar2 + 0x10;\n          if (uVar6 == uVar9) {\n            return;\n          }\n        } while( true );" do (compound_statement "{\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar4 = 1 << (uVar6 & 0x1f);\n          iVar3 = (uVar6 >> 5) * 4;\n          puVar7 = (uint *)(iVar10 + iVar3);\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }\n          uVar6 = uVar6 + 1;\n          *(uint *)(iVar8 + iVar3) = uVar4;\n          iVar2 = iVar2 + 0x10;\n          if (uVar6 == uVar9) {\n            return;\n          }\n        }" { (expression_statement "bVar1 = *(byte *)(iVar2 + 0x1d);" (assignment_expression "bVar1 = *(byte *)(iVar2 + 0x1d)" identifier = (pointer_expression "*(byte *)(iVar2 + 0x1d)" * (cast_expression "(byte *)(iVar2 + 0x1d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1d)" ( (binary_expression "iVar2 + 0x1d" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = 1 << (uVar6 & 0x1f);" (assignment_expression "uVar4 = 1 << (uVar6 & 0x1f)" identifier = (binary_expression "1 << (uVar6 & 0x1f)" number_literal << (parenthesized_expression "(uVar6 & 0x1f)" ( (binary_expression "uVar6 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "iVar3 = (uVar6 >> 5) * 4;" (assignment_expression "iVar3 = (uVar6 >> 5) * 4" identifier = (binary_expression "(uVar6 >> 5) * 4" (parenthesized_expression "(uVar6 >> 5)" ( (binary_expression "uVar6 >> 5" identifier >> number_literal) )) * number_literal)) ;) (expression_statement "puVar7 = (uint *)(iVar10 + iVar3);" (assignment_expression "puVar7 = (uint *)(iVar10 + iVar3)" identifier = (cast_expression "(uint *)(iVar10 + iVar3)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + iVar3)" ( (binary_expression "iVar10 + iVar3" identifier + identifier) )))) ;) (if_statement "if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }" if (parenthesized_expression "((bVar1 & 0xf0) == 0xf0)" ( (binary_expression "(bVar1 & 0xf0) == 0xf0" (parenthesized_expression "(bVar1 & 0xf0)" ( (binary_expression "bVar1 & 0xf0" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }" { (expression_statement "*puVar7 = *puVar7 | uVar4;" (assignment_expression "*puVar7 = *puVar7 | uVar4" (pointer_expression "*puVar7" * identifier) = (binary_expression "*puVar7 | uVar4" (pointer_expression "*puVar7" * identifier) | identifier)) ;) (if_statement "if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;" if (parenthesized_expression "((bVar1 & 0xc0) != 0x80)" ( (binary_expression "(bVar1 & 0xc0) != 0x80" (parenthesized_expression "(bVar1 & 0xc0)" ( (binary_expression "bVar1 & 0xc0" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_001370d4;" goto statement_identifier ;)) (labeled_statement "LAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);" statement_identifier : (expression_statement "uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);" (assignment_expression "uVar4 = uVar4 | *(uint *)(iVar8 + iVar3)" identifier = (binary_expression "uVar4 | *(uint *)(iVar8 + iVar3)" identifier | (pointer_expression "*(uint *)(iVar8 + iVar3)" * (cast_expression "(uint *)(iVar8 + iVar3)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + iVar3)" ( (binary_expression "iVar8 + iVar3" identifier + identifier) )))))) ;)) }) (else_clause "else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }" else (compound_statement "{\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }" { (expression_statement "*puVar7 = ~uVar4 & *puVar7;" (assignment_expression "*puVar7 = ~uVar4 & *puVar7" (pointer_expression "*puVar7" * identifier) = (binary_expression "~uVar4 & *puVar7" (unary_expression "~uVar4" ~ identifier) & (pointer_expression "*puVar7" * identifier))) ;) (if_statement "if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;" if (parenthesized_expression "((bVar1 & 0xc0) == 0x80)" ( (binary_expression "(bVar1 & 0xc0) == 0x80" (parenthesized_expression "(bVar1 & 0xc0)" ( (binary_expression "bVar1 & 0xc0" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00137084;" goto statement_identifier ;)) (labeled_statement "LAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);" statement_identifier : (expression_statement "uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);" (assignment_expression "uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3)" identifier = (binary_expression "~uVar4 & *(uint *)(iVar8 + iVar3)" (unary_expression "~uVar4" ~ identifier) & (pointer_expression "*(uint *)(iVar8 + iVar3)" * (cast_expression "(uint *)(iVar8 + iVar3)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + iVar3)" ( (binary_expression "iVar8 + iVar3" identifier + identifier) )))))) ;)) }))) (expression_statement "uVar6 = uVar6 + 1;" (assignment_expression "uVar6 = uVar6 + 1" identifier = (binary_expression "uVar6 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar8 + iVar3) = uVar4;" (assignment_expression "*(uint *)(iVar8 + iVar3) = uVar4" (pointer_expression "*(uint *)(iVar8 + iVar3)" * (cast_expression "(uint *)(iVar8 + iVar3)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + iVar3)" ( (binary_expression "iVar8 + iVar3" identifier + identifier) )))) = identifier) ;) (expression_statement "iVar2 = iVar2 + 0x10;" (assignment_expression "iVar2 = iVar2 + 0x10" identifier = (binary_expression "iVar2 + 0x10" identifier + number_literal)) ;) (if_statement "if (uVar6 == uVar9) {\n            return;\n          }" if (parenthesized_expression "(uVar6 == uVar9)" ( (binary_expression "uVar6 == uVar9" identifier == identifier) )) (compound_statement "{\n            return;\n          }" { (return_statement "return;" return ;) })) }) while (parenthesized_expression "( true )" ( true )) ;) })) (goto_statement "goto LAB_001370e4;" goto statement_identifier ;) })) }))) (expression_statement "uVar5 = 0x1a79;" (assignment_expression "uVar5 = 0x1a79" identifier = number_literal) ;) (labeled_statement "LAB_001370f8:\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,uVar5,PTR_s__s_004c1a50 + -0x5470)\n  ;" statement_identifier : (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,uVar5,PTR_s__s_004c1a50 + -0x5470)\n  ;" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,uVar5,PTR_s__s_004c1a50 + -0x5470)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,uVar5,PTR_s__s_004c1a50 + -0x5470)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588" identifier + number_literal) , identifier , (binary_expression "PTR_s__s_004c1a50 + -0x5470" identifier + number_literal) ))) ;)) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* DWARF original prototype: void do_count_local_symbols(Mips_relobj<32,_true> * this,\n   Stringpool_template<char> * pool, Stringpool_template<char> * dynpool) */\n\nvoid __thiscall\nanon_unknown.dwarf_29466b::Mips_relobj<32,_true>::do_count_local_symbols\n          (Mips_relobj<32,_true> *this,Stringpool_template<char> *pool,\n          Stringpool_template<char> *dynpool)\n\n{\n  byte bVar1;\n  int iVar2;\n  uint uVar3;\n  Input_file *pIVar4;\n  uint uVar5;\n  _Bit_type _Var6;\n  undefined4 uVar7;\n  uint uVar8;\n  _Bit_type *p_Var9;\n  _Bit_type *p_Var10;\n  uint __new_size;\n  _Bit_type *p_Var11;\n  off_t oVar12;\n  \n  (*(code *)PTR_do_count_local_symbols_004c1f30)();\n  __new_size = (this->super_Sized_relobj_file<32,_true>).local_symbol_count_;\n  if (__new_size == 0) {\n    return;\n  }\n  std::vector<bool,_std::allocator<bool>_>::resize(&this->local_symbol_is_mips16_,__new_size,false);\n  std::vector<bool,_std::allocator<bool>_>::resize\n            (&this->local_symbol_is_micromips_,__new_size,false);\n  oVar12 = elfcpp::Elf_file<32,_true,_gold::Object>::section_header_offset\n                     (&(this->super_Sized_relobj_file<32,_true>).elf_file_,\n                      (this->super_Sized_relobj_file<32,_true>).symtab_shndx_);\n  pIVar4 = (this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.super_Relobj.\n           super_Object.input_file_;\n  if (pIVar4 == (Input_file *)0x0) {\nLAB_001370e4:\n    (*(code *)(PTR_LAB_004c1a4c + 0x5bbc))();\n  }\n  else {\n    iVar2 = (*(code *)PTR_get_view_004c1b74)\n                      (&pIVar4->file_,0x28,\n                       *(undefined4 *)\n                        &(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.\n                         super_Relobj.super_Object.offset_,\n                       (int)(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.\n                            super_Relobj.super_Object.offset_,oVar12,0x28,1,1);\n    uVar7 = 0x1a75;\n    if (*(int *)(iVar2 + 4) != 2) goto LAB_001370f8;\n    if (*(uint *)(iVar2 + 0x1c) == __new_size) {\n      pIVar4 = (this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.super_Relobj.\n               super_Object.input_file_;\n      if (pIVar4 != (Input_file *)0x0) {\n        iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (&pIVar4->file_,0x1a75,\n                           *(undefined4 *)\n                            &(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.\n                             super_Relobj.super_Object.offset_,\n                           (int)(this->super_Sized_relobj_file<32,_true>).\n                                super_Sized_relobj<32,_true>.super_Relobj.super_Object.offset_,0,\n                           *(undefined4 *)(iVar2 + 0x10),__new_size << 4,1,1);\n        if (__new_size < 2) {\n          return;\n        }\n        p_Var11 = (this->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl\n                  .super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p;\n        uVar8 = 1;\n        p_Var10 = (this->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n                  _M_impl.super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p;\n        do {\n          uVar3 = uVar8 >> 5;\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar5 = 1 << (uVar8 & 0x1f);\n          p_Var9 = p_Var11 + uVar3;\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *p_Var9 = *p_Var9 | uVar5;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            _Var6 = uVar5 | p_Var10[uVar3];\n          }\n          else {\n            *p_Var9 = ~uVar5 & *p_Var9;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            _Var6 = ~uVar5 & p_Var10[uVar3];\n          }\n          uVar8 = uVar8 + 1;\n          p_Var10[uVar3] = _Var6;\n          iVar2 = iVar2 + 0x10;\n          if (uVar8 == __new_size) {\n            return;\n          }\n        } while( true );\n      }\n      goto LAB_001370e4;\n    }\n  }\n  uVar7 = 0x1a79;\nLAB_001370f8:\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,uVar7,PTR_s__s_004c1a50 + -0x5470)\n  ;\n  return;\n}\n\n" comment comment comment comment (declaration "void __thiscall\nanon_unknown.dwarf_29466b::Mips_relobj<32,_true>::do_count_local_symbols\n          (Mips_relobj<32,_true> *this,Stringpool_template<char> *pool,\n          Stringpool_template<char> *dynpool)\n\n{\n  byte bVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) identifier (ERROR ".dwarf_29466b::Mips_relobj<32" . identifier : : identifier < number_literal) , (ERROR "_true>::do_count_local_symbols\n          (Mips_relobj<32,_true> *this,Stringpool_template<char> *pool,\n          Stringpool_template<char> *dynpool)\n\n{\n  byte" identifier > : : (function_declarator "do_count_local_symbols\n          (Mips_relobj<32,_true> *this,Stringpool_template<char> *pool,\n          Stringpool_template<char> *dynpool)" identifier (parameter_list "(Mips_relobj<32,_true> *this,Stringpool_template<char> *pool,\n          Stringpool_template<char> *dynpool)" ( (parameter_declaration "Mips_relobj" type_identifier) (ERROR "<32" < number_literal) , (parameter_declaration "_true> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Stringpool_template<char> *pool" type_identifier (ERROR "<char>" < primitive_type >) (pointer_declarator "*pool" * identifier)) , (parameter_declaration "Stringpool_template<char> *dynpool" type_identifier (ERROR "<char>" < primitive_type >) (pointer_declarator "*dynpool" * identifier)) ))) { identifier) identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "Input_file *pIVar4;" type_identifier (pointer_declarator "*pIVar4" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "_Bit_type _Var6;" type_identifier identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "_Bit_type *p_Var9;" type_identifier (pointer_declarator "*p_Var9" * identifier) ;) (declaration "_Bit_type *p_Var10;" type_identifier (pointer_declarator "*p_Var10" * identifier) ;) (declaration "uint __new_size;" type_identifier identifier ;) (declaration "_Bit_type *p_Var11;" type_identifier (pointer_declarator "*p_Var11" * identifier) ;) (declaration "off_t oVar12;" type_identifier identifier ;) (expression_statement "(*(code *)PTR_do_count_local_symbols_004c1f30)();" (call_expression "(*(code *)PTR_do_count_local_symbols_004c1f30)()" (parenthesized_expression "(*(code *)PTR_do_count_local_symbols_004c1f30)" ( (pointer_expression "*(code *)PTR_do_count_local_symbols_004c1f30" * (cast_expression "(code *)PTR_do_count_local_symbols_004c1f30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "__new_size = (this->super_Sized_relobj_file<32,_true>).local_symbol_count_;" (assignment_expression "__new_size = (this->super_Sized_relobj_file<32,_true>).local_symbol_count_" identifier = (field_expression "(this->super_Sized_relobj_file<32,_true>).local_symbol_count_" (parenthesized_expression "(this->super_Sized_relobj_file<32,_true>)" ( (comma_expression "this->super_Sized_relobj_file<32,_true" (binary_expression "this->super_Sized_relobj_file<32" (field_expression "this->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier)) ;) (if_statement "if (__new_size == 0) {\n    return;\n  }" if (parenthesized_expression "(__new_size == 0)" ( (binary_expression "__new_size == 0" identifier == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (labeled_statement "std::vector<bool,_std::allocator<bool>_>::resize(&this->local_symbol_is_mips16_,__new_size,false);" statement_identifier (ERROR "::vector<bool,_std::allocator<bool>_>:" : : (comma_expression "vector<bool,_std" (binary_expression "vector<bool" identifier < identifier) , identifier) : : (binary_expression "allocator<bool>_" (binary_expression "allocator<bool" identifier < identifier) > identifier) > :) : (expression_statement "resize(&this->local_symbol_is_mips16_,__new_size,false);" (call_expression "resize(&this->local_symbol_is_mips16_,__new_size,false)" identifier (argument_list "(&this->local_symbol_is_mips16_,__new_size,false)" ( (pointer_expression "&this->local_symbol_is_mips16_" & (field_expression "this->local_symbol_is_mips16_" identifier -> field_identifier)) , identifier , false ))) ;)) (labeled_statement "std::vector<bool,_std::allocator<bool>_>::resize\n            (&this->local_symbol_is_micromips_,__new_size,false);" statement_identifier (ERROR "::vector<bool,_std::allocator<bool>_>:" : : (comma_expression "vector<bool,_std" (binary_expression "vector<bool" identifier < identifier) , identifier) : : (binary_expression "allocator<bool>_" (binary_expression "allocator<bool" identifier < identifier) > identifier) > :) : (expression_statement "resize\n            (&this->local_symbol_is_micromips_,__new_size,false);" (call_expression "resize\n            (&this->local_symbol_is_micromips_,__new_size,false)" identifier (argument_list "(&this->local_symbol_is_micromips_,__new_size,false)" ( (pointer_expression "&this->local_symbol_is_micromips_" & (field_expression "this->local_symbol_is_micromips_" identifier -> field_identifier)) , identifier , false ))) ;)) (ERROR "oVar12 = elfcpp::Elf_file<32,_true," (binary_expression "oVar12 = elfcpp::Elf_file<32" (assignment_expression "oVar12 = elfcpp" identifier = identifier) (ERROR "::Elf_file" : : identifier) < number_literal) , identifier ,) (labeled_statement "_gold::Object>::section_header_offset\n                     (&(this->super_Sized_relobj_file<32,_true>).elf_file_,\n                      (this->super_Sized_relobj_file<32,_true>).symtab_shndx_);" statement_identifier (ERROR "::Object>:" : : identifier > :) : (expression_statement "section_header_offset\n                     (&(this->super_Sized_relobj_file<32,_true>).elf_file_,\n                      (this->super_Sized_relobj_file<32,_true>).symtab_shndx_);" (call_expression "section_header_offset\n                     (&(this->super_Sized_relobj_file<32,_true>).elf_file_,\n                      (this->super_Sized_relobj_file<32,_true>).symtab_shndx_)" identifier (argument_list "(&(this->super_Sized_relobj_file<32,_true>).elf_file_,\n                      (this->super_Sized_relobj_file<32,_true>).symtab_shndx_)" ( (pointer_expression "&(this->super_Sized_relobj_file<32,_true>).elf_file_" & (field_expression "(this->super_Sized_relobj_file<32,_true>).elf_file_" (parenthesized_expression "(this->super_Sized_relobj_file<32,_true>)" ( (comma_expression "this->super_Sized_relobj_file<32,_true" (binary_expression "this->super_Sized_relobj_file<32" (field_expression "this->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier)) , (field_expression "(this->super_Sized_relobj_file<32,_true>).symtab_shndx_" (parenthesized_expression "(this->super_Sized_relobj_file<32,_true>)" ( (comma_expression "this->super_Sized_relobj_file<32,_true" (binary_expression "this->super_Sized_relobj_file<32" (field_expression "this->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) ))) ;)) (expression_statement "pIVar4 = (this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.super_Relobj.\n           super_Object.input_file_;" (assignment_expression "pIVar4 = (this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.super_Relobj.\n           super_Object.input_file_" identifier = (parenthesized_expression "(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.super_Relobj.\n           super_Object.input_file_" ( (comma_expression "this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.super_Relobj.\n           super_Object.input_file_" (binary_expression "this->super_Sized_relobj_file<32" (field_expression "this->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , (comma_expression "_true>).super_Sized_relobj<32,_true>.super_Relobj.\n           super_Object.input_file_" (binary_expression "_true>).super_Sized_relobj<32" (field_expression "_true>).super_Sized_relobj" identifier (ERROR ">)" > )) . field_identifier) < number_literal) , (field_expression "_true>.super_Relobj.\n           super_Object.input_file_" (field_expression "_true>.super_Relobj.\n           super_Object" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier))) ))) ;) (if_statement "if (pIVar4 == (Input_file *)0x0) {\nLAB_001370e4:\n    (*(code *)(PTR_LAB_004c1a4c + 0x5bbc))();\n  }\n  else {\n    iVar2 = (*(code *)PTR_get_view_004c1b74)\n                      (&pIVar4->file_,0x28,\n                       *(undefined4 *)\n                        &(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.\n                         super_Relobj.super_Object.offset_,\n                       (int)(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.\n                            super_Relobj.super_Object.offset_,oVar12,0x28,1,1);\n    uVar7 = 0x1a75;\n    if (*(int *)(iVar2 + 4) != 2) goto LAB_001370f8;\n    if (*(uint *)(iVar2 + 0x1c) == __new_size) {\n      pIVar4 = (this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.super_Relobj.\n               super_Object.input_file_;\n      if (pIVar4 != (Input_file *)0x0) {\n        iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (&pIVar4->file_,0x1a75,\n                           *(undefined4 *)\n                            &(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.\n                             super_Relobj.super_Object.offset_,\n                           (int)(this->super_Sized_relobj_file<32,_true>).\n                                super_Sized_relobj<32,_true>.super_Relobj.super_Object.offset_,0,\n                           *(undefined4 *)(iVar2 + 0x10),__new_size << 4,1,1);\n        if (__new_size < 2) {\n          return;\n        }\n        p_Var11 = (this->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl\n                  .super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p;\n        uVar8 = 1;\n        p_Var10 = (this->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n                  _M_impl.super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p;\n        do {\n          uVar3 = uVar8 >> 5;\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar5 = 1 << (uVar8 & 0x1f);\n          p_Var9 = p_Var11 + uVar3;\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *p_Var9 = *p_Var9 | uVar5;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            _Var6 = uVar5 | p_Var10[uVar3];\n          }\n          else {\n            *p_Var9 = ~uVar5 & *p_Var9;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            _Var6 = ~uVar5 & p_Var10[uVar3];\n          }\n          uVar8 = uVar8 + 1;\n          p_Var10[uVar3] = _Var6;\n          iVar2 = iVar2 + 0x10;\n          if (uVar8 == __new_size) {\n            return;\n          }\n        } while( true );\n      }\n      goto LAB_001370e4;\n    }\n  }" if (parenthesized_expression "(pIVar4 == (Input_file *)0x0)" ( (binary_expression "pIVar4 == (Input_file *)0x0" identifier == (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001370e4:\n    (*(code *)(PTR_LAB_004c1a4c + 0x5bbc))();\n  }" { (labeled_statement "LAB_001370e4:\n    (*(code *)(PTR_LAB_004c1a4c + 0x5bbc))();" statement_identifier : (expression_statement "(*(code *)(PTR_LAB_004c1a4c + 0x5bbc))();" (call_expression "(*(code *)(PTR_LAB_004c1a4c + 0x5bbc))()" (parenthesized_expression "(*(code *)(PTR_LAB_004c1a4c + 0x5bbc))" ( (pointer_expression "*(code *)(PTR_LAB_004c1a4c + 0x5bbc)" * (cast_expression "(code *)(PTR_LAB_004c1a4c + 0x5bbc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_004c1a4c + 0x5bbc)" ( (binary_expression "PTR_LAB_004c1a4c + 0x5bbc" identifier + number_literal) )))) )) (argument_list "()" ( ))) ;)) }) (else_clause "else {\n    iVar2 = (*(code *)PTR_get_view_004c1b74)\n                      (&pIVar4->file_,0x28,\n                       *(undefined4 *)\n                        &(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.\n                         super_Relobj.super_Object.offset_,\n                       (int)(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.\n                            super_Relobj.super_Object.offset_,oVar12,0x28,1,1);\n    uVar7 = 0x1a75;\n    if (*(int *)(iVar2 + 4) != 2) goto LAB_001370f8;\n    if (*(uint *)(iVar2 + 0x1c) == __new_size) {\n      pIVar4 = (this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.super_Relobj.\n               super_Object.input_file_;\n      if (pIVar4 != (Input_file *)0x0) {\n        iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (&pIVar4->file_,0x1a75,\n                           *(undefined4 *)\n                            &(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.\n                             super_Relobj.super_Object.offset_,\n                           (int)(this->super_Sized_relobj_file<32,_true>).\n                                super_Sized_relobj<32,_true>.super_Relobj.super_Object.offset_,0,\n                           *(undefined4 *)(iVar2 + 0x10),__new_size << 4,1,1);\n        if (__new_size < 2) {\n          return;\n        }\n        p_Var11 = (this->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl\n                  .super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p;\n        uVar8 = 1;\n        p_Var10 = (this->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n                  _M_impl.super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p;\n        do {\n          uVar3 = uVar8 >> 5;\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar5 = 1 << (uVar8 & 0x1f);\n          p_Var9 = p_Var11 + uVar3;\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *p_Var9 = *p_Var9 | uVar5;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            _Var6 = uVar5 | p_Var10[uVar3];\n          }\n          else {\n            *p_Var9 = ~uVar5 & *p_Var9;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            _Var6 = ~uVar5 & p_Var10[uVar3];\n          }\n          uVar8 = uVar8 + 1;\n          p_Var10[uVar3] = _Var6;\n          iVar2 = iVar2 + 0x10;\n          if (uVar8 == __new_size) {\n            return;\n          }\n        } while( true );\n      }\n      goto LAB_001370e4;\n    }\n  }" else (compound_statement "{\n    iVar2 = (*(code *)PTR_get_view_004c1b74)\n                      (&pIVar4->file_,0x28,\n                       *(undefined4 *)\n                        &(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.\n                         super_Relobj.super_Object.offset_,\n                       (int)(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.\n                            super_Relobj.super_Object.offset_,oVar12,0x28,1,1);\n    uVar7 = 0x1a75;\n    if (*(int *)(iVar2 + 4) != 2) goto LAB_001370f8;\n    if (*(uint *)(iVar2 + 0x1c) == __new_size) {\n      pIVar4 = (this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.super_Relobj.\n               super_Object.input_file_;\n      if (pIVar4 != (Input_file *)0x0) {\n        iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (&pIVar4->file_,0x1a75,\n                           *(undefined4 *)\n                            &(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.\n                             super_Relobj.super_Object.offset_,\n                           (int)(this->super_Sized_relobj_file<32,_true>).\n                                super_Sized_relobj<32,_true>.super_Relobj.super_Object.offset_,0,\n                           *(undefined4 *)(iVar2 + 0x10),__new_size << 4,1,1);\n        if (__new_size < 2) {\n          return;\n        }\n        p_Var11 = (this->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl\n                  .super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p;\n        uVar8 = 1;\n        p_Var10 = (this->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n                  _M_impl.super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p;\n        do {\n          uVar3 = uVar8 >> 5;\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar5 = 1 << (uVar8 & 0x1f);\n          p_Var9 = p_Var11 + uVar3;\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *p_Var9 = *p_Var9 | uVar5;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            _Var6 = uVar5 | p_Var10[uVar3];\n          }\n          else {\n            *p_Var9 = ~uVar5 & *p_Var9;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            _Var6 = ~uVar5 & p_Var10[uVar3];\n          }\n          uVar8 = uVar8 + 1;\n          p_Var10[uVar3] = _Var6;\n          iVar2 = iVar2 + 0x10;\n          if (uVar8 == __new_size) {\n            return;\n          }\n        } while( true );\n      }\n      goto LAB_001370e4;\n    }\n  }" { (expression_statement "iVar2 = (*(code *)PTR_get_view_004c1b74)\n                      (&pIVar4->file_,0x28,\n                       *(undefined4 *)\n                        &(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.\n                         super_Relobj.super_Object.offset_,\n                       (int)(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.\n                            super_Relobj.super_Object.offset_,oVar12,0x28,1,1);" (assignment_expression "iVar2 = (*(code *)PTR_get_view_004c1b74)\n                      (&pIVar4->file_,0x28,\n                       *(undefined4 *)\n                        &(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.\n                         super_Relobj.super_Object.offset_,\n                       (int)(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.\n                            super_Relobj.super_Object.offset_,oVar12,0x28,1,1)" identifier = (call_expression "(*(code *)PTR_get_view_004c1b74)\n                      (&pIVar4->file_,0x28,\n                       *(undefined4 *)\n                        &(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.\n                         super_Relobj.super_Object.offset_,\n                       (int)(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.\n                            super_Relobj.super_Object.offset_,oVar12,0x28,1,1)" (parenthesized_expression "(*(code *)PTR_get_view_004c1b74)" ( (pointer_expression "*(code *)PTR_get_view_004c1b74" * (cast_expression "(code *)PTR_get_view_004c1b74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&pIVar4->file_,0x28,\n                       *(undefined4 *)\n                        &(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.\n                         super_Relobj.super_Object.offset_,\n                       (int)(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.\n                            super_Relobj.super_Object.offset_,oVar12,0x28,1,1)" ( (pointer_expression "&pIVar4->file_" & (field_expression "pIVar4->file_" identifier -> field_identifier)) , number_literal , (binary_expression "*(undefined4 *)\n                        &(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32" (pointer_expression "*(undefined4 *)\n                        &(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj" * (cast_expression "(undefined4 *)\n                        &(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj" & (field_expression "(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj" (parenthesized_expression "(this->super_Sized_relobj_file<32,_true>)" ( (comma_expression "this->super_Sized_relobj_file<32,_true" (binary_expression "this->super_Sized_relobj_file<32" (field_expression "this->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier)))) < number_literal) , (field_expression "_true>.\n                         super_Relobj.super_Object.offset_" (field_expression "_true>.\n                         super_Relobj.super_Object" (field_expression "_true>.\n                         super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) , (binary_expression "(int)(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32" (cast_expression "(int)(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj" ( (type_descriptor "int" primitive_type) ) (field_expression "(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj" (parenthesized_expression "(this->super_Sized_relobj_file<32,_true>)" ( (comma_expression "this->super_Sized_relobj_file<32,_true" (binary_expression "this->super_Sized_relobj_file<32" (field_expression "this->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier)) < number_literal) , (field_expression "_true>.\n                            super_Relobj.super_Object.offset_" (field_expression "_true>.\n                            super_Relobj.super_Object" (field_expression "_true>.\n                            super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) , identifier , number_literal , number_literal , number_literal )))) ;) (expression_statement "uVar7 = 0x1a75;" (assignment_expression "uVar7 = 0x1a75" identifier = number_literal) ;) (if_statement "if (*(int *)(iVar2 + 4) != 2) goto LAB_001370f8;" if (parenthesized_expression "(*(int *)(iVar2 + 4) != 2)" ( (binary_expression "*(int *)(iVar2 + 4) != 2" (pointer_expression "*(int *)(iVar2 + 4)" * (cast_expression "(int *)(iVar2 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_001370f8;" goto statement_identifier ;)) (if_statement "if (*(uint *)(iVar2 + 0x1c) == __new_size) {\n      pIVar4 = (this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.super_Relobj.\n               super_Object.input_file_;\n      if (pIVar4 != (Input_file *)0x0) {\n        iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (&pIVar4->file_,0x1a75,\n                           *(undefined4 *)\n                            &(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.\n                             super_Relobj.super_Object.offset_,\n                           (int)(this->super_Sized_relobj_file<32,_true>).\n                                super_Sized_relobj<32,_true>.super_Relobj.super_Object.offset_,0,\n                           *(undefined4 *)(iVar2 + 0x10),__new_size << 4,1,1);\n        if (__new_size < 2) {\n          return;\n        }\n        p_Var11 = (this->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl\n                  .super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p;\n        uVar8 = 1;\n        p_Var10 = (this->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n                  _M_impl.super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p;\n        do {\n          uVar3 = uVar8 >> 5;\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar5 = 1 << (uVar8 & 0x1f);\n          p_Var9 = p_Var11 + uVar3;\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *p_Var9 = *p_Var9 | uVar5;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            _Var6 = uVar5 | p_Var10[uVar3];\n          }\n          else {\n            *p_Var9 = ~uVar5 & *p_Var9;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            _Var6 = ~uVar5 & p_Var10[uVar3];\n          }\n          uVar8 = uVar8 + 1;\n          p_Var10[uVar3] = _Var6;\n          iVar2 = iVar2 + 0x10;\n          if (uVar8 == __new_size) {\n            return;\n          }\n        } while( true );\n      }\n      goto LAB_001370e4;\n    }" if (parenthesized_expression "(*(uint *)(iVar2 + 0x1c) == __new_size)" ( (binary_expression "*(uint *)(iVar2 + 0x1c) == __new_size" (pointer_expression "*(uint *)(iVar2 + 0x1c)" * (cast_expression "(uint *)(iVar2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n      pIVar4 = (this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.super_Relobj.\n               super_Object.input_file_;\n      if (pIVar4 != (Input_file *)0x0) {\n        iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (&pIVar4->file_,0x1a75,\n                           *(undefined4 *)\n                            &(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.\n                             super_Relobj.super_Object.offset_,\n                           (int)(this->super_Sized_relobj_file<32,_true>).\n                                super_Sized_relobj<32,_true>.super_Relobj.super_Object.offset_,0,\n                           *(undefined4 *)(iVar2 + 0x10),__new_size << 4,1,1);\n        if (__new_size < 2) {\n          return;\n        }\n        p_Var11 = (this->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl\n                  .super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p;\n        uVar8 = 1;\n        p_Var10 = (this->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n                  _M_impl.super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p;\n        do {\n          uVar3 = uVar8 >> 5;\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar5 = 1 << (uVar8 & 0x1f);\n          p_Var9 = p_Var11 + uVar3;\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *p_Var9 = *p_Var9 | uVar5;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            _Var6 = uVar5 | p_Var10[uVar3];\n          }\n          else {\n            *p_Var9 = ~uVar5 & *p_Var9;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            _Var6 = ~uVar5 & p_Var10[uVar3];\n          }\n          uVar8 = uVar8 + 1;\n          p_Var10[uVar3] = _Var6;\n          iVar2 = iVar2 + 0x10;\n          if (uVar8 == __new_size) {\n            return;\n          }\n        } while( true );\n      }\n      goto LAB_001370e4;\n    }" { (expression_statement "pIVar4 = (this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.super_Relobj.\n               super_Object.input_file_;" (comma_expression "pIVar4 = (this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.super_Relobj.\n               super_Object.input_file_" (assignment_expression "pIVar4 = (this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32" identifier = (binary_expression "(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32" (field_expression "(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj" (parenthesized_expression "(this->super_Sized_relobj_file<32,_true>)" ( (comma_expression "this->super_Sized_relobj_file<32,_true" (binary_expression "this->super_Sized_relobj_file<32" (field_expression "this->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) < number_literal)) , (field_expression "_true>.super_Relobj.\n               super_Object.input_file_" (field_expression "_true>.super_Relobj.\n               super_Object" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if (pIVar4 != (Input_file *)0x0) {\n        iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (&pIVar4->file_,0x1a75,\n                           *(undefined4 *)\n                            &(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.\n                             super_Relobj.super_Object.offset_,\n                           (int)(this->super_Sized_relobj_file<32,_true>).\n                                super_Sized_relobj<32,_true>.super_Relobj.super_Object.offset_,0,\n                           *(undefined4 *)(iVar2 + 0x10),__new_size << 4,1,1);\n        if (__new_size < 2) {\n          return;\n        }\n        p_Var11 = (this->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl\n                  .super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p;\n        uVar8 = 1;\n        p_Var10 = (this->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n                  _M_impl.super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p;\n        do {\n          uVar3 = uVar8 >> 5;\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar5 = 1 << (uVar8 & 0x1f);\n          p_Var9 = p_Var11 + uVar3;\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *p_Var9 = *p_Var9 | uVar5;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            _Var6 = uVar5 | p_Var10[uVar3];\n          }\n          else {\n            *p_Var9 = ~uVar5 & *p_Var9;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            _Var6 = ~uVar5 & p_Var10[uVar3];\n          }\n          uVar8 = uVar8 + 1;\n          p_Var10[uVar3] = _Var6;\n          iVar2 = iVar2 + 0x10;\n          if (uVar8 == __new_size) {\n            return;\n          }\n        } while( true );\n      }" if (parenthesized_expression "(pIVar4 != (Input_file *)0x0)" ( (binary_expression "pIVar4 != (Input_file *)0x0" identifier != (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (&pIVar4->file_,0x1a75,\n                           *(undefined4 *)\n                            &(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.\n                             super_Relobj.super_Object.offset_,\n                           (int)(this->super_Sized_relobj_file<32,_true>).\n                                super_Sized_relobj<32,_true>.super_Relobj.super_Object.offset_,0,\n                           *(undefined4 *)(iVar2 + 0x10),__new_size << 4,1,1);\n        if (__new_size < 2) {\n          return;\n        }\n        p_Var11 = (this->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl\n                  .super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p;\n        uVar8 = 1;\n        p_Var10 = (this->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n                  _M_impl.super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p;\n        do {\n          uVar3 = uVar8 >> 5;\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar5 = 1 << (uVar8 & 0x1f);\n          p_Var9 = p_Var11 + uVar3;\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *p_Var9 = *p_Var9 | uVar5;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            _Var6 = uVar5 | p_Var10[uVar3];\n          }\n          else {\n            *p_Var9 = ~uVar5 & *p_Var9;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            _Var6 = ~uVar5 & p_Var10[uVar3];\n          }\n          uVar8 = uVar8 + 1;\n          p_Var10[uVar3] = _Var6;\n          iVar2 = iVar2 + 0x10;\n          if (uVar8 == __new_size) {\n            return;\n          }\n        } while( true );\n      }" { (expression_statement "iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (&pIVar4->file_,0x1a75,\n                           *(undefined4 *)\n                            &(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.\n                             super_Relobj.super_Object.offset_,\n                           (int)(this->super_Sized_relobj_file<32,_true>).\n                                super_Sized_relobj<32,_true>.super_Relobj.super_Object.offset_,0,\n                           *(undefined4 *)(iVar2 + 0x10),__new_size << 4,1,1);" (assignment_expression "iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (&pIVar4->file_,0x1a75,\n                           *(undefined4 *)\n                            &(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.\n                             super_Relobj.super_Object.offset_,\n                           (int)(this->super_Sized_relobj_file<32,_true>).\n                                super_Sized_relobj<32,_true>.super_Relobj.super_Object.offset_,0,\n                           *(undefined4 *)(iVar2 + 0x10),__new_size << 4,1,1)" identifier = (call_expression "(*(code *)PTR_get_view_004c1b74)\n                          (&pIVar4->file_,0x1a75,\n                           *(undefined4 *)\n                            &(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.\n                             super_Relobj.super_Object.offset_,\n                           (int)(this->super_Sized_relobj_file<32,_true>).\n                                super_Sized_relobj<32,_true>.super_Relobj.super_Object.offset_,0,\n                           *(undefined4 *)(iVar2 + 0x10),__new_size << 4,1,1)" (parenthesized_expression "(*(code *)PTR_get_view_004c1b74)" ( (pointer_expression "*(code *)PTR_get_view_004c1b74" * (cast_expression "(code *)PTR_get_view_004c1b74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&pIVar4->file_,0x1a75,\n                           *(undefined4 *)\n                            &(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32,_true>.\n                             super_Relobj.super_Object.offset_,\n                           (int)(this->super_Sized_relobj_file<32,_true>).\n                                super_Sized_relobj<32,_true>.super_Relobj.super_Object.offset_,0,\n                           *(undefined4 *)(iVar2 + 0x10),__new_size << 4,1,1)" ( (pointer_expression "&pIVar4->file_" & (field_expression "pIVar4->file_" identifier -> field_identifier)) , number_literal , (binary_expression "*(undefined4 *)\n                            &(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj<32" (pointer_expression "*(undefined4 *)\n                            &(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj" * (cast_expression "(undefined4 *)\n                            &(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj" & (field_expression "(this->super_Sized_relobj_file<32,_true>).super_Sized_relobj" (parenthesized_expression "(this->super_Sized_relobj_file<32,_true>)" ( (comma_expression "this->super_Sized_relobj_file<32,_true" (binary_expression "this->super_Sized_relobj_file<32" (field_expression "this->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier)))) < number_literal) , (field_expression "_true>.\n                             super_Relobj.super_Object.offset_" (field_expression "_true>.\n                             super_Relobj.super_Object" (field_expression "_true>.\n                             super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) , (binary_expression "(int)(this->super_Sized_relobj_file<32,_true>).\n                                super_Sized_relobj<32" (cast_expression "(int)(this->super_Sized_relobj_file<32,_true>).\n                                super_Sized_relobj" ( (type_descriptor "int" primitive_type) ) (field_expression "(this->super_Sized_relobj_file<32,_true>).\n                                super_Sized_relobj" (parenthesized_expression "(this->super_Sized_relobj_file<32,_true>)" ( (comma_expression "this->super_Sized_relobj_file<32,_true" (binary_expression "this->super_Sized_relobj_file<32" (field_expression "this->super_Sized_relobj_file" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier)) < number_literal) , (field_expression "_true>.super_Relobj.super_Object.offset_" (field_expression "_true>.super_Relobj.super_Object" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) , number_literal , (pointer_expression "*(undefined4 *)(iVar2 + 0x10)" * (cast_expression "(undefined4 *)(iVar2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) )))) , (binary_expression "__new_size << 4" identifier << number_literal) , number_literal , number_literal )))) ;) (if_statement "if (__new_size < 2) {\n          return;\n        }" if (parenthesized_expression "(__new_size < 2)" ( (binary_expression "__new_size < 2" identifier < number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (expression_statement "p_Var11 = (this->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl\n                  .super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p;" (field_expression "p_Var11 = (this->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl\n                  .super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p" (field_expression "p_Var11 = (this->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl\n                  .super__Bvector_impl_data._M_start.super__Bit_iterator_base" (field_expression "p_Var11 = (this->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl\n                  .super__Bvector_impl_data._M_start" (field_expression "p_Var11 = (this->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl\n                  .super__Bvector_impl_data" (field_expression "p_Var11 = (this->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_>._M_impl" (binary_expression "p_Var11 = (this->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool>_" (binary_expression "p_Var11 = (this->local_symbol_is_mips16_).super__Bvector_base<std::allocator<bool" (assignment_expression "p_Var11 = (this->local_symbol_is_mips16_).super__Bvector_base<std" identifier = (binary_expression "(this->local_symbol_is_mips16_).super__Bvector_base<std" (field_expression "(this->local_symbol_is_mips16_).super__Bvector_base" (parenthesized_expression "(this->local_symbol_is_mips16_)" ( (field_expression "this->local_symbol_is_mips16_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) ;) (expression_statement "uVar8 = 1;" (assignment_expression "uVar8 = 1" identifier = number_literal) ;) (expression_statement "p_Var10 = (this->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n                  _M_impl.super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p;" (field_expression "p_Var10 = (this->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n                  _M_impl.super__Bvector_impl_data._M_start.super__Bit_iterator_base._M_p" (field_expression "p_Var10 = (this->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n                  _M_impl.super__Bvector_impl_data._M_start.super__Bit_iterator_base" (field_expression "p_Var10 = (this->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n                  _M_impl.super__Bvector_impl_data._M_start" (field_expression "p_Var10 = (this->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n                  _M_impl.super__Bvector_impl_data" (field_expression "p_Var10 = (this->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_>.\n                  _M_impl" (binary_expression "p_Var10 = (this->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool>_" (binary_expression "p_Var10 = (this->local_symbol_is_micromips_).super__Bvector_base<std::allocator<bool" (assignment_expression "p_Var10 = (this->local_symbol_is_micromips_).super__Bvector_base<std" identifier = (binary_expression "(this->local_symbol_is_micromips_).super__Bvector_base<std" (field_expression "(this->local_symbol_is_micromips_).super__Bvector_base" (parenthesized_expression "(this->local_symbol_is_micromips_)" ( (field_expression "this->local_symbol_is_micromips_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::allocator" : : identifier) < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) ;) (do_statement "do {\n          uVar3 = uVar8 >> 5;\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar5 = 1 << (uVar8 & 0x1f);\n          p_Var9 = p_Var11 + uVar3;\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *p_Var9 = *p_Var9 | uVar5;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            _Var6 = uVar5 | p_Var10[uVar3];\n          }\n          else {\n            *p_Var9 = ~uVar5 & *p_Var9;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            _Var6 = ~uVar5 & p_Var10[uVar3];\n          }\n          uVar8 = uVar8 + 1;\n          p_Var10[uVar3] = _Var6;\n          iVar2 = iVar2 + 0x10;\n          if (uVar8 == __new_size) {\n            return;\n          }\n        } while( true );" do (compound_statement "{\n          uVar3 = uVar8 >> 5;\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar5 = 1 << (uVar8 & 0x1f);\n          p_Var9 = p_Var11 + uVar3;\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *p_Var9 = *p_Var9 | uVar5;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            _Var6 = uVar5 | p_Var10[uVar3];\n          }\n          else {\n            *p_Var9 = ~uVar5 & *p_Var9;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            _Var6 = ~uVar5 & p_Var10[uVar3];\n          }\n          uVar8 = uVar8 + 1;\n          p_Var10[uVar3] = _Var6;\n          iVar2 = iVar2 + 0x10;\n          if (uVar8 == __new_size) {\n            return;\n          }\n        }" { (expression_statement "uVar3 = uVar8 >> 5;" (assignment_expression "uVar3 = uVar8 >> 5" identifier = (binary_expression "uVar8 >> 5" identifier >> number_literal)) ;) (expression_statement "bVar1 = *(byte *)(iVar2 + 0x1d);" (assignment_expression "bVar1 = *(byte *)(iVar2 + 0x1d)" identifier = (pointer_expression "*(byte *)(iVar2 + 0x1d)" * (cast_expression "(byte *)(iVar2 + 0x1d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1d)" ( (binary_expression "iVar2 + 0x1d" identifier + number_literal) ))))) ;) (expression_statement "uVar5 = 1 << (uVar8 & 0x1f);" (assignment_expression "uVar5 = 1 << (uVar8 & 0x1f)" identifier = (binary_expression "1 << (uVar8 & 0x1f)" number_literal << (parenthesized_expression "(uVar8 & 0x1f)" ( (binary_expression "uVar8 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "p_Var9 = p_Var11 + uVar3;" (assignment_expression "p_Var9 = p_Var11 + uVar3" identifier = (binary_expression "p_Var11 + uVar3" identifier + identifier)) ;) (if_statement "if ((bVar1 & 0xf0) == 0xf0) {\n            *p_Var9 = *p_Var9 | uVar5;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            _Var6 = uVar5 | p_Var10[uVar3];\n          }\n          else {\n            *p_Var9 = ~uVar5 & *p_Var9;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            _Var6 = ~uVar5 & p_Var10[uVar3];\n          }" if (parenthesized_expression "((bVar1 & 0xf0) == 0xf0)" ( (binary_expression "(bVar1 & 0xf0) == 0xf0" (parenthesized_expression "(bVar1 & 0xf0)" ( (binary_expression "bVar1 & 0xf0" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            *p_Var9 = *p_Var9 | uVar5;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            _Var6 = uVar5 | p_Var10[uVar3];\n          }" { (expression_statement "*p_Var9 = *p_Var9 | uVar5;" (assignment_expression "*p_Var9 = *p_Var9 | uVar5" (pointer_expression "*p_Var9" * identifier) = (binary_expression "*p_Var9 | uVar5" (pointer_expression "*p_Var9" * identifier) | identifier)) ;) (if_statement "if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;" if (parenthesized_expression "((bVar1 & 0xc0) != 0x80)" ( (binary_expression "(bVar1 & 0xc0) != 0x80" (parenthesized_expression "(bVar1 & 0xc0)" ( (binary_expression "bVar1 & 0xc0" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_001370d4;" goto statement_identifier ;)) (labeled_statement "LAB_00137084:\n            _Var6 = uVar5 | p_Var10[uVar3];" statement_identifier : (expression_statement "_Var6 = uVar5 | p_Var10[uVar3];" (assignment_expression "_Var6 = uVar5 | p_Var10[uVar3]" identifier = (binary_expression "uVar5 | p_Var10[uVar3]" identifier | (subscript_expression "p_Var10[uVar3]" identifier [ identifier ]))) ;)) }) (else_clause "else {\n            *p_Var9 = ~uVar5 & *p_Var9;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            _Var6 = ~uVar5 & p_Var10[uVar3];\n          }" else (compound_statement "{\n            *p_Var9 = ~uVar5 & *p_Var9;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            _Var6 = ~uVar5 & p_Var10[uVar3];\n          }" { (expression_statement "*p_Var9 = ~uVar5 & *p_Var9;" (assignment_expression "*p_Var9 = ~uVar5 & *p_Var9" (pointer_expression "*p_Var9" * identifier) = (binary_expression "~uVar5 & *p_Var9" (unary_expression "~uVar5" ~ identifier) & (pointer_expression "*p_Var9" * identifier))) ;) (if_statement "if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;" if (parenthesized_expression "((bVar1 & 0xc0) == 0x80)" ( (binary_expression "(bVar1 & 0xc0) == 0x80" (parenthesized_expression "(bVar1 & 0xc0)" ( (binary_expression "bVar1 & 0xc0" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00137084;" goto statement_identifier ;)) (labeled_statement "LAB_001370d4:\n            _Var6 = ~uVar5 & p_Var10[uVar3];" statement_identifier : (expression_statement "_Var6 = ~uVar5 & p_Var10[uVar3];" (assignment_expression "_Var6 = ~uVar5 & p_Var10[uVar3]" identifier = (binary_expression "~uVar5 & p_Var10[uVar3]" (unary_expression "~uVar5" ~ identifier) & (subscript_expression "p_Var10[uVar3]" identifier [ identifier ]))) ;)) }))) (expression_statement "uVar8 = uVar8 + 1;" (assignment_expression "uVar8 = uVar8 + 1" identifier = (binary_expression "uVar8 + 1" identifier + number_literal)) ;) (expression_statement "p_Var10[uVar3] = _Var6;" (assignment_expression "p_Var10[uVar3] = _Var6" (subscript_expression "p_Var10[uVar3]" identifier [ identifier ]) = identifier) ;) (expression_statement "iVar2 = iVar2 + 0x10;" (assignment_expression "iVar2 = iVar2 + 0x10" identifier = (binary_expression "iVar2 + 0x10" identifier + number_literal)) ;) (if_statement "if (uVar8 == __new_size) {\n            return;\n          }" if (parenthesized_expression "(uVar8 == __new_size)" ( (binary_expression "uVar8 == __new_size" identifier == identifier) )) (compound_statement "{\n            return;\n          }" { (return_statement "return;" return ;) })) }) while (parenthesized_expression "( true )" ( true )) ;) })) (goto_statement "goto LAB_001370e4;" goto statement_identifier ;) })) }))) (expression_statement "uVar7 = 0x1a79;" (assignment_expression "uVar7 = 0x1a79" identifier = number_literal) ;) (labeled_statement "LAB_001370f8:\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,uVar7,PTR_s__s_004c1a50 + -0x5470)\n  ;" statement_identifier : (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,uVar7,PTR_s__s_004c1a50 + -0x5470)\n  ;" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,uVar7,PTR_s__s_004c1a50 + -0x5470)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,uVar7,PTR_s__s_004c1a50 + -0x5470)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588" identifier + number_literal) , identifier , (binary_expression "PTR_s__s_004c1a50 + -0x5470" identifier + number_literal) ))) ;)) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "void FUN_00136f1c(int param_1)\n\n{\n  byte bVar1;\n  int iVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  uint uVar6;\n  uint *puVar7;\n  int iVar8;\n  uint uVar9;\n  int iVar10;\n  undefined8 uVar11;\n  \n  (*(code *)PTR_do_count_local_symbols_004c1f30)();\n  uVar9 = *(uint *)(param_1 + 0xb8);\n  if (uVar9 == 0) {\n    return;\n  }\n  std::vector<bool,std::allocator<bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x14c),uVar9,false);\n  std::vector<bool,std::allocator<bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x160),uVar9,false);\n  uVar11 = elfcpp::Elf_file<32,true,gold::Object>::section_header_offset\n                     ((Elf_file<32,true,gold::Object> *)(param_1 + 0x90),*(uint *)(param_1 + 0xb4));\n  if (*(int *)(param_1 + 0x1c) == 0) {\nLAB_001370e4:\n    (*(code *)(PTR_LAB_004c1a4c + 0x5bbc))();\n  }\n  else {\n    iVar2 = (*(code *)PTR_get_view_004c1b74)\n                      (*(int *)(param_1 + 0x1c) + 0x20,0x28,*(undefined4 *)(param_1 + 0x20),\n                       *(undefined4 *)(param_1 + 0x24),uVar11,0x28,1,1);\n    uVar5 = 0x1a75;\n    if (*(int *)(iVar2 + 4) != 2) goto LAB_001370f8;\n    if (*(uint *)(iVar2 + 0x1c) == uVar9) {\n      if (*(int *)(param_1 + 0x1c) != 0) {\n        iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1);\n        if (uVar9 < 2) {\n          return;\n        }\n        iVar10 = *(int *)(param_1 + 0x14c);\n        uVar6 = 1;\n        iVar8 = *(int *)(param_1 + 0x160);\n        do {\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar4 = 1 << (uVar6 & 0x1f);\n          iVar3 = (uVar6 >> 5) * 4;\n          puVar7 = (uint *)(iVar10 + iVar3);\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }\n          uVar6 = uVar6 + 1;\n          *(uint *)(iVar8 + iVar3) = uVar4;\n          iVar2 = iVar2 + 0x10;\n          if (uVar6 == uVar9) {\n            return;\n          }\n        } while( true );\n      }\n      goto LAB_001370e4;\n    }\n  }\n  uVar5 = 0x1a79;\nLAB_001370f8:\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,uVar5,PTR_s__s_004c1a50 + -0x5470)\n  ;\n  return;\n}\n\n" (function_definition "void FUN_00136f1c(int param_1)\n\n{\n  byte bVar1;\n  int iVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  uint uVar6;\n  uint *puVar7;\n  int iVar8;\n  uint uVar9;\n  int iVar10;\n  undefined8 uVar11;\n  \n  (*(code *)PTR_do_count_local_symbols_004c1f30)();\n  uVar9 = *(uint *)(param_1 + 0xb8);\n  if (uVar9 == 0) {\n    return;\n  }\n  std::vector<bool,std::allocator<bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x14c),uVar9,false);\n  std::vector<bool,std::allocator<bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x160),uVar9,false);\n  uVar11 = elfcpp::Elf_file<32,true,gold::Object>::section_header_offset\n                     ((Elf_file<32,true,gold::Object> *)(param_1 + 0x90),*(uint *)(param_1 + 0xb4));\n  if (*(int *)(param_1 + 0x1c) == 0) {\nLAB_001370e4:\n    (*(code *)(PTR_LAB_004c1a4c + 0x5bbc))();\n  }\n  else {\n    iVar2 = (*(code *)PTR_get_view_004c1b74)\n                      (*(int *)(param_1 + 0x1c) + 0x20,0x28,*(undefined4 *)(param_1 + 0x20),\n                       *(undefined4 *)(param_1 + 0x24),uVar11,0x28,1,1);\n    uVar5 = 0x1a75;\n    if (*(int *)(iVar2 + 4) != 2) goto LAB_001370f8;\n    if (*(uint *)(iVar2 + 0x1c) == uVar9) {\n      if (*(int *)(param_1 + 0x1c) != 0) {\n        iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1);\n        if (uVar9 < 2) {\n          return;\n        }\n        iVar10 = *(int *)(param_1 + 0x14c);\n        uVar6 = 1;\n        iVar8 = *(int *)(param_1 + 0x160);\n        do {\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar4 = 1 << (uVar6 & 0x1f);\n          iVar3 = (uVar6 >> 5) * 4;\n          puVar7 = (uint *)(iVar10 + iVar3);\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }\n          uVar6 = uVar6 + 1;\n          *(uint *)(iVar8 + iVar3) = uVar4;\n          iVar2 = iVar2 + 0x10;\n          if (uVar6 == uVar9) {\n            return;\n          }\n        } while( true );\n      }\n      goto LAB_001370e4;\n    }\n  }\n  uVar5 = 0x1a79;\nLAB_001370f8:\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,uVar5,PTR_s__s_004c1a50 + -0x5470)\n  ;\n  return;\n}" primitive_type (function_declarator "FUN_00136f1c(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  byte bVar1;\n  int iVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  uint uVar6;\n  uint *puVar7;\n  int iVar8;\n  uint uVar9;\n  int iVar10;\n  undefined8 uVar11;\n  \n  (*(code *)PTR_do_count_local_symbols_004c1f30)();\n  uVar9 = *(uint *)(param_1 + 0xb8);\n  if (uVar9 == 0) {\n    return;\n  }\n  std::vector<bool,std::allocator<bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x14c),uVar9,false);\n  std::vector<bool,std::allocator<bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x160),uVar9,false);\n  uVar11 = elfcpp::Elf_file<32,true,gold::Object>::section_header_offset\n                     ((Elf_file<32,true,gold::Object> *)(param_1 + 0x90),*(uint *)(param_1 + 0xb4));\n  if (*(int *)(param_1 + 0x1c) == 0) {\nLAB_001370e4:\n    (*(code *)(PTR_LAB_004c1a4c + 0x5bbc))();\n  }\n  else {\n    iVar2 = (*(code *)PTR_get_view_004c1b74)\n                      (*(int *)(param_1 + 0x1c) + 0x20,0x28,*(undefined4 *)(param_1 + 0x20),\n                       *(undefined4 *)(param_1 + 0x24),uVar11,0x28,1,1);\n    uVar5 = 0x1a75;\n    if (*(int *)(iVar2 + 4) != 2) goto LAB_001370f8;\n    if (*(uint *)(iVar2 + 0x1c) == uVar9) {\n      if (*(int *)(param_1 + 0x1c) != 0) {\n        iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1);\n        if (uVar9 < 2) {\n          return;\n        }\n        iVar10 = *(int *)(param_1 + 0x14c);\n        uVar6 = 1;\n        iVar8 = *(int *)(param_1 + 0x160);\n        do {\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar4 = 1 << (uVar6 & 0x1f);\n          iVar3 = (uVar6 >> 5) * 4;\n          puVar7 = (uint *)(iVar10 + iVar3);\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }\n          uVar6 = uVar6 + 1;\n          *(uint *)(iVar8 + iVar3) = uVar4;\n          iVar2 = iVar2 + 0x10;\n          if (uVar6 == uVar9) {\n            return;\n          }\n        } while( true );\n      }\n      goto LAB_001370e4;\n    }\n  }\n  uVar5 = 0x1a79;\nLAB_001370f8:\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,uVar5,PTR_s__s_004c1a50 + -0x5470)\n  ;\n  return;\n}" { (declaration "byte bVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "uint *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "undefined8 uVar11;" type_identifier identifier ;) (expression_statement "(*(code *)PTR_do_count_local_symbols_004c1f30)();" (call_expression "(*(code *)PTR_do_count_local_symbols_004c1f30)()" (parenthesized_expression "(*(code *)PTR_do_count_local_symbols_004c1f30)" ( (pointer_expression "*(code *)PTR_do_count_local_symbols_004c1f30" * (cast_expression "(code *)PTR_do_count_local_symbols_004c1f30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "uVar9 = *(uint *)(param_1 + 0xb8);" (assignment_expression "uVar9 = *(uint *)(param_1 + 0xb8)" identifier = (pointer_expression "*(uint *)(param_1 + 0xb8)" * (cast_expression "(uint *)(param_1 + 0xb8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb8)" ( (binary_expression "param_1 + 0xb8" identifier + number_literal) ))))) ;) (if_statement "if (uVar9 == 0) {\n    return;\n  }" if (parenthesized_expression "(uVar9 == 0)" ( (binary_expression "uVar9 == 0" identifier == number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (labeled_statement "std::vector<bool,std::allocator<bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x14c),uVar9,false);" statement_identifier (ERROR "::vector<bool,std:" : : (comma_expression "vector<bool,std" (binary_expression "vector<bool" identifier < identifier) , identifier) :) : (expression_statement "allocator<bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x14c),uVar9,false);" (binary_expression "allocator<bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x14c),uVar9,false)" identifier < (binary_expression "bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x14c),uVar9,false)" identifier >> (ERROR "::" : :) (call_expression "resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x14c),uVar9,false)" identifier (argument_list "((vector<bool,std::allocator<bool>> *)(param_1 + 0x14c),uVar9,false)" ( (call_expression "(vector<bool,std::allocator<bool>> *)(param_1 + 0x14c)" (parenthesized_expression "(vector<bool,std::allocator<bool>> *)" ( (ERROR "vector<bool,std::" (comma_expression "vector<bool,std" (binary_expression "vector<bool" identifier < identifier) , identifier) : :) (binary_expression "allocator<bool>> *" identifier < (binary_expression "bool>> *" identifier >> (pointer_expression "*" * identifier))) )) (argument_list "(param_1 + 0x14c)" ( (binary_expression "param_1 + 0x14c" identifier + number_literal) ))) , identifier , false ))))) ;)) (labeled_statement "std::vector<bool,std::allocator<bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x160),uVar9,false);" statement_identifier (ERROR "::vector<bool,std:" : : (comma_expression "vector<bool,std" (binary_expression "vector<bool" identifier < identifier) , identifier) :) : (expression_statement "allocator<bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x160),uVar9,false);" (binary_expression "allocator<bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x160),uVar9,false)" identifier < (binary_expression "bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x160),uVar9,false)" identifier >> (ERROR "::" : :) (call_expression "resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x160),uVar9,false)" identifier (argument_list "((vector<bool,std::allocator<bool>> *)(param_1 + 0x160),uVar9,false)" ( (call_expression "(vector<bool,std::allocator<bool>> *)(param_1 + 0x160)" (parenthesized_expression "(vector<bool,std::allocator<bool>> *)" ( (ERROR "vector<bool,std::" (comma_expression "vector<bool,std" (binary_expression "vector<bool" identifier < identifier) , identifier) : :) (binary_expression "allocator<bool>> *" identifier < (binary_expression "bool>> *" identifier >> (pointer_expression "*" * identifier))) )) (argument_list "(param_1 + 0x160)" ( (binary_expression "param_1 + 0x160" identifier + number_literal) ))) , identifier , false ))))) ;)) (ERROR "uVar11 = elfcpp::Elf_file<32,true,gold::" (comma_expression "uVar11 = elfcpp::Elf_file<32,true,gold" (binary_expression "uVar11 = elfcpp::Elf_file<32" (assignment_expression "uVar11 = elfcpp" identifier = identifier) (ERROR "::Elf_file" : : identifier) < number_literal) , (comma_expression "true,gold" true , identifier)) : :) (expression_statement "Object>::section_header_offset\n                     ((Elf_file<32,true,gold::Object> *)(param_1 + 0x90),*(uint *)(param_1 + 0xb4));" (binary_expression "Object>::section_header_offset\n                     ((Elf_file<32,true,gold::Object> *)(param_1 + 0x90),*(uint *)(param_1 + 0xb4))" identifier > (ERROR "::" : :) (call_expression "section_header_offset\n                     ((Elf_file<32,true,gold::Object> *)(param_1 + 0x90),*(uint *)(param_1 + 0xb4))" identifier (argument_list "((Elf_file<32,true,gold::Object> *)(param_1 + 0x90),*(uint *)(param_1 + 0xb4))" ( (call_expression "(Elf_file<32,true,gold::Object> *)(param_1 + 0x90)" (parenthesized_expression "(Elf_file<32,true,gold::Object> *)" ( (ERROR "Elf_file<32,true,gold::" (comma_expression "Elf_file<32,true,gold" (binary_expression "Elf_file<32" identifier < number_literal) , (comma_expression "true,gold" true , identifier)) : :) (binary_expression "Object> *" identifier > (pointer_expression "*" * identifier)) )) (argument_list "(param_1 + 0x90)" ( (binary_expression "param_1 + 0x90" identifier + number_literal) ))) , (pointer_expression "*(uint *)(param_1 + 0xb4)" * (cast_expression "(uint *)(param_1 + 0xb4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xb4)" ( (binary_expression "param_1 + 0xb4" identifier + number_literal) )))) )))) ;) (if_statement "if (*(int *)(param_1 + 0x1c) == 0) {\nLAB_001370e4:\n    (*(code *)(PTR_LAB_004c1a4c + 0x5bbc))();\n  }\n  else {\n    iVar2 = (*(code *)PTR_get_view_004c1b74)\n                      (*(int *)(param_1 + 0x1c) + 0x20,0x28,*(undefined4 *)(param_1 + 0x20),\n                       *(undefined4 *)(param_1 + 0x24),uVar11,0x28,1,1);\n    uVar5 = 0x1a75;\n    if (*(int *)(iVar2 + 4) != 2) goto LAB_001370f8;\n    if (*(uint *)(iVar2 + 0x1c) == uVar9) {\n      if (*(int *)(param_1 + 0x1c) != 0) {\n        iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1);\n        if (uVar9 < 2) {\n          return;\n        }\n        iVar10 = *(int *)(param_1 + 0x14c);\n        uVar6 = 1;\n        iVar8 = *(int *)(param_1 + 0x160);\n        do {\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar4 = 1 << (uVar6 & 0x1f);\n          iVar3 = (uVar6 >> 5) * 4;\n          puVar7 = (uint *)(iVar10 + iVar3);\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }\n          uVar6 = uVar6 + 1;\n          *(uint *)(iVar8 + iVar3) = uVar4;\n          iVar2 = iVar2 + 0x10;\n          if (uVar6 == uVar9) {\n            return;\n          }\n        } while( true );\n      }\n      goto LAB_001370e4;\n    }\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x1c) == 0)" ( (binary_expression "*(int *)(param_1 + 0x1c) == 0" (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\nLAB_001370e4:\n    (*(code *)(PTR_LAB_004c1a4c + 0x5bbc))();\n  }" { (labeled_statement "LAB_001370e4:\n    (*(code *)(PTR_LAB_004c1a4c + 0x5bbc))();" statement_identifier : (expression_statement "(*(code *)(PTR_LAB_004c1a4c + 0x5bbc))();" (call_expression "(*(code *)(PTR_LAB_004c1a4c + 0x5bbc))()" (parenthesized_expression "(*(code *)(PTR_LAB_004c1a4c + 0x5bbc))" ( (pointer_expression "*(code *)(PTR_LAB_004c1a4c + 0x5bbc)" * (cast_expression "(code *)(PTR_LAB_004c1a4c + 0x5bbc)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_004c1a4c + 0x5bbc)" ( (binary_expression "PTR_LAB_004c1a4c + 0x5bbc" identifier + number_literal) )))) )) (argument_list "()" ( ))) ;)) }) (else_clause "else {\n    iVar2 = (*(code *)PTR_get_view_004c1b74)\n                      (*(int *)(param_1 + 0x1c) + 0x20,0x28,*(undefined4 *)(param_1 + 0x20),\n                       *(undefined4 *)(param_1 + 0x24),uVar11,0x28,1,1);\n    uVar5 = 0x1a75;\n    if (*(int *)(iVar2 + 4) != 2) goto LAB_001370f8;\n    if (*(uint *)(iVar2 + 0x1c) == uVar9) {\n      if (*(int *)(param_1 + 0x1c) != 0) {\n        iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1);\n        if (uVar9 < 2) {\n          return;\n        }\n        iVar10 = *(int *)(param_1 + 0x14c);\n        uVar6 = 1;\n        iVar8 = *(int *)(param_1 + 0x160);\n        do {\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar4 = 1 << (uVar6 & 0x1f);\n          iVar3 = (uVar6 >> 5) * 4;\n          puVar7 = (uint *)(iVar10 + iVar3);\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }\n          uVar6 = uVar6 + 1;\n          *(uint *)(iVar8 + iVar3) = uVar4;\n          iVar2 = iVar2 + 0x10;\n          if (uVar6 == uVar9) {\n            return;\n          }\n        } while( true );\n      }\n      goto LAB_001370e4;\n    }\n  }" else (compound_statement "{\n    iVar2 = (*(code *)PTR_get_view_004c1b74)\n                      (*(int *)(param_1 + 0x1c) + 0x20,0x28,*(undefined4 *)(param_1 + 0x20),\n                       *(undefined4 *)(param_1 + 0x24),uVar11,0x28,1,1);\n    uVar5 = 0x1a75;\n    if (*(int *)(iVar2 + 4) != 2) goto LAB_001370f8;\n    if (*(uint *)(iVar2 + 0x1c) == uVar9) {\n      if (*(int *)(param_1 + 0x1c) != 0) {\n        iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1);\n        if (uVar9 < 2) {\n          return;\n        }\n        iVar10 = *(int *)(param_1 + 0x14c);\n        uVar6 = 1;\n        iVar8 = *(int *)(param_1 + 0x160);\n        do {\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar4 = 1 << (uVar6 & 0x1f);\n          iVar3 = (uVar6 >> 5) * 4;\n          puVar7 = (uint *)(iVar10 + iVar3);\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }\n          uVar6 = uVar6 + 1;\n          *(uint *)(iVar8 + iVar3) = uVar4;\n          iVar2 = iVar2 + 0x10;\n          if (uVar6 == uVar9) {\n            return;\n          }\n        } while( true );\n      }\n      goto LAB_001370e4;\n    }\n  }" { (expression_statement "iVar2 = (*(code *)PTR_get_view_004c1b74)\n                      (*(int *)(param_1 + 0x1c) + 0x20,0x28,*(undefined4 *)(param_1 + 0x20),\n                       *(undefined4 *)(param_1 + 0x24),uVar11,0x28,1,1);" (assignment_expression "iVar2 = (*(code *)PTR_get_view_004c1b74)\n                      (*(int *)(param_1 + 0x1c) + 0x20,0x28,*(undefined4 *)(param_1 + 0x20),\n                       *(undefined4 *)(param_1 + 0x24),uVar11,0x28,1,1)" identifier = (call_expression "(*(code *)PTR_get_view_004c1b74)\n                      (*(int *)(param_1 + 0x1c) + 0x20,0x28,*(undefined4 *)(param_1 + 0x20),\n                       *(undefined4 *)(param_1 + 0x24),uVar11,0x28,1,1)" (parenthesized_expression "(*(code *)PTR_get_view_004c1b74)" ( (pointer_expression "*(code *)PTR_get_view_004c1b74" * (cast_expression "(code *)PTR_get_view_004c1b74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(int *)(param_1 + 0x1c) + 0x20,0x28,*(undefined4 *)(param_1 + 0x20),\n                       *(undefined4 *)(param_1 + 0x24),uVar11,0x28,1,1)" ( (binary_expression "*(int *)(param_1 + 0x1c) + 0x20" (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) + number_literal) , number_literal , (pointer_expression "*(undefined4 *)(param_1 + 0x20)" * (cast_expression "(undefined4 *)(param_1 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x24)" * (cast_expression "(undefined4 *)(param_1 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) , identifier , number_literal , number_literal , number_literal )))) ;) (expression_statement "uVar5 = 0x1a75;" (assignment_expression "uVar5 = 0x1a75" identifier = number_literal) ;) (if_statement "if (*(int *)(iVar2 + 4) != 2) goto LAB_001370f8;" if (parenthesized_expression "(*(int *)(iVar2 + 4) != 2)" ( (binary_expression "*(int *)(iVar2 + 4) != 2" (pointer_expression "*(int *)(iVar2 + 4)" * (cast_expression "(int *)(iVar2 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) )))) != number_literal) )) (goto_statement "goto LAB_001370f8;" goto statement_identifier ;)) (if_statement "if (*(uint *)(iVar2 + 0x1c) == uVar9) {\n      if (*(int *)(param_1 + 0x1c) != 0) {\n        iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1);\n        if (uVar9 < 2) {\n          return;\n        }\n        iVar10 = *(int *)(param_1 + 0x14c);\n        uVar6 = 1;\n        iVar8 = *(int *)(param_1 + 0x160);\n        do {\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar4 = 1 << (uVar6 & 0x1f);\n          iVar3 = (uVar6 >> 5) * 4;\n          puVar7 = (uint *)(iVar10 + iVar3);\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }\n          uVar6 = uVar6 + 1;\n          *(uint *)(iVar8 + iVar3) = uVar4;\n          iVar2 = iVar2 + 0x10;\n          if (uVar6 == uVar9) {\n            return;\n          }\n        } while( true );\n      }\n      goto LAB_001370e4;\n    }" if (parenthesized_expression "(*(uint *)(iVar2 + 0x1c) == uVar9)" ( (binary_expression "*(uint *)(iVar2 + 0x1c) == uVar9" (pointer_expression "*(uint *)(iVar2 + 0x1c)" * (cast_expression "(uint *)(iVar2 + 0x1c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1c)" ( (binary_expression "iVar2 + 0x1c" identifier + number_literal) )))) == identifier) )) (compound_statement "{\n      if (*(int *)(param_1 + 0x1c) != 0) {\n        iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1);\n        if (uVar9 < 2) {\n          return;\n        }\n        iVar10 = *(int *)(param_1 + 0x14c);\n        uVar6 = 1;\n        iVar8 = *(int *)(param_1 + 0x160);\n        do {\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar4 = 1 << (uVar6 & 0x1f);\n          iVar3 = (uVar6 >> 5) * 4;\n          puVar7 = (uint *)(iVar10 + iVar3);\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }\n          uVar6 = uVar6 + 1;\n          *(uint *)(iVar8 + iVar3) = uVar4;\n          iVar2 = iVar2 + 0x10;\n          if (uVar6 == uVar9) {\n            return;\n          }\n        } while( true );\n      }\n      goto LAB_001370e4;\n    }" { (if_statement "if (*(int *)(param_1 + 0x1c) != 0) {\n        iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1);\n        if (uVar9 < 2) {\n          return;\n        }\n        iVar10 = *(int *)(param_1 + 0x14c);\n        uVar6 = 1;\n        iVar8 = *(int *)(param_1 + 0x160);\n        do {\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar4 = 1 << (uVar6 & 0x1f);\n          iVar3 = (uVar6 >> 5) * 4;\n          puVar7 = (uint *)(iVar10 + iVar3);\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }\n          uVar6 = uVar6 + 1;\n          *(uint *)(iVar8 + iVar3) = uVar4;\n          iVar2 = iVar2 + 0x10;\n          if (uVar6 == uVar9) {\n            return;\n          }\n        } while( true );\n      }" if (parenthesized_expression "(*(int *)(param_1 + 0x1c) != 0)" ( (binary_expression "*(int *)(param_1 + 0x1c) != 0" (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n        iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1);\n        if (uVar9 < 2) {\n          return;\n        }\n        iVar10 = *(int *)(param_1 + 0x14c);\n        uVar6 = 1;\n        iVar8 = *(int *)(param_1 + 0x160);\n        do {\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar4 = 1 << (uVar6 & 0x1f);\n          iVar3 = (uVar6 >> 5) * 4;\n          puVar7 = (uint *)(iVar10 + iVar3);\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }\n          uVar6 = uVar6 + 1;\n          *(uint *)(iVar8 + iVar3) = uVar4;\n          iVar2 = iVar2 + 0x10;\n          if (uVar6 == uVar9) {\n            return;\n          }\n        } while( true );\n      }" { (expression_statement "iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1);" (assignment_expression "iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1)" identifier = (call_expression "(*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1)" (parenthesized_expression "(*(code *)PTR_get_view_004c1b74)" ( (pointer_expression "*(code *)PTR_get_view_004c1b74" * (cast_expression "(code *)PTR_get_view_004c1b74" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1)" ( (binary_expression "*(int *)(param_1 + 0x1c) + 0x20" (pointer_expression "*(int *)(param_1 + 0x1c)" * (cast_expression "(int *)(param_1 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x1c)" ( (binary_expression "param_1 + 0x1c" identifier + number_literal) )))) + number_literal) , number_literal , (pointer_expression "*(undefined4 *)(param_1 + 0x20)" * (cast_expression "(undefined4 *)(param_1 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_1 + 0x24)" * (cast_expression "(undefined4 *)(param_1 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) , number_literal , (pointer_expression "*(undefined4 *)(iVar2 + 0x10)" * (cast_expression "(undefined4 *)(iVar2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x10)" ( (binary_expression "iVar2 + 0x10" identifier + number_literal) )))) , (binary_expression "uVar9 << 4" identifier << number_literal) , number_literal , number_literal )))) ;) (if_statement "if (uVar9 < 2) {\n          return;\n        }" if (parenthesized_expression "(uVar9 < 2)" ( (binary_expression "uVar9 < 2" identifier < number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (expression_statement "iVar10 = *(int *)(param_1 + 0x14c);" (assignment_expression "iVar10 = *(int *)(param_1 + 0x14c)" identifier = (pointer_expression "*(int *)(param_1 + 0x14c)" * (cast_expression "(int *)(param_1 + 0x14c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x14c)" ( (binary_expression "param_1 + 0x14c" identifier + number_literal) ))))) ;) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" identifier = number_literal) ;) (expression_statement "iVar8 = *(int *)(param_1 + 0x160);" (assignment_expression "iVar8 = *(int *)(param_1 + 0x160)" identifier = (pointer_expression "*(int *)(param_1 + 0x160)" * (cast_expression "(int *)(param_1 + 0x160)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x160)" ( (binary_expression "param_1 + 0x160" identifier + number_literal) ))))) ;) (do_statement "do {\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar4 = 1 << (uVar6 & 0x1f);\n          iVar3 = (uVar6 >> 5) * 4;\n          puVar7 = (uint *)(iVar10 + iVar3);\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }\n          uVar6 = uVar6 + 1;\n          *(uint *)(iVar8 + iVar3) = uVar4;\n          iVar2 = iVar2 + 0x10;\n          if (uVar6 == uVar9) {\n            return;\n          }\n        } while( true );" do (compound_statement "{\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar4 = 1 << (uVar6 & 0x1f);\n          iVar3 = (uVar6 >> 5) * 4;\n          puVar7 = (uint *)(iVar10 + iVar3);\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }\n          uVar6 = uVar6 + 1;\n          *(uint *)(iVar8 + iVar3) = uVar4;\n          iVar2 = iVar2 + 0x10;\n          if (uVar6 == uVar9) {\n            return;\n          }\n        }" { (expression_statement "bVar1 = *(byte *)(iVar2 + 0x1d);" (assignment_expression "bVar1 = *(byte *)(iVar2 + 0x1d)" identifier = (pointer_expression "*(byte *)(iVar2 + 0x1d)" * (cast_expression "(byte *)(iVar2 + 0x1d)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0x1d)" ( (binary_expression "iVar2 + 0x1d" identifier + number_literal) ))))) ;) (expression_statement "uVar4 = 1 << (uVar6 & 0x1f);" (assignment_expression "uVar4 = 1 << (uVar6 & 0x1f)" identifier = (binary_expression "1 << (uVar6 & 0x1f)" number_literal << (parenthesized_expression "(uVar6 & 0x1f)" ( (binary_expression "uVar6 & 0x1f" identifier & number_literal) )))) ;) (expression_statement "iVar3 = (uVar6 >> 5) * 4;" (assignment_expression "iVar3 = (uVar6 >> 5) * 4" identifier = (binary_expression "(uVar6 >> 5) * 4" (parenthesized_expression "(uVar6 >> 5)" ( (binary_expression "uVar6 >> 5" identifier >> number_literal) )) * number_literal)) ;) (expression_statement "puVar7 = (uint *)(iVar10 + iVar3);" (assignment_expression "puVar7 = (uint *)(iVar10 + iVar3)" identifier = (cast_expression "(uint *)(iVar10 + iVar3)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar10 + iVar3)" ( (binary_expression "iVar10 + iVar3" identifier + identifier) )))) ;) (if_statement "if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }" if (parenthesized_expression "((bVar1 & 0xf0) == 0xf0)" ( (binary_expression "(bVar1 & 0xf0) == 0xf0" (parenthesized_expression "(bVar1 & 0xf0)" ( (binary_expression "bVar1 & 0xf0" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }" { (expression_statement "*puVar7 = *puVar7 | uVar4;" (assignment_expression "*puVar7 = *puVar7 | uVar4" (pointer_expression "*puVar7" * identifier) = (binary_expression "*puVar7 | uVar4" (pointer_expression "*puVar7" * identifier) | identifier)) ;) (if_statement "if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;" if (parenthesized_expression "((bVar1 & 0xc0) != 0x80)" ( (binary_expression "(bVar1 & 0xc0) != 0x80" (parenthesized_expression "(bVar1 & 0xc0)" ( (binary_expression "bVar1 & 0xc0" identifier & number_literal) )) != number_literal) )) (goto_statement "goto LAB_001370d4;" goto statement_identifier ;)) (labeled_statement "LAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);" statement_identifier : (expression_statement "uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);" (assignment_expression "uVar4 = uVar4 | *(uint *)(iVar8 + iVar3)" identifier = (binary_expression "uVar4 | *(uint *)(iVar8 + iVar3)" identifier | (pointer_expression "*(uint *)(iVar8 + iVar3)" * (cast_expression "(uint *)(iVar8 + iVar3)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + iVar3)" ( (binary_expression "iVar8 + iVar3" identifier + identifier) )))))) ;)) }) (else_clause "else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }" else (compound_statement "{\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }" { (expression_statement "*puVar7 = ~uVar4 & *puVar7;" (assignment_expression "*puVar7 = ~uVar4 & *puVar7" (pointer_expression "*puVar7" * identifier) = (binary_expression "~uVar4 & *puVar7" (unary_expression "~uVar4" ~ identifier) & (pointer_expression "*puVar7" * identifier))) ;) (if_statement "if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;" if (parenthesized_expression "((bVar1 & 0xc0) == 0x80)" ( (binary_expression "(bVar1 & 0xc0) == 0x80" (parenthesized_expression "(bVar1 & 0xc0)" ( (binary_expression "bVar1 & 0xc0" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_00137084;" goto statement_identifier ;)) (labeled_statement "LAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);" statement_identifier : (expression_statement "uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);" (assignment_expression "uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3)" identifier = (binary_expression "~uVar4 & *(uint *)(iVar8 + iVar3)" (unary_expression "~uVar4" ~ identifier) & (pointer_expression "*(uint *)(iVar8 + iVar3)" * (cast_expression "(uint *)(iVar8 + iVar3)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + iVar3)" ( (binary_expression "iVar8 + iVar3" identifier + identifier) )))))) ;)) }))) (expression_statement "uVar6 = uVar6 + 1;" (assignment_expression "uVar6 = uVar6 + 1" identifier = (binary_expression "uVar6 + 1" identifier + number_literal)) ;) (expression_statement "*(uint *)(iVar8 + iVar3) = uVar4;" (assignment_expression "*(uint *)(iVar8 + iVar3) = uVar4" (pointer_expression "*(uint *)(iVar8 + iVar3)" * (cast_expression "(uint *)(iVar8 + iVar3)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + iVar3)" ( (binary_expression "iVar8 + iVar3" identifier + identifier) )))) = identifier) ;) (expression_statement "iVar2 = iVar2 + 0x10;" (assignment_expression "iVar2 = iVar2 + 0x10" identifier = (binary_expression "iVar2 + 0x10" identifier + number_literal)) ;) (if_statement "if (uVar6 == uVar9) {\n            return;\n          }" if (parenthesized_expression "(uVar6 == uVar9)" ( (binary_expression "uVar6 == uVar9" identifier == identifier) )) (compound_statement "{\n            return;\n          }" { (return_statement "return;" return ;) })) }) while (parenthesized_expression "( true )" ( true )) ;) })) (goto_statement "goto LAB_001370e4;" goto statement_identifier ;) })) }))) (expression_statement "uVar5 = 0x1a79;" (assignment_expression "uVar5 = 0x1a79" identifier = number_literal) ;) (labeled_statement "LAB_001370f8:\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,uVar5,PTR_s__s_004c1a50 + -0x5470)\n  ;" statement_identifier : (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,uVar5,PTR_s__s_004c1a50 + -0x5470)\n  ;" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,uVar5,PTR_s__s_004c1a50 + -0x5470)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,uVar5,PTR_s__s_004c1a50 + -0x5470)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588" identifier + number_literal) , identifier , (binary_expression "PTR_s__s_004c1a50 + -0x5470" identifier + number_literal) ))) ;)) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return ;) })) (labeled_statement statement_identifier (ERROR : : (comma_expression (binary_expression IDENT < IDENT) , IDENT) :) : (expression_statement (binary_expression IDENT < (binary_expression IDENT >> (ERROR : :) (call_expression IDENT (argument_list ( (call_expression (parenthesized_expression ( (ERROR (comma_expression (binary_expression IDENT < IDENT) , IDENT) : :) (binary_expression IDENT < (binary_expression IDENT >> (pointer_expression * IDENT))) )) (argument_list ( (binary_expression IDENT + LIT) ))) , IDENT , BOOL ))))) ;)) (labeled_statement statement_identifier (ERROR : : (comma_expression (binary_expression IDENT < IDENT) , IDENT) :) : (expression_statement (binary_expression IDENT < (binary_expression IDENT >> (ERROR : :) (call_expression IDENT (argument_list ( (call_expression (parenthesized_expression ( (ERROR (comma_expression (binary_expression IDENT < IDENT) , IDENT) : :) (binary_expression IDENT < (binary_expression IDENT >> (pointer_expression * IDENT))) )) (argument_list ( (binary_expression IDENT + LIT) ))) , IDENT , BOOL ))))) ;)) (ERROR (comma_expression (binary_expression (assignment_expression IDENT = IDENT) (ERROR : : IDENT) < LIT) , (comma_expression BOOL , IDENT)) : :) (expression_statement (binary_expression IDENT > (ERROR : :) (call_expression IDENT (argument_list ( (call_expression (parenthesized_expression ( (ERROR (comma_expression (binary_expression IDENT < LIT) , (comma_expression BOOL , IDENT)) : :) (binary_expression IDENT > (pointer_expression * IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + 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 { (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( ))) ;)) }) (else_clause else (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT , LIT , LIT , LIT )))) ;) (expression_statement (assignment_expression IDENT = 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) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) )) (compound_statement { (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 { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression IDENT << LIT) , LIT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (return_statement return ;) })) (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 = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (do_statement do (compound_statement { (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 LIT << (parenthesized_expression ( (binary_expression IDENT & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) * LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) | IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT | (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (unary_expression ~ IDENT) & (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (unary_expression ~ IDENT) & (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))))) ;)) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (return_statement return ;) })) }) while (parenthesized_expression ( BOOL )) ;) })) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , (binary_expression IDENT + LIT) ))) ;)) (return_statement return ;) })))
(function_definition "void FUN_00136f1c(int param_1)\n\n{\n  byte bVar1;\n  int iVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  uint uVar6;\n  uint *puVar7;\n  int iVar8;\n  uint uVar9;\n  int iVar10;\n  undefined8 uVar11;\n  \n  (*(code *)PTR_do_count_local_symbols_004c1f30)();\n  uVar9 = *(uint *)(param_1 + 0xb8);\n  if (uVar9 == 0) {\n    return;\n  }\n  std::vector<bool,std::allocator<bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x14c),uVar9,false);\n  std::vector<bool,std::allocator<bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x160),uVar9,false);\n  uVar11 = elfcpp::Elf_file<32,true,gold::Object>::section_header_offset\n                     ((Elf_file<32,true,gold::Object> *)(param_1 + 0x90),*(uint *)(param_1 + 0xb4));\n  if (*(int *)(param_1 + 0x1c) == 0) {\nLAB_001370e4:\n    (*(code *)(PTR_LAB_004c1a4c + 0x5bbc))();\n  }\n  else {\n    iVar2 = (*(code *)PTR_get_view_004c1b74)\n                      (*(int *)(param_1 + 0x1c) + 0x20,0x28,*(undefined4 *)(param_1 + 0x20),\n                       *(undefined4 *)(param_1 + 0x24),uVar11,0x28,1,1);\n    uVar5 = 0x1a75;\n    if (*(int *)(iVar2 + 4) != 2) goto LAB_001370f8;\n    if (*(uint *)(iVar2 + 0x1c) == uVar9) {\n      if (*(int *)(param_1 + 0x1c) != 0) {\n        iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1);\n        if (uVar9 < 2) {\n          return;\n        }\n        iVar10 = *(int *)(param_1 + 0x14c);\n        uVar6 = 1;\n        iVar8 = *(int *)(param_1 + 0x160);\n        do {\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar4 = 1 << (uVar6 & 0x1f);\n          iVar3 = (uVar6 >> 5) * 4;\n          puVar7 = (uint *)(iVar10 + iVar3);\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }\n          uVar6 = uVar6 + 1;\n          *(uint *)(iVar8 + iVar3) = uVar4;\n          iVar2 = iVar2 + 0x10;\n          if (uVar6 == uVar9) {\n            return;\n          }\n        } while( true );\n      }\n      goto LAB_001370e4;\n    }\n  }\n  uVar5 = 0x1a79;\nLAB_001370f8:\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,uVar5,PTR_s__s_004c1a50 + -0x5470)\n  ;\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00136f1c(int param_1)" (identifier "FUN_00136f1c") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  byte bVar1;\n  int iVar2;\n  int iVar3;\n  uint uVar4;\n  undefined4 uVar5;\n  uint uVar6;\n  uint *puVar7;\n  int iVar8;\n  uint uVar9;\n  int iVar10;\n  undefined8 uVar11;\n  \n  (*(code *)PTR_do_count_local_symbols_004c1f30)();\n  uVar9 = *(uint *)(param_1 + 0xb8);\n  if (uVar9 == 0) {\n    return;\n  }\n  std::vector<bool,std::allocator<bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x14c),uVar9,false);\n  std::vector<bool,std::allocator<bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x160),uVar9,false);\n  uVar11 = elfcpp::Elf_file<32,true,gold::Object>::section_header_offset\n                     ((Elf_file<32,true,gold::Object> *)(param_1 + 0x90),*(uint *)(param_1 + 0xb4));\n  if (*(int *)(param_1 + 0x1c) == 0) {\nLAB_001370e4:\n    (*(code *)(PTR_LAB_004c1a4c + 0x5bbc))();\n  }\n  else {\n    iVar2 = (*(code *)PTR_get_view_004c1b74)\n                      (*(int *)(param_1 + 0x1c) + 0x20,0x28,*(undefined4 *)(param_1 + 0x20),\n                       *(undefined4 *)(param_1 + 0x24),uVar11,0x28,1,1);\n    uVar5 = 0x1a75;\n    if (*(int *)(iVar2 + 4) != 2) goto LAB_001370f8;\n    if (*(uint *)(iVar2 + 0x1c) == uVar9) {\n      if (*(int *)(param_1 + 0x1c) != 0) {\n        iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1);\n        if (uVar9 < 2) {\n          return;\n        }\n        iVar10 = *(int *)(param_1 + 0x14c);\n        uVar6 = 1;\n        iVar8 = *(int *)(param_1 + 0x160);\n        do {\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar4 = 1 << (uVar6 & 0x1f);\n          iVar3 = (uVar6 >> 5) * 4;\n          puVar7 = (uint *)(iVar10 + iVar3);\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }\n          uVar6 = uVar6 + 1;\n          *(uint *)(iVar8 + iVar3) = uVar4;\n          iVar2 = iVar2 + 0x10;\n          if (uVar6 == uVar9) {\n            return;\n          }\n        } while( true );\n      }\n      goto LAB_001370e4;\n    }\n  }\n  uVar5 = 0x1a79;\nLAB_001370f8:\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,uVar5,PTR_s__s_004c1a50 + -0x5470)\n  ;\n  return;\n}" ({ "{") (declaration "byte bVar1;" (type_identifier "byte") (identifier "bVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "uint *puVar7;" (type_identifier "uint") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "uint uVar9;" (type_identifier "uint") (identifier "uVar9") (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "undefined8 uVar11;" (type_identifier "undefined8") (identifier "uVar11") (; ";")) (expression_statement "(*(code *)PTR_do_count_local_symbols_004c1f30)();" (call_expression "(*(code *)PTR_do_count_local_symbols_004c1f30)()" (parenthesized_expression "(*(code *)PTR_do_count_local_symbols_004c1f30)" (( "(") (pointer_expression "*(code *)PTR_do_count_local_symbols_004c1f30" (* "*") (cast_expression "(code *)PTR_do_count_local_symbols_004c1f30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_count_local_symbols_004c1f30"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar9 = *(uint *)(param_1 + 0xb8);" (assignment_expression "uVar9 = *(uint *)(param_1 + 0xb8)" (identifier "uVar9") (= "=") (pointer_expression "*(uint *)(param_1 + 0xb8)" (* "*") (cast_expression "(uint *)(param_1 + 0xb8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xb8)" (( "(") (binary_expression "param_1 + 0xb8" (identifier "param_1") (+ "+") (number_literal "0xb8")) () ")"))))) (; ";")) (if_statement "if (uVar9 == 0) {\n    return;\n  }" (if "if") (parenthesized_expression "(uVar9 == 0)" (( "(") (binary_expression "uVar9 == 0" (identifier "uVar9") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (labeled_statement "std::vector<bool,std::allocator<bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x14c),uVar9,false);" (statement_identifier "std") (ERROR "::vector<bool,std:" (: ":") (: ":") (comma_expression "vector<bool,std" (binary_expression "vector<bool" (identifier "vector") (< "<") (identifier "bool")) (, ",") (identifier "std")) (: ":")) (: ":") (expression_statement "allocator<bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x14c),uVar9,false);" (binary_expression "allocator<bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x14c),uVar9,false)" (identifier "allocator") (< "<") (binary_expression "bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x14c),uVar9,false)" (identifier "bool") (>> ">>") (ERROR "::" (: ":") (: ":")) (call_expression "resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x14c),uVar9,false)" (identifier "resize") (argument_list "((vector<bool,std::allocator<bool>> *)(param_1 + 0x14c),uVar9,false)" (( "(") (call_expression "(vector<bool,std::allocator<bool>> *)(param_1 + 0x14c)" (parenthesized_expression "(vector<bool,std::allocator<bool>> *)" (( "(") (ERROR "vector<bool,std::" (comma_expression "vector<bool,std" (binary_expression "vector<bool" (identifier "vector") (< "<") (identifier "bool")) (, ",") (identifier "std")) (: ":") (: ":")) (binary_expression "allocator<bool>> *" (identifier "allocator") (< "<") (binary_expression "bool>> *" (identifier "bool") (>> ">>") (pointer_expression "*" (* "*") (identifier "")))) () ")")) (argument_list "(param_1 + 0x14c)" (( "(") (binary_expression "param_1 + 0x14c" (identifier "param_1") (+ "+") (number_literal "0x14c")) () ")"))) (, ",") (identifier "uVar9") (, ",") (false "false") () ")"))))) (; ";"))) (labeled_statement "std::vector<bool,std::allocator<bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x160),uVar9,false);" (statement_identifier "std") (ERROR "::vector<bool,std:" (: ":") (: ":") (comma_expression "vector<bool,std" (binary_expression "vector<bool" (identifier "vector") (< "<") (identifier "bool")) (, ",") (identifier "std")) (: ":")) (: ":") (expression_statement "allocator<bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x160),uVar9,false);" (binary_expression "allocator<bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x160),uVar9,false)" (identifier "allocator") (< "<") (binary_expression "bool>>::resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x160),uVar9,false)" (identifier "bool") (>> ">>") (ERROR "::" (: ":") (: ":")) (call_expression "resize\n            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x160),uVar9,false)" (identifier "resize") (argument_list "((vector<bool,std::allocator<bool>> *)(param_1 + 0x160),uVar9,false)" (( "(") (call_expression "(vector<bool,std::allocator<bool>> *)(param_1 + 0x160)" (parenthesized_expression "(vector<bool,std::allocator<bool>> *)" (( "(") (ERROR "vector<bool,std::" (comma_expression "vector<bool,std" (binary_expression "vector<bool" (identifier "vector") (< "<") (identifier "bool")) (, ",") (identifier "std")) (: ":") (: ":")) (binary_expression "allocator<bool>> *" (identifier "allocator") (< "<") (binary_expression "bool>> *" (identifier "bool") (>> ">>") (pointer_expression "*" (* "*") (identifier "")))) () ")")) (argument_list "(param_1 + 0x160)" (( "(") (binary_expression "param_1 + 0x160" (identifier "param_1") (+ "+") (number_literal "0x160")) () ")"))) (, ",") (identifier "uVar9") (, ",") (false "false") () ")"))))) (; ";"))) (ERROR "uVar11 = elfcpp::Elf_file<32,true,gold::" (comma_expression "uVar11 = elfcpp::Elf_file<32,true,gold" (binary_expression "uVar11 = elfcpp::Elf_file<32" (assignment_expression "uVar11 = elfcpp" (identifier "uVar11") (= "=") (identifier "elfcpp")) (ERROR "::Elf_file" (: ":") (: ":") (identifier "Elf_file")) (< "<") (number_literal "32")) (, ",") (comma_expression "true,gold" (true "true") (, ",") (identifier "gold"))) (: ":") (: ":")) (expression_statement "Object>::section_header_offset\n                     ((Elf_file<32,true,gold::Object> *)(param_1 + 0x90),*(uint *)(param_1 + 0xb4));" (binary_expression "Object>::section_header_offset\n                     ((Elf_file<32,true,gold::Object> *)(param_1 + 0x90),*(uint *)(param_1 + 0xb4))" (identifier "Object") (> ">") (ERROR "::" (: ":") (: ":")) (call_expression "section_header_offset\n                     ((Elf_file<32,true,gold::Object> *)(param_1 + 0x90),*(uint *)(param_1 + 0xb4))" (identifier "section_header_offset") (argument_list "((Elf_file<32,true,gold::Object> *)(param_1 + 0x90),*(uint *)(param_1 + 0xb4))" (( "(") (call_expression "(Elf_file<32,true,gold::Object> *)(param_1 + 0x90)" (parenthesized_expression "(Elf_file<32,true,gold::Object> *)" (( "(") (ERROR "Elf_file<32,true,gold::" (comma_expression "Elf_file<32,true,gold" (binary_expression "Elf_file<32" (identifier "Elf_file") (< "<") (number_literal "32")) (, ",") (comma_expression "true,gold" (true "true") (, ",") (identifier "gold"))) (: ":") (: ":")) (binary_expression "Object> *" (identifier "Object") (> ">") (pointer_expression "*" (* "*") (identifier ""))) () ")")) (argument_list "(param_1 + 0x90)" (( "(") (binary_expression "param_1 + 0x90" (identifier "param_1") (+ "+") (number_literal "0x90")) () ")"))) (, ",") (pointer_expression "*(uint *)(param_1 + 0xb4)" (* "*") (cast_expression "(uint *)(param_1 + 0xb4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xb4)" (( "(") (binary_expression "param_1 + 0xb4" (identifier "param_1") (+ "+") (number_literal "0xb4")) () ")")))) () ")")))) (; ";")) (if_statement "if (*(int *)(param_1 + 0x1c) == 0) {\nLAB_001370e4:\n    (*(code *)(PTR_LAB_004c1a4c + 0x5bbc))();\n  }\n  else {\n    iVar2 = (*(code *)PTR_get_view_004c1b74)\n                      (*(int *)(param_1 + 0x1c) + 0x20,0x28,*(undefined4 *)(param_1 + 0x20),\n                       *(undefined4 *)(param_1 + 0x24),uVar11,0x28,1,1);\n    uVar5 = 0x1a75;\n    if (*(int *)(iVar2 + 4) != 2) goto LAB_001370f8;\n    if (*(uint *)(iVar2 + 0x1c) == uVar9) {\n      if (*(int *)(param_1 + 0x1c) != 0) {\n        iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1);\n        if (uVar9 < 2) {\n          return;\n        }\n        iVar10 = *(int *)(param_1 + 0x14c);\n        uVar6 = 1;\n        iVar8 = *(int *)(param_1 + 0x160);\n        do {\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar4 = 1 << (uVar6 & 0x1f);\n          iVar3 = (uVar6 >> 5) * 4;\n          puVar7 = (uint *)(iVar10 + iVar3);\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }\n          uVar6 = uVar6 + 1;\n          *(uint *)(iVar8 + iVar3) = uVar4;\n          iVar2 = iVar2 + 0x10;\n          if (uVar6 == uVar9) {\n            return;\n          }\n        } while( true );\n      }\n      goto LAB_001370e4;\n    }\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x1c) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x1c) == 0" (pointer_expression "*(int *)(param_1 + 0x1c)" (* "*") (cast_expression "(int *)(param_1 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_001370e4:\n    (*(code *)(PTR_LAB_004c1a4c + 0x5bbc))();\n  }" ({ "{") (labeled_statement "LAB_001370e4:\n    (*(code *)(PTR_LAB_004c1a4c + 0x5bbc))();" (statement_identifier "LAB_001370e4") (: ":") (expression_statement "(*(code *)(PTR_LAB_004c1a4c + 0x5bbc))();" (call_expression "(*(code *)(PTR_LAB_004c1a4c + 0x5bbc))()" (parenthesized_expression "(*(code *)(PTR_LAB_004c1a4c + 0x5bbc))" (( "(") (pointer_expression "*(code *)(PTR_LAB_004c1a4c + 0x5bbc)" (* "*") (cast_expression "(code *)(PTR_LAB_004c1a4c + 0x5bbc)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_LAB_004c1a4c + 0x5bbc)" (( "(") (binary_expression "PTR_LAB_004c1a4c + 0x5bbc" (identifier "PTR_LAB_004c1a4c") (+ "+") (number_literal "0x5bbc")) () ")")))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";"))) (} "}")) (else_clause "else {\n    iVar2 = (*(code *)PTR_get_view_004c1b74)\n                      (*(int *)(param_1 + 0x1c) + 0x20,0x28,*(undefined4 *)(param_1 + 0x20),\n                       *(undefined4 *)(param_1 + 0x24),uVar11,0x28,1,1);\n    uVar5 = 0x1a75;\n    if (*(int *)(iVar2 + 4) != 2) goto LAB_001370f8;\n    if (*(uint *)(iVar2 + 0x1c) == uVar9) {\n      if (*(int *)(param_1 + 0x1c) != 0) {\n        iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1);\n        if (uVar9 < 2) {\n          return;\n        }\n        iVar10 = *(int *)(param_1 + 0x14c);\n        uVar6 = 1;\n        iVar8 = *(int *)(param_1 + 0x160);\n        do {\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar4 = 1 << (uVar6 & 0x1f);\n          iVar3 = (uVar6 >> 5) * 4;\n          puVar7 = (uint *)(iVar10 + iVar3);\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }\n          uVar6 = uVar6 + 1;\n          *(uint *)(iVar8 + iVar3) = uVar4;\n          iVar2 = iVar2 + 0x10;\n          if (uVar6 == uVar9) {\n            return;\n          }\n        } while( true );\n      }\n      goto LAB_001370e4;\n    }\n  }" (else "else") (compound_statement "{\n    iVar2 = (*(code *)PTR_get_view_004c1b74)\n                      (*(int *)(param_1 + 0x1c) + 0x20,0x28,*(undefined4 *)(param_1 + 0x20),\n                       *(undefined4 *)(param_1 + 0x24),uVar11,0x28,1,1);\n    uVar5 = 0x1a75;\n    if (*(int *)(iVar2 + 4) != 2) goto LAB_001370f8;\n    if (*(uint *)(iVar2 + 0x1c) == uVar9) {\n      if (*(int *)(param_1 + 0x1c) != 0) {\n        iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1);\n        if (uVar9 < 2) {\n          return;\n        }\n        iVar10 = *(int *)(param_1 + 0x14c);\n        uVar6 = 1;\n        iVar8 = *(int *)(param_1 + 0x160);\n        do {\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar4 = 1 << (uVar6 & 0x1f);\n          iVar3 = (uVar6 >> 5) * 4;\n          puVar7 = (uint *)(iVar10 + iVar3);\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }\n          uVar6 = uVar6 + 1;\n          *(uint *)(iVar8 + iVar3) = uVar4;\n          iVar2 = iVar2 + 0x10;\n          if (uVar6 == uVar9) {\n            return;\n          }\n        } while( true );\n      }\n      goto LAB_001370e4;\n    }\n  }" ({ "{") (expression_statement "iVar2 = (*(code *)PTR_get_view_004c1b74)\n                      (*(int *)(param_1 + 0x1c) + 0x20,0x28,*(undefined4 *)(param_1 + 0x20),\n                       *(undefined4 *)(param_1 + 0x24),uVar11,0x28,1,1);" (assignment_expression "iVar2 = (*(code *)PTR_get_view_004c1b74)\n                      (*(int *)(param_1 + 0x1c) + 0x20,0x28,*(undefined4 *)(param_1 + 0x20),\n                       *(undefined4 *)(param_1 + 0x24),uVar11,0x28,1,1)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_get_view_004c1b74)\n                      (*(int *)(param_1 + 0x1c) + 0x20,0x28,*(undefined4 *)(param_1 + 0x20),\n                       *(undefined4 *)(param_1 + 0x24),uVar11,0x28,1,1)" (parenthesized_expression "(*(code *)PTR_get_view_004c1b74)" (( "(") (pointer_expression "*(code *)PTR_get_view_004c1b74" (* "*") (cast_expression "(code *)PTR_get_view_004c1b74" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_get_view_004c1b74"))) () ")")) (argument_list "(*(int *)(param_1 + 0x1c) + 0x20,0x28,*(undefined4 *)(param_1 + 0x20),\n                       *(undefined4 *)(param_1 + 0x24),uVar11,0x28,1,1)" (( "(") (binary_expression "*(int *)(param_1 + 0x1c) + 0x20" (pointer_expression "*(int *)(param_1 + 0x1c)" (* "*") (cast_expression "(int *)(param_1 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")")))) (+ "+") (number_literal "0x20")) (, ",") (number_literal "0x28") (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x20)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x24)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")")))) (, ",") (identifier "uVar11") (, ",") (number_literal "0x28") (, ",") (number_literal "1") (, ",") (number_literal "1") () ")")))) (; ";")) (expression_statement "uVar5 = 0x1a75;" (assignment_expression "uVar5 = 0x1a75" (identifier "uVar5") (= "=") (number_literal "0x1a75")) (; ";")) (if_statement "if (*(int *)(iVar2 + 4) != 2) goto LAB_001370f8;" (if "if") (parenthesized_expression "(*(int *)(iVar2 + 4) != 2)" (( "(") (binary_expression "*(int *)(iVar2 + 4) != 2" (pointer_expression "*(int *)(iVar2 + 4)" (* "*") (cast_expression "(int *)(iVar2 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 4)" (( "(") (binary_expression "iVar2 + 4" (identifier "iVar2") (+ "+") (number_literal "4")) () ")")))) (!= "!=") (number_literal "2")) () ")")) (goto_statement "goto LAB_001370f8;" (goto "goto") (statement_identifier "LAB_001370f8") (; ";"))) (if_statement "if (*(uint *)(iVar2 + 0x1c) == uVar9) {\n      if (*(int *)(param_1 + 0x1c) != 0) {\n        iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1);\n        if (uVar9 < 2) {\n          return;\n        }\n        iVar10 = *(int *)(param_1 + 0x14c);\n        uVar6 = 1;\n        iVar8 = *(int *)(param_1 + 0x160);\n        do {\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar4 = 1 << (uVar6 & 0x1f);\n          iVar3 = (uVar6 >> 5) * 4;\n          puVar7 = (uint *)(iVar10 + iVar3);\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }\n          uVar6 = uVar6 + 1;\n          *(uint *)(iVar8 + iVar3) = uVar4;\n          iVar2 = iVar2 + 0x10;\n          if (uVar6 == uVar9) {\n            return;\n          }\n        } while( true );\n      }\n      goto LAB_001370e4;\n    }" (if "if") (parenthesized_expression "(*(uint *)(iVar2 + 0x1c) == uVar9)" (( "(") (binary_expression "*(uint *)(iVar2 + 0x1c) == uVar9" (pointer_expression "*(uint *)(iVar2 + 0x1c)" (* "*") (cast_expression "(uint *)(iVar2 + 0x1c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x1c)" (( "(") (binary_expression "iVar2 + 0x1c" (identifier "iVar2") (+ "+") (number_literal "0x1c")) () ")")))) (== "==") (identifier "uVar9")) () ")")) (compound_statement "{\n      if (*(int *)(param_1 + 0x1c) != 0) {\n        iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1);\n        if (uVar9 < 2) {\n          return;\n        }\n        iVar10 = *(int *)(param_1 + 0x14c);\n        uVar6 = 1;\n        iVar8 = *(int *)(param_1 + 0x160);\n        do {\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar4 = 1 << (uVar6 & 0x1f);\n          iVar3 = (uVar6 >> 5) * 4;\n          puVar7 = (uint *)(iVar10 + iVar3);\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }\n          uVar6 = uVar6 + 1;\n          *(uint *)(iVar8 + iVar3) = uVar4;\n          iVar2 = iVar2 + 0x10;\n          if (uVar6 == uVar9) {\n            return;\n          }\n        } while( true );\n      }\n      goto LAB_001370e4;\n    }" ({ "{") (if_statement "if (*(int *)(param_1 + 0x1c) != 0) {\n        iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1);\n        if (uVar9 < 2) {\n          return;\n        }\n        iVar10 = *(int *)(param_1 + 0x14c);\n        uVar6 = 1;\n        iVar8 = *(int *)(param_1 + 0x160);\n        do {\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar4 = 1 << (uVar6 & 0x1f);\n          iVar3 = (uVar6 >> 5) * 4;\n          puVar7 = (uint *)(iVar10 + iVar3);\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }\n          uVar6 = uVar6 + 1;\n          *(uint *)(iVar8 + iVar3) = uVar4;\n          iVar2 = iVar2 + 0x10;\n          if (uVar6 == uVar9) {\n            return;\n          }\n        } while( true );\n      }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x1c) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x1c) != 0" (pointer_expression "*(int *)(param_1 + 0x1c)" (* "*") (cast_expression "(int *)(param_1 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1);\n        if (uVar9 < 2) {\n          return;\n        }\n        iVar10 = *(int *)(param_1 + 0x14c);\n        uVar6 = 1;\n        iVar8 = *(int *)(param_1 + 0x160);\n        do {\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar4 = 1 << (uVar6 & 0x1f);\n          iVar3 = (uVar6 >> 5) * 4;\n          puVar7 = (uint *)(iVar10 + iVar3);\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }\n          uVar6 = uVar6 + 1;\n          *(uint *)(iVar8 + iVar3) = uVar4;\n          iVar2 = iVar2 + 0x10;\n          if (uVar6 == uVar9) {\n            return;\n          }\n        } while( true );\n      }" ({ "{") (expression_statement "iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1);" (assignment_expression "iVar2 = (*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1)" (identifier "iVar2") (= "=") (call_expression "(*(code *)PTR_get_view_004c1b74)\n                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1)" (parenthesized_expression "(*(code *)PTR_get_view_004c1b74)" (( "(") (pointer_expression "*(code *)PTR_get_view_004c1b74" (* "*") (cast_expression "(code *)PTR_get_view_004c1b74" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_get_view_004c1b74"))) () ")")) (argument_list "(*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),\n                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),\n                           uVar9 << 4,1,1)" (( "(") (binary_expression "*(int *)(param_1 + 0x1c) + 0x20" (pointer_expression "*(int *)(param_1 + 0x1c)" (* "*") (cast_expression "(int *)(param_1 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x1c)" (( "(") (binary_expression "param_1 + 0x1c" (identifier "param_1") (+ "+") (number_literal "0x1c")) () ")")))) (+ "+") (number_literal "0x20")) (, ",") (number_literal "0x1a75") (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x20)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x24)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")")))) (, ",") (number_literal "0") (, ",") (pointer_expression "*(undefined4 *)(iVar2 + 0x10)" (* "*") (cast_expression "(undefined4 *)(iVar2 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x10)" (( "(") (binary_expression "iVar2 + 0x10" (identifier "iVar2") (+ "+") (number_literal "0x10")) () ")")))) (, ",") (binary_expression "uVar9 << 4" (identifier "uVar9") (<< "<<") (number_literal "4")) (, ",") (number_literal "1") (, ",") (number_literal "1") () ")")))) (; ";")) (if_statement "if (uVar9 < 2) {\n          return;\n        }" (if "if") (parenthesized_expression "(uVar9 < 2)" (( "(") (binary_expression "uVar9 < 2" (identifier "uVar9") (< "<") (number_literal "2")) () ")")) (compound_statement "{\n          return;\n        }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "iVar10 = *(int *)(param_1 + 0x14c);" (assignment_expression "iVar10 = *(int *)(param_1 + 0x14c)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(param_1 + 0x14c)" (* "*") (cast_expression "(int *)(param_1 + 0x14c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x14c)" (( "(") (binary_expression "param_1 + 0x14c" (identifier "param_1") (+ "+") (number_literal "0x14c")) () ")"))))) (; ";")) (expression_statement "uVar6 = 1;" (assignment_expression "uVar6 = 1" (identifier "uVar6") (= "=") (number_literal "1")) (; ";")) (expression_statement "iVar8 = *(int *)(param_1 + 0x160);" (assignment_expression "iVar8 = *(int *)(param_1 + 0x160)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(param_1 + 0x160)" (* "*") (cast_expression "(int *)(param_1 + 0x160)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x160)" (( "(") (binary_expression "param_1 + 0x160" (identifier "param_1") (+ "+") (number_literal "0x160")) () ")"))))) (; ";")) (do_statement "do {\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar4 = 1 << (uVar6 & 0x1f);\n          iVar3 = (uVar6 >> 5) * 4;\n          puVar7 = (uint *)(iVar10 + iVar3);\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }\n          uVar6 = uVar6 + 1;\n          *(uint *)(iVar8 + iVar3) = uVar4;\n          iVar2 = iVar2 + 0x10;\n          if (uVar6 == uVar9) {\n            return;\n          }\n        } while( true );" (do "do") (compound_statement "{\n          bVar1 = *(byte *)(iVar2 + 0x1d);\n          uVar4 = 1 << (uVar6 & 0x1f);\n          iVar3 = (uVar6 >> 5) * 4;\n          puVar7 = (uint *)(iVar10 + iVar3);\n          if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }\n          uVar6 = uVar6 + 1;\n          *(uint *)(iVar8 + iVar3) = uVar4;\n          iVar2 = iVar2 + 0x10;\n          if (uVar6 == uVar9) {\n            return;\n          }\n        }" ({ "{") (expression_statement "bVar1 = *(byte *)(iVar2 + 0x1d);" (assignment_expression "bVar1 = *(byte *)(iVar2 + 0x1d)" (identifier "bVar1") (= "=") (pointer_expression "*(byte *)(iVar2 + 0x1d)" (* "*") (cast_expression "(byte *)(iVar2 + 0x1d)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0x1d)" (( "(") (binary_expression "iVar2 + 0x1d" (identifier "iVar2") (+ "+") (number_literal "0x1d")) () ")"))))) (; ";")) (expression_statement "uVar4 = 1 << (uVar6 & 0x1f);" (assignment_expression "uVar4 = 1 << (uVar6 & 0x1f)" (identifier "uVar4") (= "=") (binary_expression "1 << (uVar6 & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "(uVar6 & 0x1f)" (( "(") (binary_expression "uVar6 & 0x1f" (identifier "uVar6") (& "&") (number_literal "0x1f")) () ")")))) (; ";")) (expression_statement "iVar3 = (uVar6 >> 5) * 4;" (assignment_expression "iVar3 = (uVar6 >> 5) * 4" (identifier "iVar3") (= "=") (binary_expression "(uVar6 >> 5) * 4" (parenthesized_expression "(uVar6 >> 5)" (( "(") (binary_expression "uVar6 >> 5" (identifier "uVar6") (>> ">>") (number_literal "5")) () ")")) (* "*") (number_literal "4"))) (; ";")) (expression_statement "puVar7 = (uint *)(iVar10 + iVar3);" (assignment_expression "puVar7 = (uint *)(iVar10 + iVar3)" (identifier "puVar7") (= "=") (cast_expression "(uint *)(iVar10 + iVar3)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar10 + iVar3)" (( "(") (binary_expression "iVar10 + iVar3" (identifier "iVar10") (+ "+") (identifier "iVar3")) () ")")))) (; ";")) (if_statement "if ((bVar1 & 0xf0) == 0xf0) {\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }\n          else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }" (if "if") (parenthesized_expression "((bVar1 & 0xf0) == 0xf0)" (( "(") (binary_expression "(bVar1 & 0xf0) == 0xf0" (parenthesized_expression "(bVar1 & 0xf0)" (( "(") (binary_expression "bVar1 & 0xf0" (identifier "bVar1") (& "&") (number_literal "0xf0")) () ")")) (== "==") (number_literal "0xf0")) () ")")) (compound_statement "{\n            *puVar7 = *puVar7 | uVar4;\n            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;\nLAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);\n          }" ({ "{") (expression_statement "*puVar7 = *puVar7 | uVar4;" (assignment_expression "*puVar7 = *puVar7 | uVar4" (pointer_expression "*puVar7" (* "*") (identifier "puVar7")) (= "=") (binary_expression "*puVar7 | uVar4" (pointer_expression "*puVar7" (* "*") (identifier "puVar7")) (| "|") (identifier "uVar4"))) (; ";")) (if_statement "if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;" (if "if") (parenthesized_expression "((bVar1 & 0xc0) != 0x80)" (( "(") (binary_expression "(bVar1 & 0xc0) != 0x80" (parenthesized_expression "(bVar1 & 0xc0)" (( "(") (binary_expression "bVar1 & 0xc0" (identifier "bVar1") (& "&") (number_literal "0xc0")) () ")")) (!= "!=") (number_literal "0x80")) () ")")) (goto_statement "goto LAB_001370d4;" (goto "goto") (statement_identifier "LAB_001370d4") (; ";"))) (labeled_statement "LAB_00137084:\n            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);" (statement_identifier "LAB_00137084") (: ":") (expression_statement "uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);" (assignment_expression "uVar4 = uVar4 | *(uint *)(iVar8 + iVar3)" (identifier "uVar4") (= "=") (binary_expression "uVar4 | *(uint *)(iVar8 + iVar3)" (identifier "uVar4") (| "|") (pointer_expression "*(uint *)(iVar8 + iVar3)" (* "*") (cast_expression "(uint *)(iVar8 + iVar3)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + iVar3)" (( "(") (binary_expression "iVar8 + iVar3" (identifier "iVar8") (+ "+") (identifier "iVar3")) () ")")))))) (; ";"))) (} "}")) (else_clause "else {\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }" (else "else") (compound_statement "{\n            *puVar7 = ~uVar4 & *puVar7;\n            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;\nLAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);\n          }" ({ "{") (expression_statement "*puVar7 = ~uVar4 & *puVar7;" (assignment_expression "*puVar7 = ~uVar4 & *puVar7" (pointer_expression "*puVar7" (* "*") (identifier "puVar7")) (= "=") (binary_expression "~uVar4 & *puVar7" (unary_expression "~uVar4" (~ "~") (identifier "uVar4")) (& "&") (pointer_expression "*puVar7" (* "*") (identifier "puVar7")))) (; ";")) (if_statement "if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;" (if "if") (parenthesized_expression "((bVar1 & 0xc0) == 0x80)" (( "(") (binary_expression "(bVar1 & 0xc0) == 0x80" (parenthesized_expression "(bVar1 & 0xc0)" (( "(") (binary_expression "bVar1 & 0xc0" (identifier "bVar1") (& "&") (number_literal "0xc0")) () ")")) (== "==") (number_literal "0x80")) () ")")) (goto_statement "goto LAB_00137084;" (goto "goto") (statement_identifier "LAB_00137084") (; ";"))) (labeled_statement "LAB_001370d4:\n            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);" (statement_identifier "LAB_001370d4") (: ":") (expression_statement "uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);" (assignment_expression "uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3)" (identifier "uVar4") (= "=") (binary_expression "~uVar4 & *(uint *)(iVar8 + iVar3)" (unary_expression "~uVar4" (~ "~") (identifier "uVar4")) (& "&") (pointer_expression "*(uint *)(iVar8 + iVar3)" (* "*") (cast_expression "(uint *)(iVar8 + iVar3)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + iVar3)" (( "(") (binary_expression "iVar8 + iVar3" (identifier "iVar8") (+ "+") (identifier "iVar3")) () ")")))))) (; ";"))) (} "}")))) (expression_statement "uVar6 = uVar6 + 1;" (assignment_expression "uVar6 = uVar6 + 1" (identifier "uVar6") (= "=") (binary_expression "uVar6 + 1" (identifier "uVar6") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "*(uint *)(iVar8 + iVar3) = uVar4;" (assignment_expression "*(uint *)(iVar8 + iVar3) = uVar4" (pointer_expression "*(uint *)(iVar8 + iVar3)" (* "*") (cast_expression "(uint *)(iVar8 + iVar3)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + iVar3)" (( "(") (binary_expression "iVar8 + iVar3" (identifier "iVar8") (+ "+") (identifier "iVar3")) () ")")))) (= "=") (identifier "uVar4")) (; ";")) (expression_statement "iVar2 = iVar2 + 0x10;" (assignment_expression "iVar2 = iVar2 + 0x10" (identifier "iVar2") (= "=") (binary_expression "iVar2 + 0x10" (identifier "iVar2") (+ "+") (number_literal "0x10"))) (; ";")) (if_statement "if (uVar6 == uVar9) {\n            return;\n          }" (if "if") (parenthesized_expression "(uVar6 == uVar9)" (( "(") (binary_expression "uVar6 == uVar9" (identifier "uVar6") (== "==") (identifier "uVar9")) () ")")) (compound_statement "{\n            return;\n          }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}"))) (goto_statement "goto LAB_001370e4;" (goto "goto") (statement_identifier "LAB_001370e4") (; ";")) (} "}"))) (} "}")))) (expression_statement "uVar5 = 0x1a79;" (assignment_expression "uVar5 = 0x1a79" (identifier "uVar5") (= "=") (number_literal "0x1a79")) (; ";")) (labeled_statement "LAB_001370f8:\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,uVar5,PTR_s__s_004c1a50 + -0x5470)\n  ;" (statement_identifier "LAB_001370f8") (: ":") (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,uVar5,PTR_s__s_004c1a50 + -0x5470)\n  ;" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,uVar5,PTR_s__s_004c1a50 + -0x5470)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,uVar5,PTR_s__s_004c1a50 + -0x5470)" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "0x3588")) (, ",") (identifier "uVar5") (, ",") (binary_expression "PTR_s__s_004c1a50 + -0x5470" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "-0x5470")) () ")"))) (; ";"))) (return_statement "return;" (return "return") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (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))) (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))) (expression_statement (binary_expression left: (identifier) right: (binary_expression left: (identifier) (ERROR) right: (call_expression function: (identifier) arguments: (argument_list (call_expression function: (parenthesized_expression (ERROR (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))) (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (MISSING identifier))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) (identifier) (false))))))) (labeled_statement label: (statement_identifier) (ERROR (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))) (expression_statement (binary_expression left: (identifier) right: (binary_expression left: (identifier) (ERROR) right: (call_expression function: (identifier) arguments: (argument_list (call_expression function: (parenthesized_expression (ERROR (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))) (binary_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (MISSING identifier))))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) (identifier) (false))))))) (ERROR (comma_expression left: (binary_expression left: (assignment_expression left: (identifier) right: (identifier)) (ERROR (identifier)) right: (number_literal)) right: (comma_expression left: (true) right: (identifier)))) (expression_statement (binary_expression left: (identifier) (ERROR) right: (call_expression function: (identifier) arguments: (argument_list (call_expression function: (parenthesized_expression (ERROR (comma_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (comma_expression left: (true) right: (identifier)))) (binary_expression left: (identifier) right: (pointer_expression argument: (MISSING identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) (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))))))))) (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 (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (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)))))) arguments: (argument_list))))) alternative: (else_clause (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: (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)) (number_literal) (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))))) (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))))) (identifier) (number_literal) (number_literal) (number_literal))))) (expression_statement (assignment_expression left: (identifier) 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: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (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))))) right: (identifier))) consequence: (compound_statement (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 (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: (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)) (number_literal) (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))))) (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) (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))))) (binary_expression left: (identifier) right: (number_literal)) (number_literal) (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement))) (expression_statement (assignment_expression left: (identifier) right: (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))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (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))))))) (do_statement body: (compound_statement (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: (number_literal) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_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: (identifier)))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (unary_expression argument: (identifier)) right: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (unary_expression argument: (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: (identifier)))))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (return_statement)))) condition: (parenthesized_expression (true))))) (goto_statement label: (statement_identifier))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (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 (binary_expression left: (identifier) right: (number_literal)) (identifier) (binary_expression left: (identifier) right: (number_literal)))))) (return_statement))))

void MASKED(int param_1)

{
  byte bVar1;
  int iVar2;
  int iVar3;
  uint uVar4;
  undefined4 uVar5;
  uint uVar6;
  uint *puVar7;
  int iVar8;
  uint uVar9;
  int iVar10;
  undefined8 uVar11;
  
  (*(code *)PTR_do_count_local_symbols_004c1f30)();
  uVar9 = *(uint *)(param_1 + 0xb8);
  if (uVar9 == 0) {
    return;
  }
  std::vector<bool,std::allocator<bool>>::resize
            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x14c),uVar9,false);
  std::vector<bool,std::allocator<bool>>::resize
            ((vector<bool,std::allocator<bool>> *)(param_1 + 0x160),uVar9,false);
  uVar11 = elfcpp::Elf_file<32,true,gold::Object>::section_header_offset
                     ((Elf_file<32,true,gold::Object> *)(param_1 + 0x90),*(uint *)(param_1 + 0xb4));
  if (*(int *)(param_1 + 0x1c) == 0) {
LAB_001370e4:
    (*(code *)(PTR_LAB_004c1a4c + 0x5bbc))();
  }
  else {
    iVar2 = (*(code *)PTR_get_view_004c1b74)
                      (*(int *)(param_1 + 0x1c) + 0x20,0x28,*(undefined4 *)(param_1 + 0x20),
                       *(undefined4 *)(param_1 + 0x24),uVar11,0x28,1,1);
    uVar5 = 0x1a75;
    if (*(int *)(iVar2 + 4) != 2) goto LAB_001370f8;
    if (*(uint *)(iVar2 + 0x1c) == uVar9) {
      if (*(int *)(param_1 + 0x1c) != 0) {
        iVar2 = (*(code *)PTR_get_view_004c1b74)
                          (*(int *)(param_1 + 0x1c) + 0x20,0x1a75,*(undefined4 *)(param_1 + 0x20),
                           *(undefined4 *)(param_1 + 0x24),0,*(undefined4 *)(iVar2 + 0x10),
                           uVar9 << 4,1,1);
        if (uVar9 < 2) {
          return;
        }
        iVar10 = *(int *)(param_1 + 0x14c);
        uVar6 = 1;
        iVar8 = *(int *)(param_1 + 0x160);
        do {
          bVar1 = *(byte *)(iVar2 + 0x1d);
          uVar4 = 1 << (uVar6 & 0x1f);
          iVar3 = (uVar6 >> 5) * 4;
          puVar7 = (uint *)(iVar10 + iVar3);
          if ((bVar1 & 0xf0) == 0xf0) {
            *puVar7 = *puVar7 | uVar4;
            if ((bVar1 & 0xc0) != 0x80) goto LAB_001370d4;
LAB_00137084:
            uVar4 = uVar4 | *(uint *)(iVar8 + iVar3);
          }
          else {
            *puVar7 = ~uVar4 & *puVar7;
            if ((bVar1 & 0xc0) == 0x80) goto LAB_00137084;
LAB_001370d4:
            uVar4 = ~uVar4 & *(uint *)(iVar8 + iVar3);
          }
          uVar6 = uVar6 + 1;
          *(uint *)(iVar8 + iVar3) = uVar4;
          iVar2 = iVar2 + 0x10;
          if (uVar6 == uVar9) {
            return;
          }
        } while( true );
      }
      goto LAB_001370e4;
    }
  }
  uVar5 = 0x1a79;
LAB_001370f8:
  (*(code *)PTR_do_gold_unreachable_004c1a30)
            (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3588,uVar5,PTR_s__s_004c1a50 + -0x5470)
  ;
  return;
}

