
/* DWARF original prototype: void read_dynamic(Sized_dynobj<64,_true> * this, uchar * pshdrs, uint
   dynamic_shndx, uint strtab_shndx, uchar * strtabu, off_t strtab_size) */

void __thiscall
gold::Sized_dynobj<64,_true>::read_dynamic
          (Sized_dynobj<64,_true> *this,uchar *pshdrs,uint dynamic_shndx,uint strtab_shndx,
          uchar *strtabu,off_t strtab_size)

{
  int *piVar1;
  undefined4 uVar2;
  Input_file *this_00;
  undefined *puVar3;
  undefined *puVar4;
  int iVar5;
  pointer pbVar6;
  pointer pbVar7;
  uchar *puVar8;
  uchar *puVar9;
  int iVar10;
  int *piVar11;
  uchar *puVar12;
  undefined *puVar13;
  size_type *unaff_s7;
  uint uVar14;
  _Alloc_hider local_48;
  size_type local_44;
  size_type local_40;
  undefined4 local_3c;
  undefined4 local_38;
  undefined4 local_34;
  uchar *local_30;
  
  if (*(int *)(pshdrs + dynamic_shndx * 0x40 + 4) != 6) {
    puVar3 = PTR_s__0043226c + 0x13e0;
    (*(code *)PTR_do_gold_unreachable_004323c4)(puVar3,0x100,PTR_s__0043226c + 0x18bc);
                    /* catch() { ... } // from try @ 0026f968 with catch @ 0026f9f0 */
    if ((size_type *)local_48._M_p != unaff_s7) {
      (*(code *)PTR_operator_delete_0043228c)(local_48._M_p);
    }
    (*(code *)PTR__Unwind_Resume_00432258)(puVar3);
    return;
  }
  this_00 = (this->super_Dynobj).super_Object.input_file_;
  iVar10 = *(int *)(pshdrs + dynamic_shndx * 0x40 + 0x24);
  if (this_00 == (Input_file *)0x0) {
LAB_0026f9c4:
                    /* WARNING: Subroutine does not return */
    Object::input_file((Object *)this_00);
  }
  piVar1 = (int *)(*(code *)PTR_get_view_0043249c)
                            (&this_00->file_,1,
                             *(undefined4 *)&(this->super_Dynobj).super_Object.offset_,
                             (int)(this->super_Dynobj).super_Object.offset_,
                             *(undefined4 *)(pshdrs + dynamic_shndx * 0x40 + 0x18),
                             *(undefined4 *)(pshdrs + dynamic_shndx * 0x40 + 0x1c),iVar10,1,0);
  uVar14 = *(uint *)(pshdrs + dynamic_shndx * 0x40 + 0x28);
  if (0xfeff < uVar14) {
    (*(code *)PTR_initialize_shnum_00432a8c)(&this->elf_file_);
    uVar14 = uVar14 + (this->elf_file_).large_shndx_offset_;
  }
  if (uVar14 != strtab_shndx) {
    iVar5 = uVar14 * 0x40;
    if (uVar14 < (this->super_Dynobj).super_Object.shnum_) {
      if (*(int *)(pshdrs + iVar5 + 4) == 3) {
        this_00 = (this->super_Dynobj).super_Object.input_file_;
        strtab_size = *(off_t *)(pshdrs + iVar5 + 0x20);
        if (this_00 == (Input_file *)0x0) goto LAB_0026f9c4;
        strtabu = (uchar *)(*(code *)PTR_get_view_0043249c)
                                     (&this_00->file_,iVar5,
                                      *(undefined4 *)&(this->super_Dynobj).super_Object.offset_,
                                      (int)(this->super_Dynobj).super_Object.offset_,
                                      *(undefined4 *)(pshdrs + iVar5 + 0x18),
                                      *(undefined4 *)(pshdrs + iVar5 + 0x1c),
                                      *(undefined4 *)(pshdrs + iVar5 + 0x24),0,0);
        goto LAB_0026f724;
      }
      puVar3 = PTR_s__0043226c + 0x1680;
    }
    else {
      puVar3 = PTR_s__0043226c + 0x1654;
    }
    uVar2 = (*(code *)PTR_gettext_00436818)(puVar3);
    (*(code *)PTR_error_00432a5c)(this,uVar2,dynamic_shndx,uVar14);
    return;
  }
LAB_0026f724:
  puVar12 = (uchar *)((ulonglong)strtab_size >> 0x20);
  piVar11 = (int *)((int)piVar1 + iVar10);
  if (piVar1 < piVar11) {
    puVar13 = PTR_s__0043226c + 0x16d8;
    puVar3 = PTR_s__0043226c + 0x16ac;
    do {
      iVar10 = piVar1[1];
      if (*piVar1 == 0) {
        if (iVar10 == 1) {
          puVar8 = (uchar *)piVar1[2];
          uVar14 = piVar1[3];
          if (((int)puVar8 < (int)puVar12) ||
             ((puVar4 = puVar13, puVar12 == puVar8 && (uVar14 < (uint)strtab_size)))) {
            puVar8 = strtabu + uVar14;
            local_48._M_p = (pointer)&local_40;
            if (puVar8 == (uchar *)0x0) {
              puVar9 = (uchar *)0xffffffff;
            }
            else {
              local_30 = puVar8;
              iVar10 = (*(code *)PTR_strlen_0043677c)(puVar8);
              puVar9 = local_30 + iVar10;
              puVar8 = local_30;
            }
            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,puVar8,puVar9,0);
            pbVar6 = (this->super_Dynobj).needed_.
                     super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
                     ._M_impl._M_finish;
            if (pbVar6 == (this->super_Dynobj).needed_.
                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
                          ._M_impl._M_end_of_storage) {
                    /* try { // try from 0026f968 to 0026f96f has its CatchHandler @ 0026f9f0 */
              (*(code *)
                PTR__M_realloc_insert<std___cxx11_basic_string<char,_std_char_traits<char>,_std_allocator<char>_>_>_00432c54
              )(&(this->super_Dynobj).needed_,pbVar6,&local_48);
              if ((size_type *)local_48._M_p != &local_40) {
                (*(code *)PTR_operator_delete_0043228c)();
              }
            }
            else {
              (pbVar6->_M_dataplus)._M_p = (pointer)&pbVar6->field_2;
              if ((size_type *)local_48._M_p == &local_40) {
                (pbVar6->field_2)._M_allocated_capacity = local_40;
                *(undefined4 *)((int)&pbVar6->field_2 + 4) = local_3c;
                *(undefined4 *)((int)&pbVar6->field_2 + 8) = local_38;
                *(undefined4 *)((int)&pbVar6->field_2 + 0xc) = local_34;
                pbVar7 = (this->super_Dynobj).needed_.
                         super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
                         ._M_impl._M_finish;
              }
              else {
                (pbVar6->_M_dataplus)._M_p = local_48._M_p;
                (pbVar6->field_2)._M_allocated_capacity = local_40;
                pbVar7 = pbVar6;
              }
              pbVar6->_M_string_length = local_44;
              (this->super_Dynobj).needed_.
              super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>
              ._M_impl._M_finish = pbVar7 + 1;
            }
          }
          else {
LAB_0026f7f8:
            local_30 = puVar8;
            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);
            (*(code *)PTR_error_00432a5c)(this,uVar2,local_30,uVar14,strtab_size);
          }
        }
        else {
          if (iVar10 != 0xe) goto LAB_0026f754;
          puVar8 = (uchar *)piVar1[2];
          uVar14 = piVar1[3];
          if (((int)puVar12 <= (int)puVar8) &&
             ((puVar4 = puVar3, puVar12 != puVar8 || ((uint)strtab_size <= uVar14))))
          goto LAB_0026f7f8;
          uVar2 = (*(code *)PTR_strlen_0043677c)(strtabu + uVar14);
          (*(code *)PTR__M_replace_00432a3c)
                    (&(this->super_Dynobj).soname_,0,(this->super_Dynobj).soname_._M_string_length,
                     strtabu + uVar14,uVar2);
        }
      }
      else {
LAB_0026f754:
        if (*piVar1 == 0 && iVar10 == 0) {
          return;
        }
      }
      piVar1 = piVar1 + 4;
    } while (piVar1 < piVar11);
  }
  uVar2 = (*(code *)PTR_gettext_00436818)(PTR_s__0043226c + 0x1704);
  (*(code *)PTR_error_00432a5c)(this,uVar2);
  return;
}



/* gold::Sized_dynobj<64, true>::read_dynamic(unsigned char const*, unsigned int, unsigned int,
   unsigned char const*, long long) */

void gold::Sized_dynobj<64,true>::read_dynamic
               (uchar *param_1,uint param_2,uint param_3,uchar *param_4,longlong param_5)

{
  int *piVar1;
  undefined4 uVar2;
  undefined *puVar3;
  undefined *puVar4;
  int *piVar5;
  int *piVar6;
  int iVar7;
  int iVar8;
  int *piVar9;
  undefined *puVar10;
  uchar *puVar11;
  uint uVar12;
  int in_stack_00000018;
  uint in_stack_0000001c;
  int *local_48;
  int local_44;
  int local_40;
  int local_3c;
  int local_38;
  int local_34;
  int local_30;
  
  iVar7 = param_2 + param_3 * 0x40;
  if (*(int *)(iVar7 + 4) != 6) {
    (*(code *)PTR_do_gold_unreachable_004323c4)
              (PTR_DAT_0043226c + 0x13e0,0x100,PTR_DAT_0043226c + 0x18bc);
    return;
  }
  iVar8 = *(int *)(iVar7 + 0x24);
  if (*(int *)(param_1 + 0x1c) == 0) {
LAB_0026f9c4:
                    /* WARNING: Subroutine does not return */
    FUN_0025f830();
  }
  piVar1 = (int *)(*(code *)PTR_get_view_0043249c)
                            (*(int *)(param_1 + 0x1c) + 0x20,1,*(undefined4 *)(param_1 + 0x20),
                             *(undefined4 *)(param_1 + 0x24),*(undefined4 *)(iVar7 + 0x18),
                             *(undefined4 *)(iVar7 + 0x1c),iVar8,1,0);
  puVar11 = *(uchar **)(iVar7 + 0x28);
  if ((uchar *)0xfeff < puVar11) {
    (*(code *)PTR_initialize_shnum_00432a8c)(param_1 + 0x60);
    puVar11 = puVar11 + *(int *)(param_1 + 0x78);
  }
  if (puVar11 != param_4) {
    if (puVar11 < *(uchar **)(param_1 + 0x28)) {
      iVar7 = param_2 + (int)puVar11 * 0x40;
      if (*(int *)(iVar7 + 4) == 3) {
        in_stack_00000018 = *(int *)(iVar7 + 0x20);
        in_stack_0000001c = *(uint *)(iVar7 + 0x24);
        if (*(int *)(param_1 + 0x1c) == 0) goto LAB_0026f9c4;
        param_5._0_4_ =
             (*(code *)PTR_get_view_0043249c)
                       (*(int *)(param_1 + 0x1c) + 0x20,(int)puVar11 * 0x40,
                        *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),
                        *(undefined4 *)(iVar7 + 0x18),*(undefined4 *)(iVar7 + 0x1c),
                        in_stack_0000001c,0,0);
        goto LAB_0026f724;
      }
      puVar3 = PTR_DAT_0043226c + 0x1680;
    }
    else {
      puVar3 = PTR_DAT_0043226c + 0x1654;
    }
    uVar2 = (*(code *)PTR_gettext_00436818)(puVar3);
    (*(code *)PTR_error_00432a5c)(param_1,uVar2,param_3,puVar11);
    return;
  }
LAB_0026f724:
  piVar9 = (int *)((int)piVar1 + iVar8);
  if (piVar1 < piVar9) {
    puVar10 = PTR_DAT_0043226c + 0x16d8;
    puVar3 = PTR_DAT_0043226c + 0x16ac;
    do {
      iVar7 = piVar1[1];
      if (*piVar1 == 0) {
        if (iVar7 == 1) {
          iVar7 = piVar1[2];
          uVar12 = piVar1[3];
          if ((iVar7 < in_stack_00000018) ||
             ((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)))) {
            iVar7 = param_5._0_4_ + uVar12;
            local_48 = &local_40;
            if (iVar7 == 0) {
              iVar8 = -1;
            }
            else {
              local_30 = iVar7;
              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);
              iVar8 = local_30 + iVar8;
              iVar7 = local_30;
            }
            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0);
            piVar5 = *(int **)(param_1 + 0x54);
            if (piVar5 == *(int **)(param_1 + 0x58)) {
                    /* try { // try from 0026f968 to 0026f96f has its CatchHandler @ 0026f9f0 */
              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)
              ;
              if (local_48 != &local_40) {
                (*(code *)PTR_operator_delete_0043228c)();
              }
            }
            else {
              *piVar5 = (int)(piVar5 + 2);
              if (local_48 == &local_40) {
                piVar5[2] = local_40;
                piVar5[3] = local_3c;
                piVar5[4] = local_38;
                piVar5[5] = local_34;
                piVar6 = *(int **)(param_1 + 0x54);
              }
              else {
                *piVar5 = (int)local_48;
                piVar5[2] = local_40;
                piVar6 = piVar5;
              }
              piVar5[1] = local_44;
              *(int **)(param_1 + 0x54) = piVar6 + 6;
            }
          }
          else {
LAB_0026f7f8:
            local_30 = iVar7;
            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);
            (*(code *)PTR_error_00432a5c)
                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);
          }
        }
        else {
          if (iVar7 != 0xe) goto LAB_0026f754;
          iVar7 = piVar1[2];
          uVar12 = piVar1[3];
          if ((in_stack_00000018 <= iVar7) &&
             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))))
          goto LAB_0026f7f8;
          uVar2 = (*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12);
          (*(code *)PTR__M_replace_00432a3c)
                    (param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2);
        }
      }
      else {
LAB_0026f754:
        if (*piVar1 == 0 && iVar7 == 0) {
          return;
        }
      }
      piVar1 = piVar1 + 4;
    } while (piVar1 < piVar9);
  }
  uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x1704);
  (*(code *)PTR_error_00432a5c)(param_1,uVar2);
  return;
}


lui gp,0x1d
addiu gp,gp,-0x53c4
addu gp,gp,t9
addiu sp,sp,-0x78
li v0,0x6
sw s0,0x50(sp)
sll s0,a2,0x6
sw gp,0x28(sp)
addu s0,a1,s0
sw s4,0x60(sp)
sw s3,0x5c(sp)
sw ra,0x74(sp)
sw s8,0x70(sp)
sw s7,0x6c(sp)
sw s6,0x68(sp)
sw s5,0x64(sp)
sw s2,0x58(sp)
sw s1,0x54(sp)
lw v1,0x4(s0)
lw s3,0x90(sp)
bne v1,v0,0x0026f9d4
_lw s4,0x94(sp)
or s1,a0,zero
lw a0,0x1c(a0)
lw v1,0x1c(s0)
lw v0,0x18(s0)
beq a0,zero,0x0026f9c4
_lw s2,0x24(s0)
lw t9,-0x7d34(gp)
or s6,a2,zero
or s5,a1,zero
lw a2,0x20(s1)
li a1,0x1
or s7,a3,zero
lw a3,0x24(s1)
addiu a0,a0,0x20
sw zero,0x20(sp)
sw a1,0x1c(sp)
sw s2,0x18(sp)
sw v1,0x14(sp)
jalr t9
_sw v0,0x10(sp)
lw s8,0x28(s0)
or s0,v0,zero
ori v0,zero,0xff00
sltu v0,s8,v0
beq v0,zero,0x0026f854
_lw gp,0x28(sp)
beq s8,s7,0x0026f724
_nop
lw v0,0x28(s1)
sltu v0,s8,v0
beq v0,zero,0x0026f950
_sll a1,s8,0x6
li v0,0x3
addu s5,s5,a1
lw v1,0x4(s5)
beq v1,v0,0x0026f6dc
_lw a0,-0x7f64(gp)
lw t9,-0x39b8(gp)
addiu a0,a0,0x1680
jalr t9
_nop
or a3,s8,zero
lw gp,0x28(sp)
or a2,s6,zero
or a1,v0,zero
lw t9,-0x7774(gp)
jalr t9
_or a0,s1,zero
lw ra,0x74(sp)
lw s8,0x70(sp)
lw s7,0x6c(sp)
lw s6,0x68(sp)
lw s5,0x64(sp)
lw s4,0x60(sp)
lw s3,0x5c(sp)
lw s2,0x58(sp)
lw s1,0x54(sp)
lw s0,0x50(sp)
jr ra
_addiu sp,sp,0x78
lw a0,0x1c(s1)
lw s3,0x20(s5)
lw s4,0x24(s5)
lw v1,0x1c(s5)
beq a0,zero,0x0026f9c4
_lw v0,0x18(s5)
lw a3,0x24(s1)
addiu a0,a0,0x20
lw a2,0x20(s1)
lw t9,-0x7d34(gp)
sw zero,0x20(sp)
sw zero,0x1c(sp)
sw s4,0x18(sp)
sw v1,0x14(sp)
jalr t9
_sw v0,0x10(sp)
lw gp,0x28(sp)
sw v0,0x88(sp)
addu s2,s0,s2
sltu v0,s0,s2
beq v0,zero,0x0026f76c
_lw s6,-0x7f64(gp)
addiu s7,sp,0x38
lw s5,-0x7f64(gp)
addiu s6,s6,0x16d8
addiu s5,s5,0x16ac
lw v0,0x0(s0)
beq v0,zero,0x0026f7c0
_lw v1,0x4(s0)
or v0,v0,v1
beq v0,zero,0x0026f6b0
_lw ra,0x74(sp)
addiu s0,s0,0x10
sltu v0,s0,s2
bne v0,zero,0x0026f744
_nop
lw a0,-0x7f64(gp)
lw t9,-0x39b8(gp)
jalr t9
_addiu a0,a0,0x1704
or a0,s1,zero
lw gp,0x28(sp)
lw t9,-0x7774(gp)
jalr t9
_or a1,v0,zero
lw ra,0x74(sp)
lw s8,0x70(sp)
lw s7,0x6c(sp)
lw s6,0x68(sp)
lw s5,0x64(sp)
lw s4,0x60(sp)
lw s3,0x5c(sp)
lw s2,0x58(sp)
lw s1,0x54(sp)
lw s0,0x50(sp)
jr ra
_addiu sp,sp,0x78
li a0,0x1
beq v1,a0,0x0026f82c
_li a0,0xe
bne v1,a0,0x0026f754
_or v0,v0,v1
lw a2,0x8(s0)
slt v0,a2,s3
bne v0,zero,0x0026f90c
_lw s8,0xc(s0)
beq s3,a2,0x0026f904
_sltu v0,s8,s4
lw t9,-0x39b8(gp)
or a0,s5,zero
sw a2,0x48(sp)
jalr t9
_addiu s0,s0,0x10
or a3,s8,zero
lw gp,0x28(sp)
or a1,v0,zero
lw a2,0x48(sp)
or a0,s1,zero
sw s3,0x10(sp)
lw t9,-0x7774(gp)
jalr t9
_sw s4,0x14(sp)
b 0x0026f760
_lw gp,0x28(sp)
lw a2,0x8(s0)
slt v0,a2,s3
bne v0,zero,0x0026f878
_lw s8,0xc(s0)
beq s3,a2,0x0026f870
_sltu v0,s8,s4
lw t9,-0x39b8(gp)
or a0,s6,zero
b 0x0026f7f8
_sw a2,0x48(sp)
lw t9,-0x7744(gp)
jalr t9
_addiu a0,s1,0x60
lw v0,0x78(s1)
lw gp,0x28(sp)
b 0x0026f654
_addu s8,s8,v0
beq v0,zero,0x0026f848
_lw t9,-0x39b8(gp)
lw v0,0x88(sp)
addu a1,v0,s8
beq a1,zero,0x0026f948
_sw s7,0x30(sp)
lw t9,-0x3a54(gp)
or a0,a1,zero
jalr t9
_sw a1,0x48(sp)
lw a1,0x48(sp)
lw gp,0x28(sp)
addu a2,a1,v0
or a3,zero,zero
lw t9,-0x7d48(gp)
addiu s8,sp,0x30
sll a3,a3,0x18
jalr t9
_or a0,s8,zero
lw a1,0x54(s1)
lw v0,0x58(s1)
lw gp,0x28(sp)
beq a1,v0,0x0026f960
_or v1,a1,zero
addiu v0,a1,0x8
sw v0,0x0(a1)
lw v0,0x30(sp)
beq v0,s7,0x0026f990
_lw a3,0x38(sp)
sw v0,0x0(a1)
lw v0,0x38(sp)
sw v0,0x8(a1)
lw v0,0x34(sp)
addiu a1,a1,0x18
sw v0,0x4(v1)
b 0x0026f75c
_sw a1,0x54(s1)
beq v0,zero,0x0026f7f0
_lw t9,-0x39b8(gp)
lw v0,0x88(sp)
lw t9,-0x3a54(gp)
addu s8,v0,s8
jalr t9
_or a0,s8,zero
or a1,zero,zero
lw gp,0x28(sp)
addiu a0,s1,0x38
lw a2,0x3c(s1)
or a3,s8,zero
lw t9,-0x7794(gp)
jalr t9
_sw v0,0x10(sp)
b 0x0026f75c
_lw gp,0x28(sp)
b 0x0026f8a4
_li a2,-0x1
lw a0,-0x7f64(gp)
lw t9,-0x39b8(gp)
b 0x0026f688
_addiu a0,a0,0x1654
lw t9,-0x757c(gp)
addiu a0,s1,0x50
jalr t9
_or a2,s8,zero
lw a0,0x30(sp)
beq a0,s7,0x0026f75c
_lw gp,0x28(sp)
lw t9,-0x7f44(gp)
jalr t9
_addiu s0,s0,0x10
b 0x0026f760
_lw gp,0x28(sp)
lw a2,0x3c(sp)
lw a0,0x40(sp)
lw v0,0x44(sp)
swl a3,0x8(a1)
swr a3,0xb(a1)
swl a2,0xc(a1)
swr a2,0xf(a1)
swl a0,0x10(a1)
swr a0,0x13(a1)
swl v0,0x14(a1)
swr v0,0x17(a1)
b 0x0026f8f0
_lw a1,0x54(s1)
lw t9,-0x4abc(gp)
addiu t9,t9,-0x7d0
bal 0x0025f830
_nop
lw a2,-0x7f64(gp)
li a1,0x100
lw a0,-0x7f64(gp)
lw t9,-0x7e0c(gp)
addiu a2,a2,0x18bc
jalr t9
_addiu a0,a0,0x13e0
(translation_unit "/* gold::Sized_dynobj<64, true>::read_dynamic(unsigned char const*, unsigned int, unsigned int,\n   unsigned char const*, long long) */\n\nvoid gold::Sized_dynobj<64,true>::read_dynamic\n               (uchar *param_1,uint param_2,uint param_3,uchar *param_4,longlong param_5)\n\n{\n  int *piVar1;\n  undefined4 uVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  int *piVar5;\n  int *piVar6;\n  int iVar7;\n  int iVar8;\n  int *piVar9;\n  undefined *puVar10;\n  uchar *puVar11;\n  uint uVar12;\n  int in_stack_00000018;\n  uint in_stack_0000001c;\n  int *local_48;\n  int local_44;\n  int local_40;\n  int local_3c;\n  int local_38;\n  int local_34;\n  int local_30;\n  \n  iVar7 = param_2 + param_3 * 0x40;\n  if (*(int *)(iVar7 + 4) != 6) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x100,PTR_DAT_0043226c + 0x18bc);\n    return;\n  }\n  iVar8 = *(int *)(iVar7 + 0x24);\n  if (*(int *)(param_1 + 0x1c) == 0) {\nLAB_0026f9c4:\n                    /* WARNING: Subroutine does not return */\n    FUN_0025f830();\n  }\n  piVar1 = (int *)(*(code *)PTR_get_view_0043249c)\n                            (*(int *)(param_1 + 0x1c) + 0x20,1,*(undefined4 *)(param_1 + 0x20),\n                             *(undefined4 *)(param_1 + 0x24),*(undefined4 *)(iVar7 + 0x18),\n                             *(undefined4 *)(iVar7 + 0x1c),iVar8,1,0);\n  puVar11 = *(uchar **)(iVar7 + 0x28);\n  if ((uchar *)0xfeff < puVar11) {\n    (*(code *)PTR_initialize_shnum_00432a8c)(param_1 + 0x60);\n    puVar11 = puVar11 + *(int *)(param_1 + 0x78);\n  }\n  if (puVar11 != param_4) {\n    if (puVar11 < *(uchar **)(param_1 + 0x28)) {\n      iVar7 = param_2 + (int)puVar11 * 0x40;\n      if (*(int *)(iVar7 + 4) == 3) {\n        in_stack_00000018 = *(int *)(iVar7 + 0x20);\n        in_stack_0000001c = *(uint *)(iVar7 + 0x24);\n        if (*(int *)(param_1 + 0x1c) == 0) goto LAB_0026f9c4;\n        param_5._0_4_ =\n             (*(code *)PTR_get_view_0043249c)\n                       (*(int *)(param_1 + 0x1c) + 0x20,(int)puVar11 * 0x40,\n                        *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),\n                        *(undefined4 *)(iVar7 + 0x18),*(undefined4 *)(iVar7 + 0x1c),\n                        in_stack_0000001c,0,0);\n        goto LAB_0026f724;\n      }\n      puVar3 = PTR_DAT_0043226c + 0x1680;\n    }\n    else {\n      puVar3 = PTR_DAT_0043226c + 0x1654;\n    }\n    uVar2 = (*(code *)PTR_gettext_00436818)(puVar3);\n    (*(code *)PTR_error_00432a5c)(param_1,uVar2,param_3,puVar11);\n    return;\n  }\nLAB_0026f724:\n  piVar9 = (int *)((int)piVar1 + iVar8);\n  if (piVar1 < piVar9) {\n    puVar10 = PTR_DAT_0043226c + 0x16d8;\n    puVar3 = PTR_DAT_0043226c + 0x16ac;\n    do {\n      iVar7 = piVar1[1];\n      if (*piVar1 == 0) {\n        if (iVar7 == 1) {\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((iVar7 < in_stack_00000018) ||\n             ((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)))) {\n            iVar7 = param_5._0_4_ + uVar12;\n            local_48 = &local_40;\n            if (iVar7 == 0) {\n              iVar8 = -1;\n            }\n            else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0);\n            piVar5 = *(int **)(param_1 + 0x54);\n            if (piVar5 == *(int **)(param_1 + 0x58)) {\n                    /* try { // try from 0026f968 to 0026f96f has its CatchHandler @ 0026f9f0 */\n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = iVar7;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);\n          }\n        }\n        else {\n          if (iVar7 != 0xe) goto LAB_0026f754;\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2);\n        }\n      }\n      else {\nLAB_0026f754:\n        if (*piVar1 == 0 && iVar7 == 0) {\n          return;\n        }\n      }\n      piVar1 = piVar1 + 4;\n    } while (piVar1 < piVar9);\n  }\n  uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x1704);\n  (*(code *)PTR_error_00432a5c)(param_1,uVar2);\n  return;\n}\n\n" comment (declaration "void gold::Sized_dynobj<64,true>::read_dynamic\n               (uchar *param_1,uint param_2,uint param_3,uchar *param_4,longlong param_5)\n\n{\n  int *piVar1;" primitive_type (ERROR "gold::" identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "true>::read_dynamic\n               (uchar *param_1,uint param_2,uint param_3,uchar *param_4,longlong param_5)\n\n{\n  int" identifier > : : (function_declarator "read_dynamic\n               (uchar *param_1,uint param_2,uint param_3,uchar *param_4,longlong param_5)" identifier (parameter_list "(uchar *param_1,uint param_2,uint param_3,uchar *param_4,longlong param_5)" ( (parameter_declaration "uchar *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "uint param_2" type_identifier identifier) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "uchar *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "longlong param_5" type_identifier identifier) ))) { primitive_type) (pointer_declarator "*piVar1" * identifier) ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "uchar *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "int in_stack_00000018;" primitive_type identifier ;) (declaration "uint in_stack_0000001c;" type_identifier identifier ;) (declaration "int *local_48;" primitive_type (pointer_declarator "*local_48" * identifier) ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "int local_40;" primitive_type identifier ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "int local_38;" primitive_type identifier ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "int local_30;" primitive_type identifier ;) (expression_statement "iVar7 = param_2 + param_3 * 0x40;" (assignment_expression "iVar7 = param_2 + param_3 * 0x40" identifier = (binary_expression "param_2 + param_3 * 0x40" identifier + (binary_expression "param_3 * 0x40" identifier * number_literal))) ;) (if_statement "if (*(int *)(iVar7 + 4) != 6) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x100,PTR_DAT_0043226c + 0x18bc);\n    return;\n  }" if (parenthesized_expression "(*(int *)(iVar7 + 4) != 6)" ( (binary_expression "*(int *)(iVar7 + 4) != 6" (pointer_expression "*(int *)(iVar7 + 4)" * (cast_expression "(int *)(iVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x100,PTR_DAT_0043226c + 0x18bc);\n    return;\n  }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x100,PTR_DAT_0043226c + 0x18bc);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x100,PTR_DAT_0043226c + 0x18bc)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0043226c + 0x13e0,0x100,PTR_DAT_0043226c + 0x18bc)" ( (binary_expression "PTR_DAT_0043226c + 0x13e0" identifier + number_literal) , number_literal , (binary_expression "PTR_DAT_0043226c + 0x18bc" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar8 = *(int *)(iVar7 + 0x24);" (assignment_expression "iVar8 = *(int *)(iVar7 + 0x24)" identifier = (pointer_expression "*(int *)(iVar7 + 0x24)" * (cast_expression "(int *)(iVar7 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x24)" ( (binary_expression "iVar7 + 0x24" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(param_1 + 0x1c) == 0) {\nLAB_0026f9c4:\n                    /* WARNING: Subroutine does not return */\n    FUN_0025f830();\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_0026f9c4:\n                    /* WARNING: Subroutine does not return */\n    FUN_0025f830();\n  }" { (labeled_statement "LAB_0026f9c4:\n                    /* WARNING: Subroutine does not return */\n    FUN_0025f830();" statement_identifier : comment (expression_statement "FUN_0025f830();" (call_expression "FUN_0025f830()" identifier (argument_list "()" ( ))) ;)) })) (expression_statement "piVar1 = (int *)(*(code *)PTR_get_view_0043249c)\n                            (*(int *)(param_1 + 0x1c) + 0x20,1,*(undefined4 *)(param_1 + 0x20),\n                             *(undefined4 *)(param_1 + 0x24),*(undefined4 *)(iVar7 + 0x18),\n                             *(undefined4 *)(iVar7 + 0x1c),iVar8,1,0);" (assignment_expression "piVar1 = (int *)(*(code *)PTR_get_view_0043249c)\n                            (*(int *)(param_1 + 0x1c) + 0x20,1,*(undefined4 *)(param_1 + 0x20),\n                             *(undefined4 *)(param_1 + 0x24),*(undefined4 *)(iVar7 + 0x18),\n                             *(undefined4 *)(iVar7 + 0x1c),iVar8,1,0)" identifier = (cast_expression "(int *)(*(code *)PTR_get_view_0043249c)\n                            (*(int *)(param_1 + 0x1c) + 0x20,1,*(undefined4 *)(param_1 + 0x20),\n                             *(undefined4 *)(param_1 + 0x24),*(undefined4 *)(iVar7 + 0x18),\n                             *(undefined4 *)(iVar7 + 0x1c),iVar8,1,0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_get_view_0043249c)\n                            (*(int *)(param_1 + 0x1c) + 0x20,1,*(undefined4 *)(param_1 + 0x20),\n                             *(undefined4 *)(param_1 + 0x24),*(undefined4 *)(iVar7 + 0x18),\n                             *(undefined4 *)(iVar7 + 0x1c),iVar8,1,0)" (parenthesized_expression "(*(code *)PTR_get_view_0043249c)" ( (pointer_expression "*(code *)PTR_get_view_0043249c" * (cast_expression "(code *)PTR_get_view_0043249c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(int *)(param_1 + 0x1c) + 0x20,1,*(undefined4 *)(param_1 + 0x20),\n                             *(undefined4 *)(param_1 + 0x24),*(undefined4 *)(iVar7 + 0x18),\n                             *(undefined4 *)(iVar7 + 0x1c),iVar8,1,0)" ( (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) )))) , (pointer_expression "*(undefined4 *)(iVar7 + 0x18)" * (cast_expression "(undefined4 *)(iVar7 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar7 + 0x1c)" * (cast_expression "(undefined4 *)(iVar7 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1c)" ( (binary_expression "iVar7 + 0x1c" identifier + number_literal) )))) , identifier , number_literal , number_literal ))))) ;) (expression_statement "puVar11 = *(uchar **)(iVar7 + 0x28);" (assignment_expression "puVar11 = *(uchar **)(iVar7 + 0x28)" identifier = (pointer_expression "*(uchar **)(iVar7 + 0x28)" * (cast_expression "(uchar **)(iVar7 + 0x28)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x28)" ( (binary_expression "iVar7 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if ((uchar *)0xfeff < puVar11) {\n    (*(code *)PTR_initialize_shnum_00432a8c)(param_1 + 0x60);\n    puVar11 = puVar11 + *(int *)(param_1 + 0x78);\n  }" if (parenthesized_expression "((uchar *)0xfeff < puVar11)" ( (binary_expression "(uchar *)0xfeff < puVar11" (cast_expression "(uchar *)0xfeff" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (compound_statement "{\n    (*(code *)PTR_initialize_shnum_00432a8c)(param_1 + 0x60);\n    puVar11 = puVar11 + *(int *)(param_1 + 0x78);\n  }" { (expression_statement "(*(code *)PTR_initialize_shnum_00432a8c)(param_1 + 0x60);" (call_expression "(*(code *)PTR_initialize_shnum_00432a8c)(param_1 + 0x60)" (parenthesized_expression "(*(code *)PTR_initialize_shnum_00432a8c)" ( (pointer_expression "*(code *)PTR_initialize_shnum_00432a8c" * (cast_expression "(code *)PTR_initialize_shnum_00432a8c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) ))) ;) (expression_statement "puVar11 = puVar11 + *(int *)(param_1 + 0x78);" (assignment_expression "puVar11 = puVar11 + *(int *)(param_1 + 0x78)" identifier = (binary_expression "puVar11 + *(int *)(param_1 + 0x78)" identifier + (pointer_expression "*(int *)(param_1 + 0x78)" * (cast_expression "(int *)(param_1 + 0x78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x78)" ( (binary_expression "param_1 + 0x78" identifier + number_literal) )))))) ;) })) (if_statement "if (puVar11 != param_4) {\n    if (puVar11 < *(uchar **)(param_1 + 0x28)) {\n      iVar7 = param_2 + (int)puVar11 * 0x40;\n      if (*(int *)(iVar7 + 4) == 3) {\n        in_stack_00000018 = *(int *)(iVar7 + 0x20);\n        in_stack_0000001c = *(uint *)(iVar7 + 0x24);\n        if (*(int *)(param_1 + 0x1c) == 0) goto LAB_0026f9c4;\n        param_5._0_4_ =\n             (*(code *)PTR_get_view_0043249c)\n                       (*(int *)(param_1 + 0x1c) + 0x20,(int)puVar11 * 0x40,\n                        *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),\n                        *(undefined4 *)(iVar7 + 0x18),*(undefined4 *)(iVar7 + 0x1c),\n                        in_stack_0000001c,0,0);\n        goto LAB_0026f724;\n      }\n      puVar3 = PTR_DAT_0043226c + 0x1680;\n    }\n    else {\n      puVar3 = PTR_DAT_0043226c + 0x1654;\n    }\n    uVar2 = (*(code *)PTR_gettext_00436818)(puVar3);\n    (*(code *)PTR_error_00432a5c)(param_1,uVar2,param_3,puVar11);\n    return;\n  }" if (parenthesized_expression "(puVar11 != param_4)" ( (binary_expression "puVar11 != param_4" identifier != identifier) )) (compound_statement "{\n    if (puVar11 < *(uchar **)(param_1 + 0x28)) {\n      iVar7 = param_2 + (int)puVar11 * 0x40;\n      if (*(int *)(iVar7 + 4) == 3) {\n        in_stack_00000018 = *(int *)(iVar7 + 0x20);\n        in_stack_0000001c = *(uint *)(iVar7 + 0x24);\n        if (*(int *)(param_1 + 0x1c) == 0) goto LAB_0026f9c4;\n        param_5._0_4_ =\n             (*(code *)PTR_get_view_0043249c)\n                       (*(int *)(param_1 + 0x1c) + 0x20,(int)puVar11 * 0x40,\n                        *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),\n                        *(undefined4 *)(iVar7 + 0x18),*(undefined4 *)(iVar7 + 0x1c),\n                        in_stack_0000001c,0,0);\n        goto LAB_0026f724;\n      }\n      puVar3 = PTR_DAT_0043226c + 0x1680;\n    }\n    else {\n      puVar3 = PTR_DAT_0043226c + 0x1654;\n    }\n    uVar2 = (*(code *)PTR_gettext_00436818)(puVar3);\n    (*(code *)PTR_error_00432a5c)(param_1,uVar2,param_3,puVar11);\n    return;\n  }" { (if_statement "if (puVar11 < *(uchar **)(param_1 + 0x28)) {\n      iVar7 = param_2 + (int)puVar11 * 0x40;\n      if (*(int *)(iVar7 + 4) == 3) {\n        in_stack_00000018 = *(int *)(iVar7 + 0x20);\n        in_stack_0000001c = *(uint *)(iVar7 + 0x24);\n        if (*(int *)(param_1 + 0x1c) == 0) goto LAB_0026f9c4;\n        param_5._0_4_ =\n             (*(code *)PTR_get_view_0043249c)\n                       (*(int *)(param_1 + 0x1c) + 0x20,(int)puVar11 * 0x40,\n                        *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),\n                        *(undefined4 *)(iVar7 + 0x18),*(undefined4 *)(iVar7 + 0x1c),\n                        in_stack_0000001c,0,0);\n        goto LAB_0026f724;\n      }\n      puVar3 = PTR_DAT_0043226c + 0x1680;\n    }\n    else {\n      puVar3 = PTR_DAT_0043226c + 0x1654;\n    }" if (parenthesized_expression "(puVar11 < *(uchar **)(param_1 + 0x28))" ( (binary_expression "puVar11 < *(uchar **)(param_1 + 0x28)" identifier < (pointer_expression "*(uchar **)(param_1 + 0x28)" * (cast_expression "(uchar **)(param_1 + 0x28)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n      iVar7 = param_2 + (int)puVar11 * 0x40;\n      if (*(int *)(iVar7 + 4) == 3) {\n        in_stack_00000018 = *(int *)(iVar7 + 0x20);\n        in_stack_0000001c = *(uint *)(iVar7 + 0x24);\n        if (*(int *)(param_1 + 0x1c) == 0) goto LAB_0026f9c4;\n        param_5._0_4_ =\n             (*(code *)PTR_get_view_0043249c)\n                       (*(int *)(param_1 + 0x1c) + 0x20,(int)puVar11 * 0x40,\n                        *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),\n                        *(undefined4 *)(iVar7 + 0x18),*(undefined4 *)(iVar7 + 0x1c),\n                        in_stack_0000001c,0,0);\n        goto LAB_0026f724;\n      }\n      puVar3 = PTR_DAT_0043226c + 0x1680;\n    }" { (expression_statement "iVar7 = param_2 + (int)puVar11 * 0x40;" (assignment_expression "iVar7 = param_2 + (int)puVar11 * 0x40" identifier = (binary_expression "param_2 + (int)puVar11 * 0x40" identifier + (binary_expression "(int)puVar11 * 0x40" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) (if_statement "if (*(int *)(iVar7 + 4) == 3) {\n        in_stack_00000018 = *(int *)(iVar7 + 0x20);\n        in_stack_0000001c = *(uint *)(iVar7 + 0x24);\n        if (*(int *)(param_1 + 0x1c) == 0) goto LAB_0026f9c4;\n        param_5._0_4_ =\n             (*(code *)PTR_get_view_0043249c)\n                       (*(int *)(param_1 + 0x1c) + 0x20,(int)puVar11 * 0x40,\n                        *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),\n                        *(undefined4 *)(iVar7 + 0x18),*(undefined4 *)(iVar7 + 0x1c),\n                        in_stack_0000001c,0,0);\n        goto LAB_0026f724;\n      }" if (parenthesized_expression "(*(int *)(iVar7 + 4) == 3)" ( (binary_expression "*(int *)(iVar7 + 4) == 3" (pointer_expression "*(int *)(iVar7 + 4)" * (cast_expression "(int *)(iVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        in_stack_00000018 = *(int *)(iVar7 + 0x20);\n        in_stack_0000001c = *(uint *)(iVar7 + 0x24);\n        if (*(int *)(param_1 + 0x1c) == 0) goto LAB_0026f9c4;\n        param_5._0_4_ =\n             (*(code *)PTR_get_view_0043249c)\n                       (*(int *)(param_1 + 0x1c) + 0x20,(int)puVar11 * 0x40,\n                        *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),\n                        *(undefined4 *)(iVar7 + 0x18),*(undefined4 *)(iVar7 + 0x1c),\n                        in_stack_0000001c,0,0);\n        goto LAB_0026f724;\n      }" { (expression_statement "in_stack_00000018 = *(int *)(iVar7 + 0x20);" (assignment_expression "in_stack_00000018 = *(int *)(iVar7 + 0x20)" identifier = (pointer_expression "*(int *)(iVar7 + 0x20)" * (cast_expression "(int *)(iVar7 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x20)" ( (binary_expression "iVar7 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "in_stack_0000001c = *(uint *)(iVar7 + 0x24);" (assignment_expression "in_stack_0000001c = *(uint *)(iVar7 + 0x24)" identifier = (pointer_expression "*(uint *)(iVar7 + 0x24)" * (cast_expression "(uint *)(iVar7 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x24)" ( (binary_expression "iVar7 + 0x24" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(param_1 + 0x1c) == 0) goto LAB_0026f9c4;" 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) )) (goto_statement "goto LAB_0026f9c4;" goto statement_identifier ;)) (expression_statement "param_5._0_4_ =\n             (*(code *)PTR_get_view_0043249c)\n                       (*(int *)(param_1 + 0x1c) + 0x20,(int)puVar11 * 0x40,\n                        *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),\n                        *(undefined4 *)(iVar7 + 0x18),*(undefined4 *)(iVar7 + 0x1c),\n                        in_stack_0000001c,0,0);" (assignment_expression "param_5._0_4_ =\n             (*(code *)PTR_get_view_0043249c)\n                       (*(int *)(param_1 + 0x1c) + 0x20,(int)puVar11 * 0x40,\n                        *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),\n                        *(undefined4 *)(iVar7 + 0x18),*(undefined4 *)(iVar7 + 0x1c),\n                        in_stack_0000001c,0,0)" (field_expression "param_5._0_4_" identifier . field_identifier) = (call_expression "(*(code *)PTR_get_view_0043249c)\n                       (*(int *)(param_1 + 0x1c) + 0x20,(int)puVar11 * 0x40,\n                        *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),\n                        *(undefined4 *)(iVar7 + 0x18),*(undefined4 *)(iVar7 + 0x1c),\n                        in_stack_0000001c,0,0)" (parenthesized_expression "(*(code *)PTR_get_view_0043249c)" ( (pointer_expression "*(code *)PTR_get_view_0043249c" * (cast_expression "(code *)PTR_get_view_0043249c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(int *)(param_1 + 0x1c) + 0x20,(int)puVar11 * 0x40,\n                        *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),\n                        *(undefined4 *)(iVar7 + 0x18),*(undefined4 *)(iVar7 + 0x1c),\n                        in_stack_0000001c,0,0)" ( (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) , (binary_expression "(int)puVar11 * 0x40" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) * 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) )))) , (pointer_expression "*(undefined4 *)(iVar7 + 0x18)" * (cast_expression "(undefined4 *)(iVar7 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar7 + 0x1c)" * (cast_expression "(undefined4 *)(iVar7 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1c)" ( (binary_expression "iVar7 + 0x1c" identifier + number_literal) )))) , identifier , number_literal , number_literal )))) ;) (goto_statement "goto LAB_0026f724;" goto statement_identifier ;) })) (expression_statement "puVar3 = PTR_DAT_0043226c + 0x1680;" (assignment_expression "puVar3 = PTR_DAT_0043226c + 0x1680" identifier = (binary_expression "PTR_DAT_0043226c + 0x1680" identifier + number_literal)) ;) }) (else_clause "else {\n      puVar3 = PTR_DAT_0043226c + 0x1654;\n    }" else (compound_statement "{\n      puVar3 = PTR_DAT_0043226c + 0x1654;\n    }" { (expression_statement "puVar3 = PTR_DAT_0043226c + 0x1654;" (assignment_expression "puVar3 = PTR_DAT_0043226c + 0x1654" identifier = (binary_expression "PTR_DAT_0043226c + 0x1654" identifier + number_literal)) ;) }))) (expression_statement "uVar2 = (*(code *)PTR_gettext_00436818)(puVar3);" (assignment_expression "uVar2 = (*(code *)PTR_gettext_00436818)(puVar3)" identifier = (call_expression "(*(code *)PTR_gettext_00436818)(puVar3)" (parenthesized_expression "(*(code *)PTR_gettext_00436818)" ( (pointer_expression "*(code *)PTR_gettext_00436818" * (cast_expression "(code *)PTR_gettext_00436818" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_error_00432a5c)(param_1,uVar2,param_3,puVar11);" (call_expression "(*(code *)PTR_error_00432a5c)(param_1,uVar2,param_3,puVar11)" (parenthesized_expression "(*(code *)PTR_error_00432a5c)" ( (pointer_expression "*(code *)PTR_error_00432a5c" * (cast_expression "(code *)PTR_error_00432a5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,uVar2,param_3,puVar11)" ( identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (labeled_statement "LAB_0026f724:\n  piVar9 = (int *)((int)piVar1 + iVar8);" statement_identifier : (expression_statement "piVar9 = (int *)((int)piVar1 + iVar8);" (assignment_expression "piVar9 = (int *)((int)piVar1 + iVar8)" identifier = (cast_expression "(int *)((int)piVar1 + iVar8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar1 + iVar8)" ( (binary_expression "(int)piVar1 + iVar8" (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;)) (if_statement "if (piVar1 < piVar9) {\n    puVar10 = PTR_DAT_0043226c + 0x16d8;\n    puVar3 = PTR_DAT_0043226c + 0x16ac;\n    do {\n      iVar7 = piVar1[1];\n      if (*piVar1 == 0) {\n        if (iVar7 == 1) {\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((iVar7 < in_stack_00000018) ||\n             ((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)))) {\n            iVar7 = param_5._0_4_ + uVar12;\n            local_48 = &local_40;\n            if (iVar7 == 0) {\n              iVar8 = -1;\n            }\n            else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0);\n            piVar5 = *(int **)(param_1 + 0x54);\n            if (piVar5 == *(int **)(param_1 + 0x58)) {\n                    /* try { // try from 0026f968 to 0026f96f has its CatchHandler @ 0026f9f0 */\n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = iVar7;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);\n          }\n        }\n        else {\n          if (iVar7 != 0xe) goto LAB_0026f754;\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2);\n        }\n      }\n      else {\nLAB_0026f754:\n        if (*piVar1 == 0 && iVar7 == 0) {\n          return;\n        }\n      }\n      piVar1 = piVar1 + 4;\n    } while (piVar1 < piVar9);\n  }" if (parenthesized_expression "(piVar1 < piVar9)" ( (binary_expression "piVar1 < piVar9" identifier < identifier) )) (compound_statement "{\n    puVar10 = PTR_DAT_0043226c + 0x16d8;\n    puVar3 = PTR_DAT_0043226c + 0x16ac;\n    do {\n      iVar7 = piVar1[1];\n      if (*piVar1 == 0) {\n        if (iVar7 == 1) {\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((iVar7 < in_stack_00000018) ||\n             ((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)))) {\n            iVar7 = param_5._0_4_ + uVar12;\n            local_48 = &local_40;\n            if (iVar7 == 0) {\n              iVar8 = -1;\n            }\n            else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0);\n            piVar5 = *(int **)(param_1 + 0x54);\n            if (piVar5 == *(int **)(param_1 + 0x58)) {\n                    /* try { // try from 0026f968 to 0026f96f has its CatchHandler @ 0026f9f0 */\n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = iVar7;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);\n          }\n        }\n        else {\n          if (iVar7 != 0xe) goto LAB_0026f754;\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2);\n        }\n      }\n      else {\nLAB_0026f754:\n        if (*piVar1 == 0 && iVar7 == 0) {\n          return;\n        }\n      }\n      piVar1 = piVar1 + 4;\n    } while (piVar1 < piVar9);\n  }" { (expression_statement "puVar10 = PTR_DAT_0043226c + 0x16d8;" (assignment_expression "puVar10 = PTR_DAT_0043226c + 0x16d8" identifier = (binary_expression "PTR_DAT_0043226c + 0x16d8" identifier + number_literal)) ;) (expression_statement "puVar3 = PTR_DAT_0043226c + 0x16ac;" (assignment_expression "puVar3 = PTR_DAT_0043226c + 0x16ac" identifier = (binary_expression "PTR_DAT_0043226c + 0x16ac" identifier + number_literal)) ;) (do_statement "do {\n      iVar7 = piVar1[1];\n      if (*piVar1 == 0) {\n        if (iVar7 == 1) {\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((iVar7 < in_stack_00000018) ||\n             ((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)))) {\n            iVar7 = param_5._0_4_ + uVar12;\n            local_48 = &local_40;\n            if (iVar7 == 0) {\n              iVar8 = -1;\n            }\n            else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0);\n            piVar5 = *(int **)(param_1 + 0x54);\n            if (piVar5 == *(int **)(param_1 + 0x58)) {\n                    /* try { // try from 0026f968 to 0026f96f has its CatchHandler @ 0026f9f0 */\n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = iVar7;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);\n          }\n        }\n        else {\n          if (iVar7 != 0xe) goto LAB_0026f754;\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2);\n        }\n      }\n      else {\nLAB_0026f754:\n        if (*piVar1 == 0 && iVar7 == 0) {\n          return;\n        }\n      }\n      piVar1 = piVar1 + 4;\n    } while (piVar1 < piVar9);" do (compound_statement "{\n      iVar7 = piVar1[1];\n      if (*piVar1 == 0) {\n        if (iVar7 == 1) {\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((iVar7 < in_stack_00000018) ||\n             ((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)))) {\n            iVar7 = param_5._0_4_ + uVar12;\n            local_48 = &local_40;\n            if (iVar7 == 0) {\n              iVar8 = -1;\n            }\n            else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0);\n            piVar5 = *(int **)(param_1 + 0x54);\n            if (piVar5 == *(int **)(param_1 + 0x58)) {\n                    /* try { // try from 0026f968 to 0026f96f has its CatchHandler @ 0026f9f0 */\n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = iVar7;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);\n          }\n        }\n        else {\n          if (iVar7 != 0xe) goto LAB_0026f754;\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2);\n        }\n      }\n      else {\nLAB_0026f754:\n        if (*piVar1 == 0 && iVar7 == 0) {\n          return;\n        }\n      }\n      piVar1 = piVar1 + 4;\n    }" { (expression_statement "iVar7 = piVar1[1];" (assignment_expression "iVar7 = piVar1[1]" identifier = (subscript_expression "piVar1[1]" identifier [ number_literal ])) ;) (if_statement "if (*piVar1 == 0) {\n        if (iVar7 == 1) {\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((iVar7 < in_stack_00000018) ||\n             ((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)))) {\n            iVar7 = param_5._0_4_ + uVar12;\n            local_48 = &local_40;\n            if (iVar7 == 0) {\n              iVar8 = -1;\n            }\n            else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0);\n            piVar5 = *(int **)(param_1 + 0x54);\n            if (piVar5 == *(int **)(param_1 + 0x58)) {\n                    /* try { // try from 0026f968 to 0026f96f has its CatchHandler @ 0026f9f0 */\n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = iVar7;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);\n          }\n        }\n        else {\n          if (iVar7 != 0xe) goto LAB_0026f754;\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2);\n        }\n      }\n      else {\nLAB_0026f754:\n        if (*piVar1 == 0 && iVar7 == 0) {\n          return;\n        }\n      }" if (parenthesized_expression "(*piVar1 == 0)" ( (binary_expression "*piVar1 == 0" (pointer_expression "*piVar1" * identifier) == number_literal) )) (compound_statement "{\n        if (iVar7 == 1) {\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((iVar7 < in_stack_00000018) ||\n             ((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)))) {\n            iVar7 = param_5._0_4_ + uVar12;\n            local_48 = &local_40;\n            if (iVar7 == 0) {\n              iVar8 = -1;\n            }\n            else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0);\n            piVar5 = *(int **)(param_1 + 0x54);\n            if (piVar5 == *(int **)(param_1 + 0x58)) {\n                    /* try { // try from 0026f968 to 0026f96f has its CatchHandler @ 0026f9f0 */\n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = iVar7;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);\n          }\n        }\n        else {\n          if (iVar7 != 0xe) goto LAB_0026f754;\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2);\n        }\n      }" { (if_statement "if (iVar7 == 1) {\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((iVar7 < in_stack_00000018) ||\n             ((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)))) {\n            iVar7 = param_5._0_4_ + uVar12;\n            local_48 = &local_40;\n            if (iVar7 == 0) {\n              iVar8 = -1;\n            }\n            else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0);\n            piVar5 = *(int **)(param_1 + 0x54);\n            if (piVar5 == *(int **)(param_1 + 0x58)) {\n                    /* try { // try from 0026f968 to 0026f96f has its CatchHandler @ 0026f9f0 */\n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = iVar7;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);\n          }\n        }\n        else {\n          if (iVar7 != 0xe) goto LAB_0026f754;\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2);\n        }" if (parenthesized_expression "(iVar7 == 1)" ( (binary_expression "iVar7 == 1" identifier == number_literal) )) (compound_statement "{\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((iVar7 < in_stack_00000018) ||\n             ((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)))) {\n            iVar7 = param_5._0_4_ + uVar12;\n            local_48 = &local_40;\n            if (iVar7 == 0) {\n              iVar8 = -1;\n            }\n            else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0);\n            piVar5 = *(int **)(param_1 + 0x54);\n            if (piVar5 == *(int **)(param_1 + 0x58)) {\n                    /* try { // try from 0026f968 to 0026f96f has its CatchHandler @ 0026f9f0 */\n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = iVar7;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);\n          }\n        }" { (expression_statement "iVar7 = piVar1[2];" (assignment_expression "iVar7 = piVar1[2]" identifier = (subscript_expression "piVar1[2]" identifier [ number_literal ])) ;) (expression_statement "uVar12 = piVar1[3];" (assignment_expression "uVar12 = piVar1[3]" identifier = (subscript_expression "piVar1[3]" identifier [ number_literal ])) ;) (if_statement "if ((iVar7 < in_stack_00000018) ||\n             ((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)))) {\n            iVar7 = param_5._0_4_ + uVar12;\n            local_48 = &local_40;\n            if (iVar7 == 0) {\n              iVar8 = -1;\n            }\n            else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0);\n            piVar5 = *(int **)(param_1 + 0x54);\n            if (piVar5 == *(int **)(param_1 + 0x58)) {\n                    /* try { // try from 0026f968 to 0026f96f has its CatchHandler @ 0026f9f0 */\n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = iVar7;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);\n          }" if (parenthesized_expression "((iVar7 < in_stack_00000018) ||\n             ((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c))))" ( (binary_expression "(iVar7 < in_stack_00000018) ||\n             ((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)))" (parenthesized_expression "(iVar7 < in_stack_00000018)" ( (binary_expression "iVar7 < in_stack_00000018" identifier < identifier) )) || (parenthesized_expression "((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)))" ( (parenthesized_expression "(puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c))" ( (comma_expression "puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)" (assignment_expression "puVar4 = puVar10" identifier = identifier) , (binary_expression "in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)" (binary_expression "in_stack_00000018 == iVar7" identifier == identifier) && (parenthesized_expression "(uVar12 < in_stack_0000001c)" ( (binary_expression "uVar12 < in_stack_0000001c" identifier < identifier) )))) )) ))) )) (compound_statement "{\n            iVar7 = param_5._0_4_ + uVar12;\n            local_48 = &local_40;\n            if (iVar7 == 0) {\n              iVar8 = -1;\n            }\n            else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0);\n            piVar5 = *(int **)(param_1 + 0x54);\n            if (piVar5 == *(int **)(param_1 + 0x58)) {\n                    /* try { // try from 0026f968 to 0026f96f has its CatchHandler @ 0026f9f0 */\n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }\n          }" { (expression_statement "iVar7 = param_5._0_4_ + uVar12;" (assignment_expression "iVar7 = param_5._0_4_ + uVar12" identifier = (binary_expression "param_5._0_4_ + uVar12" (field_expression "param_5._0_4_" identifier . field_identifier) + identifier)) ;) (expression_statement "local_48 = &local_40;" (assignment_expression "local_48 = &local_40" identifier = (pointer_expression "&local_40" & identifier)) ;) (if_statement "if (iVar7 == 0) {\n              iVar8 = -1;\n            }\n            else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n              iVar8 = -1;\n            }" { (expression_statement "iVar8 = -1;" (assignment_expression "iVar8 = -1" identifier = number_literal) ;) }) (else_clause "else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }" else (compound_statement "{\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }" { (expression_statement "local_30 = iVar7;" (assignment_expression "local_30 = iVar7" identifier = identifier) ;) (expression_statement "iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);" (assignment_expression "iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7)" identifier = (call_expression "(*(code *)PTR_strlen_0043677c)(iVar7)" (parenthesized_expression "(*(code *)PTR_strlen_0043677c)" ( (pointer_expression "*(code *)PTR_strlen_0043677c" * (cast_expression "(code *)PTR_strlen_0043677c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier )))) ;) (expression_statement "iVar8 = local_30 + iVar8;" (assignment_expression "iVar8 = local_30 + iVar8" identifier = (binary_expression "local_30 + iVar8" identifier + identifier)) ;) (expression_statement "iVar7 = local_30;" (assignment_expression "iVar7 = local_30" identifier = identifier) ;) }))) (expression_statement "(*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0);" (call_expression "(*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0)" (parenthesized_expression "(*(code *)PTR__M_construct<char_const*>_00432488)" ( (binary_expression "*(code *)PTR__M_construct<char_const*>_00432488" (binary_expression "*(code *)PTR__M_construct<char_const" (pointer_expression "*(code *)PTR__M_construct" * (cast_expression "(code *)PTR__M_construct" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) (ERROR "*" *) > identifier) )) (argument_list "(&local_48,iVar7,iVar8,0)" ( (pointer_expression "&local_48" & identifier) , identifier , identifier , number_literal ))) ;) (expression_statement "piVar5 = *(int **)(param_1 + 0x54);" (assignment_expression "piVar5 = *(int **)(param_1 + 0x54)" identifier = (pointer_expression "*(int **)(param_1 + 0x54)" * (cast_expression "(int **)(param_1 + 0x54)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x54)" ( (binary_expression "param_1 + 0x54" identifier + number_literal) ))))) ;) (if_statement "if (piVar5 == *(int **)(param_1 + 0x58)) {\n                    /* try { // try from 0026f968 to 0026f96f has its CatchHandler @ 0026f9f0 */\n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }" if (parenthesized_expression "(piVar5 == *(int **)(param_1 + 0x58))" ( (binary_expression "piVar5 == *(int **)(param_1 + 0x58)" identifier == (pointer_expression "*(int **)(param_1 + 0x58)" * (cast_expression "(int **)(param_1 + 0x58)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x58)" ( (binary_expression "param_1 + 0x58" identifier + number_literal) ))))) )) (compound_statement "{\n                    /* try { // try from 0026f968 to 0026f96f has its CatchHandler @ 0026f9f0 */\n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }" { comment (expression_statement "(*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;" (call_expression "(*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)" (parenthesized_expression "(*(code *)PTR__M_realloc_insert<std_string>_00432c54)" ( (binary_expression "*(code *)PTR__M_realloc_insert<std_string>_00432c54" (binary_expression "*(code *)PTR__M_realloc_insert<std_string" (pointer_expression "*(code *)PTR__M_realloc_insert" * (cast_expression "(code *)PTR__M_realloc_insert" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) > identifier) )) (argument_list "(param_1 + 0x50,piVar5,&local_48)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) , identifier , (pointer_expression "&local_48" & identifier) ))) ;) (if_statement "if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }" if (parenthesized_expression "(local_48 != &local_40)" ( (binary_expression "local_48 != &local_40" identifier != (pointer_expression "&local_40" & identifier)) )) (compound_statement "{\n                (*(code *)PTR_operator_delete_0043228c)();\n              }" { (expression_statement "(*(code *)PTR_operator_delete_0043228c)();" (call_expression "(*(code *)PTR_operator_delete_0043228c)()" (parenthesized_expression "(*(code *)PTR_operator_delete_0043228c)" ( (pointer_expression "*(code *)PTR_operator_delete_0043228c" * (cast_expression "(code *)PTR_operator_delete_0043228c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) }) (else_clause "else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }" else (compound_statement "{\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }" { (expression_statement "*piVar5 = (int)(piVar5 + 2);" (assignment_expression "*piVar5 = (int)(piVar5 + 2)" (pointer_expression "*piVar5" * identifier) = (cast_expression "(int)(piVar5 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar5 + 2)" ( (binary_expression "piVar5 + 2" identifier + number_literal) )))) ;) (if_statement "if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }" if (parenthesized_expression "(local_48 == &local_40)" ( (binary_expression "local_48 == &local_40" identifier == (pointer_expression "&local_40" & identifier)) )) (compound_statement "{\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }" { (expression_statement "piVar5[2] = local_40;" (assignment_expression "piVar5[2] = local_40" (subscript_expression "piVar5[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar5[3] = local_3c;" (assignment_expression "piVar5[3] = local_3c" (subscript_expression "piVar5[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar5[4] = local_38;" (assignment_expression "piVar5[4] = local_38" (subscript_expression "piVar5[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar5[5] = local_34;" (assignment_expression "piVar5[5] = local_34" (subscript_expression "piVar5[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar6 = *(int **)(param_1 + 0x54);" (assignment_expression "piVar6 = *(int **)(param_1 + 0x54)" identifier = (pointer_expression "*(int **)(param_1 + 0x54)" * (cast_expression "(int **)(param_1 + 0x54)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x54)" ( (binary_expression "param_1 + 0x54" identifier + number_literal) ))))) ;) }) (else_clause "else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }" else (compound_statement "{\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }" { (expression_statement "*piVar5 = (int)local_48;" (assignment_expression "*piVar5 = (int)local_48" (pointer_expression "*piVar5" * identifier) = (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar5[2] = local_40;" (assignment_expression "piVar5[2] = local_40" (subscript_expression "piVar5[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar6 = piVar5;" (assignment_expression "piVar6 = piVar5" identifier = identifier) ;) }))) (expression_statement "piVar5[1] = local_44;" (assignment_expression "piVar5[1] = local_44" (subscript_expression "piVar5[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(int **)(param_1 + 0x54) = piVar6 + 6;" (assignment_expression "*(int **)(param_1 + 0x54) = piVar6 + 6" (pointer_expression "*(int **)(param_1 + 0x54)" * (cast_expression "(int **)(param_1 + 0x54)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x54)" ( (binary_expression "param_1 + 0x54" identifier + number_literal) )))) = (binary_expression "piVar6 + 6" identifier + number_literal)) ;) }))) }) (else_clause "else {\nLAB_0026f7f8:\n            local_30 = iVar7;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);\n          }" else (compound_statement "{\nLAB_0026f7f8:\n            local_30 = iVar7;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);\n          }" { (labeled_statement "LAB_0026f7f8:\n            local_30 = iVar7;" statement_identifier : (expression_statement "local_30 = iVar7;" (assignment_expression "local_30 = iVar7" identifier = identifier) ;)) (expression_statement "uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);" (assignment_expression "uVar2 = (*(code *)PTR_gettext_00436818)(puVar4)" identifier = (call_expression "(*(code *)PTR_gettext_00436818)(puVar4)" (parenthesized_expression "(*(code *)PTR_gettext_00436818)" ( (pointer_expression "*(code *)PTR_gettext_00436818" * (cast_expression "(code *)PTR_gettext_00436818" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar4)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);" (call_expression "(*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c)" (parenthesized_expression "(*(code *)PTR_error_00432a5c)" ( (pointer_expression "*(code *)PTR_error_00432a5c" * (cast_expression "(code *)PTR_error_00432a5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c)" ( identifier , identifier , identifier , identifier , identifier , identifier ))) ;) }))) }) (else_clause "else {\n          if (iVar7 != 0xe) goto LAB_0026f754;\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2);\n        }" else (compound_statement "{\n          if (iVar7 != 0xe) goto LAB_0026f754;\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2);\n        }" { (if_statement "if (iVar7 != 0xe) goto LAB_0026f754;" if (parenthesized_expression "(iVar7 != 0xe)" ( (binary_expression "iVar7 != 0xe" identifier != number_literal) )) (goto_statement "goto LAB_0026f754;" goto statement_identifier ;)) (expression_statement "iVar7 = piVar1[2];" (assignment_expression "iVar7 = piVar1[2]" identifier = (subscript_expression "piVar1[2]" identifier [ number_literal ])) ;) (expression_statement "uVar12 = piVar1[3];" (assignment_expression "uVar12 = piVar1[3]" identifier = (subscript_expression "piVar1[3]" identifier [ number_literal ])) ;) (if_statement "if ((in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))))\n          goto LAB_0026f7f8;" if (parenthesized_expression "((in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))))" ( (binary_expression "(in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12)))" (parenthesized_expression "(in_stack_00000018 <= iVar7)" ( (binary_expression "in_stack_00000018 <= iVar7" identifier <= identifier) )) && (parenthesized_expression "((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12)))" ( (parenthesized_expression "(puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))" ( (comma_expression "puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12)" (assignment_expression "puVar4 = puVar3" identifier = identifier) , (binary_expression "in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12)" (binary_expression "in_stack_00000018 != iVar7" identifier != identifier) || (parenthesized_expression "(in_stack_0000001c <= uVar12)" ( (binary_expression "in_stack_0000001c <= uVar12" identifier <= identifier) )))) )) ))) )) (goto_statement "goto LAB_0026f7f8;" goto statement_identifier ;)) (expression_statement "uVar2 = (*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12);" (assignment_expression "uVar2 = (*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12)" identifier = (call_expression "(*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12)" (parenthesized_expression "(*(code *)PTR_strlen_0043677c)" ( (pointer_expression "*(code *)PTR_strlen_0043677c" * (cast_expression "(code *)PTR_strlen_0043677c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_5._0_4_ + uVar12)" ( (binary_expression "param_5._0_4_ + uVar12" (field_expression "param_5._0_4_" identifier . field_identifier) + identifier) )))) ;) (expression_statement "(*(code *)PTR__M_replace_00432a3c)\n                    (param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2);" (call_expression "(*(code *)PTR__M_replace_00432a3c)\n                    (param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2)" (parenthesized_expression "(*(code *)PTR__M_replace_00432a3c)" ( (pointer_expression "*(code *)PTR__M_replace_00432a3c" * (cast_expression "(code *)PTR__M_replace_00432a3c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) , number_literal , (pointer_expression "*(undefined4 *)(param_1 + 0x3c)" * (cast_expression "(undefined4 *)(param_1 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3c)" ( (binary_expression "param_1 + 0x3c" identifier + number_literal) )))) , (binary_expression "param_5._0_4_ + uVar12" (field_expression "param_5._0_4_" identifier . field_identifier) + identifier) , identifier ))) ;) }))) }) (else_clause "else {\nLAB_0026f754:\n        if (*piVar1 == 0 && iVar7 == 0) {\n          return;\n        }\n      }" else (compound_statement "{\nLAB_0026f754:\n        if (*piVar1 == 0 && iVar7 == 0) {\n          return;\n        }\n      }" { (labeled_statement "LAB_0026f754:\n        if (*piVar1 == 0 && iVar7 == 0) {\n          return;\n        }" statement_identifier : (if_statement "if (*piVar1 == 0 && iVar7 == 0) {\n          return;\n        }" if (parenthesized_expression "(*piVar1 == 0 && iVar7 == 0)" ( (binary_expression "*piVar1 == 0 && iVar7 == 0" (binary_expression "*piVar1 == 0" (pointer_expression "*piVar1" * identifier) == number_literal) && (binary_expression "iVar7 == 0" identifier == number_literal)) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) }))) }))) (expression_statement "piVar1 = piVar1 + 4;" (assignment_expression "piVar1 = piVar1 + 4" identifier = (binary_expression "piVar1 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar1 < piVar9)" ( (binary_expression "piVar1 < piVar9" identifier < identifier) )) ;) })) (expression_statement "uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x1704);" (assignment_expression "uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x1704)" identifier = (call_expression "(*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x1704)" (parenthesized_expression "(*(code *)PTR_gettext_00436818)" ( (pointer_expression "*(code *)PTR_gettext_00436818" * (cast_expression "(code *)PTR_gettext_00436818" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0043226c + 0x1704)" ( (binary_expression "PTR_DAT_0043226c + 0x1704" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_error_00432a5c)(param_1,uVar2);" (call_expression "(*(code *)PTR_error_00432a5c)(param_1,uVar2)" (parenthesized_expression "(*(code *)PTR_error_00432a5c)" ( (pointer_expression "*(code *)PTR_error_00432a5c" * (cast_expression "(code *)PTR_error_00432a5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,uVar2)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "/* DWARF original prototype: void read_dynamic(Sized_dynobj<64,_true> * this, uchar * pshdrs, uint\n   dynamic_shndx, uint strtab_shndx, uchar * strtabu, off_t strtab_size) */\n\nvoid __thiscall\ngold::Sized_dynobj<64,_true>::read_dynamic\n          (Sized_dynobj<64,_true> *this,uchar *pshdrs,uint dynamic_shndx,uint strtab_shndx,\n          uchar *strtabu,off_t strtab_size)\n\n{\n  int *piVar1;\n  undefined4 uVar2;\n  Input_file *this_00;\n  undefined *puVar3;\n  undefined *puVar4;\n  int iVar5;\n  pointer pbVar6;\n  pointer pbVar7;\n  uchar *puVar8;\n  uchar *puVar9;\n  int iVar10;\n  int *piVar11;\n  uchar *puVar12;\n  undefined *puVar13;\n  size_type *unaff_s7;\n  uint uVar14;\n  _Alloc_hider local_48;\n  size_type local_44;\n  size_type local_40;\n  undefined4 local_3c;\n  undefined4 local_38;\n  undefined4 local_34;\n  uchar *local_30;\n  \n  if (*(int *)(pshdrs + dynamic_shndx * 0x40 + 4) != 6) {\n    puVar3 = PTR_s__0043226c + 0x13e0;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(puVar3,0x100,PTR_s__0043226c + 0x18bc);\n                    /* catch() { ... } // from try @ 0026f968 with catch @ 0026f9f0 */\n    if ((size_type *)local_48._M_p != unaff_s7) {\n      (*(code *)PTR_operator_delete_0043228c)(local_48._M_p);\n    }\n    (*(code *)PTR__Unwind_Resume_00432258)(puVar3);\n    return;\n  }\n  this_00 = (this->super_Dynobj).super_Object.input_file_;\n  iVar10 = *(int *)(pshdrs + dynamic_shndx * 0x40 + 0x24);\n  if (this_00 == (Input_file *)0x0) {\nLAB_0026f9c4:\n                    /* WARNING: Subroutine does not return */\n    Object::input_file((Object *)this_00);\n  }\n  piVar1 = (int *)(*(code *)PTR_get_view_0043249c)\n                            (&this_00->file_,1,\n                             *(undefined4 *)&(this->super_Dynobj).super_Object.offset_,\n                             (int)(this->super_Dynobj).super_Object.offset_,\n                             *(undefined4 *)(pshdrs + dynamic_shndx * 0x40 + 0x18),\n                             *(undefined4 *)(pshdrs + dynamic_shndx * 0x40 + 0x1c),iVar10,1,0);\n  uVar14 = *(uint *)(pshdrs + dynamic_shndx * 0x40 + 0x28);\n  if (0xfeff < uVar14) {\n    (*(code *)PTR_initialize_shnum_00432a8c)(&this->elf_file_);\n    uVar14 = uVar14 + (this->elf_file_).large_shndx_offset_;\n  }\n  if (uVar14 != strtab_shndx) {\n    iVar5 = uVar14 * 0x40;\n    if (uVar14 < (this->super_Dynobj).super_Object.shnum_) {\n      if (*(int *)(pshdrs + iVar5 + 4) == 3) {\n        this_00 = (this->super_Dynobj).super_Object.input_file_;\n        strtab_size = *(off_t *)(pshdrs + iVar5 + 0x20);\n        if (this_00 == (Input_file *)0x0) goto LAB_0026f9c4;\n        strtabu = (uchar *)(*(code *)PTR_get_view_0043249c)\n                                     (&this_00->file_,iVar5,\n                                      *(undefined4 *)&(this->super_Dynobj).super_Object.offset_,\n                                      (int)(this->super_Dynobj).super_Object.offset_,\n                                      *(undefined4 *)(pshdrs + iVar5 + 0x18),\n                                      *(undefined4 *)(pshdrs + iVar5 + 0x1c),\n                                      *(undefined4 *)(pshdrs + iVar5 + 0x24),0,0);\n        goto LAB_0026f724;\n      }\n      puVar3 = PTR_s__0043226c + 0x1680;\n    }\n    else {\n      puVar3 = PTR_s__0043226c + 0x1654;\n    }\n    uVar2 = (*(code *)PTR_gettext_00436818)(puVar3);\n    (*(code *)PTR_error_00432a5c)(this,uVar2,dynamic_shndx,uVar14);\n    return;\n  }\nLAB_0026f724:\n  puVar12 = (uchar *)((ulonglong)strtab_size >> 0x20);\n  piVar11 = (int *)((int)piVar1 + iVar10);\n  if (piVar1 < piVar11) {\n    puVar13 = PTR_s__0043226c + 0x16d8;\n    puVar3 = PTR_s__0043226c + 0x16ac;\n    do {\n      iVar10 = piVar1[1];\n      if (*piVar1 == 0) {\n        if (iVar10 == 1) {\n          puVar8 = (uchar *)piVar1[2];\n          uVar14 = piVar1[3];\n          if (((int)puVar8 < (int)puVar12) ||\n             ((puVar4 = puVar13, puVar12 == puVar8 && (uVar14 < (uint)strtab_size)))) {\n            puVar8 = strtabu + uVar14;\n            local_48._M_p = (pointer)&local_40;\n            if (puVar8 == (uchar *)0x0) {\n              puVar9 = (uchar *)0xffffffff;\n            }\n            else {\n              local_30 = puVar8;\n              iVar10 = (*(code *)PTR_strlen_0043677c)(puVar8);\n              puVar9 = local_30 + iVar10;\n              puVar8 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,puVar8,puVar9,0);\n            pbVar6 = (this->super_Dynobj).needed_.\n                     super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                     ._M_impl._M_finish;\n            if (pbVar6 == (this->super_Dynobj).needed_.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_end_of_storage) {\n                    /* try { // try from 0026f968 to 0026f96f has its CatchHandler @ 0026f9f0 */\n              (*(code *)\n                PTR__M_realloc_insert<std___cxx11_basic_string<char,_std_char_traits<char>,_std_allocator<char>_>_>_00432c54\n              )(&(this->super_Dynobj).needed_,pbVar6,&local_48);\n              if ((size_type *)local_48._M_p != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              (pbVar6->_M_dataplus)._M_p = (pointer)&pbVar6->field_2;\n              if ((size_type *)local_48._M_p == &local_40) {\n                (pbVar6->field_2)._M_allocated_capacity = local_40;\n                *(undefined4 *)((int)&pbVar6->field_2 + 4) = local_3c;\n                *(undefined4 *)((int)&pbVar6->field_2 + 8) = local_38;\n                *(undefined4 *)((int)&pbVar6->field_2 + 0xc) = local_34;\n                pbVar7 = (this->super_Dynobj).needed_.\n                         super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                         ._M_impl._M_finish;\n              }\n              else {\n                (pbVar6->_M_dataplus)._M_p = local_48._M_p;\n                (pbVar6->field_2)._M_allocated_capacity = local_40;\n                pbVar7 = pbVar6;\n              }\n              pbVar6->_M_string_length = local_44;\n              (this->super_Dynobj).needed_.\n              super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              ._M_impl._M_finish = pbVar7 + 1;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = puVar8;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)(this,uVar2,local_30,uVar14,strtab_size);\n          }\n        }\n        else {\n          if (iVar10 != 0xe) goto LAB_0026f754;\n          puVar8 = (uchar *)piVar1[2];\n          uVar14 = piVar1[3];\n          if (((int)puVar12 <= (int)puVar8) &&\n             ((puVar4 = puVar3, puVar12 != puVar8 || ((uint)strtab_size <= uVar14))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(strtabu + uVar14);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (&(this->super_Dynobj).soname_,0,(this->super_Dynobj).soname_._M_string_length,\n                     strtabu + uVar14,uVar2);\n        }\n      }\n      else {\nLAB_0026f754:\n        if (*piVar1 == 0 && iVar10 == 0) {\n          return;\n        }\n      }\n      piVar1 = piVar1 + 4;\n    } while (piVar1 < piVar11);\n  }\n  uVar2 = (*(code *)PTR_gettext_00436818)(PTR_s__0043226c + 0x1704);\n  (*(code *)PTR_error_00432a5c)(this,uVar2);\n  return;\n}\n\n" comment (declaration "void __thiscall\ngold::Sized_dynobj<64,_true>::read_dynamic\n          (Sized_dynobj<64,_true> *this,uchar *pshdrs,uint dynamic_shndx,uint strtab_shndx,\n          uchar *strtabu,off_t strtab_size)\n\n{\n  int *piVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "_true>::read_dynamic\n          (Sized_dynobj<64,_true> *this,uchar *pshdrs,uint dynamic_shndx,uint strtab_shndx,\n          uchar *strtabu,off_t strtab_size)\n\n{\n  int" identifier > : : (function_declarator "read_dynamic\n          (Sized_dynobj<64,_true> *this,uchar *pshdrs,uint dynamic_shndx,uint strtab_shndx,\n          uchar *strtabu,off_t strtab_size)" identifier (parameter_list "(Sized_dynobj<64,_true> *this,uchar *pshdrs,uint dynamic_shndx,uint strtab_shndx,\n          uchar *strtabu,off_t strtab_size)" ( (parameter_declaration "Sized_dynobj" type_identifier) (ERROR "<64" < number_literal) , (parameter_declaration "_true> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "uchar *pshdrs" type_identifier (pointer_declarator "*pshdrs" * identifier)) , (parameter_declaration "uint dynamic_shndx" type_identifier identifier) , (parameter_declaration "uint strtab_shndx" type_identifier identifier) , (parameter_declaration "uchar *strtabu" type_identifier (pointer_declarator "*strtabu" * identifier)) , (parameter_declaration "off_t strtab_size" type_identifier identifier) ))) { primitive_type) (pointer_declarator "*piVar1" * identifier) ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "Input_file *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "pointer pbVar6;" type_identifier identifier ;) (declaration "pointer pbVar7;" type_identifier identifier ;) (declaration "uchar *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "uchar *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "uchar *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "size_type *unaff_s7;" type_identifier (pointer_declarator "*unaff_s7" * identifier) ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "_Alloc_hider local_48;" type_identifier identifier ;) (declaration "size_type local_44;" type_identifier identifier ;) (declaration "size_type local_40;" type_identifier identifier ;) (declaration "undefined4 local_3c;" type_identifier identifier ;) (declaration "undefined4 local_38;" type_identifier identifier ;) (declaration "undefined4 local_34;" type_identifier identifier ;) (declaration "uchar *local_30;" type_identifier (pointer_declarator "*local_30" * identifier) ;) (if_statement "if (*(int *)(pshdrs + dynamic_shndx * 0x40 + 4) != 6) {\n    puVar3 = PTR_s__0043226c + 0x13e0;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(puVar3,0x100,PTR_s__0043226c + 0x18bc);\n                    /* catch() { ... } // from try @ 0026f968 with catch @ 0026f9f0 */\n    if ((size_type *)local_48._M_p != unaff_s7) {\n      (*(code *)PTR_operator_delete_0043228c)(local_48._M_p);\n    }\n    (*(code *)PTR__Unwind_Resume_00432258)(puVar3);\n    return;\n  }" if (parenthesized_expression "(*(int *)(pshdrs + dynamic_shndx * 0x40 + 4) != 6)" ( (binary_expression "*(int *)(pshdrs + dynamic_shndx * 0x40 + 4) != 6" (pointer_expression "*(int *)(pshdrs + dynamic_shndx * 0x40 + 4)" * (cast_expression "(int *)(pshdrs + dynamic_shndx * 0x40 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pshdrs + dynamic_shndx * 0x40 + 4)" ( (binary_expression "pshdrs + dynamic_shndx * 0x40 + 4" (binary_expression "pshdrs + dynamic_shndx * 0x40" identifier + (binary_expression "dynamic_shndx * 0x40" identifier * number_literal)) + number_literal) )))) != number_literal) )) (compound_statement "{\n    puVar3 = PTR_s__0043226c + 0x13e0;\n    (*(code *)PTR_do_gold_unreachable_004323c4)(puVar3,0x100,PTR_s__0043226c + 0x18bc);\n                    /* catch() { ... } // from try @ 0026f968 with catch @ 0026f9f0 */\n    if ((size_type *)local_48._M_p != unaff_s7) {\n      (*(code *)PTR_operator_delete_0043228c)(local_48._M_p);\n    }\n    (*(code *)PTR__Unwind_Resume_00432258)(puVar3);\n    return;\n  }" { (expression_statement "puVar3 = PTR_s__0043226c + 0x13e0;" (assignment_expression "puVar3 = PTR_s__0043226c + 0x13e0" identifier = (binary_expression "PTR_s__0043226c + 0x13e0" identifier + number_literal)) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)(puVar3,0x100,PTR_s__0043226c + 0x18bc);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)(puVar3,0x100,PTR_s__0043226c + 0x18bc)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3,0x100,PTR_s__0043226c + 0x18bc)" ( identifier , number_literal , (binary_expression "PTR_s__0043226c + 0x18bc" identifier + number_literal) ))) ;) comment (if_statement "if ((size_type *)local_48._M_p != unaff_s7) {\n      (*(code *)PTR_operator_delete_0043228c)(local_48._M_p);\n    }" if (parenthesized_expression "((size_type *)local_48._M_p != unaff_s7)" ( (binary_expression "(size_type *)local_48._M_p != unaff_s7" (cast_expression "(size_type *)local_48._M_p" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_48._M_p" identifier . field_identifier)) != identifier) )) (compound_statement "{\n      (*(code *)PTR_operator_delete_0043228c)(local_48._M_p);\n    }" { (expression_statement "(*(code *)PTR_operator_delete_0043228c)(local_48._M_p);" (call_expression "(*(code *)PTR_operator_delete_0043228c)(local_48._M_p)" (parenthesized_expression "(*(code *)PTR_operator_delete_0043228c)" ( (pointer_expression "*(code *)PTR_operator_delete_0043228c" * (cast_expression "(code *)PTR_operator_delete_0043228c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(local_48._M_p)" ( (field_expression "local_48._M_p" identifier . field_identifier) ))) ;) })) (expression_statement "(*(code *)PTR__Unwind_Resume_00432258)(puVar3);" (call_expression "(*(code *)PTR__Unwind_Resume_00432258)(puVar3)" (parenthesized_expression "(*(code *)PTR__Unwind_Resume_00432258)" ( (pointer_expression "*(code *)PTR__Unwind_Resume_00432258" * (cast_expression "(code *)PTR__Unwind_Resume_00432258" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3)" ( identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "this_00 = (this->super_Dynobj).super_Object.input_file_;" (assignment_expression "this_00 = (this->super_Dynobj).super_Object.input_file_" identifier = (field_expression "(this->super_Dynobj).super_Object.input_file_" (field_expression "(this->super_Dynobj).super_Object" (parenthesized_expression "(this->super_Dynobj)" ( (field_expression "this->super_Dynobj" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "iVar10 = *(int *)(pshdrs + dynamic_shndx * 0x40 + 0x24);" (assignment_expression "iVar10 = *(int *)(pshdrs + dynamic_shndx * 0x40 + 0x24)" identifier = (pointer_expression "*(int *)(pshdrs + dynamic_shndx * 0x40 + 0x24)" * (cast_expression "(int *)(pshdrs + dynamic_shndx * 0x40 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pshdrs + dynamic_shndx * 0x40 + 0x24)" ( (binary_expression "pshdrs + dynamic_shndx * 0x40 + 0x24" (binary_expression "pshdrs + dynamic_shndx * 0x40" identifier + (binary_expression "dynamic_shndx * 0x40" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (this_00 == (Input_file *)0x0) {\nLAB_0026f9c4:\n                    /* WARNING: Subroutine does not return */\n    Object::input_file((Object *)this_00);\n  }" if (parenthesized_expression "(this_00 == (Input_file *)0x0)" ( (binary_expression "this_00 == (Input_file *)0x0" identifier == (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0026f9c4:\n                    /* WARNING: Subroutine does not return */\n    Object::input_file((Object *)this_00);\n  }" { (labeled_statement "LAB_0026f9c4:\n                    /* WARNING: Subroutine does not return */\n    Object::input_file((Object *)this_00);" statement_identifier : comment (labeled_statement "Object::input_file((Object *)this_00);" statement_identifier : (ERROR ":" :) (expression_statement "input_file((Object *)this_00);" (call_expression "input_file((Object *)this_00)" identifier (argument_list "((Object *)this_00)" ( (cast_expression "(Object *)this_00" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;))) })) (expression_statement "piVar1 = (int *)(*(code *)PTR_get_view_0043249c)\n                            (&this_00->file_,1,\n                             *(undefined4 *)&(this->super_Dynobj).super_Object.offset_,\n                             (int)(this->super_Dynobj).super_Object.offset_,\n                             *(undefined4 *)(pshdrs + dynamic_shndx * 0x40 + 0x18),\n                             *(undefined4 *)(pshdrs + dynamic_shndx * 0x40 + 0x1c),iVar10,1,0);" (assignment_expression "piVar1 = (int *)(*(code *)PTR_get_view_0043249c)\n                            (&this_00->file_,1,\n                             *(undefined4 *)&(this->super_Dynobj).super_Object.offset_,\n                             (int)(this->super_Dynobj).super_Object.offset_,\n                             *(undefined4 *)(pshdrs + dynamic_shndx * 0x40 + 0x18),\n                             *(undefined4 *)(pshdrs + dynamic_shndx * 0x40 + 0x1c),iVar10,1,0)" identifier = (cast_expression "(int *)(*(code *)PTR_get_view_0043249c)\n                            (&this_00->file_,1,\n                             *(undefined4 *)&(this->super_Dynobj).super_Object.offset_,\n                             (int)(this->super_Dynobj).super_Object.offset_,\n                             *(undefined4 *)(pshdrs + dynamic_shndx * 0x40 + 0x18),\n                             *(undefined4 *)(pshdrs + dynamic_shndx * 0x40 + 0x1c),iVar10,1,0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_get_view_0043249c)\n                            (&this_00->file_,1,\n                             *(undefined4 *)&(this->super_Dynobj).super_Object.offset_,\n                             (int)(this->super_Dynobj).super_Object.offset_,\n                             *(undefined4 *)(pshdrs + dynamic_shndx * 0x40 + 0x18),\n                             *(undefined4 *)(pshdrs + dynamic_shndx * 0x40 + 0x1c),iVar10,1,0)" (parenthesized_expression "(*(code *)PTR_get_view_0043249c)" ( (pointer_expression "*(code *)PTR_get_view_0043249c" * (cast_expression "(code *)PTR_get_view_0043249c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&this_00->file_,1,\n                             *(undefined4 *)&(this->super_Dynobj).super_Object.offset_,\n                             (int)(this->super_Dynobj).super_Object.offset_,\n                             *(undefined4 *)(pshdrs + dynamic_shndx * 0x40 + 0x18),\n                             *(undefined4 *)(pshdrs + dynamic_shndx * 0x40 + 0x1c),iVar10,1,0)" ( (pointer_expression "&this_00->file_" & (field_expression "this_00->file_" identifier -> field_identifier)) , number_literal , (pointer_expression "*(undefined4 *)&(this->super_Dynobj).super_Object.offset_" * (cast_expression "(undefined4 *)&(this->super_Dynobj).super_Object.offset_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this->super_Dynobj).super_Object.offset_" & (field_expression "(this->super_Dynobj).super_Object.offset_" (field_expression "(this->super_Dynobj).super_Object" (parenthesized_expression "(this->super_Dynobj)" ( (field_expression "this->super_Dynobj" identifier -> field_identifier) )) . field_identifier) . field_identifier)))) , (cast_expression "(int)(this->super_Dynobj).super_Object.offset_" ( (type_descriptor "int" primitive_type) ) (field_expression "(this->super_Dynobj).super_Object.offset_" (field_expression "(this->super_Dynobj).super_Object" (parenthesized_expression "(this->super_Dynobj)" ( (field_expression "this->super_Dynobj" identifier -> field_identifier) )) . field_identifier) . field_identifier)) , (pointer_expression "*(undefined4 *)(pshdrs + dynamic_shndx * 0x40 + 0x18)" * (cast_expression "(undefined4 *)(pshdrs + dynamic_shndx * 0x40 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pshdrs + dynamic_shndx * 0x40 + 0x18)" ( (binary_expression "pshdrs + dynamic_shndx * 0x40 + 0x18" (binary_expression "pshdrs + dynamic_shndx * 0x40" identifier + (binary_expression "dynamic_shndx * 0x40" identifier * number_literal)) + number_literal) )))) , (pointer_expression "*(undefined4 *)(pshdrs + dynamic_shndx * 0x40 + 0x1c)" * (cast_expression "(undefined4 *)(pshdrs + dynamic_shndx * 0x40 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pshdrs + dynamic_shndx * 0x40 + 0x1c)" ( (binary_expression "pshdrs + dynamic_shndx * 0x40 + 0x1c" (binary_expression "pshdrs + dynamic_shndx * 0x40" identifier + (binary_expression "dynamic_shndx * 0x40" identifier * number_literal)) + number_literal) )))) , identifier , number_literal , number_literal ))))) ;) (expression_statement "uVar14 = *(uint *)(pshdrs + dynamic_shndx * 0x40 + 0x28);" (assignment_expression "uVar14 = *(uint *)(pshdrs + dynamic_shndx * 0x40 + 0x28)" identifier = (pointer_expression "*(uint *)(pshdrs + dynamic_shndx * 0x40 + 0x28)" * (cast_expression "(uint *)(pshdrs + dynamic_shndx * 0x40 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pshdrs + dynamic_shndx * 0x40 + 0x28)" ( (binary_expression "pshdrs + dynamic_shndx * 0x40 + 0x28" (binary_expression "pshdrs + dynamic_shndx * 0x40" identifier + (binary_expression "dynamic_shndx * 0x40" identifier * number_literal)) + number_literal) ))))) ;) (if_statement "if (0xfeff < uVar14) {\n    (*(code *)PTR_initialize_shnum_00432a8c)(&this->elf_file_);\n    uVar14 = uVar14 + (this->elf_file_).large_shndx_offset_;\n  }" if (parenthesized_expression "(0xfeff < uVar14)" ( (binary_expression "0xfeff < uVar14" number_literal < identifier) )) (compound_statement "{\n    (*(code *)PTR_initialize_shnum_00432a8c)(&this->elf_file_);\n    uVar14 = uVar14 + (this->elf_file_).large_shndx_offset_;\n  }" { (expression_statement "(*(code *)PTR_initialize_shnum_00432a8c)(&this->elf_file_);" (call_expression "(*(code *)PTR_initialize_shnum_00432a8c)(&this->elf_file_)" (parenthesized_expression "(*(code *)PTR_initialize_shnum_00432a8c)" ( (pointer_expression "*(code *)PTR_initialize_shnum_00432a8c" * (cast_expression "(code *)PTR_initialize_shnum_00432a8c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&this->elf_file_)" ( (pointer_expression "&this->elf_file_" & (field_expression "this->elf_file_" identifier -> field_identifier)) ))) ;) (expression_statement "uVar14 = uVar14 + (this->elf_file_).large_shndx_offset_;" (assignment_expression "uVar14 = uVar14 + (this->elf_file_).large_shndx_offset_" identifier = (binary_expression "uVar14 + (this->elf_file_).large_shndx_offset_" identifier + (field_expression "(this->elf_file_).large_shndx_offset_" (parenthesized_expression "(this->elf_file_)" ( (field_expression "this->elf_file_" identifier -> field_identifier) )) . field_identifier))) ;) })) (if_statement "if (uVar14 != strtab_shndx) {\n    iVar5 = uVar14 * 0x40;\n    if (uVar14 < (this->super_Dynobj).super_Object.shnum_) {\n      if (*(int *)(pshdrs + iVar5 + 4) == 3) {\n        this_00 = (this->super_Dynobj).super_Object.input_file_;\n        strtab_size = *(off_t *)(pshdrs + iVar5 + 0x20);\n        if (this_00 == (Input_file *)0x0) goto LAB_0026f9c4;\n        strtabu = (uchar *)(*(code *)PTR_get_view_0043249c)\n                                     (&this_00->file_,iVar5,\n                                      *(undefined4 *)&(this->super_Dynobj).super_Object.offset_,\n                                      (int)(this->super_Dynobj).super_Object.offset_,\n                                      *(undefined4 *)(pshdrs + iVar5 + 0x18),\n                                      *(undefined4 *)(pshdrs + iVar5 + 0x1c),\n                                      *(undefined4 *)(pshdrs + iVar5 + 0x24),0,0);\n        goto LAB_0026f724;\n      }\n      puVar3 = PTR_s__0043226c + 0x1680;\n    }\n    else {\n      puVar3 = PTR_s__0043226c + 0x1654;\n    }\n    uVar2 = (*(code *)PTR_gettext_00436818)(puVar3);\n    (*(code *)PTR_error_00432a5c)(this,uVar2,dynamic_shndx,uVar14);\n    return;\n  }" if (parenthesized_expression "(uVar14 != strtab_shndx)" ( (binary_expression "uVar14 != strtab_shndx" identifier != identifier) )) (compound_statement "{\n    iVar5 = uVar14 * 0x40;\n    if (uVar14 < (this->super_Dynobj).super_Object.shnum_) {\n      if (*(int *)(pshdrs + iVar5 + 4) == 3) {\n        this_00 = (this->super_Dynobj).super_Object.input_file_;\n        strtab_size = *(off_t *)(pshdrs + iVar5 + 0x20);\n        if (this_00 == (Input_file *)0x0) goto LAB_0026f9c4;\n        strtabu = (uchar *)(*(code *)PTR_get_view_0043249c)\n                                     (&this_00->file_,iVar5,\n                                      *(undefined4 *)&(this->super_Dynobj).super_Object.offset_,\n                                      (int)(this->super_Dynobj).super_Object.offset_,\n                                      *(undefined4 *)(pshdrs + iVar5 + 0x18),\n                                      *(undefined4 *)(pshdrs + iVar5 + 0x1c),\n                                      *(undefined4 *)(pshdrs + iVar5 + 0x24),0,0);\n        goto LAB_0026f724;\n      }\n      puVar3 = PTR_s__0043226c + 0x1680;\n    }\n    else {\n      puVar3 = PTR_s__0043226c + 0x1654;\n    }\n    uVar2 = (*(code *)PTR_gettext_00436818)(puVar3);\n    (*(code *)PTR_error_00432a5c)(this,uVar2,dynamic_shndx,uVar14);\n    return;\n  }" { (expression_statement "iVar5 = uVar14 * 0x40;" (assignment_expression "iVar5 = uVar14 * 0x40" identifier = (binary_expression "uVar14 * 0x40" identifier * number_literal)) ;) (if_statement "if (uVar14 < (this->super_Dynobj).super_Object.shnum_) {\n      if (*(int *)(pshdrs + iVar5 + 4) == 3) {\n        this_00 = (this->super_Dynobj).super_Object.input_file_;\n        strtab_size = *(off_t *)(pshdrs + iVar5 + 0x20);\n        if (this_00 == (Input_file *)0x0) goto LAB_0026f9c4;\n        strtabu = (uchar *)(*(code *)PTR_get_view_0043249c)\n                                     (&this_00->file_,iVar5,\n                                      *(undefined4 *)&(this->super_Dynobj).super_Object.offset_,\n                                      (int)(this->super_Dynobj).super_Object.offset_,\n                                      *(undefined4 *)(pshdrs + iVar5 + 0x18),\n                                      *(undefined4 *)(pshdrs + iVar5 + 0x1c),\n                                      *(undefined4 *)(pshdrs + iVar5 + 0x24),0,0);\n        goto LAB_0026f724;\n      }\n      puVar3 = PTR_s__0043226c + 0x1680;\n    }\n    else {\n      puVar3 = PTR_s__0043226c + 0x1654;\n    }" if (parenthesized_expression "(uVar14 < (this->super_Dynobj).super_Object.shnum_)" ( (binary_expression "uVar14 < (this->super_Dynobj).super_Object.shnum_" identifier < (field_expression "(this->super_Dynobj).super_Object.shnum_" (field_expression "(this->super_Dynobj).super_Object" (parenthesized_expression "(this->super_Dynobj)" ( (field_expression "this->super_Dynobj" identifier -> field_identifier) )) . field_identifier) . field_identifier)) )) (compound_statement "{\n      if (*(int *)(pshdrs + iVar5 + 4) == 3) {\n        this_00 = (this->super_Dynobj).super_Object.input_file_;\n        strtab_size = *(off_t *)(pshdrs + iVar5 + 0x20);\n        if (this_00 == (Input_file *)0x0) goto LAB_0026f9c4;\n        strtabu = (uchar *)(*(code *)PTR_get_view_0043249c)\n                                     (&this_00->file_,iVar5,\n                                      *(undefined4 *)&(this->super_Dynobj).super_Object.offset_,\n                                      (int)(this->super_Dynobj).super_Object.offset_,\n                                      *(undefined4 *)(pshdrs + iVar5 + 0x18),\n                                      *(undefined4 *)(pshdrs + iVar5 + 0x1c),\n                                      *(undefined4 *)(pshdrs + iVar5 + 0x24),0,0);\n        goto LAB_0026f724;\n      }\n      puVar3 = PTR_s__0043226c + 0x1680;\n    }" { (if_statement "if (*(int *)(pshdrs + iVar5 + 4) == 3) {\n        this_00 = (this->super_Dynobj).super_Object.input_file_;\n        strtab_size = *(off_t *)(pshdrs + iVar5 + 0x20);\n        if (this_00 == (Input_file *)0x0) goto LAB_0026f9c4;\n        strtabu = (uchar *)(*(code *)PTR_get_view_0043249c)\n                                     (&this_00->file_,iVar5,\n                                      *(undefined4 *)&(this->super_Dynobj).super_Object.offset_,\n                                      (int)(this->super_Dynobj).super_Object.offset_,\n                                      *(undefined4 *)(pshdrs + iVar5 + 0x18),\n                                      *(undefined4 *)(pshdrs + iVar5 + 0x1c),\n                                      *(undefined4 *)(pshdrs + iVar5 + 0x24),0,0);\n        goto LAB_0026f724;\n      }" if (parenthesized_expression "(*(int *)(pshdrs + iVar5 + 4) == 3)" ( (binary_expression "*(int *)(pshdrs + iVar5 + 4) == 3" (pointer_expression "*(int *)(pshdrs + iVar5 + 4)" * (cast_expression "(int *)(pshdrs + iVar5 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pshdrs + iVar5 + 4)" ( (binary_expression "pshdrs + iVar5 + 4" (binary_expression "pshdrs + iVar5" identifier + identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n        this_00 = (this->super_Dynobj).super_Object.input_file_;\n        strtab_size = *(off_t *)(pshdrs + iVar5 + 0x20);\n        if (this_00 == (Input_file *)0x0) goto LAB_0026f9c4;\n        strtabu = (uchar *)(*(code *)PTR_get_view_0043249c)\n                                     (&this_00->file_,iVar5,\n                                      *(undefined4 *)&(this->super_Dynobj).super_Object.offset_,\n                                      (int)(this->super_Dynobj).super_Object.offset_,\n                                      *(undefined4 *)(pshdrs + iVar5 + 0x18),\n                                      *(undefined4 *)(pshdrs + iVar5 + 0x1c),\n                                      *(undefined4 *)(pshdrs + iVar5 + 0x24),0,0);\n        goto LAB_0026f724;\n      }" { (expression_statement "this_00 = (this->super_Dynobj).super_Object.input_file_;" (assignment_expression "this_00 = (this->super_Dynobj).super_Object.input_file_" identifier = (field_expression "(this->super_Dynobj).super_Object.input_file_" (field_expression "(this->super_Dynobj).super_Object" (parenthesized_expression "(this->super_Dynobj)" ( (field_expression "this->super_Dynobj" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "strtab_size = *(off_t *)(pshdrs + iVar5 + 0x20);" (assignment_expression "strtab_size = *(off_t *)(pshdrs + iVar5 + 0x20)" identifier = (pointer_expression "*(off_t *)(pshdrs + iVar5 + 0x20)" * (cast_expression "(off_t *)(pshdrs + iVar5 + 0x20)" ( (type_descriptor "off_t *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pshdrs + iVar5 + 0x20)" ( (binary_expression "pshdrs + iVar5 + 0x20" (binary_expression "pshdrs + iVar5" identifier + identifier) + number_literal) ))))) ;) (if_statement "if (this_00 == (Input_file *)0x0) goto LAB_0026f9c4;" if (parenthesized_expression "(this_00 == (Input_file *)0x0)" ( (binary_expression "this_00 == (Input_file *)0x0" identifier == (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_0026f9c4;" goto statement_identifier ;)) (expression_statement "strtabu = (uchar *)(*(code *)PTR_get_view_0043249c)\n                                     (&this_00->file_,iVar5,\n                                      *(undefined4 *)&(this->super_Dynobj).super_Object.offset_,\n                                      (int)(this->super_Dynobj).super_Object.offset_,\n                                      *(undefined4 *)(pshdrs + iVar5 + 0x18),\n                                      *(undefined4 *)(pshdrs + iVar5 + 0x1c),\n                                      *(undefined4 *)(pshdrs + iVar5 + 0x24),0,0);" (assignment_expression "strtabu = (uchar *)(*(code *)PTR_get_view_0043249c)\n                                     (&this_00->file_,iVar5,\n                                      *(undefined4 *)&(this->super_Dynobj).super_Object.offset_,\n                                      (int)(this->super_Dynobj).super_Object.offset_,\n                                      *(undefined4 *)(pshdrs + iVar5 + 0x18),\n                                      *(undefined4 *)(pshdrs + iVar5 + 0x1c),\n                                      *(undefined4 *)(pshdrs + iVar5 + 0x24),0,0)" identifier = (cast_expression "(uchar *)(*(code *)PTR_get_view_0043249c)\n                                     (&this_00->file_,iVar5,\n                                      *(undefined4 *)&(this->super_Dynobj).super_Object.offset_,\n                                      (int)(this->super_Dynobj).super_Object.offset_,\n                                      *(undefined4 *)(pshdrs + iVar5 + 0x18),\n                                      *(undefined4 *)(pshdrs + iVar5 + 0x1c),\n                                      *(undefined4 *)(pshdrs + iVar5 + 0x24),0,0)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_get_view_0043249c)\n                                     (&this_00->file_,iVar5,\n                                      *(undefined4 *)&(this->super_Dynobj).super_Object.offset_,\n                                      (int)(this->super_Dynobj).super_Object.offset_,\n                                      *(undefined4 *)(pshdrs + iVar5 + 0x18),\n                                      *(undefined4 *)(pshdrs + iVar5 + 0x1c),\n                                      *(undefined4 *)(pshdrs + iVar5 + 0x24),0,0)" (parenthesized_expression "(*(code *)PTR_get_view_0043249c)" ( (pointer_expression "*(code *)PTR_get_view_0043249c" * (cast_expression "(code *)PTR_get_view_0043249c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&this_00->file_,iVar5,\n                                      *(undefined4 *)&(this->super_Dynobj).super_Object.offset_,\n                                      (int)(this->super_Dynobj).super_Object.offset_,\n                                      *(undefined4 *)(pshdrs + iVar5 + 0x18),\n                                      *(undefined4 *)(pshdrs + iVar5 + 0x1c),\n                                      *(undefined4 *)(pshdrs + iVar5 + 0x24),0,0)" ( (pointer_expression "&this_00->file_" & (field_expression "this_00->file_" identifier -> field_identifier)) , identifier , (pointer_expression "*(undefined4 *)&(this->super_Dynobj).super_Object.offset_" * (cast_expression "(undefined4 *)&(this->super_Dynobj).super_Object.offset_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(this->super_Dynobj).super_Object.offset_" & (field_expression "(this->super_Dynobj).super_Object.offset_" (field_expression "(this->super_Dynobj).super_Object" (parenthesized_expression "(this->super_Dynobj)" ( (field_expression "this->super_Dynobj" identifier -> field_identifier) )) . field_identifier) . field_identifier)))) , (cast_expression "(int)(this->super_Dynobj).super_Object.offset_" ( (type_descriptor "int" primitive_type) ) (field_expression "(this->super_Dynobj).super_Object.offset_" (field_expression "(this->super_Dynobj).super_Object" (parenthesized_expression "(this->super_Dynobj)" ( (field_expression "this->super_Dynobj" identifier -> field_identifier) )) . field_identifier) . field_identifier)) , (pointer_expression "*(undefined4 *)(pshdrs + iVar5 + 0x18)" * (cast_expression "(undefined4 *)(pshdrs + iVar5 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pshdrs + iVar5 + 0x18)" ( (binary_expression "pshdrs + iVar5 + 0x18" (binary_expression "pshdrs + iVar5" identifier + identifier) + number_literal) )))) , (pointer_expression "*(undefined4 *)(pshdrs + iVar5 + 0x1c)" * (cast_expression "(undefined4 *)(pshdrs + iVar5 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pshdrs + iVar5 + 0x1c)" ( (binary_expression "pshdrs + iVar5 + 0x1c" (binary_expression "pshdrs + iVar5" identifier + identifier) + number_literal) )))) , (pointer_expression "*(undefined4 *)(pshdrs + iVar5 + 0x24)" * (cast_expression "(undefined4 *)(pshdrs + iVar5 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pshdrs + iVar5 + 0x24)" ( (binary_expression "pshdrs + iVar5 + 0x24" (binary_expression "pshdrs + iVar5" identifier + identifier) + number_literal) )))) , number_literal , number_literal ))))) ;) (goto_statement "goto LAB_0026f724;" goto statement_identifier ;) })) (expression_statement "puVar3 = PTR_s__0043226c + 0x1680;" (assignment_expression "puVar3 = PTR_s__0043226c + 0x1680" identifier = (binary_expression "PTR_s__0043226c + 0x1680" identifier + number_literal)) ;) }) (else_clause "else {\n      puVar3 = PTR_s__0043226c + 0x1654;\n    }" else (compound_statement "{\n      puVar3 = PTR_s__0043226c + 0x1654;\n    }" { (expression_statement "puVar3 = PTR_s__0043226c + 0x1654;" (assignment_expression "puVar3 = PTR_s__0043226c + 0x1654" identifier = (binary_expression "PTR_s__0043226c + 0x1654" identifier + number_literal)) ;) }))) (expression_statement "uVar2 = (*(code *)PTR_gettext_00436818)(puVar3);" (assignment_expression "uVar2 = (*(code *)PTR_gettext_00436818)(puVar3)" identifier = (call_expression "(*(code *)PTR_gettext_00436818)(puVar3)" (parenthesized_expression "(*(code *)PTR_gettext_00436818)" ( (pointer_expression "*(code *)PTR_gettext_00436818" * (cast_expression "(code *)PTR_gettext_00436818" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_error_00432a5c)(this,uVar2,dynamic_shndx,uVar14);" (call_expression "(*(code *)PTR_error_00432a5c)(this,uVar2,dynamic_shndx,uVar14)" (parenthesized_expression "(*(code *)PTR_error_00432a5c)" ( (pointer_expression "*(code *)PTR_error_00432a5c" * (cast_expression "(code *)PTR_error_00432a5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(this,uVar2,dynamic_shndx,uVar14)" ( identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (labeled_statement "LAB_0026f724:\n  puVar12 = (uchar *)((ulonglong)strtab_size >> 0x20);" statement_identifier : (expression_statement "puVar12 = (uchar *)((ulonglong)strtab_size >> 0x20);" (assignment_expression "puVar12 = (uchar *)((ulonglong)strtab_size >> 0x20)" identifier = (cast_expression "(uchar *)((ulonglong)strtab_size >> 0x20)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)strtab_size >> 0x20)" ( (binary_expression "(ulonglong)strtab_size >> 0x20" (cast_expression "(ulonglong)strtab_size" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;)) (expression_statement "piVar11 = (int *)((int)piVar1 + iVar10);" (assignment_expression "piVar11 = (int *)((int)piVar1 + iVar10)" identifier = (cast_expression "(int *)((int)piVar1 + iVar10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar1 + iVar10)" ( (binary_expression "(int)piVar1 + iVar10" (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;) (if_statement "if (piVar1 < piVar11) {\n    puVar13 = PTR_s__0043226c + 0x16d8;\n    puVar3 = PTR_s__0043226c + 0x16ac;\n    do {\n      iVar10 = piVar1[1];\n      if (*piVar1 == 0) {\n        if (iVar10 == 1) {\n          puVar8 = (uchar *)piVar1[2];\n          uVar14 = piVar1[3];\n          if (((int)puVar8 < (int)puVar12) ||\n             ((puVar4 = puVar13, puVar12 == puVar8 && (uVar14 < (uint)strtab_size)))) {\n            puVar8 = strtabu + uVar14;\n            local_48._M_p = (pointer)&local_40;\n            if (puVar8 == (uchar *)0x0) {\n              puVar9 = (uchar *)0xffffffff;\n            }\n            else {\n              local_30 = puVar8;\n              iVar10 = (*(code *)PTR_strlen_0043677c)(puVar8);\n              puVar9 = local_30 + iVar10;\n              puVar8 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,puVar8,puVar9,0);\n            pbVar6 = (this->super_Dynobj).needed_.\n                     super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                     ._M_impl._M_finish;\n            if (pbVar6 == (this->super_Dynobj).needed_.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_end_of_storage) {\n                    /* try { // try from 0026f968 to 0026f96f has its CatchHandler @ 0026f9f0 */\n              (*(code *)\n                PTR__M_realloc_insert<std___cxx11_basic_string<char,_std_char_traits<char>,_std_allocator<char>_>_>_00432c54\n              )(&(this->super_Dynobj).needed_,pbVar6,&local_48);\n              if ((size_type *)local_48._M_p != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              (pbVar6->_M_dataplus)._M_p = (pointer)&pbVar6->field_2;\n              if ((size_type *)local_48._M_p == &local_40) {\n                (pbVar6->field_2)._M_allocated_capacity = local_40;\n                *(undefined4 *)((int)&pbVar6->field_2 + 4) = local_3c;\n                *(undefined4 *)((int)&pbVar6->field_2 + 8) = local_38;\n                *(undefined4 *)((int)&pbVar6->field_2 + 0xc) = local_34;\n                pbVar7 = (this->super_Dynobj).needed_.\n                         super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                         ._M_impl._M_finish;\n              }\n              else {\n                (pbVar6->_M_dataplus)._M_p = local_48._M_p;\n                (pbVar6->field_2)._M_allocated_capacity = local_40;\n                pbVar7 = pbVar6;\n              }\n              pbVar6->_M_string_length = local_44;\n              (this->super_Dynobj).needed_.\n              super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              ._M_impl._M_finish = pbVar7 + 1;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = puVar8;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)(this,uVar2,local_30,uVar14,strtab_size);\n          }\n        }\n        else {\n          if (iVar10 != 0xe) goto LAB_0026f754;\n          puVar8 = (uchar *)piVar1[2];\n          uVar14 = piVar1[3];\n          if (((int)puVar12 <= (int)puVar8) &&\n             ((puVar4 = puVar3, puVar12 != puVar8 || ((uint)strtab_size <= uVar14))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(strtabu + uVar14);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (&(this->super_Dynobj).soname_,0,(this->super_Dynobj).soname_._M_string_length,\n                     strtabu + uVar14,uVar2);\n        }\n      }\n      else {\nLAB_0026f754:\n        if (*piVar1 == 0 && iVar10 == 0) {\n          return;\n        }\n      }\n      piVar1 = piVar1 + 4;\n    } while (piVar1 < piVar11);\n  }" if (parenthesized_expression "(piVar1 < piVar11)" ( (binary_expression "piVar1 < piVar11" identifier < identifier) )) (compound_statement "{\n    puVar13 = PTR_s__0043226c + 0x16d8;\n    puVar3 = PTR_s__0043226c + 0x16ac;\n    do {\n      iVar10 = piVar1[1];\n      if (*piVar1 == 0) {\n        if (iVar10 == 1) {\n          puVar8 = (uchar *)piVar1[2];\n          uVar14 = piVar1[3];\n          if (((int)puVar8 < (int)puVar12) ||\n             ((puVar4 = puVar13, puVar12 == puVar8 && (uVar14 < (uint)strtab_size)))) {\n            puVar8 = strtabu + uVar14;\n            local_48._M_p = (pointer)&local_40;\n            if (puVar8 == (uchar *)0x0) {\n              puVar9 = (uchar *)0xffffffff;\n            }\n            else {\n              local_30 = puVar8;\n              iVar10 = (*(code *)PTR_strlen_0043677c)(puVar8);\n              puVar9 = local_30 + iVar10;\n              puVar8 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,puVar8,puVar9,0);\n            pbVar6 = (this->super_Dynobj).needed_.\n                     super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                     ._M_impl._M_finish;\n            if (pbVar6 == (this->super_Dynobj).needed_.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_end_of_storage) {\n                    /* try { // try from 0026f968 to 0026f96f has its CatchHandler @ 0026f9f0 */\n              (*(code *)\n                PTR__M_realloc_insert<std___cxx11_basic_string<char,_std_char_traits<char>,_std_allocator<char>_>_>_00432c54\n              )(&(this->super_Dynobj).needed_,pbVar6,&local_48);\n              if ((size_type *)local_48._M_p != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              (pbVar6->_M_dataplus)._M_p = (pointer)&pbVar6->field_2;\n              if ((size_type *)local_48._M_p == &local_40) {\n                (pbVar6->field_2)._M_allocated_capacity = local_40;\n                *(undefined4 *)((int)&pbVar6->field_2 + 4) = local_3c;\n                *(undefined4 *)((int)&pbVar6->field_2 + 8) = local_38;\n                *(undefined4 *)((int)&pbVar6->field_2 + 0xc) = local_34;\n                pbVar7 = (this->super_Dynobj).needed_.\n                         super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                         ._M_impl._M_finish;\n              }\n              else {\n                (pbVar6->_M_dataplus)._M_p = local_48._M_p;\n                (pbVar6->field_2)._M_allocated_capacity = local_40;\n                pbVar7 = pbVar6;\n              }\n              pbVar6->_M_string_length = local_44;\n              (this->super_Dynobj).needed_.\n              super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              ._M_impl._M_finish = pbVar7 + 1;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = puVar8;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)(this,uVar2,local_30,uVar14,strtab_size);\n          }\n        }\n        else {\n          if (iVar10 != 0xe) goto LAB_0026f754;\n          puVar8 = (uchar *)piVar1[2];\n          uVar14 = piVar1[3];\n          if (((int)puVar12 <= (int)puVar8) &&\n             ((puVar4 = puVar3, puVar12 != puVar8 || ((uint)strtab_size <= uVar14))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(strtabu + uVar14);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (&(this->super_Dynobj).soname_,0,(this->super_Dynobj).soname_._M_string_length,\n                     strtabu + uVar14,uVar2);\n        }\n      }\n      else {\nLAB_0026f754:\n        if (*piVar1 == 0 && iVar10 == 0) {\n          return;\n        }\n      }\n      piVar1 = piVar1 + 4;\n    } while (piVar1 < piVar11);\n  }" { (expression_statement "puVar13 = PTR_s__0043226c + 0x16d8;" (assignment_expression "puVar13 = PTR_s__0043226c + 0x16d8" identifier = (binary_expression "PTR_s__0043226c + 0x16d8" identifier + number_literal)) ;) (expression_statement "puVar3 = PTR_s__0043226c + 0x16ac;" (assignment_expression "puVar3 = PTR_s__0043226c + 0x16ac" identifier = (binary_expression "PTR_s__0043226c + 0x16ac" identifier + number_literal)) ;) (do_statement "do {\n      iVar10 = piVar1[1];\n      if (*piVar1 == 0) {\n        if (iVar10 == 1) {\n          puVar8 = (uchar *)piVar1[2];\n          uVar14 = piVar1[3];\n          if (((int)puVar8 < (int)puVar12) ||\n             ((puVar4 = puVar13, puVar12 == puVar8 && (uVar14 < (uint)strtab_size)))) {\n            puVar8 = strtabu + uVar14;\n            local_48._M_p = (pointer)&local_40;\n            if (puVar8 == (uchar *)0x0) {\n              puVar9 = (uchar *)0xffffffff;\n            }\n            else {\n              local_30 = puVar8;\n              iVar10 = (*(code *)PTR_strlen_0043677c)(puVar8);\n              puVar9 = local_30 + iVar10;\n              puVar8 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,puVar8,puVar9,0);\n            pbVar6 = (this->super_Dynobj).needed_.\n                     super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                     ._M_impl._M_finish;\n            if (pbVar6 == (this->super_Dynobj).needed_.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_end_of_storage) {\n                    /* try { // try from 0026f968 to 0026f96f has its CatchHandler @ 0026f9f0 */\n              (*(code *)\n                PTR__M_realloc_insert<std___cxx11_basic_string<char,_std_char_traits<char>,_std_allocator<char>_>_>_00432c54\n              )(&(this->super_Dynobj).needed_,pbVar6,&local_48);\n              if ((size_type *)local_48._M_p != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              (pbVar6->_M_dataplus)._M_p = (pointer)&pbVar6->field_2;\n              if ((size_type *)local_48._M_p == &local_40) {\n                (pbVar6->field_2)._M_allocated_capacity = local_40;\n                *(undefined4 *)((int)&pbVar6->field_2 + 4) = local_3c;\n                *(undefined4 *)((int)&pbVar6->field_2 + 8) = local_38;\n                *(undefined4 *)((int)&pbVar6->field_2 + 0xc) = local_34;\n                pbVar7 = (this->super_Dynobj).needed_.\n                         super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                         ._M_impl._M_finish;\n              }\n              else {\n                (pbVar6->_M_dataplus)._M_p = local_48._M_p;\n                (pbVar6->field_2)._M_allocated_capacity = local_40;\n                pbVar7 = pbVar6;\n              }\n              pbVar6->_M_string_length = local_44;\n              (this->super_Dynobj).needed_.\n              super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              ._M_impl._M_finish = pbVar7 + 1;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = puVar8;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)(this,uVar2,local_30,uVar14,strtab_size);\n          }\n        }\n        else {\n          if (iVar10 != 0xe) goto LAB_0026f754;\n          puVar8 = (uchar *)piVar1[2];\n          uVar14 = piVar1[3];\n          if (((int)puVar12 <= (int)puVar8) &&\n             ((puVar4 = puVar3, puVar12 != puVar8 || ((uint)strtab_size <= uVar14))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(strtabu + uVar14);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (&(this->super_Dynobj).soname_,0,(this->super_Dynobj).soname_._M_string_length,\n                     strtabu + uVar14,uVar2);\n        }\n      }\n      else {\nLAB_0026f754:\n        if (*piVar1 == 0 && iVar10 == 0) {\n          return;\n        }\n      }\n      piVar1 = piVar1 + 4;\n    } while (piVar1 < piVar11);" do (compound_statement "{\n      iVar10 = piVar1[1];\n      if (*piVar1 == 0) {\n        if (iVar10 == 1) {\n          puVar8 = (uchar *)piVar1[2];\n          uVar14 = piVar1[3];\n          if (((int)puVar8 < (int)puVar12) ||\n             ((puVar4 = puVar13, puVar12 == puVar8 && (uVar14 < (uint)strtab_size)))) {\n            puVar8 = strtabu + uVar14;\n            local_48._M_p = (pointer)&local_40;\n            if (puVar8 == (uchar *)0x0) {\n              puVar9 = (uchar *)0xffffffff;\n            }\n            else {\n              local_30 = puVar8;\n              iVar10 = (*(code *)PTR_strlen_0043677c)(puVar8);\n              puVar9 = local_30 + iVar10;\n              puVar8 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,puVar8,puVar9,0);\n            pbVar6 = (this->super_Dynobj).needed_.\n                     super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                     ._M_impl._M_finish;\n            if (pbVar6 == (this->super_Dynobj).needed_.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_end_of_storage) {\n                    /* try { // try from 0026f968 to 0026f96f has its CatchHandler @ 0026f9f0 */\n              (*(code *)\n                PTR__M_realloc_insert<std___cxx11_basic_string<char,_std_char_traits<char>,_std_allocator<char>_>_>_00432c54\n              )(&(this->super_Dynobj).needed_,pbVar6,&local_48);\n              if ((size_type *)local_48._M_p != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              (pbVar6->_M_dataplus)._M_p = (pointer)&pbVar6->field_2;\n              if ((size_type *)local_48._M_p == &local_40) {\n                (pbVar6->field_2)._M_allocated_capacity = local_40;\n                *(undefined4 *)((int)&pbVar6->field_2 + 4) = local_3c;\n                *(undefined4 *)((int)&pbVar6->field_2 + 8) = local_38;\n                *(undefined4 *)((int)&pbVar6->field_2 + 0xc) = local_34;\n                pbVar7 = (this->super_Dynobj).needed_.\n                         super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                         ._M_impl._M_finish;\n              }\n              else {\n                (pbVar6->_M_dataplus)._M_p = local_48._M_p;\n                (pbVar6->field_2)._M_allocated_capacity = local_40;\n                pbVar7 = pbVar6;\n              }\n              pbVar6->_M_string_length = local_44;\n              (this->super_Dynobj).needed_.\n              super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              ._M_impl._M_finish = pbVar7 + 1;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = puVar8;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)(this,uVar2,local_30,uVar14,strtab_size);\n          }\n        }\n        else {\n          if (iVar10 != 0xe) goto LAB_0026f754;\n          puVar8 = (uchar *)piVar1[2];\n          uVar14 = piVar1[3];\n          if (((int)puVar12 <= (int)puVar8) &&\n             ((puVar4 = puVar3, puVar12 != puVar8 || ((uint)strtab_size <= uVar14))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(strtabu + uVar14);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (&(this->super_Dynobj).soname_,0,(this->super_Dynobj).soname_._M_string_length,\n                     strtabu + uVar14,uVar2);\n        }\n      }\n      else {\nLAB_0026f754:\n        if (*piVar1 == 0 && iVar10 == 0) {\n          return;\n        }\n      }\n      piVar1 = piVar1 + 4;\n    }" { (expression_statement "iVar10 = piVar1[1];" (assignment_expression "iVar10 = piVar1[1]" identifier = (subscript_expression "piVar1[1]" identifier [ number_literal ])) ;) (if_statement "if (*piVar1 == 0) {\n        if (iVar10 == 1) {\n          puVar8 = (uchar *)piVar1[2];\n          uVar14 = piVar1[3];\n          if (((int)puVar8 < (int)puVar12) ||\n             ((puVar4 = puVar13, puVar12 == puVar8 && (uVar14 < (uint)strtab_size)))) {\n            puVar8 = strtabu + uVar14;\n            local_48._M_p = (pointer)&local_40;\n            if (puVar8 == (uchar *)0x0) {\n              puVar9 = (uchar *)0xffffffff;\n            }\n            else {\n              local_30 = puVar8;\n              iVar10 = (*(code *)PTR_strlen_0043677c)(puVar8);\n              puVar9 = local_30 + iVar10;\n              puVar8 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,puVar8,puVar9,0);\n            pbVar6 = (this->super_Dynobj).needed_.\n                     super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                     ._M_impl._M_finish;\n            if (pbVar6 == (this->super_Dynobj).needed_.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_end_of_storage) {\n                    /* try { // try from 0026f968 to 0026f96f has its CatchHandler @ 0026f9f0 */\n              (*(code *)\n                PTR__M_realloc_insert<std___cxx11_basic_string<char,_std_char_traits<char>,_std_allocator<char>_>_>_00432c54\n              )(&(this->super_Dynobj).needed_,pbVar6,&local_48);\n              if ((size_type *)local_48._M_p != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              (pbVar6->_M_dataplus)._M_p = (pointer)&pbVar6->field_2;\n              if ((size_type *)local_48._M_p == &local_40) {\n                (pbVar6->field_2)._M_allocated_capacity = local_40;\n                *(undefined4 *)((int)&pbVar6->field_2 + 4) = local_3c;\n                *(undefined4 *)((int)&pbVar6->field_2 + 8) = local_38;\n                *(undefined4 *)((int)&pbVar6->field_2 + 0xc) = local_34;\n                pbVar7 = (this->super_Dynobj).needed_.\n                         super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                         ._M_impl._M_finish;\n              }\n              else {\n                (pbVar6->_M_dataplus)._M_p = local_48._M_p;\n                (pbVar6->field_2)._M_allocated_capacity = local_40;\n                pbVar7 = pbVar6;\n              }\n              pbVar6->_M_string_length = local_44;\n              (this->super_Dynobj).needed_.\n              super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              ._M_impl._M_finish = pbVar7 + 1;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = puVar8;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)(this,uVar2,local_30,uVar14,strtab_size);\n          }\n        }\n        else {\n          if (iVar10 != 0xe) goto LAB_0026f754;\n          puVar8 = (uchar *)piVar1[2];\n          uVar14 = piVar1[3];\n          if (((int)puVar12 <= (int)puVar8) &&\n             ((puVar4 = puVar3, puVar12 != puVar8 || ((uint)strtab_size <= uVar14))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(strtabu + uVar14);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (&(this->super_Dynobj).soname_,0,(this->super_Dynobj).soname_._M_string_length,\n                     strtabu + uVar14,uVar2);\n        }\n      }\n      else {\nLAB_0026f754:\n        if (*piVar1 == 0 && iVar10 == 0) {\n          return;\n        }\n      }" if (parenthesized_expression "(*piVar1 == 0)" ( (binary_expression "*piVar1 == 0" (pointer_expression "*piVar1" * identifier) == number_literal) )) (compound_statement "{\n        if (iVar10 == 1) {\n          puVar8 = (uchar *)piVar1[2];\n          uVar14 = piVar1[3];\n          if (((int)puVar8 < (int)puVar12) ||\n             ((puVar4 = puVar13, puVar12 == puVar8 && (uVar14 < (uint)strtab_size)))) {\n            puVar8 = strtabu + uVar14;\n            local_48._M_p = (pointer)&local_40;\n            if (puVar8 == (uchar *)0x0) {\n              puVar9 = (uchar *)0xffffffff;\n            }\n            else {\n              local_30 = puVar8;\n              iVar10 = (*(code *)PTR_strlen_0043677c)(puVar8);\n              puVar9 = local_30 + iVar10;\n              puVar8 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,puVar8,puVar9,0);\n            pbVar6 = (this->super_Dynobj).needed_.\n                     super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                     ._M_impl._M_finish;\n            if (pbVar6 == (this->super_Dynobj).needed_.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_end_of_storage) {\n                    /* try { // try from 0026f968 to 0026f96f has its CatchHandler @ 0026f9f0 */\n              (*(code *)\n                PTR__M_realloc_insert<std___cxx11_basic_string<char,_std_char_traits<char>,_std_allocator<char>_>_>_00432c54\n              )(&(this->super_Dynobj).needed_,pbVar6,&local_48);\n              if ((size_type *)local_48._M_p != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              (pbVar6->_M_dataplus)._M_p = (pointer)&pbVar6->field_2;\n              if ((size_type *)local_48._M_p == &local_40) {\n                (pbVar6->field_2)._M_allocated_capacity = local_40;\n                *(undefined4 *)((int)&pbVar6->field_2 + 4) = local_3c;\n                *(undefined4 *)((int)&pbVar6->field_2 + 8) = local_38;\n                *(undefined4 *)((int)&pbVar6->field_2 + 0xc) = local_34;\n                pbVar7 = (this->super_Dynobj).needed_.\n                         super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                         ._M_impl._M_finish;\n              }\n              else {\n                (pbVar6->_M_dataplus)._M_p = local_48._M_p;\n                (pbVar6->field_2)._M_allocated_capacity = local_40;\n                pbVar7 = pbVar6;\n              }\n              pbVar6->_M_string_length = local_44;\n              (this->super_Dynobj).needed_.\n              super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              ._M_impl._M_finish = pbVar7 + 1;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = puVar8;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)(this,uVar2,local_30,uVar14,strtab_size);\n          }\n        }\n        else {\n          if (iVar10 != 0xe) goto LAB_0026f754;\n          puVar8 = (uchar *)piVar1[2];\n          uVar14 = piVar1[3];\n          if (((int)puVar12 <= (int)puVar8) &&\n             ((puVar4 = puVar3, puVar12 != puVar8 || ((uint)strtab_size <= uVar14))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(strtabu + uVar14);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (&(this->super_Dynobj).soname_,0,(this->super_Dynobj).soname_._M_string_length,\n                     strtabu + uVar14,uVar2);\n        }\n      }" { (if_statement "if (iVar10 == 1) {\n          puVar8 = (uchar *)piVar1[2];\n          uVar14 = piVar1[3];\n          if (((int)puVar8 < (int)puVar12) ||\n             ((puVar4 = puVar13, puVar12 == puVar8 && (uVar14 < (uint)strtab_size)))) {\n            puVar8 = strtabu + uVar14;\n            local_48._M_p = (pointer)&local_40;\n            if (puVar8 == (uchar *)0x0) {\n              puVar9 = (uchar *)0xffffffff;\n            }\n            else {\n              local_30 = puVar8;\n              iVar10 = (*(code *)PTR_strlen_0043677c)(puVar8);\n              puVar9 = local_30 + iVar10;\n              puVar8 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,puVar8,puVar9,0);\n            pbVar6 = (this->super_Dynobj).needed_.\n                     super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                     ._M_impl._M_finish;\n            if (pbVar6 == (this->super_Dynobj).needed_.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_end_of_storage) {\n                    /* try { // try from 0026f968 to 0026f96f has its CatchHandler @ 0026f9f0 */\n              (*(code *)\n                PTR__M_realloc_insert<std___cxx11_basic_string<char,_std_char_traits<char>,_std_allocator<char>_>_>_00432c54\n              )(&(this->super_Dynobj).needed_,pbVar6,&local_48);\n              if ((size_type *)local_48._M_p != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              (pbVar6->_M_dataplus)._M_p = (pointer)&pbVar6->field_2;\n              if ((size_type *)local_48._M_p == &local_40) {\n                (pbVar6->field_2)._M_allocated_capacity = local_40;\n                *(undefined4 *)((int)&pbVar6->field_2 + 4) = local_3c;\n                *(undefined4 *)((int)&pbVar6->field_2 + 8) = local_38;\n                *(undefined4 *)((int)&pbVar6->field_2 + 0xc) = local_34;\n                pbVar7 = (this->super_Dynobj).needed_.\n                         super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                         ._M_impl._M_finish;\n              }\n              else {\n                (pbVar6->_M_dataplus)._M_p = local_48._M_p;\n                (pbVar6->field_2)._M_allocated_capacity = local_40;\n                pbVar7 = pbVar6;\n              }\n              pbVar6->_M_string_length = local_44;\n              (this->super_Dynobj).needed_.\n              super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              ._M_impl._M_finish = pbVar7 + 1;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = puVar8;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)(this,uVar2,local_30,uVar14,strtab_size);\n          }\n        }\n        else {\n          if (iVar10 != 0xe) goto LAB_0026f754;\n          puVar8 = (uchar *)piVar1[2];\n          uVar14 = piVar1[3];\n          if (((int)puVar12 <= (int)puVar8) &&\n             ((puVar4 = puVar3, puVar12 != puVar8 || ((uint)strtab_size <= uVar14))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(strtabu + uVar14);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (&(this->super_Dynobj).soname_,0,(this->super_Dynobj).soname_._M_string_length,\n                     strtabu + uVar14,uVar2);\n        }" if (parenthesized_expression "(iVar10 == 1)" ( (binary_expression "iVar10 == 1" identifier == number_literal) )) (compound_statement "{\n          puVar8 = (uchar *)piVar1[2];\n          uVar14 = piVar1[3];\n          if (((int)puVar8 < (int)puVar12) ||\n             ((puVar4 = puVar13, puVar12 == puVar8 && (uVar14 < (uint)strtab_size)))) {\n            puVar8 = strtabu + uVar14;\n            local_48._M_p = (pointer)&local_40;\n            if (puVar8 == (uchar *)0x0) {\n              puVar9 = (uchar *)0xffffffff;\n            }\n            else {\n              local_30 = puVar8;\n              iVar10 = (*(code *)PTR_strlen_0043677c)(puVar8);\n              puVar9 = local_30 + iVar10;\n              puVar8 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,puVar8,puVar9,0);\n            pbVar6 = (this->super_Dynobj).needed_.\n                     super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                     ._M_impl._M_finish;\n            if (pbVar6 == (this->super_Dynobj).needed_.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_end_of_storage) {\n                    /* try { // try from 0026f968 to 0026f96f has its CatchHandler @ 0026f9f0 */\n              (*(code *)\n                PTR__M_realloc_insert<std___cxx11_basic_string<char,_std_char_traits<char>,_std_allocator<char>_>_>_00432c54\n              )(&(this->super_Dynobj).needed_,pbVar6,&local_48);\n              if ((size_type *)local_48._M_p != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              (pbVar6->_M_dataplus)._M_p = (pointer)&pbVar6->field_2;\n              if ((size_type *)local_48._M_p == &local_40) {\n                (pbVar6->field_2)._M_allocated_capacity = local_40;\n                *(undefined4 *)((int)&pbVar6->field_2 + 4) = local_3c;\n                *(undefined4 *)((int)&pbVar6->field_2 + 8) = local_38;\n                *(undefined4 *)((int)&pbVar6->field_2 + 0xc) = local_34;\n                pbVar7 = (this->super_Dynobj).needed_.\n                         super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                         ._M_impl._M_finish;\n              }\n              else {\n                (pbVar6->_M_dataplus)._M_p = local_48._M_p;\n                (pbVar6->field_2)._M_allocated_capacity = local_40;\n                pbVar7 = pbVar6;\n              }\n              pbVar6->_M_string_length = local_44;\n              (this->super_Dynobj).needed_.\n              super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              ._M_impl._M_finish = pbVar7 + 1;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = puVar8;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)(this,uVar2,local_30,uVar14,strtab_size);\n          }\n        }" { (expression_statement "puVar8 = (uchar *)piVar1[2];" (assignment_expression "puVar8 = (uchar *)piVar1[2]" identifier = (cast_expression "(uchar *)piVar1[2]" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar1[2]" identifier [ number_literal ]))) ;) (expression_statement "uVar14 = piVar1[3];" (assignment_expression "uVar14 = piVar1[3]" identifier = (subscript_expression "piVar1[3]" identifier [ number_literal ])) ;) (if_statement "if (((int)puVar8 < (int)puVar12) ||\n             ((puVar4 = puVar13, puVar12 == puVar8 && (uVar14 < (uint)strtab_size)))) {\n            puVar8 = strtabu + uVar14;\n            local_48._M_p = (pointer)&local_40;\n            if (puVar8 == (uchar *)0x0) {\n              puVar9 = (uchar *)0xffffffff;\n            }\n            else {\n              local_30 = puVar8;\n              iVar10 = (*(code *)PTR_strlen_0043677c)(puVar8);\n              puVar9 = local_30 + iVar10;\n              puVar8 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,puVar8,puVar9,0);\n            pbVar6 = (this->super_Dynobj).needed_.\n                     super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                     ._M_impl._M_finish;\n            if (pbVar6 == (this->super_Dynobj).needed_.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_end_of_storage) {\n                    /* try { // try from 0026f968 to 0026f96f has its CatchHandler @ 0026f9f0 */\n              (*(code *)\n                PTR__M_realloc_insert<std___cxx11_basic_string<char,_std_char_traits<char>,_std_allocator<char>_>_>_00432c54\n              )(&(this->super_Dynobj).needed_,pbVar6,&local_48);\n              if ((size_type *)local_48._M_p != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              (pbVar6->_M_dataplus)._M_p = (pointer)&pbVar6->field_2;\n              if ((size_type *)local_48._M_p == &local_40) {\n                (pbVar6->field_2)._M_allocated_capacity = local_40;\n                *(undefined4 *)((int)&pbVar6->field_2 + 4) = local_3c;\n                *(undefined4 *)((int)&pbVar6->field_2 + 8) = local_38;\n                *(undefined4 *)((int)&pbVar6->field_2 + 0xc) = local_34;\n                pbVar7 = (this->super_Dynobj).needed_.\n                         super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                         ._M_impl._M_finish;\n              }\n              else {\n                (pbVar6->_M_dataplus)._M_p = local_48._M_p;\n                (pbVar6->field_2)._M_allocated_capacity = local_40;\n                pbVar7 = pbVar6;\n              }\n              pbVar6->_M_string_length = local_44;\n              (this->super_Dynobj).needed_.\n              super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              ._M_impl._M_finish = pbVar7 + 1;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = puVar8;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)(this,uVar2,local_30,uVar14,strtab_size);\n          }" if (parenthesized_expression "(((int)puVar8 < (int)puVar12) ||\n             ((puVar4 = puVar13, puVar12 == puVar8 && (uVar14 < (uint)strtab_size))))" ( (binary_expression "((int)puVar8 < (int)puVar12) ||\n             ((puVar4 = puVar13, puVar12 == puVar8 && (uVar14 < (uint)strtab_size)))" (parenthesized_expression "((int)puVar8 < (int)puVar12)" ( (binary_expression "(int)puVar8 < (int)puVar12" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) < (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) || (parenthesized_expression "((puVar4 = puVar13, puVar12 == puVar8 && (uVar14 < (uint)strtab_size)))" ( (parenthesized_expression "(puVar4 = puVar13, puVar12 == puVar8 && (uVar14 < (uint)strtab_size))" ( (comma_expression "puVar4 = puVar13, puVar12 == puVar8 && (uVar14 < (uint)strtab_size)" (assignment_expression "puVar4 = puVar13" identifier = identifier) , (binary_expression "puVar12 == puVar8 && (uVar14 < (uint)strtab_size)" (binary_expression "puVar12 == puVar8" identifier == identifier) && (parenthesized_expression "(uVar14 < (uint)strtab_size)" ( (binary_expression "uVar14 < (uint)strtab_size" identifier < (cast_expression "(uint)strtab_size" ( (type_descriptor "uint" type_identifier) ) identifier)) )))) )) ))) )) (compound_statement "{\n            puVar8 = strtabu + uVar14;\n            local_48._M_p = (pointer)&local_40;\n            if (puVar8 == (uchar *)0x0) {\n              puVar9 = (uchar *)0xffffffff;\n            }\n            else {\n              local_30 = puVar8;\n              iVar10 = (*(code *)PTR_strlen_0043677c)(puVar8);\n              puVar9 = local_30 + iVar10;\n              puVar8 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,puVar8,puVar9,0);\n            pbVar6 = (this->super_Dynobj).needed_.\n                     super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                     ._M_impl._M_finish;\n            if (pbVar6 == (this->super_Dynobj).needed_.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_end_of_storage) {\n                    /* try { // try from 0026f968 to 0026f96f has its CatchHandler @ 0026f9f0 */\n              (*(code *)\n                PTR__M_realloc_insert<std___cxx11_basic_string<char,_std_char_traits<char>,_std_allocator<char>_>_>_00432c54\n              )(&(this->super_Dynobj).needed_,pbVar6,&local_48);\n              if ((size_type *)local_48._M_p != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              (pbVar6->_M_dataplus)._M_p = (pointer)&pbVar6->field_2;\n              if ((size_type *)local_48._M_p == &local_40) {\n                (pbVar6->field_2)._M_allocated_capacity = local_40;\n                *(undefined4 *)((int)&pbVar6->field_2 + 4) = local_3c;\n                *(undefined4 *)((int)&pbVar6->field_2 + 8) = local_38;\n                *(undefined4 *)((int)&pbVar6->field_2 + 0xc) = local_34;\n                pbVar7 = (this->super_Dynobj).needed_.\n                         super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                         ._M_impl._M_finish;\n              }\n              else {\n                (pbVar6->_M_dataplus)._M_p = local_48._M_p;\n                (pbVar6->field_2)._M_allocated_capacity = local_40;\n                pbVar7 = pbVar6;\n              }\n              pbVar6->_M_string_length = local_44;\n              (this->super_Dynobj).needed_.\n              super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              ._M_impl._M_finish = pbVar7 + 1;\n            }\n          }" { (expression_statement "puVar8 = strtabu + uVar14;" (assignment_expression "puVar8 = strtabu + uVar14" identifier = (binary_expression "strtabu + uVar14" identifier + identifier)) ;) (expression_statement "local_48._M_p = (pointer)&local_40;" (assignment_expression "local_48._M_p = (pointer)&local_40" (field_expression "local_48._M_p" identifier . field_identifier) = (binary_expression "(pointer)&local_40" (parenthesized_expression "(pointer)" ( identifier )) & identifier)) ;) (if_statement "if (puVar8 == (uchar *)0x0) {\n              puVar9 = (uchar *)0xffffffff;\n            }\n            else {\n              local_30 = puVar8;\n              iVar10 = (*(code *)PTR_strlen_0043677c)(puVar8);\n              puVar9 = local_30 + iVar10;\n              puVar8 = local_30;\n            }" if (parenthesized_expression "(puVar8 == (uchar *)0x0)" ( (binary_expression "puVar8 == (uchar *)0x0" identifier == (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n              puVar9 = (uchar *)0xffffffff;\n            }" { (expression_statement "puVar9 = (uchar *)0xffffffff;" (assignment_expression "puVar9 = (uchar *)0xffffffff" identifier = (cast_expression "(uchar *)0xffffffff" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) }) (else_clause "else {\n              local_30 = puVar8;\n              iVar10 = (*(code *)PTR_strlen_0043677c)(puVar8);\n              puVar9 = local_30 + iVar10;\n              puVar8 = local_30;\n            }" else (compound_statement "{\n              local_30 = puVar8;\n              iVar10 = (*(code *)PTR_strlen_0043677c)(puVar8);\n              puVar9 = local_30 + iVar10;\n              puVar8 = local_30;\n            }" { (expression_statement "local_30 = puVar8;" (assignment_expression "local_30 = puVar8" identifier = identifier) ;) (expression_statement "iVar10 = (*(code *)PTR_strlen_0043677c)(puVar8);" (assignment_expression "iVar10 = (*(code *)PTR_strlen_0043677c)(puVar8)" identifier = (call_expression "(*(code *)PTR_strlen_0043677c)(puVar8)" (parenthesized_expression "(*(code *)PTR_strlen_0043677c)" ( (pointer_expression "*(code *)PTR_strlen_0043677c" * (cast_expression "(code *)PTR_strlen_0043677c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar8)" ( identifier )))) ;) (expression_statement "puVar9 = local_30 + iVar10;" (assignment_expression "puVar9 = local_30 + iVar10" identifier = (binary_expression "local_30 + iVar10" identifier + identifier)) ;) (expression_statement "puVar8 = local_30;" (assignment_expression "puVar8 = local_30" identifier = identifier) ;) }))) (expression_statement "(*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,puVar8,puVar9,0);" (call_expression "(*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,puVar8,puVar9,0)" (parenthesized_expression "(*(code *)PTR__M_construct<char_const*>_00432488)" ( (binary_expression "*(code *)PTR__M_construct<char_const*>_00432488" (binary_expression "*(code *)PTR__M_construct<char_const" (pointer_expression "*(code *)PTR__M_construct" * (cast_expression "(code *)PTR__M_construct" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) (ERROR "*" *) > identifier) )) (argument_list "(&local_48,puVar8,puVar9,0)" ( (pointer_expression "&local_48" & identifier) , identifier , identifier , number_literal ))) ;) (ERROR "pbVar6 = (this->super_Dynobj).needed_.\n                     super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (comma_expression "pbVar6 = (this->super_Dynobj).needed_.\n                     super__Vector_base<std::__cxx11::basic_string<char,_std" (binary_expression "pbVar6 = (this->super_Dynobj).needed_.\n                     super__Vector_base<std::__cxx11::basic_string<char" (assignment_expression "pbVar6 = (this->super_Dynobj).needed_.\n                     super__Vector_base<std" identifier = (binary_expression "(this->super_Dynobj).needed_.\n                     super__Vector_base<std" (field_expression "(this->super_Dynobj).needed_.\n                     super__Vector_base" (field_expression "(this->super_Dynobj).needed_" (parenthesized_expression "(this->super_Dynobj)" ( (field_expression "this->super_Dynobj" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier)) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n                     ._M_impl._M_finish;" (field_expression "allocator<char>_>_>_>\n                     ._M_impl._M_finish" (field_expression "allocator<char>_>_>_>\n                     ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if (pbVar6 == (this->super_Dynobj).needed_.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_end_of_storage) {\n                    /* try { // try from 0026f968 to 0026f96f has its CatchHandler @ 0026f9f0 */\n              (*(code *)\n                PTR__M_realloc_insert<std___cxx11_basic_string<char,_std_char_traits<char>,_std_allocator<char>_>_>_00432c54\n              )(&(this->super_Dynobj).needed_,pbVar6,&local_48);\n              if ((size_type *)local_48._M_p != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              (pbVar6->_M_dataplus)._M_p = (pointer)&pbVar6->field_2;\n              if ((size_type *)local_48._M_p == &local_40) {\n                (pbVar6->field_2)._M_allocated_capacity = local_40;\n                *(undefined4 *)((int)&pbVar6->field_2 + 4) = local_3c;\n                *(undefined4 *)((int)&pbVar6->field_2 + 8) = local_38;\n                *(undefined4 *)((int)&pbVar6->field_2 + 0xc) = local_34;\n                pbVar7 = (this->super_Dynobj).needed_.\n                         super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                         ._M_impl._M_finish;\n              }\n              else {\n                (pbVar6->_M_dataplus)._M_p = local_48._M_p;\n                (pbVar6->field_2)._M_allocated_capacity = local_40;\n                pbVar7 = pbVar6;\n              }\n              pbVar6->_M_string_length = local_44;\n              (this->super_Dynobj).needed_.\n              super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              ._M_impl._M_finish = pbVar7 + 1;\n            }" if (parenthesized_expression "(pbVar6 == (this->super_Dynobj).needed_.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                          ._M_impl._M_end_of_storage)" ( (ERROR "pbVar6 == (this->super_Dynobj).needed_.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (comma_expression "pbVar6 == (this->super_Dynobj).needed_.\n                          super__Vector_base<std::__cxx11::basic_string<char,_std" (binary_expression "pbVar6 == (this->super_Dynobj).needed_.\n                          super__Vector_base<std::__cxx11::basic_string<char" (binary_expression "pbVar6 == (this->super_Dynobj).needed_.\n                          super__Vector_base<std" identifier == (binary_expression "(this->super_Dynobj).needed_.\n                          super__Vector_base<std" (field_expression "(this->super_Dynobj).needed_.\n                          super__Vector_base" (field_expression "(this->super_Dynobj).needed_" (parenthesized_expression "(this->super_Dynobj)" ( (field_expression "this->super_Dynobj" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier)) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : identifier : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (field_expression "allocator<char>_>_>_>\n                          ._M_impl._M_end_of_storage" (field_expression "allocator<char>_>_>_>\n                          ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) )) (compound_statement "{\n                    /* try { // try from 0026f968 to 0026f96f has its CatchHandler @ 0026f9f0 */\n              (*(code *)\n                PTR__M_realloc_insert<std___cxx11_basic_string<char,_std_char_traits<char>,_std_allocator<char>_>_>_00432c54\n              )(&(this->super_Dynobj).needed_,pbVar6,&local_48);\n              if ((size_type *)local_48._M_p != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }" { comment (expression_statement "(*(code *)\n                PTR__M_realloc_insert<std___cxx11_basic_string<char,_std_char_traits<char>,_std_allocator<char>_>_>_00432c54\n              )(&(this->super_Dynobj).needed_,pbVar6,&local_48);" (call_expression "(*(code *)\n                PTR__M_realloc_insert<std___cxx11_basic_string<char,_std_char_traits<char>,_std_allocator<char>_>_>_00432c54\n              )(&(this->super_Dynobj).needed_,pbVar6,&local_48)" (parenthesized_expression "(*(code *)\n                PTR__M_realloc_insert<std___cxx11_basic_string<char,_std_char_traits<char>,_std_allocator<char>_>_>_00432c54\n              )" ( (comma_expression "*(code *)\n                PTR__M_realloc_insert<std___cxx11_basic_string<char,_std_char_traits<char>,_std_allocator<char>_>_>_00432c54" (binary_expression "*(code *)\n                PTR__M_realloc_insert<std___cxx11_basic_string<char" (binary_expression "*(code *)\n                PTR__M_realloc_insert<std___cxx11_basic_string" (pointer_expression "*(code *)\n                PTR__M_realloc_insert" * (cast_expression "(code *)\n                PTR__M_realloc_insert" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) < identifier) , (binary_expression "_std_char_traits<char>,_std_allocator<char>_>_>_00432c54" (binary_expression "_std_char_traits<char>,_std_allocator<char>_>_" (binary_expression "_std_char_traits<char>,_std_allocator<char>_" (binary_expression "_std_char_traits<char>,_std_allocator<char" (binary_expression "_std_char_traits<char>,_std_allocator" (binary_expression "_std_char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) < identifier) > identifier) > identifier) > identifier)) )) (argument_list "(&(this->super_Dynobj).needed_,pbVar6,&local_48)" ( (pointer_expression "&(this->super_Dynobj).needed_" & (field_expression "(this->super_Dynobj).needed_" (parenthesized_expression "(this->super_Dynobj)" ( (field_expression "this->super_Dynobj" identifier -> field_identifier) )) . field_identifier)) , identifier , (pointer_expression "&local_48" & identifier) ))) ;) (if_statement "if ((size_type *)local_48._M_p != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }" if (parenthesized_expression "((size_type *)local_48._M_p != &local_40)" ( (binary_expression "(size_type *)local_48._M_p != &local_40" (cast_expression "(size_type *)local_48._M_p" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_48._M_p" identifier . field_identifier)) != (pointer_expression "&local_40" & identifier)) )) (compound_statement "{\n                (*(code *)PTR_operator_delete_0043228c)();\n              }" { (expression_statement "(*(code *)PTR_operator_delete_0043228c)();" (call_expression "(*(code *)PTR_operator_delete_0043228c)()" (parenthesized_expression "(*(code *)PTR_operator_delete_0043228c)" ( (pointer_expression "*(code *)PTR_operator_delete_0043228c" * (cast_expression "(code *)PTR_operator_delete_0043228c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) }) (else_clause "else {\n              (pbVar6->_M_dataplus)._M_p = (pointer)&pbVar6->field_2;\n              if ((size_type *)local_48._M_p == &local_40) {\n                (pbVar6->field_2)._M_allocated_capacity = local_40;\n                *(undefined4 *)((int)&pbVar6->field_2 + 4) = local_3c;\n                *(undefined4 *)((int)&pbVar6->field_2 + 8) = local_38;\n                *(undefined4 *)((int)&pbVar6->field_2 + 0xc) = local_34;\n                pbVar7 = (this->super_Dynobj).needed_.\n                         super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                         ._M_impl._M_finish;\n              }\n              else {\n                (pbVar6->_M_dataplus)._M_p = local_48._M_p;\n                (pbVar6->field_2)._M_allocated_capacity = local_40;\n                pbVar7 = pbVar6;\n              }\n              pbVar6->_M_string_length = local_44;\n              (this->super_Dynobj).needed_.\n              super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              ._M_impl._M_finish = pbVar7 + 1;\n            }" else (compound_statement "{\n              (pbVar6->_M_dataplus)._M_p = (pointer)&pbVar6->field_2;\n              if ((size_type *)local_48._M_p == &local_40) {\n                (pbVar6->field_2)._M_allocated_capacity = local_40;\n                *(undefined4 *)((int)&pbVar6->field_2 + 4) = local_3c;\n                *(undefined4 *)((int)&pbVar6->field_2 + 8) = local_38;\n                *(undefined4 *)((int)&pbVar6->field_2 + 0xc) = local_34;\n                pbVar7 = (this->super_Dynobj).needed_.\n                         super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                         ._M_impl._M_finish;\n              }\n              else {\n                (pbVar6->_M_dataplus)._M_p = local_48._M_p;\n                (pbVar6->field_2)._M_allocated_capacity = local_40;\n                pbVar7 = pbVar6;\n              }\n              pbVar6->_M_string_length = local_44;\n              (this->super_Dynobj).needed_.\n              super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n              ._M_impl._M_finish = pbVar7 + 1;\n            }" { (expression_statement "(pbVar6->_M_dataplus)._M_p = (pointer)&pbVar6->field_2;" (assignment_expression "(pbVar6->_M_dataplus)._M_p = (pointer)&pbVar6->field_2" (field_expression "(pbVar6->_M_dataplus)._M_p" (parenthesized_expression "(pbVar6->_M_dataplus)" ( (field_expression "pbVar6->_M_dataplus" identifier -> field_identifier) )) . field_identifier) = (binary_expression "(pointer)&pbVar6->field_2" (parenthesized_expression "(pointer)" ( identifier )) & (field_expression "pbVar6->field_2" identifier -> field_identifier))) ;) (if_statement "if ((size_type *)local_48._M_p == &local_40) {\n                (pbVar6->field_2)._M_allocated_capacity = local_40;\n                *(undefined4 *)((int)&pbVar6->field_2 + 4) = local_3c;\n                *(undefined4 *)((int)&pbVar6->field_2 + 8) = local_38;\n                *(undefined4 *)((int)&pbVar6->field_2 + 0xc) = local_34;\n                pbVar7 = (this->super_Dynobj).needed_.\n                         super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                         ._M_impl._M_finish;\n              }\n              else {\n                (pbVar6->_M_dataplus)._M_p = local_48._M_p;\n                (pbVar6->field_2)._M_allocated_capacity = local_40;\n                pbVar7 = pbVar6;\n              }" if (parenthesized_expression "((size_type *)local_48._M_p == &local_40)" ( (binary_expression "(size_type *)local_48._M_p == &local_40" (cast_expression "(size_type *)local_48._M_p" ( (type_descriptor "size_type *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_48._M_p" identifier . field_identifier)) == (pointer_expression "&local_40" & identifier)) )) (compound_statement "{\n                (pbVar6->field_2)._M_allocated_capacity = local_40;\n                *(undefined4 *)((int)&pbVar6->field_2 + 4) = local_3c;\n                *(undefined4 *)((int)&pbVar6->field_2 + 8) = local_38;\n                *(undefined4 *)((int)&pbVar6->field_2 + 0xc) = local_34;\n                pbVar7 = (this->super_Dynobj).needed_.\n                         super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_>_>\n                         ._M_impl._M_finish;\n              }" { (expression_statement "(pbVar6->field_2)._M_allocated_capacity = local_40;" (assignment_expression "(pbVar6->field_2)._M_allocated_capacity = local_40" (field_expression "(pbVar6->field_2)._M_allocated_capacity" (parenthesized_expression "(pbVar6->field_2)" ( (field_expression "pbVar6->field_2" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "*(undefined4 *)((int)&pbVar6->field_2 + 4) = local_3c;" (assignment_expression "*(undefined4 *)((int)&pbVar6->field_2 + 4) = local_3c" (pointer_expression "*(undefined4 *)((int)&pbVar6->field_2 + 4)" * (cast_expression "(undefined4 *)((int)&pbVar6->field_2 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar6->field_2 + 4)" ( (binary_expression "(int)&pbVar6->field_2 + 4" (cast_expression "(int)&pbVar6->field_2" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar6->field_2" & (field_expression "pbVar6->field_2" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)&pbVar6->field_2 + 8) = local_38;" (assignment_expression "*(undefined4 *)((int)&pbVar6->field_2 + 8) = local_38" (pointer_expression "*(undefined4 *)((int)&pbVar6->field_2 + 8)" * (cast_expression "(undefined4 *)((int)&pbVar6->field_2 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar6->field_2 + 8)" ( (binary_expression "(int)&pbVar6->field_2 + 8" (cast_expression "(int)&pbVar6->field_2" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar6->field_2" & (field_expression "pbVar6->field_2" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)&pbVar6->field_2 + 0xc) = local_34;" (assignment_expression "*(undefined4 *)((int)&pbVar6->field_2 + 0xc) = local_34" (pointer_expression "*(undefined4 *)((int)&pbVar6->field_2 + 0xc)" * (cast_expression "(undefined4 *)((int)&pbVar6->field_2 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pbVar6->field_2 + 0xc)" ( (binary_expression "(int)&pbVar6->field_2 + 0xc" (cast_expression "(int)&pbVar6->field_2" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pbVar6->field_2" & (field_expression "pbVar6->field_2" identifier -> field_identifier))) + number_literal) )))) = identifier) ;) (ERROR "pbVar7 = (this->super_Dynobj).needed_.\n                         super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (comma_expression "pbVar7 = (this->super_Dynobj).needed_.\n                         super__Vector_base<std::__cxx11::basic_string<char,_std" (binary_expression "pbVar7 = (this->super_Dynobj).needed_.\n                         super__Vector_base<std::__cxx11::basic_string<char" (assignment_expression "pbVar7 = (this->super_Dynobj).needed_.\n                         super__Vector_base<std" identifier = (binary_expression "(this->super_Dynobj).needed_.\n                         super__Vector_base<std" (field_expression "(this->super_Dynobj).needed_.\n                         super__Vector_base" (field_expression "(this->super_Dynobj).needed_" (parenthesized_expression "(this->super_Dynobj)" ( (field_expression "this->super_Dynobj" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier)) (ERROR "::__cxx11::basic_string" : : identifier : : identifier) < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n                         ._M_impl._M_finish;" (field_expression "allocator<char>_>_>_>\n                         ._M_impl._M_finish" (field_expression "allocator<char>_>_>_>\n                         ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) }) (else_clause "else {\n                (pbVar6->_M_dataplus)._M_p = local_48._M_p;\n                (pbVar6->field_2)._M_allocated_capacity = local_40;\n                pbVar7 = pbVar6;\n              }" else (compound_statement "{\n                (pbVar6->_M_dataplus)._M_p = local_48._M_p;\n                (pbVar6->field_2)._M_allocated_capacity = local_40;\n                pbVar7 = pbVar6;\n              }" { (expression_statement "(pbVar6->_M_dataplus)._M_p = local_48._M_p;" (assignment_expression "(pbVar6->_M_dataplus)._M_p = local_48._M_p" (field_expression "(pbVar6->_M_dataplus)._M_p" (parenthesized_expression "(pbVar6->_M_dataplus)" ( (field_expression "pbVar6->_M_dataplus" identifier -> field_identifier) )) . field_identifier) = (field_expression "local_48._M_p" identifier . field_identifier)) ;) (expression_statement "(pbVar6->field_2)._M_allocated_capacity = local_40;" (assignment_expression "(pbVar6->field_2)._M_allocated_capacity = local_40" (field_expression "(pbVar6->field_2)._M_allocated_capacity" (parenthesized_expression "(pbVar6->field_2)" ( (field_expression "pbVar6->field_2" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "pbVar7 = pbVar6;" (assignment_expression "pbVar7 = pbVar6" identifier = identifier) ;) }))) (expression_statement "pbVar6->_M_string_length = local_44;" (assignment_expression "pbVar6->_M_string_length = local_44" (field_expression "pbVar6->_M_string_length" identifier -> field_identifier) = identifier) ;) (ERROR "(this->super_Dynobj).needed_.\n              super__Vector_base<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::allocator<char>_>,_std::allocator<std::__cxx11::basic_string<char,_std::char_traits<char>,_std::" (binary_expression "(this->super_Dynobj).needed_.\n              super__Vector_base<std" (field_expression "(this->super_Dynobj).needed_.\n              super__Vector_base" (field_expression "(this->super_Dynobj).needed_" (parenthesized_expression "(this->super_Dynobj)" ( (field_expression "this->super_Dynobj" identifier -> field_identifier) )) . field_identifier) . field_identifier) < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : : (binary_expression "allocator<char>_>,_std" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (ERROR "," ,) identifier) : : (binary_expression "allocator<std" identifier < identifier) : : (comma_expression "__cxx11::basic_string<char,_std::char_traits<char>,_std" identifier (ERROR "::basic_string<char,_std::char_traits<char>" : : (comma_expression "basic_string<char,_std" (binary_expression "basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char" identifier < identifier) >) , identifier) : :) (expression_statement "allocator<char>_>_>_>\n              ._M_impl._M_finish = pbVar7 + 1;" (assignment_expression "allocator<char>_>_>_>\n              ._M_impl._M_finish = pbVar7 + 1" (field_expression "allocator<char>_>_>_>\n              ._M_impl._M_finish" (field_expression "allocator<char>_>_>_>\n              ._M_impl" (binary_expression "allocator<char>_>_>_" (binary_expression "allocator<char>_>_" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (binary_expression "pbVar7 + 1" identifier + number_literal)) ;) }))) }) (else_clause "else {\nLAB_0026f7f8:\n            local_30 = puVar8;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)(this,uVar2,local_30,uVar14,strtab_size);\n          }" else (compound_statement "{\nLAB_0026f7f8:\n            local_30 = puVar8;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)(this,uVar2,local_30,uVar14,strtab_size);\n          }" { (labeled_statement "LAB_0026f7f8:\n            local_30 = puVar8;" statement_identifier : (expression_statement "local_30 = puVar8;" (assignment_expression "local_30 = puVar8" identifier = identifier) ;)) (expression_statement "uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);" (assignment_expression "uVar2 = (*(code *)PTR_gettext_00436818)(puVar4)" identifier = (call_expression "(*(code *)PTR_gettext_00436818)(puVar4)" (parenthesized_expression "(*(code *)PTR_gettext_00436818)" ( (pointer_expression "*(code *)PTR_gettext_00436818" * (cast_expression "(code *)PTR_gettext_00436818" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar4)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_error_00432a5c)(this,uVar2,local_30,uVar14,strtab_size);" (call_expression "(*(code *)PTR_error_00432a5c)(this,uVar2,local_30,uVar14,strtab_size)" (parenthesized_expression "(*(code *)PTR_error_00432a5c)" ( (pointer_expression "*(code *)PTR_error_00432a5c" * (cast_expression "(code *)PTR_error_00432a5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(this,uVar2,local_30,uVar14,strtab_size)" ( identifier , identifier , identifier , identifier , identifier ))) ;) }))) }) (else_clause "else {\n          if (iVar10 != 0xe) goto LAB_0026f754;\n          puVar8 = (uchar *)piVar1[2];\n          uVar14 = piVar1[3];\n          if (((int)puVar12 <= (int)puVar8) &&\n             ((puVar4 = puVar3, puVar12 != puVar8 || ((uint)strtab_size <= uVar14))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(strtabu + uVar14);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (&(this->super_Dynobj).soname_,0,(this->super_Dynobj).soname_._M_string_length,\n                     strtabu + uVar14,uVar2);\n        }" else (compound_statement "{\n          if (iVar10 != 0xe) goto LAB_0026f754;\n          puVar8 = (uchar *)piVar1[2];\n          uVar14 = piVar1[3];\n          if (((int)puVar12 <= (int)puVar8) &&\n             ((puVar4 = puVar3, puVar12 != puVar8 || ((uint)strtab_size <= uVar14))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(strtabu + uVar14);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (&(this->super_Dynobj).soname_,0,(this->super_Dynobj).soname_._M_string_length,\n                     strtabu + uVar14,uVar2);\n        }" { (if_statement "if (iVar10 != 0xe) goto LAB_0026f754;" if (parenthesized_expression "(iVar10 != 0xe)" ( (binary_expression "iVar10 != 0xe" identifier != number_literal) )) (goto_statement "goto LAB_0026f754;" goto statement_identifier ;)) (expression_statement "puVar8 = (uchar *)piVar1[2];" (assignment_expression "puVar8 = (uchar *)piVar1[2]" identifier = (cast_expression "(uchar *)piVar1[2]" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar1[2]" identifier [ number_literal ]))) ;) (expression_statement "uVar14 = piVar1[3];" (assignment_expression "uVar14 = piVar1[3]" identifier = (subscript_expression "piVar1[3]" identifier [ number_literal ])) ;) (if_statement "if (((int)puVar12 <= (int)puVar8) &&\n             ((puVar4 = puVar3, puVar12 != puVar8 || ((uint)strtab_size <= uVar14))))\n          goto LAB_0026f7f8;" if (parenthesized_expression "(((int)puVar12 <= (int)puVar8) &&\n             ((puVar4 = puVar3, puVar12 != puVar8 || ((uint)strtab_size <= uVar14))))" ( (binary_expression "((int)puVar12 <= (int)puVar8) &&\n             ((puVar4 = puVar3, puVar12 != puVar8 || ((uint)strtab_size <= uVar14)))" (parenthesized_expression "((int)puVar12 <= (int)puVar8)" ( (binary_expression "(int)puVar12 <= (int)puVar8" (cast_expression "(int)puVar12" ( (type_descriptor "int" primitive_type) ) identifier) <= (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier)) )) && (parenthesized_expression "((puVar4 = puVar3, puVar12 != puVar8 || ((uint)strtab_size <= uVar14)))" ( (parenthesized_expression "(puVar4 = puVar3, puVar12 != puVar8 || ((uint)strtab_size <= uVar14))" ( (comma_expression "puVar4 = puVar3, puVar12 != puVar8 || ((uint)strtab_size <= uVar14)" (assignment_expression "puVar4 = puVar3" identifier = identifier) , (binary_expression "puVar12 != puVar8 || ((uint)strtab_size <= uVar14)" (binary_expression "puVar12 != puVar8" identifier != identifier) || (parenthesized_expression "((uint)strtab_size <= uVar14)" ( (binary_expression "(uint)strtab_size <= uVar14" (cast_expression "(uint)strtab_size" ( (type_descriptor "uint" type_identifier) ) identifier) <= identifier) )))) )) ))) )) (goto_statement "goto LAB_0026f7f8;" goto statement_identifier ;)) (expression_statement "uVar2 = (*(code *)PTR_strlen_0043677c)(strtabu + uVar14);" (assignment_expression "uVar2 = (*(code *)PTR_strlen_0043677c)(strtabu + uVar14)" identifier = (call_expression "(*(code *)PTR_strlen_0043677c)(strtabu + uVar14)" (parenthesized_expression "(*(code *)PTR_strlen_0043677c)" ( (pointer_expression "*(code *)PTR_strlen_0043677c" * (cast_expression "(code *)PTR_strlen_0043677c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(strtabu + uVar14)" ( (binary_expression "strtabu + uVar14" identifier + identifier) )))) ;) (expression_statement "(*(code *)PTR__M_replace_00432a3c)\n                    (&(this->super_Dynobj).soname_,0,(this->super_Dynobj).soname_._M_string_length,\n                     strtabu + uVar14,uVar2);" (call_expression "(*(code *)PTR__M_replace_00432a3c)\n                    (&(this->super_Dynobj).soname_,0,(this->super_Dynobj).soname_._M_string_length,\n                     strtabu + uVar14,uVar2)" (parenthesized_expression "(*(code *)PTR__M_replace_00432a3c)" ( (pointer_expression "*(code *)PTR__M_replace_00432a3c" * (cast_expression "(code *)PTR__M_replace_00432a3c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(&(this->super_Dynobj).soname_,0,(this->super_Dynobj).soname_._M_string_length,\n                     strtabu + uVar14,uVar2)" ( (pointer_expression "&(this->super_Dynobj).soname_" & (field_expression "(this->super_Dynobj).soname_" (parenthesized_expression "(this->super_Dynobj)" ( (field_expression "this->super_Dynobj" identifier -> field_identifier) )) . field_identifier)) , number_literal , (field_expression "(this->super_Dynobj).soname_._M_string_length" (field_expression "(this->super_Dynobj).soname_" (parenthesized_expression "(this->super_Dynobj)" ( (field_expression "this->super_Dynobj" identifier -> field_identifier) )) . field_identifier) . field_identifier) , (binary_expression "strtabu + uVar14" identifier + identifier) , identifier ))) ;) }))) }) (else_clause "else {\nLAB_0026f754:\n        if (*piVar1 == 0 && iVar10 == 0) {\n          return;\n        }\n      }" else (compound_statement "{\nLAB_0026f754:\n        if (*piVar1 == 0 && iVar10 == 0) {\n          return;\n        }\n      }" { (labeled_statement "LAB_0026f754:\n        if (*piVar1 == 0 && iVar10 == 0) {\n          return;\n        }" statement_identifier : (if_statement "if (*piVar1 == 0 && iVar10 == 0) {\n          return;\n        }" if (parenthesized_expression "(*piVar1 == 0 && iVar10 == 0)" ( (binary_expression "*piVar1 == 0 && iVar10 == 0" (binary_expression "*piVar1 == 0" (pointer_expression "*piVar1" * identifier) == number_literal) && (binary_expression "iVar10 == 0" identifier == number_literal)) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) }))) }))) (expression_statement "piVar1 = piVar1 + 4;" (assignment_expression "piVar1 = piVar1 + 4" identifier = (binary_expression "piVar1 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar1 < piVar11)" ( (binary_expression "piVar1 < piVar11" identifier < identifier) )) ;) })) (expression_statement "uVar2 = (*(code *)PTR_gettext_00436818)(PTR_s__0043226c + 0x1704);" (assignment_expression "uVar2 = (*(code *)PTR_gettext_00436818)(PTR_s__0043226c + 0x1704)" identifier = (call_expression "(*(code *)PTR_gettext_00436818)(PTR_s__0043226c + 0x1704)" (parenthesized_expression "(*(code *)PTR_gettext_00436818)" ( (pointer_expression "*(code *)PTR_gettext_00436818" * (cast_expression "(code *)PTR_gettext_00436818" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s__0043226c + 0x1704)" ( (binary_expression "PTR_s__0043226c + 0x1704" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_error_00432a5c)(this,uVar2);" (call_expression "(*(code *)PTR_error_00432a5c)(this,uVar2)" (parenthesized_expression "(*(code *)PTR_error_00432a5c)" ( (pointer_expression "*(code *)PTR_error_00432a5c" * (cast_expression "(code *)PTR_error_00432a5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(this,uVar2)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "void gold::Sized_dynobj<64,true>::read_dynamic\n               (uchar *param_1,uint param_2,uint param_3,uchar *param_4,longlong param_5)\n\n{\n  int *piVar1;\n  undefined4 uVar2;\n  undefined *puVar3;\n  undefined *puVar4;\n  int *piVar5;\n  int *piVar6;\n  int iVar7;\n  int iVar8;\n  int *piVar9;\n  undefined *puVar10;\n  uchar *puVar11;\n  uint uVar12;\n  int in_stack_00000018;\n  uint in_stack_0000001c;\n  int *local_48;\n  int local_44;\n  int local_40;\n  int local_3c;\n  int local_38;\n  int local_34;\n  int local_30;\n  \n  iVar7 = param_2 + param_3 * 0x40;\n  if (*(int *)(iVar7 + 4) != 6) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x100,PTR_DAT_0043226c + 0x18bc);\n    return;\n  }\n  iVar8 = *(int *)(iVar7 + 0x24);\n  if (*(int *)(param_1 + 0x1c) == 0) {\nLAB_0026f9c4:\n                    \n    FUN_0025f830();\n  }\n  piVar1 = (int *)(*(code *)PTR_get_view_0043249c)\n                            (*(int *)(param_1 + 0x1c) + 0x20,1,*(undefined4 *)(param_1 + 0x20),\n                             *(undefined4 *)(param_1 + 0x24),*(undefined4 *)(iVar7 + 0x18),\n                             *(undefined4 *)(iVar7 + 0x1c),iVar8,1,0);\n  puVar11 = *(uchar **)(iVar7 + 0x28);\n  if ((uchar *)0xfeff < puVar11) {\n    (*(code *)PTR_initialize_shnum_00432a8c)(param_1 + 0x60);\n    puVar11 = puVar11 + *(int *)(param_1 + 0x78);\n  }\n  if (puVar11 != param_4) {\n    if (puVar11 < *(uchar **)(param_1 + 0x28)) {\n      iVar7 = param_2 + (int)puVar11 * 0x40;\n      if (*(int *)(iVar7 + 4) == 3) {\n        in_stack_00000018 = *(int *)(iVar7 + 0x20);\n        in_stack_0000001c = *(uint *)(iVar7 + 0x24);\n        if (*(int *)(param_1 + 0x1c) == 0) goto LAB_0026f9c4;\n        param_5._0_4_ =\n             (*(code *)PTR_get_view_0043249c)\n                       (*(int *)(param_1 + 0x1c) + 0x20,(int)puVar11 * 0x40,\n                        *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),\n                        *(undefined4 *)(iVar7 + 0x18),*(undefined4 *)(iVar7 + 0x1c),\n                        in_stack_0000001c,0,0);\n        goto LAB_0026f724;\n      }\n      puVar3 = PTR_DAT_0043226c + 0x1680;\n    }\n    else {\n      puVar3 = PTR_DAT_0043226c + 0x1654;\n    }\n    uVar2 = (*(code *)PTR_gettext_00436818)(puVar3);\n    (*(code *)PTR_error_00432a5c)(param_1,uVar2,param_3,puVar11);\n    return;\n  }\nLAB_0026f724:\n  piVar9 = (int *)((int)piVar1 + iVar8);\n  if (piVar1 < piVar9) {\n    puVar10 = PTR_DAT_0043226c + 0x16d8;\n    puVar3 = PTR_DAT_0043226c + 0x16ac;\n    do {\n      iVar7 = piVar1[1];\n      if (*piVar1 == 0) {\n        if (iVar7 == 1) {\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((iVar7 < in_stack_00000018) ||\n             ((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)))) {\n            iVar7 = param_5._0_4_ + uVar12;\n            local_48 = &local_40;\n            if (iVar7 == 0) {\n              iVar8 = -1;\n            }\n            else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0);\n            piVar5 = *(int **)(param_1 + 0x54);\n            if (piVar5 == *(int **)(param_1 + 0x58)) {\n                    \n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = iVar7;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);\n          }\n        }\n        else {\n          if (iVar7 != 0xe) goto LAB_0026f754;\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2);\n        }\n      }\n      else {\nLAB_0026f754:\n        if (*piVar1 == 0 && iVar7 == 0) {\n          return;\n        }\n      }\n      piVar1 = piVar1 + 4;\n    } while (piVar1 < piVar9);\n  }\n  uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x1704);\n  (*(code *)PTR_error_00432a5c)(param_1,uVar2);\n  return;\n}\n\n" (declaration "void gold::Sized_dynobj<64,true>::read_dynamic\n               (uchar *param_1,uint param_2,uint param_3,uchar *param_4,longlong param_5)\n\n{\n  int *piVar1;" primitive_type (ERROR "gold::" identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "true>::read_dynamic\n               (uchar *param_1,uint param_2,uint param_3,uchar *param_4,longlong param_5)\n\n{\n  int" identifier > : : (function_declarator "read_dynamic\n               (uchar *param_1,uint param_2,uint param_3,uchar *param_4,longlong param_5)" identifier (parameter_list "(uchar *param_1,uint param_2,uint param_3,uchar *param_4,longlong param_5)" ( (parameter_declaration "uchar *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "uint param_2" type_identifier identifier) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "uchar *param_4" type_identifier (pointer_declarator "*param_4" * identifier)) , (parameter_declaration "longlong param_5" type_identifier identifier) ))) { primitive_type) (pointer_declarator "*piVar1" * identifier) ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined *puVar4;" type_identifier (pointer_declarator "*puVar4" * identifier) ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int *piVar6;" primitive_type (pointer_declarator "*piVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "undefined *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "uchar *puVar11;" type_identifier (pointer_declarator "*puVar11" * identifier) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "int in_stack_00000018;" primitive_type identifier ;) (declaration "uint in_stack_0000001c;" type_identifier identifier ;) (declaration "int *local_48;" primitive_type (pointer_declarator "*local_48" * identifier) ;) (declaration "int local_44;" primitive_type identifier ;) (declaration "int local_40;" primitive_type identifier ;) (declaration "int local_3c;" primitive_type identifier ;) (declaration "int local_38;" primitive_type identifier ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "int local_30;" primitive_type identifier ;) (expression_statement "iVar7 = param_2 + param_3 * 0x40;" (assignment_expression "iVar7 = param_2 + param_3 * 0x40" identifier = (binary_expression "param_2 + param_3 * 0x40" identifier + (binary_expression "param_3 * 0x40" identifier * number_literal))) ;) (if_statement "if (*(int *)(iVar7 + 4) != 6) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x100,PTR_DAT_0043226c + 0x18bc);\n    return;\n  }" if (parenthesized_expression "(*(int *)(iVar7 + 4) != 6)" ( (binary_expression "*(int *)(iVar7 + 4) != 6" (pointer_expression "*(int *)(iVar7 + 4)" * (cast_expression "(int *)(iVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x100,PTR_DAT_0043226c + 0x18bc);\n    return;\n  }" { (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x100,PTR_DAT_0043226c + 0x18bc);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x100,PTR_DAT_0043226c + 0x18bc)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" * (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0043226c + 0x13e0,0x100,PTR_DAT_0043226c + 0x18bc)" ( (binary_expression "PTR_DAT_0043226c + 0x13e0" identifier + number_literal) , number_literal , (binary_expression "PTR_DAT_0043226c + 0x18bc" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "iVar8 = *(int *)(iVar7 + 0x24);" (assignment_expression "iVar8 = *(int *)(iVar7 + 0x24)" identifier = (pointer_expression "*(int *)(iVar7 + 0x24)" * (cast_expression "(int *)(iVar7 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x24)" ( (binary_expression "iVar7 + 0x24" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(param_1 + 0x1c) == 0) {\nLAB_0026f9c4:\n                    \n    FUN_0025f830();\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_0026f9c4:\n                    \n    FUN_0025f830();\n  }" { (labeled_statement "LAB_0026f9c4:\n                    \n    FUN_0025f830();" statement_identifier : (expression_statement "FUN_0025f830();" (call_expression "FUN_0025f830()" identifier (argument_list "()" ( ))) ;)) })) (expression_statement "piVar1 = (int *)(*(code *)PTR_get_view_0043249c)\n                            (*(int *)(param_1 + 0x1c) + 0x20,1,*(undefined4 *)(param_1 + 0x20),\n                             *(undefined4 *)(param_1 + 0x24),*(undefined4 *)(iVar7 + 0x18),\n                             *(undefined4 *)(iVar7 + 0x1c),iVar8,1,0);" (assignment_expression "piVar1 = (int *)(*(code *)PTR_get_view_0043249c)\n                            (*(int *)(param_1 + 0x1c) + 0x20,1,*(undefined4 *)(param_1 + 0x20),\n                             *(undefined4 *)(param_1 + 0x24),*(undefined4 *)(iVar7 + 0x18),\n                             *(undefined4 *)(iVar7 + 0x1c),iVar8,1,0)" identifier = (cast_expression "(int *)(*(code *)PTR_get_view_0043249c)\n                            (*(int *)(param_1 + 0x1c) + 0x20,1,*(undefined4 *)(param_1 + 0x20),\n                             *(undefined4 *)(param_1 + 0x24),*(undefined4 *)(iVar7 + 0x18),\n                             *(undefined4 *)(iVar7 + 0x1c),iVar8,1,0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_get_view_0043249c)\n                            (*(int *)(param_1 + 0x1c) + 0x20,1,*(undefined4 *)(param_1 + 0x20),\n                             *(undefined4 *)(param_1 + 0x24),*(undefined4 *)(iVar7 + 0x18),\n                             *(undefined4 *)(iVar7 + 0x1c),iVar8,1,0)" (parenthesized_expression "(*(code *)PTR_get_view_0043249c)" ( (pointer_expression "*(code *)PTR_get_view_0043249c" * (cast_expression "(code *)PTR_get_view_0043249c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(int *)(param_1 + 0x1c) + 0x20,1,*(undefined4 *)(param_1 + 0x20),\n                             *(undefined4 *)(param_1 + 0x24),*(undefined4 *)(iVar7 + 0x18),\n                             *(undefined4 *)(iVar7 + 0x1c),iVar8,1,0)" ( (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) )))) , (pointer_expression "*(undefined4 *)(iVar7 + 0x18)" * (cast_expression "(undefined4 *)(iVar7 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar7 + 0x1c)" * (cast_expression "(undefined4 *)(iVar7 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1c)" ( (binary_expression "iVar7 + 0x1c" identifier + number_literal) )))) , identifier , number_literal , number_literal ))))) ;) (expression_statement "puVar11 = *(uchar **)(iVar7 + 0x28);" (assignment_expression "puVar11 = *(uchar **)(iVar7 + 0x28)" identifier = (pointer_expression "*(uchar **)(iVar7 + 0x28)" * (cast_expression "(uchar **)(iVar7 + 0x28)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar7 + 0x28)" ( (binary_expression "iVar7 + 0x28" identifier + number_literal) ))))) ;) (if_statement "if ((uchar *)0xfeff < puVar11) {\n    (*(code *)PTR_initialize_shnum_00432a8c)(param_1 + 0x60);\n    puVar11 = puVar11 + *(int *)(param_1 + 0x78);\n  }" if (parenthesized_expression "((uchar *)0xfeff < puVar11)" ( (binary_expression "(uchar *)0xfeff < puVar11" (cast_expression "(uchar *)0xfeff" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (compound_statement "{\n    (*(code *)PTR_initialize_shnum_00432a8c)(param_1 + 0x60);\n    puVar11 = puVar11 + *(int *)(param_1 + 0x78);\n  }" { (expression_statement "(*(code *)PTR_initialize_shnum_00432a8c)(param_1 + 0x60);" (call_expression "(*(code *)PTR_initialize_shnum_00432a8c)(param_1 + 0x60)" (parenthesized_expression "(*(code *)PTR_initialize_shnum_00432a8c)" ( (pointer_expression "*(code *)PTR_initialize_shnum_00432a8c" * (cast_expression "(code *)PTR_initialize_shnum_00432a8c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) ))) ;) (expression_statement "puVar11 = puVar11 + *(int *)(param_1 + 0x78);" (assignment_expression "puVar11 = puVar11 + *(int *)(param_1 + 0x78)" identifier = (binary_expression "puVar11 + *(int *)(param_1 + 0x78)" identifier + (pointer_expression "*(int *)(param_1 + 0x78)" * (cast_expression "(int *)(param_1 + 0x78)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x78)" ( (binary_expression "param_1 + 0x78" identifier + number_literal) )))))) ;) })) (if_statement "if (puVar11 != param_4) {\n    if (puVar11 < *(uchar **)(param_1 + 0x28)) {\n      iVar7 = param_2 + (int)puVar11 * 0x40;\n      if (*(int *)(iVar7 + 4) == 3) {\n        in_stack_00000018 = *(int *)(iVar7 + 0x20);\n        in_stack_0000001c = *(uint *)(iVar7 + 0x24);\n        if (*(int *)(param_1 + 0x1c) == 0) goto LAB_0026f9c4;\n        param_5._0_4_ =\n             (*(code *)PTR_get_view_0043249c)\n                       (*(int *)(param_1 + 0x1c) + 0x20,(int)puVar11 * 0x40,\n                        *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),\n                        *(undefined4 *)(iVar7 + 0x18),*(undefined4 *)(iVar7 + 0x1c),\n                        in_stack_0000001c,0,0);\n        goto LAB_0026f724;\n      }\n      puVar3 = PTR_DAT_0043226c + 0x1680;\n    }\n    else {\n      puVar3 = PTR_DAT_0043226c + 0x1654;\n    }\n    uVar2 = (*(code *)PTR_gettext_00436818)(puVar3);\n    (*(code *)PTR_error_00432a5c)(param_1,uVar2,param_3,puVar11);\n    return;\n  }" if (parenthesized_expression "(puVar11 != param_4)" ( (binary_expression "puVar11 != param_4" identifier != identifier) )) (compound_statement "{\n    if (puVar11 < *(uchar **)(param_1 + 0x28)) {\n      iVar7 = param_2 + (int)puVar11 * 0x40;\n      if (*(int *)(iVar7 + 4) == 3) {\n        in_stack_00000018 = *(int *)(iVar7 + 0x20);\n        in_stack_0000001c = *(uint *)(iVar7 + 0x24);\n        if (*(int *)(param_1 + 0x1c) == 0) goto LAB_0026f9c4;\n        param_5._0_4_ =\n             (*(code *)PTR_get_view_0043249c)\n                       (*(int *)(param_1 + 0x1c) + 0x20,(int)puVar11 * 0x40,\n                        *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),\n                        *(undefined4 *)(iVar7 + 0x18),*(undefined4 *)(iVar7 + 0x1c),\n                        in_stack_0000001c,0,0);\n        goto LAB_0026f724;\n      }\n      puVar3 = PTR_DAT_0043226c + 0x1680;\n    }\n    else {\n      puVar3 = PTR_DAT_0043226c + 0x1654;\n    }\n    uVar2 = (*(code *)PTR_gettext_00436818)(puVar3);\n    (*(code *)PTR_error_00432a5c)(param_1,uVar2,param_3,puVar11);\n    return;\n  }" { (if_statement "if (puVar11 < *(uchar **)(param_1 + 0x28)) {\n      iVar7 = param_2 + (int)puVar11 * 0x40;\n      if (*(int *)(iVar7 + 4) == 3) {\n        in_stack_00000018 = *(int *)(iVar7 + 0x20);\n        in_stack_0000001c = *(uint *)(iVar7 + 0x24);\n        if (*(int *)(param_1 + 0x1c) == 0) goto LAB_0026f9c4;\n        param_5._0_4_ =\n             (*(code *)PTR_get_view_0043249c)\n                       (*(int *)(param_1 + 0x1c) + 0x20,(int)puVar11 * 0x40,\n                        *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),\n                        *(undefined4 *)(iVar7 + 0x18),*(undefined4 *)(iVar7 + 0x1c),\n                        in_stack_0000001c,0,0);\n        goto LAB_0026f724;\n      }\n      puVar3 = PTR_DAT_0043226c + 0x1680;\n    }\n    else {\n      puVar3 = PTR_DAT_0043226c + 0x1654;\n    }" if (parenthesized_expression "(puVar11 < *(uchar **)(param_1 + 0x28))" ( (binary_expression "puVar11 < *(uchar **)(param_1 + 0x28)" identifier < (pointer_expression "*(uchar **)(param_1 + 0x28)" * (cast_expression "(uchar **)(param_1 + 0x28)" ( (type_descriptor "uchar **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x28)" ( (binary_expression "param_1 + 0x28" identifier + number_literal) ))))) )) (compound_statement "{\n      iVar7 = param_2 + (int)puVar11 * 0x40;\n      if (*(int *)(iVar7 + 4) == 3) {\n        in_stack_00000018 = *(int *)(iVar7 + 0x20);\n        in_stack_0000001c = *(uint *)(iVar7 + 0x24);\n        if (*(int *)(param_1 + 0x1c) == 0) goto LAB_0026f9c4;\n        param_5._0_4_ =\n             (*(code *)PTR_get_view_0043249c)\n                       (*(int *)(param_1 + 0x1c) + 0x20,(int)puVar11 * 0x40,\n                        *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),\n                        *(undefined4 *)(iVar7 + 0x18),*(undefined4 *)(iVar7 + 0x1c),\n                        in_stack_0000001c,0,0);\n        goto LAB_0026f724;\n      }\n      puVar3 = PTR_DAT_0043226c + 0x1680;\n    }" { (expression_statement "iVar7 = param_2 + (int)puVar11 * 0x40;" (assignment_expression "iVar7 = param_2 + (int)puVar11 * 0x40" identifier = (binary_expression "param_2 + (int)puVar11 * 0x40" identifier + (binary_expression "(int)puVar11 * 0x40" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal))) ;) (if_statement "if (*(int *)(iVar7 + 4) == 3) {\n        in_stack_00000018 = *(int *)(iVar7 + 0x20);\n        in_stack_0000001c = *(uint *)(iVar7 + 0x24);\n        if (*(int *)(param_1 + 0x1c) == 0) goto LAB_0026f9c4;\n        param_5._0_4_ =\n             (*(code *)PTR_get_view_0043249c)\n                       (*(int *)(param_1 + 0x1c) + 0x20,(int)puVar11 * 0x40,\n                        *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),\n                        *(undefined4 *)(iVar7 + 0x18),*(undefined4 *)(iVar7 + 0x1c),\n                        in_stack_0000001c,0,0);\n        goto LAB_0026f724;\n      }" if (parenthesized_expression "(*(int *)(iVar7 + 4) == 3)" ( (binary_expression "*(int *)(iVar7 + 4) == 3" (pointer_expression "*(int *)(iVar7 + 4)" * (cast_expression "(int *)(iVar7 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 4)" ( (binary_expression "iVar7 + 4" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n        in_stack_00000018 = *(int *)(iVar7 + 0x20);\n        in_stack_0000001c = *(uint *)(iVar7 + 0x24);\n        if (*(int *)(param_1 + 0x1c) == 0) goto LAB_0026f9c4;\n        param_5._0_4_ =\n             (*(code *)PTR_get_view_0043249c)\n                       (*(int *)(param_1 + 0x1c) + 0x20,(int)puVar11 * 0x40,\n                        *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),\n                        *(undefined4 *)(iVar7 + 0x18),*(undefined4 *)(iVar7 + 0x1c),\n                        in_stack_0000001c,0,0);\n        goto LAB_0026f724;\n      }" { (expression_statement "in_stack_00000018 = *(int *)(iVar7 + 0x20);" (assignment_expression "in_stack_00000018 = *(int *)(iVar7 + 0x20)" identifier = (pointer_expression "*(int *)(iVar7 + 0x20)" * (cast_expression "(int *)(iVar7 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x20)" ( (binary_expression "iVar7 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "in_stack_0000001c = *(uint *)(iVar7 + 0x24);" (assignment_expression "in_stack_0000001c = *(uint *)(iVar7 + 0x24)" identifier = (pointer_expression "*(uint *)(iVar7 + 0x24)" * (cast_expression "(uint *)(iVar7 + 0x24)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x24)" ( (binary_expression "iVar7 + 0x24" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(param_1 + 0x1c) == 0) goto LAB_0026f9c4;" 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) )) (goto_statement "goto LAB_0026f9c4;" goto statement_identifier ;)) (expression_statement "param_5._0_4_ =\n             (*(code *)PTR_get_view_0043249c)\n                       (*(int *)(param_1 + 0x1c) + 0x20,(int)puVar11 * 0x40,\n                        *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),\n                        *(undefined4 *)(iVar7 + 0x18),*(undefined4 *)(iVar7 + 0x1c),\n                        in_stack_0000001c,0,0);" (assignment_expression "param_5._0_4_ =\n             (*(code *)PTR_get_view_0043249c)\n                       (*(int *)(param_1 + 0x1c) + 0x20,(int)puVar11 * 0x40,\n                        *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),\n                        *(undefined4 *)(iVar7 + 0x18),*(undefined4 *)(iVar7 + 0x1c),\n                        in_stack_0000001c,0,0)" (field_expression "param_5._0_4_" identifier . field_identifier) = (call_expression "(*(code *)PTR_get_view_0043249c)\n                       (*(int *)(param_1 + 0x1c) + 0x20,(int)puVar11 * 0x40,\n                        *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),\n                        *(undefined4 *)(iVar7 + 0x18),*(undefined4 *)(iVar7 + 0x1c),\n                        in_stack_0000001c,0,0)" (parenthesized_expression "(*(code *)PTR_get_view_0043249c)" ( (pointer_expression "*(code *)PTR_get_view_0043249c" * (cast_expression "(code *)PTR_get_view_0043249c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(int *)(param_1 + 0x1c) + 0x20,(int)puVar11 * 0x40,\n                        *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),\n                        *(undefined4 *)(iVar7 + 0x18),*(undefined4 *)(iVar7 + 0x1c),\n                        in_stack_0000001c,0,0)" ( (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) , (binary_expression "(int)puVar11 * 0x40" (cast_expression "(int)puVar11" ( (type_descriptor "int" primitive_type) ) identifier) * 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) )))) , (pointer_expression "*(undefined4 *)(iVar7 + 0x18)" * (cast_expression "(undefined4 *)(iVar7 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x18)" ( (binary_expression "iVar7 + 0x18" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(iVar7 + 0x1c)" * (cast_expression "(undefined4 *)(iVar7 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar7 + 0x1c)" ( (binary_expression "iVar7 + 0x1c" identifier + number_literal) )))) , identifier , number_literal , number_literal )))) ;) (goto_statement "goto LAB_0026f724;" goto statement_identifier ;) })) (expression_statement "puVar3 = PTR_DAT_0043226c + 0x1680;" (assignment_expression "puVar3 = PTR_DAT_0043226c + 0x1680" identifier = (binary_expression "PTR_DAT_0043226c + 0x1680" identifier + number_literal)) ;) }) (else_clause "else {\n      puVar3 = PTR_DAT_0043226c + 0x1654;\n    }" else (compound_statement "{\n      puVar3 = PTR_DAT_0043226c + 0x1654;\n    }" { (expression_statement "puVar3 = PTR_DAT_0043226c + 0x1654;" (assignment_expression "puVar3 = PTR_DAT_0043226c + 0x1654" identifier = (binary_expression "PTR_DAT_0043226c + 0x1654" identifier + number_literal)) ;) }))) (expression_statement "uVar2 = (*(code *)PTR_gettext_00436818)(puVar3);" (assignment_expression "uVar2 = (*(code *)PTR_gettext_00436818)(puVar3)" identifier = (call_expression "(*(code *)PTR_gettext_00436818)(puVar3)" (parenthesized_expression "(*(code *)PTR_gettext_00436818)" ( (pointer_expression "*(code *)PTR_gettext_00436818" * (cast_expression "(code *)PTR_gettext_00436818" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar3)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_error_00432a5c)(param_1,uVar2,param_3,puVar11);" (call_expression "(*(code *)PTR_error_00432a5c)(param_1,uVar2,param_3,puVar11)" (parenthesized_expression "(*(code *)PTR_error_00432a5c)" ( (pointer_expression "*(code *)PTR_error_00432a5c" * (cast_expression "(code *)PTR_error_00432a5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,uVar2,param_3,puVar11)" ( identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (labeled_statement "LAB_0026f724:\n  piVar9 = (int *)((int)piVar1 + iVar8);" statement_identifier : (expression_statement "piVar9 = (int *)((int)piVar1 + iVar8);" (assignment_expression "piVar9 = (int *)((int)piVar1 + iVar8)" identifier = (cast_expression "(int *)((int)piVar1 + iVar8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar1 + iVar8)" ( (binary_expression "(int)piVar1 + iVar8" (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) )))) ;)) (if_statement "if (piVar1 < piVar9) {\n    puVar10 = PTR_DAT_0043226c + 0x16d8;\n    puVar3 = PTR_DAT_0043226c + 0x16ac;\n    do {\n      iVar7 = piVar1[1];\n      if (*piVar1 == 0) {\n        if (iVar7 == 1) {\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((iVar7 < in_stack_00000018) ||\n             ((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)))) {\n            iVar7 = param_5._0_4_ + uVar12;\n            local_48 = &local_40;\n            if (iVar7 == 0) {\n              iVar8 = -1;\n            }\n            else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0);\n            piVar5 = *(int **)(param_1 + 0x54);\n            if (piVar5 == *(int **)(param_1 + 0x58)) {\n                    \n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = iVar7;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);\n          }\n        }\n        else {\n          if (iVar7 != 0xe) goto LAB_0026f754;\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2);\n        }\n      }\n      else {\nLAB_0026f754:\n        if (*piVar1 == 0 && iVar7 == 0) {\n          return;\n        }\n      }\n      piVar1 = piVar1 + 4;\n    } while (piVar1 < piVar9);\n  }" if (parenthesized_expression "(piVar1 < piVar9)" ( (binary_expression "piVar1 < piVar9" identifier < identifier) )) (compound_statement "{\n    puVar10 = PTR_DAT_0043226c + 0x16d8;\n    puVar3 = PTR_DAT_0043226c + 0x16ac;\n    do {\n      iVar7 = piVar1[1];\n      if (*piVar1 == 0) {\n        if (iVar7 == 1) {\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((iVar7 < in_stack_00000018) ||\n             ((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)))) {\n            iVar7 = param_5._0_4_ + uVar12;\n            local_48 = &local_40;\n            if (iVar7 == 0) {\n              iVar8 = -1;\n            }\n            else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0);\n            piVar5 = *(int **)(param_1 + 0x54);\n            if (piVar5 == *(int **)(param_1 + 0x58)) {\n                    \n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = iVar7;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);\n          }\n        }\n        else {\n          if (iVar7 != 0xe) goto LAB_0026f754;\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2);\n        }\n      }\n      else {\nLAB_0026f754:\n        if (*piVar1 == 0 && iVar7 == 0) {\n          return;\n        }\n      }\n      piVar1 = piVar1 + 4;\n    } while (piVar1 < piVar9);\n  }" { (expression_statement "puVar10 = PTR_DAT_0043226c + 0x16d8;" (assignment_expression "puVar10 = PTR_DAT_0043226c + 0x16d8" identifier = (binary_expression "PTR_DAT_0043226c + 0x16d8" identifier + number_literal)) ;) (expression_statement "puVar3 = PTR_DAT_0043226c + 0x16ac;" (assignment_expression "puVar3 = PTR_DAT_0043226c + 0x16ac" identifier = (binary_expression "PTR_DAT_0043226c + 0x16ac" identifier + number_literal)) ;) (do_statement "do {\n      iVar7 = piVar1[1];\n      if (*piVar1 == 0) {\n        if (iVar7 == 1) {\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((iVar7 < in_stack_00000018) ||\n             ((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)))) {\n            iVar7 = param_5._0_4_ + uVar12;\n            local_48 = &local_40;\n            if (iVar7 == 0) {\n              iVar8 = -1;\n            }\n            else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0);\n            piVar5 = *(int **)(param_1 + 0x54);\n            if (piVar5 == *(int **)(param_1 + 0x58)) {\n                    \n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = iVar7;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);\n          }\n        }\n        else {\n          if (iVar7 != 0xe) goto LAB_0026f754;\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2);\n        }\n      }\n      else {\nLAB_0026f754:\n        if (*piVar1 == 0 && iVar7 == 0) {\n          return;\n        }\n      }\n      piVar1 = piVar1 + 4;\n    } while (piVar1 < piVar9);" do (compound_statement "{\n      iVar7 = piVar1[1];\n      if (*piVar1 == 0) {\n        if (iVar7 == 1) {\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((iVar7 < in_stack_00000018) ||\n             ((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)))) {\n            iVar7 = param_5._0_4_ + uVar12;\n            local_48 = &local_40;\n            if (iVar7 == 0) {\n              iVar8 = -1;\n            }\n            else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0);\n            piVar5 = *(int **)(param_1 + 0x54);\n            if (piVar5 == *(int **)(param_1 + 0x58)) {\n                    \n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = iVar7;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);\n          }\n        }\n        else {\n          if (iVar7 != 0xe) goto LAB_0026f754;\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2);\n        }\n      }\n      else {\nLAB_0026f754:\n        if (*piVar1 == 0 && iVar7 == 0) {\n          return;\n        }\n      }\n      piVar1 = piVar1 + 4;\n    }" { (expression_statement "iVar7 = piVar1[1];" (assignment_expression "iVar7 = piVar1[1]" identifier = (subscript_expression "piVar1[1]" identifier [ number_literal ])) ;) (if_statement "if (*piVar1 == 0) {\n        if (iVar7 == 1) {\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((iVar7 < in_stack_00000018) ||\n             ((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)))) {\n            iVar7 = param_5._0_4_ + uVar12;\n            local_48 = &local_40;\n            if (iVar7 == 0) {\n              iVar8 = -1;\n            }\n            else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0);\n            piVar5 = *(int **)(param_1 + 0x54);\n            if (piVar5 == *(int **)(param_1 + 0x58)) {\n                    \n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = iVar7;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);\n          }\n        }\n        else {\n          if (iVar7 != 0xe) goto LAB_0026f754;\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2);\n        }\n      }\n      else {\nLAB_0026f754:\n        if (*piVar1 == 0 && iVar7 == 0) {\n          return;\n        }\n      }" if (parenthesized_expression "(*piVar1 == 0)" ( (binary_expression "*piVar1 == 0" (pointer_expression "*piVar1" * identifier) == number_literal) )) (compound_statement "{\n        if (iVar7 == 1) {\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((iVar7 < in_stack_00000018) ||\n             ((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)))) {\n            iVar7 = param_5._0_4_ + uVar12;\n            local_48 = &local_40;\n            if (iVar7 == 0) {\n              iVar8 = -1;\n            }\n            else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0);\n            piVar5 = *(int **)(param_1 + 0x54);\n            if (piVar5 == *(int **)(param_1 + 0x58)) {\n                    \n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = iVar7;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);\n          }\n        }\n        else {\n          if (iVar7 != 0xe) goto LAB_0026f754;\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2);\n        }\n      }" { (if_statement "if (iVar7 == 1) {\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((iVar7 < in_stack_00000018) ||\n             ((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)))) {\n            iVar7 = param_5._0_4_ + uVar12;\n            local_48 = &local_40;\n            if (iVar7 == 0) {\n              iVar8 = -1;\n            }\n            else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0);\n            piVar5 = *(int **)(param_1 + 0x54);\n            if (piVar5 == *(int **)(param_1 + 0x58)) {\n                    \n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = iVar7;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);\n          }\n        }\n        else {\n          if (iVar7 != 0xe) goto LAB_0026f754;\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2);\n        }" if (parenthesized_expression "(iVar7 == 1)" ( (binary_expression "iVar7 == 1" identifier == number_literal) )) (compound_statement "{\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((iVar7 < in_stack_00000018) ||\n             ((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)))) {\n            iVar7 = param_5._0_4_ + uVar12;\n            local_48 = &local_40;\n            if (iVar7 == 0) {\n              iVar8 = -1;\n            }\n            else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0);\n            piVar5 = *(int **)(param_1 + 0x54);\n            if (piVar5 == *(int **)(param_1 + 0x58)) {\n                    \n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = iVar7;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);\n          }\n        }" { (expression_statement "iVar7 = piVar1[2];" (assignment_expression "iVar7 = piVar1[2]" identifier = (subscript_expression "piVar1[2]" identifier [ number_literal ])) ;) (expression_statement "uVar12 = piVar1[3];" (assignment_expression "uVar12 = piVar1[3]" identifier = (subscript_expression "piVar1[3]" identifier [ number_literal ])) ;) (if_statement "if ((iVar7 < in_stack_00000018) ||\n             ((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)))) {\n            iVar7 = param_5._0_4_ + uVar12;\n            local_48 = &local_40;\n            if (iVar7 == 0) {\n              iVar8 = -1;\n            }\n            else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0);\n            piVar5 = *(int **)(param_1 + 0x54);\n            if (piVar5 == *(int **)(param_1 + 0x58)) {\n                    \n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = iVar7;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);\n          }" if (parenthesized_expression "((iVar7 < in_stack_00000018) ||\n             ((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c))))" ( (binary_expression "(iVar7 < in_stack_00000018) ||\n             ((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)))" (parenthesized_expression "(iVar7 < in_stack_00000018)" ( (binary_expression "iVar7 < in_stack_00000018" identifier < identifier) )) || (parenthesized_expression "((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)))" ( (parenthesized_expression "(puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c))" ( (comma_expression "puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)" (assignment_expression "puVar4 = puVar10" identifier = identifier) , (binary_expression "in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)" (binary_expression "in_stack_00000018 == iVar7" identifier == identifier) && (parenthesized_expression "(uVar12 < in_stack_0000001c)" ( (binary_expression "uVar12 < in_stack_0000001c" identifier < identifier) )))) )) ))) )) (compound_statement "{\n            iVar7 = param_5._0_4_ + uVar12;\n            local_48 = &local_40;\n            if (iVar7 == 0) {\n              iVar8 = -1;\n            }\n            else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0);\n            piVar5 = *(int **)(param_1 + 0x54);\n            if (piVar5 == *(int **)(param_1 + 0x58)) {\n                    \n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }\n          }" { (expression_statement "iVar7 = param_5._0_4_ + uVar12;" (assignment_expression "iVar7 = param_5._0_4_ + uVar12" identifier = (binary_expression "param_5._0_4_ + uVar12" (field_expression "param_5._0_4_" identifier . field_identifier) + identifier)) ;) (expression_statement "local_48 = &local_40;" (assignment_expression "local_48 = &local_40" identifier = (pointer_expression "&local_40" & identifier)) ;) (if_statement "if (iVar7 == 0) {\n              iVar8 = -1;\n            }\n            else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n              iVar8 = -1;\n            }" { (expression_statement "iVar8 = -1;" (assignment_expression "iVar8 = -1" identifier = number_literal) ;) }) (else_clause "else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }" else (compound_statement "{\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }" { (expression_statement "local_30 = iVar7;" (assignment_expression "local_30 = iVar7" identifier = identifier) ;) (expression_statement "iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);" (assignment_expression "iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7)" identifier = (call_expression "(*(code *)PTR_strlen_0043677c)(iVar7)" (parenthesized_expression "(*(code *)PTR_strlen_0043677c)" ( (pointer_expression "*(code *)PTR_strlen_0043677c" * (cast_expression "(code *)PTR_strlen_0043677c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar7)" ( identifier )))) ;) (expression_statement "iVar8 = local_30 + iVar8;" (assignment_expression "iVar8 = local_30 + iVar8" identifier = (binary_expression "local_30 + iVar8" identifier + identifier)) ;) (expression_statement "iVar7 = local_30;" (assignment_expression "iVar7 = local_30" identifier = identifier) ;) }))) (expression_statement "(*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0);" (call_expression "(*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0)" (parenthesized_expression "(*(code *)PTR__M_construct<char_const*>_00432488)" ( (binary_expression "*(code *)PTR__M_construct<char_const*>_00432488" (binary_expression "*(code *)PTR__M_construct<char_const" (pointer_expression "*(code *)PTR__M_construct" * (cast_expression "(code *)PTR__M_construct" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) (ERROR "*" *) > identifier) )) (argument_list "(&local_48,iVar7,iVar8,0)" ( (pointer_expression "&local_48" & identifier) , identifier , identifier , number_literal ))) ;) (expression_statement "piVar5 = *(int **)(param_1 + 0x54);" (assignment_expression "piVar5 = *(int **)(param_1 + 0x54)" identifier = (pointer_expression "*(int **)(param_1 + 0x54)" * (cast_expression "(int **)(param_1 + 0x54)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x54)" ( (binary_expression "param_1 + 0x54" identifier + number_literal) ))))) ;) (if_statement "if (piVar5 == *(int **)(param_1 + 0x58)) {\n                    \n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }" if (parenthesized_expression "(piVar5 == *(int **)(param_1 + 0x58))" ( (binary_expression "piVar5 == *(int **)(param_1 + 0x58)" identifier == (pointer_expression "*(int **)(param_1 + 0x58)" * (cast_expression "(int **)(param_1 + 0x58)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x58)" ( (binary_expression "param_1 + 0x58" identifier + number_literal) ))))) )) (compound_statement "{\n                    \n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }" { (expression_statement "(*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;" (call_expression "(*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)" (parenthesized_expression "(*(code *)PTR__M_realloc_insert<std_string>_00432c54)" ( (binary_expression "*(code *)PTR__M_realloc_insert<std_string>_00432c54" (binary_expression "*(code *)PTR__M_realloc_insert<std_string" (pointer_expression "*(code *)PTR__M_realloc_insert" * (cast_expression "(code *)PTR__M_realloc_insert" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) < identifier) > identifier) )) (argument_list "(param_1 + 0x50,piVar5,&local_48)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) , identifier , (pointer_expression "&local_48" & identifier) ))) ;) (if_statement "if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }" if (parenthesized_expression "(local_48 != &local_40)" ( (binary_expression "local_48 != &local_40" identifier != (pointer_expression "&local_40" & identifier)) )) (compound_statement "{\n                (*(code *)PTR_operator_delete_0043228c)();\n              }" { (expression_statement "(*(code *)PTR_operator_delete_0043228c)();" (call_expression "(*(code *)PTR_operator_delete_0043228c)()" (parenthesized_expression "(*(code *)PTR_operator_delete_0043228c)" ( (pointer_expression "*(code *)PTR_operator_delete_0043228c" * (cast_expression "(code *)PTR_operator_delete_0043228c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) })) }) (else_clause "else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }" else (compound_statement "{\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }" { (expression_statement "*piVar5 = (int)(piVar5 + 2);" (assignment_expression "*piVar5 = (int)(piVar5 + 2)" (pointer_expression "*piVar5" * identifier) = (cast_expression "(int)(piVar5 + 2)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar5 + 2)" ( (binary_expression "piVar5 + 2" identifier + number_literal) )))) ;) (if_statement "if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }" if (parenthesized_expression "(local_48 == &local_40)" ( (binary_expression "local_48 == &local_40" identifier == (pointer_expression "&local_40" & identifier)) )) (compound_statement "{\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }" { (expression_statement "piVar5[2] = local_40;" (assignment_expression "piVar5[2] = local_40" (subscript_expression "piVar5[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar5[3] = local_3c;" (assignment_expression "piVar5[3] = local_3c" (subscript_expression "piVar5[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar5[4] = local_38;" (assignment_expression "piVar5[4] = local_38" (subscript_expression "piVar5[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar5[5] = local_34;" (assignment_expression "piVar5[5] = local_34" (subscript_expression "piVar5[5]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar6 = *(int **)(param_1 + 0x54);" (assignment_expression "piVar6 = *(int **)(param_1 + 0x54)" identifier = (pointer_expression "*(int **)(param_1 + 0x54)" * (cast_expression "(int **)(param_1 + 0x54)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x54)" ( (binary_expression "param_1 + 0x54" identifier + number_literal) ))))) ;) }) (else_clause "else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }" else (compound_statement "{\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }" { (expression_statement "*piVar5 = (int)local_48;" (assignment_expression "*piVar5 = (int)local_48" (pointer_expression "*piVar5" * identifier) = (cast_expression "(int)local_48" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar5[2] = local_40;" (assignment_expression "piVar5[2] = local_40" (subscript_expression "piVar5[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar6 = piVar5;" (assignment_expression "piVar6 = piVar5" identifier = identifier) ;) }))) (expression_statement "piVar5[1] = local_44;" (assignment_expression "piVar5[1] = local_44" (subscript_expression "piVar5[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(int **)(param_1 + 0x54) = piVar6 + 6;" (assignment_expression "*(int **)(param_1 + 0x54) = piVar6 + 6" (pointer_expression "*(int **)(param_1 + 0x54)" * (cast_expression "(int **)(param_1 + 0x54)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x54)" ( (binary_expression "param_1 + 0x54" identifier + number_literal) )))) = (binary_expression "piVar6 + 6" identifier + number_literal)) ;) }))) }) (else_clause "else {\nLAB_0026f7f8:\n            local_30 = iVar7;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);\n          }" else (compound_statement "{\nLAB_0026f7f8:\n            local_30 = iVar7;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);\n          }" { (labeled_statement "LAB_0026f7f8:\n            local_30 = iVar7;" statement_identifier : (expression_statement "local_30 = iVar7;" (assignment_expression "local_30 = iVar7" identifier = identifier) ;)) (expression_statement "uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);" (assignment_expression "uVar2 = (*(code *)PTR_gettext_00436818)(puVar4)" identifier = (call_expression "(*(code *)PTR_gettext_00436818)(puVar4)" (parenthesized_expression "(*(code *)PTR_gettext_00436818)" ( (pointer_expression "*(code *)PTR_gettext_00436818" * (cast_expression "(code *)PTR_gettext_00436818" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(puVar4)" ( identifier )))) ;) (expression_statement "(*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);" (call_expression "(*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c)" (parenthesized_expression "(*(code *)PTR_error_00432a5c)" ( (pointer_expression "*(code *)PTR_error_00432a5c" * (cast_expression "(code *)PTR_error_00432a5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c)" ( identifier , identifier , identifier , identifier , identifier , identifier ))) ;) }))) }) (else_clause "else {\n          if (iVar7 != 0xe) goto LAB_0026f754;\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2);\n        }" else (compound_statement "{\n          if (iVar7 != 0xe) goto LAB_0026f754;\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2);\n        }" { (if_statement "if (iVar7 != 0xe) goto LAB_0026f754;" if (parenthesized_expression "(iVar7 != 0xe)" ( (binary_expression "iVar7 != 0xe" identifier != number_literal) )) (goto_statement "goto LAB_0026f754;" goto statement_identifier ;)) (expression_statement "iVar7 = piVar1[2];" (assignment_expression "iVar7 = piVar1[2]" identifier = (subscript_expression "piVar1[2]" identifier [ number_literal ])) ;) (expression_statement "uVar12 = piVar1[3];" (assignment_expression "uVar12 = piVar1[3]" identifier = (subscript_expression "piVar1[3]" identifier [ number_literal ])) ;) (if_statement "if ((in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))))\n          goto LAB_0026f7f8;" if (parenthesized_expression "((in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))))" ( (binary_expression "(in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12)))" (parenthesized_expression "(in_stack_00000018 <= iVar7)" ( (binary_expression "in_stack_00000018 <= iVar7" identifier <= identifier) )) && (parenthesized_expression "((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12)))" ( (parenthesized_expression "(puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))" ( (comma_expression "puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12)" (assignment_expression "puVar4 = puVar3" identifier = identifier) , (binary_expression "in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12)" (binary_expression "in_stack_00000018 != iVar7" identifier != identifier) || (parenthesized_expression "(in_stack_0000001c <= uVar12)" ( (binary_expression "in_stack_0000001c <= uVar12" identifier <= identifier) )))) )) ))) )) (goto_statement "goto LAB_0026f7f8;" goto statement_identifier ;)) (expression_statement "uVar2 = (*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12);" (assignment_expression "uVar2 = (*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12)" identifier = (call_expression "(*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12)" (parenthesized_expression "(*(code *)PTR_strlen_0043677c)" ( (pointer_expression "*(code *)PTR_strlen_0043677c" * (cast_expression "(code *)PTR_strlen_0043677c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_5._0_4_ + uVar12)" ( (binary_expression "param_5._0_4_ + uVar12" (field_expression "param_5._0_4_" identifier . field_identifier) + identifier) )))) ;) (expression_statement "(*(code *)PTR__M_replace_00432a3c)\n                    (param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2);" (call_expression "(*(code *)PTR__M_replace_00432a3c)\n                    (param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2)" (parenthesized_expression "(*(code *)PTR__M_replace_00432a3c)" ( (pointer_expression "*(code *)PTR__M_replace_00432a3c" * (cast_expression "(code *)PTR__M_replace_00432a3c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2)" ( (binary_expression "param_1 + 0x38" identifier + number_literal) , number_literal , (pointer_expression "*(undefined4 *)(param_1 + 0x3c)" * (cast_expression "(undefined4 *)(param_1 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x3c)" ( (binary_expression "param_1 + 0x3c" identifier + number_literal) )))) , (binary_expression "param_5._0_4_ + uVar12" (field_expression "param_5._0_4_" identifier . field_identifier) + identifier) , identifier ))) ;) }))) }) (else_clause "else {\nLAB_0026f754:\n        if (*piVar1 == 0 && iVar7 == 0) {\n          return;\n        }\n      }" else (compound_statement "{\nLAB_0026f754:\n        if (*piVar1 == 0 && iVar7 == 0) {\n          return;\n        }\n      }" { (labeled_statement "LAB_0026f754:\n        if (*piVar1 == 0 && iVar7 == 0) {\n          return;\n        }" statement_identifier : (if_statement "if (*piVar1 == 0 && iVar7 == 0) {\n          return;\n        }" if (parenthesized_expression "(*piVar1 == 0 && iVar7 == 0)" ( (binary_expression "*piVar1 == 0 && iVar7 == 0" (binary_expression "*piVar1 == 0" (pointer_expression "*piVar1" * identifier) == number_literal) && (binary_expression "iVar7 == 0" identifier == number_literal)) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) }))) }))) (expression_statement "piVar1 = piVar1 + 4;" (assignment_expression "piVar1 = piVar1 + 4" identifier = (binary_expression "piVar1 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(piVar1 < piVar9)" ( (binary_expression "piVar1 < piVar9" identifier < identifier) )) ;) })) (expression_statement "uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x1704);" (assignment_expression "uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x1704)" identifier = (call_expression "(*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x1704)" (parenthesized_expression "(*(code *)PTR_gettext_00436818)" ( (pointer_expression "*(code *)PTR_gettext_00436818" * (cast_expression "(code *)PTR_gettext_00436818" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_DAT_0043226c + 0x1704)" ( (binary_expression "PTR_DAT_0043226c + 0x1704" identifier + number_literal) )))) ;) (expression_statement "(*(code *)PTR_error_00432a5c)(param_1,uVar2);" (call_expression "(*(code *)PTR_error_00432a5c)(param_1,uVar2)" (parenthesized_expression "(*(code *)PTR_error_00432a5c)" ( (pointer_expression "*(code *)PTR_error_00432a5c" * (cast_expression "(code *)PTR_error_00432a5c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_1,uVar2)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit (declaration TYPE (ERROR IDENT : :) IDENT (ERROR < LIT) , (ERROR IDENT > : : (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) ))) { TYPE) (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * 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 ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (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 { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) (return_statement return ;) })) (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 (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 IDENT (argument_list ( ))) ;)) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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) )))) , (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 ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < IDENT) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_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 != IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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 { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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 ;)) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (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) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * 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) )))) , (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 )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT ))) ;) (return_statement return ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) || (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (binary_expression IDENT == IDENT) && (parenthesized_expression ( (binary_expression IDENT < IDENT) )))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT . field_identifier) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) < IDENT) (ERROR *) > IDENT) )) (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT , LIT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) < IDENT) > IDENT) )) (argument_list ( (binary_expression IDENT + LIT) , IDENT , (pointer_expression & IDENT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (pointer_expression & IDENT)) )) (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression & IDENT)) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) }))) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) && (parenthesized_expression ( (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (binary_expression IDENT != IDENT) || (parenthesized_expression ( (binary_expression IDENT <= IDENT) )))) )) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression (field_expression IDENT . field_identifier) + IDENT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , (binary_expression (field_expression IDENT . field_identifier) + IDENT) , IDENT ))) ;) }))) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * IDENT) == LIT) && (binary_expression IDENT == LIT)) )) (compound_statement { (return_statement return ;) }))) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , IDENT ))) ;) (return_statement return ;) (ERROR }))
(declaration "void gold::Sized_dynobj<64,true>::read_dynamic\n               (uchar *param_1,uint param_2,uint param_3,uchar *param_4,longlong param_5)\n\n{\n  int *piVar1;" (primitive_type "void") (ERROR "gold::" (identifier "gold") (: ":") (: ":")) (identifier "Sized_dynobj") (ERROR "<64" (< "<") (number_literal "64")) (, ",") (ERROR "true>::read_dynamic\n               (uchar *param_1,uint param_2,uint param_3,uchar *param_4,longlong param_5)\n\n{\n  int" (identifier "true") (> ">") (: ":") (: ":") (function_declarator "read_dynamic\n               (uchar *param_1,uint param_2,uint param_3,uchar *param_4,longlong param_5)" (identifier "read_dynamic") (parameter_list "(uchar *param_1,uint param_2,uint param_3,uchar *param_4,longlong param_5)" (( "(") (parameter_declaration "uchar *param_1" (type_identifier "uchar") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "uint param_2" (type_identifier "uint") (identifier "param_2")) (, ",") (parameter_declaration "uint param_3" (type_identifier "uint") (identifier "param_3")) (, ",") (parameter_declaration "uchar *param_4" (type_identifier "uchar") (pointer_declarator "*param_4" (* "*") (identifier "param_4"))) (, ",") (parameter_declaration "longlong param_5" (type_identifier "longlong") (identifier "param_5")) () ")"))) ({ "{") (primitive_type "int")) (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "undefined *puVar3;" (type_identifier "undefined") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "undefined *puVar4;" (type_identifier "undefined") (pointer_declarator "*puVar4" (* "*") (identifier "puVar4")) (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "int *piVar6;" (primitive_type "int") (pointer_declarator "*piVar6" (* "*") (identifier "piVar6")) (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "int *piVar9;" (primitive_type "int") (pointer_declarator "*piVar9" (* "*") (identifier "piVar9")) (; ";")) (declaration "undefined *puVar10;" (type_identifier "undefined") (pointer_declarator "*puVar10" (* "*") (identifier "puVar10")) (; ";")) (declaration "uchar *puVar11;" (type_identifier "uchar") (pointer_declarator "*puVar11" (* "*") (identifier "puVar11")) (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "int in_stack_00000018;" (primitive_type "int") (identifier "in_stack_00000018") (; ";")) (declaration "uint in_stack_0000001c;" (type_identifier "uint") (identifier "in_stack_0000001c") (; ";")) (declaration "int *local_48;" (primitive_type "int") (pointer_declarator "*local_48" (* "*") (identifier "local_48")) (; ";")) (declaration "int local_44;" (primitive_type "int") (identifier "local_44") (; ";")) (declaration "int local_40;" (primitive_type "int") (identifier "local_40") (; ";")) (declaration "int local_3c;" (primitive_type "int") (identifier "local_3c") (; ";")) (declaration "int local_38;" (primitive_type "int") (identifier "local_38") (; ";")) (declaration "int local_34;" (primitive_type "int") (identifier "local_34") (; ";")) (declaration "int local_30;" (primitive_type "int") (identifier "local_30") (; ";")) (expression_statement "iVar7 = param_2 + param_3 * 0x40;" (assignment_expression "iVar7 = param_2 + param_3 * 0x40" (identifier "iVar7") (= "=") (binary_expression "param_2 + param_3 * 0x40" (identifier "param_2") (+ "+") (binary_expression "param_3 * 0x40" (identifier "param_3") (* "*") (number_literal "0x40")))) (; ";")) (if_statement "if (*(int *)(iVar7 + 4) != 6) {\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x100,PTR_DAT_0043226c + 0x18bc);\n    return;\n  }" (if "if") (parenthesized_expression "(*(int *)(iVar7 + 4) != 6)" (( "(") (binary_expression "*(int *)(iVar7 + 4) != 6" (pointer_expression "*(int *)(iVar7 + 4)" (* "*") (cast_expression "(int *)(iVar7 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 4)" (( "(") (binary_expression "iVar7 + 4" (identifier "iVar7") (+ "+") (number_literal "4")) () ")")))) (!= "!=") (number_literal "6")) () ")")) (compound_statement "{\n    (*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x100,PTR_DAT_0043226c + 0x18bc);\n    return;\n  }" ({ "{") (expression_statement "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x100,PTR_DAT_0043226c + 0x18bc);" (call_expression "(*(code *)PTR_do_gold_unreachable_004323c4)\n              (PTR_DAT_0043226c + 0x13e0,0x100,PTR_DAT_0043226c + 0x18bc)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004323c4)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004323c4" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004323c4" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004323c4"))) () ")")) (argument_list "(PTR_DAT_0043226c + 0x13e0,0x100,PTR_DAT_0043226c + 0x18bc)" (( "(") (binary_expression "PTR_DAT_0043226c + 0x13e0" (identifier "PTR_DAT_0043226c") (+ "+") (number_literal "0x13e0")) (, ",") (number_literal "0x100") (, ",") (binary_expression "PTR_DAT_0043226c + 0x18bc" (identifier "PTR_DAT_0043226c") (+ "+") (number_literal "0x18bc")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "iVar8 = *(int *)(iVar7 + 0x24);" (assignment_expression "iVar8 = *(int *)(iVar7 + 0x24)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(iVar7 + 0x24)" (* "*") (cast_expression "(int *)(iVar7 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x24)" (( "(") (binary_expression "iVar7 + 0x24" (identifier "iVar7") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (if_statement "if (*(int *)(param_1 + 0x1c) == 0) {\nLAB_0026f9c4:\n                    \n    FUN_0025f830();\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_0026f9c4:\n                    \n    FUN_0025f830();\n  }" ({ "{") (labeled_statement "LAB_0026f9c4:\n                    \n    FUN_0025f830();" (statement_identifier "LAB_0026f9c4") (: ":") (expression_statement "FUN_0025f830();" (call_expression "FUN_0025f830()" (identifier "FUN_0025f830") (argument_list "()" (( "(") () ")"))) (; ";"))) (} "}"))) (expression_statement "piVar1 = (int *)(*(code *)PTR_get_view_0043249c)\n                            (*(int *)(param_1 + 0x1c) + 0x20,1,*(undefined4 *)(param_1 + 0x20),\n                             *(undefined4 *)(param_1 + 0x24),*(undefined4 *)(iVar7 + 0x18),\n                             *(undefined4 *)(iVar7 + 0x1c),iVar8,1,0);" (assignment_expression "piVar1 = (int *)(*(code *)PTR_get_view_0043249c)\n                            (*(int *)(param_1 + 0x1c) + 0x20,1,*(undefined4 *)(param_1 + 0x20),\n                             *(undefined4 *)(param_1 + 0x24),*(undefined4 *)(iVar7 + 0x18),\n                             *(undefined4 *)(iVar7 + 0x1c),iVar8,1,0)" (identifier "piVar1") (= "=") (cast_expression "(int *)(*(code *)PTR_get_view_0043249c)\n                            (*(int *)(param_1 + 0x1c) + 0x20,1,*(undefined4 *)(param_1 + 0x20),\n                             *(undefined4 *)(param_1 + 0x24),*(undefined4 *)(iVar7 + 0x18),\n                             *(undefined4 *)(iVar7 + 0x1c),iVar8,1,0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(*(code *)PTR_get_view_0043249c)\n                            (*(int *)(param_1 + 0x1c) + 0x20,1,*(undefined4 *)(param_1 + 0x20),\n                             *(undefined4 *)(param_1 + 0x24),*(undefined4 *)(iVar7 + 0x18),\n                             *(undefined4 *)(iVar7 + 0x1c),iVar8,1,0)" (parenthesized_expression "(*(code *)PTR_get_view_0043249c)" (( "(") (pointer_expression "*(code *)PTR_get_view_0043249c" (* "*") (cast_expression "(code *)PTR_get_view_0043249c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_get_view_0043249c"))) () ")")) (argument_list "(*(int *)(param_1 + 0x1c) + 0x20,1,*(undefined4 *)(param_1 + 0x20),\n                             *(undefined4 *)(param_1 + 0x24),*(undefined4 *)(iVar7 + 0x18),\n                             *(undefined4 *)(iVar7 + 0x1c),iVar8,1,0)" (( "(") (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 "1") (, ",") (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")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(iVar7 + 0x18)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x18)" (( "(") (binary_expression "iVar7 + 0x18" (identifier "iVar7") (+ "+") (number_literal "0x18")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(iVar7 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x1c)" (( "(") (binary_expression "iVar7 + 0x1c" (identifier "iVar7") (+ "+") (number_literal "0x1c")) () ")")))) (, ",") (identifier "iVar8") (, ",") (number_literal "1") (, ",") (number_literal "0") () ")"))))) (; ";")) (expression_statement "puVar11 = *(uchar **)(iVar7 + 0x28);" (assignment_expression "puVar11 = *(uchar **)(iVar7 + 0x28)" (identifier "puVar11") (= "=") (pointer_expression "*(uchar **)(iVar7 + 0x28)" (* "*") (cast_expression "(uchar **)(iVar7 + 0x28)" (( "(") (type_descriptor "uchar **" (type_identifier "uchar") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar7 + 0x28)" (( "(") (binary_expression "iVar7 + 0x28" (identifier "iVar7") (+ "+") (number_literal "0x28")) () ")"))))) (; ";")) (if_statement "if ((uchar *)0xfeff < puVar11) {\n    (*(code *)PTR_initialize_shnum_00432a8c)(param_1 + 0x60);\n    puVar11 = puVar11 + *(int *)(param_1 + 0x78);\n  }" (if "if") (parenthesized_expression "((uchar *)0xfeff < puVar11)" (( "(") (binary_expression "(uchar *)0xfeff < puVar11" (cast_expression "(uchar *)0xfeff" (( "(") (type_descriptor "uchar *" (type_identifier "uchar") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xfeff")) (< "<") (identifier "puVar11")) () ")")) (compound_statement "{\n    (*(code *)PTR_initialize_shnum_00432a8c)(param_1 + 0x60);\n    puVar11 = puVar11 + *(int *)(param_1 + 0x78);\n  }" ({ "{") (expression_statement "(*(code *)PTR_initialize_shnum_00432a8c)(param_1 + 0x60);" (call_expression "(*(code *)PTR_initialize_shnum_00432a8c)(param_1 + 0x60)" (parenthesized_expression "(*(code *)PTR_initialize_shnum_00432a8c)" (( "(") (pointer_expression "*(code *)PTR_initialize_shnum_00432a8c" (* "*") (cast_expression "(code *)PTR_initialize_shnum_00432a8c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_initialize_shnum_00432a8c"))) () ")")) (argument_list "(param_1 + 0x60)" (( "(") (binary_expression "param_1 + 0x60" (identifier "param_1") (+ "+") (number_literal "0x60")) () ")"))) (; ";")) (expression_statement "puVar11 = puVar11 + *(int *)(param_1 + 0x78);" (assignment_expression "puVar11 = puVar11 + *(int *)(param_1 + 0x78)" (identifier "puVar11") (= "=") (binary_expression "puVar11 + *(int *)(param_1 + 0x78)" (identifier "puVar11") (+ "+") (pointer_expression "*(int *)(param_1 + 0x78)" (* "*") (cast_expression "(int *)(param_1 + 0x78)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x78)" (( "(") (binary_expression "param_1 + 0x78" (identifier "param_1") (+ "+") (number_literal "0x78")) () ")")))))) (; ";")) (} "}"))) (if_statement "if (puVar11 != param_4) {\n    if (puVar11 < *(uchar **)(param_1 + 0x28)) {\n      iVar7 = param_2 + (int)puVar11 * 0x40;\n      if (*(int *)(iVar7 + 4) == 3) {\n        in_stack_00000018 = *(int *)(iVar7 + 0x20);\n        in_stack_0000001c = *(uint *)(iVar7 + 0x24);\n        if (*(int *)(param_1 + 0x1c) == 0) goto LAB_0026f9c4;\n        param_5._0_4_ =\n             (*(code *)PTR_get_view_0043249c)\n                       (*(int *)(param_1 + 0x1c) + 0x20,(int)puVar11 * 0x40,\n                        *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),\n                        *(undefined4 *)(iVar7 + 0x18),*(undefined4 *)(iVar7 + 0x1c),\n                        in_stack_0000001c,0,0);\n        goto LAB_0026f724;\n      }\n      puVar3 = PTR_DAT_0043226c + 0x1680;\n    }\n    else {\n      puVar3 = PTR_DAT_0043226c + 0x1654;\n    }\n    uVar2 = (*(code *)PTR_gettext_00436818)(puVar3);\n    (*(code *)PTR_error_00432a5c)(param_1,uVar2,param_3,puVar11);\n    return;\n  }" (if "if") (parenthesized_expression "(puVar11 != param_4)" (( "(") (binary_expression "puVar11 != param_4" (identifier "puVar11") (!= "!=") (identifier "param_4")) () ")")) (compound_statement "{\n    if (puVar11 < *(uchar **)(param_1 + 0x28)) {\n      iVar7 = param_2 + (int)puVar11 * 0x40;\n      if (*(int *)(iVar7 + 4) == 3) {\n        in_stack_00000018 = *(int *)(iVar7 + 0x20);\n        in_stack_0000001c = *(uint *)(iVar7 + 0x24);\n        if (*(int *)(param_1 + 0x1c) == 0) goto LAB_0026f9c4;\n        param_5._0_4_ =\n             (*(code *)PTR_get_view_0043249c)\n                       (*(int *)(param_1 + 0x1c) + 0x20,(int)puVar11 * 0x40,\n                        *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),\n                        *(undefined4 *)(iVar7 + 0x18),*(undefined4 *)(iVar7 + 0x1c),\n                        in_stack_0000001c,0,0);\n        goto LAB_0026f724;\n      }\n      puVar3 = PTR_DAT_0043226c + 0x1680;\n    }\n    else {\n      puVar3 = PTR_DAT_0043226c + 0x1654;\n    }\n    uVar2 = (*(code *)PTR_gettext_00436818)(puVar3);\n    (*(code *)PTR_error_00432a5c)(param_1,uVar2,param_3,puVar11);\n    return;\n  }" ({ "{") (if_statement "if (puVar11 < *(uchar **)(param_1 + 0x28)) {\n      iVar7 = param_2 + (int)puVar11 * 0x40;\n      if (*(int *)(iVar7 + 4) == 3) {\n        in_stack_00000018 = *(int *)(iVar7 + 0x20);\n        in_stack_0000001c = *(uint *)(iVar7 + 0x24);\n        if (*(int *)(param_1 + 0x1c) == 0) goto LAB_0026f9c4;\n        param_5._0_4_ =\n             (*(code *)PTR_get_view_0043249c)\n                       (*(int *)(param_1 + 0x1c) + 0x20,(int)puVar11 * 0x40,\n                        *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),\n                        *(undefined4 *)(iVar7 + 0x18),*(undefined4 *)(iVar7 + 0x1c),\n                        in_stack_0000001c,0,0);\n        goto LAB_0026f724;\n      }\n      puVar3 = PTR_DAT_0043226c + 0x1680;\n    }\n    else {\n      puVar3 = PTR_DAT_0043226c + 0x1654;\n    }" (if "if") (parenthesized_expression "(puVar11 < *(uchar **)(param_1 + 0x28))" (( "(") (binary_expression "puVar11 < *(uchar **)(param_1 + 0x28)" (identifier "puVar11") (< "<") (pointer_expression "*(uchar **)(param_1 + 0x28)" (* "*") (cast_expression "(uchar **)(param_1 + 0x28)" (( "(") (type_descriptor "uchar **" (type_identifier "uchar") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x28)" (( "(") (binary_expression "param_1 + 0x28" (identifier "param_1") (+ "+") (number_literal "0x28")) () ")"))))) () ")")) (compound_statement "{\n      iVar7 = param_2 + (int)puVar11 * 0x40;\n      if (*(int *)(iVar7 + 4) == 3) {\n        in_stack_00000018 = *(int *)(iVar7 + 0x20);\n        in_stack_0000001c = *(uint *)(iVar7 + 0x24);\n        if (*(int *)(param_1 + 0x1c) == 0) goto LAB_0026f9c4;\n        param_5._0_4_ =\n             (*(code *)PTR_get_view_0043249c)\n                       (*(int *)(param_1 + 0x1c) + 0x20,(int)puVar11 * 0x40,\n                        *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),\n                        *(undefined4 *)(iVar7 + 0x18),*(undefined4 *)(iVar7 + 0x1c),\n                        in_stack_0000001c,0,0);\n        goto LAB_0026f724;\n      }\n      puVar3 = PTR_DAT_0043226c + 0x1680;\n    }" ({ "{") (expression_statement "iVar7 = param_2 + (int)puVar11 * 0x40;" (assignment_expression "iVar7 = param_2 + (int)puVar11 * 0x40" (identifier "iVar7") (= "=") (binary_expression "param_2 + (int)puVar11 * 0x40" (identifier "param_2") (+ "+") (binary_expression "(int)puVar11 * 0x40" (cast_expression "(int)puVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar11")) (* "*") (number_literal "0x40")))) (; ";")) (if_statement "if (*(int *)(iVar7 + 4) == 3) {\n        in_stack_00000018 = *(int *)(iVar7 + 0x20);\n        in_stack_0000001c = *(uint *)(iVar7 + 0x24);\n        if (*(int *)(param_1 + 0x1c) == 0) goto LAB_0026f9c4;\n        param_5._0_4_ =\n             (*(code *)PTR_get_view_0043249c)\n                       (*(int *)(param_1 + 0x1c) + 0x20,(int)puVar11 * 0x40,\n                        *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),\n                        *(undefined4 *)(iVar7 + 0x18),*(undefined4 *)(iVar7 + 0x1c),\n                        in_stack_0000001c,0,0);\n        goto LAB_0026f724;\n      }" (if "if") (parenthesized_expression "(*(int *)(iVar7 + 4) == 3)" (( "(") (binary_expression "*(int *)(iVar7 + 4) == 3" (pointer_expression "*(int *)(iVar7 + 4)" (* "*") (cast_expression "(int *)(iVar7 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 4)" (( "(") (binary_expression "iVar7 + 4" (identifier "iVar7") (+ "+") (number_literal "4")) () ")")))) (== "==") (number_literal "3")) () ")")) (compound_statement "{\n        in_stack_00000018 = *(int *)(iVar7 + 0x20);\n        in_stack_0000001c = *(uint *)(iVar7 + 0x24);\n        if (*(int *)(param_1 + 0x1c) == 0) goto LAB_0026f9c4;\n        param_5._0_4_ =\n             (*(code *)PTR_get_view_0043249c)\n                       (*(int *)(param_1 + 0x1c) + 0x20,(int)puVar11 * 0x40,\n                        *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),\n                        *(undefined4 *)(iVar7 + 0x18),*(undefined4 *)(iVar7 + 0x1c),\n                        in_stack_0000001c,0,0);\n        goto LAB_0026f724;\n      }" ({ "{") (expression_statement "in_stack_00000018 = *(int *)(iVar7 + 0x20);" (assignment_expression "in_stack_00000018 = *(int *)(iVar7 + 0x20)" (identifier "in_stack_00000018") (= "=") (pointer_expression "*(int *)(iVar7 + 0x20)" (* "*") (cast_expression "(int *)(iVar7 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x20)" (( "(") (binary_expression "iVar7 + 0x20" (identifier "iVar7") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "in_stack_0000001c = *(uint *)(iVar7 + 0x24);" (assignment_expression "in_stack_0000001c = *(uint *)(iVar7 + 0x24)" (identifier "in_stack_0000001c") (= "=") (pointer_expression "*(uint *)(iVar7 + 0x24)" (* "*") (cast_expression "(uint *)(iVar7 + 0x24)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x24)" (( "(") (binary_expression "iVar7 + 0x24" (identifier "iVar7") (+ "+") (number_literal "0x24")) () ")"))))) (; ";")) (if_statement "if (*(int *)(param_1 + 0x1c) == 0) goto LAB_0026f9c4;" (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")) () ")")) (goto_statement "goto LAB_0026f9c4;" (goto "goto") (statement_identifier "LAB_0026f9c4") (; ";"))) (expression_statement "param_5._0_4_ =\n             (*(code *)PTR_get_view_0043249c)\n                       (*(int *)(param_1 + 0x1c) + 0x20,(int)puVar11 * 0x40,\n                        *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),\n                        *(undefined4 *)(iVar7 + 0x18),*(undefined4 *)(iVar7 + 0x1c),\n                        in_stack_0000001c,0,0);" (assignment_expression "param_5._0_4_ =\n             (*(code *)PTR_get_view_0043249c)\n                       (*(int *)(param_1 + 0x1c) + 0x20,(int)puVar11 * 0x40,\n                        *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),\n                        *(undefined4 *)(iVar7 + 0x18),*(undefined4 *)(iVar7 + 0x1c),\n                        in_stack_0000001c,0,0)" (field_expression "param_5._0_4_" (identifier "param_5") (. ".") (field_identifier "_0_4_")) (= "=") (call_expression "(*(code *)PTR_get_view_0043249c)\n                       (*(int *)(param_1 + 0x1c) + 0x20,(int)puVar11 * 0x40,\n                        *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),\n                        *(undefined4 *)(iVar7 + 0x18),*(undefined4 *)(iVar7 + 0x1c),\n                        in_stack_0000001c,0,0)" (parenthesized_expression "(*(code *)PTR_get_view_0043249c)" (( "(") (pointer_expression "*(code *)PTR_get_view_0043249c" (* "*") (cast_expression "(code *)PTR_get_view_0043249c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_get_view_0043249c"))) () ")")) (argument_list "(*(int *)(param_1 + 0x1c) + 0x20,(int)puVar11 * 0x40,\n                        *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),\n                        *(undefined4 *)(iVar7 + 0x18),*(undefined4 *)(iVar7 + 0x1c),\n                        in_stack_0000001c,0,0)" (( "(") (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")) (, ",") (binary_expression "(int)puVar11 * 0x40" (cast_expression "(int)puVar11" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar11")) (* "*") (number_literal "0x40")) (, ",") (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")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(iVar7 + 0x18)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x18)" (( "(") (binary_expression "iVar7 + 0x18" (identifier "iVar7") (+ "+") (number_literal "0x18")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(iVar7 + 0x1c)" (* "*") (cast_expression "(undefined4 *)(iVar7 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar7 + 0x1c)" (( "(") (binary_expression "iVar7 + 0x1c" (identifier "iVar7") (+ "+") (number_literal "0x1c")) () ")")))) (, ",") (identifier "in_stack_0000001c") (, ",") (number_literal "0") (, ",") (number_literal "0") () ")")))) (; ";")) (goto_statement "goto LAB_0026f724;" (goto "goto") (statement_identifier "LAB_0026f724") (; ";")) (} "}"))) (expression_statement "puVar3 = PTR_DAT_0043226c + 0x1680;" (assignment_expression "puVar3 = PTR_DAT_0043226c + 0x1680" (identifier "puVar3") (= "=") (binary_expression "PTR_DAT_0043226c + 0x1680" (identifier "PTR_DAT_0043226c") (+ "+") (number_literal "0x1680"))) (; ";")) (} "}")) (else_clause "else {\n      puVar3 = PTR_DAT_0043226c + 0x1654;\n    }" (else "else") (compound_statement "{\n      puVar3 = PTR_DAT_0043226c + 0x1654;\n    }" ({ "{") (expression_statement "puVar3 = PTR_DAT_0043226c + 0x1654;" (assignment_expression "puVar3 = PTR_DAT_0043226c + 0x1654" (identifier "puVar3") (= "=") (binary_expression "PTR_DAT_0043226c + 0x1654" (identifier "PTR_DAT_0043226c") (+ "+") (number_literal "0x1654"))) (; ";")) (} "}")))) (expression_statement "uVar2 = (*(code *)PTR_gettext_00436818)(puVar3);" (assignment_expression "uVar2 = (*(code *)PTR_gettext_00436818)(puVar3)" (identifier "uVar2") (= "=") (call_expression "(*(code *)PTR_gettext_00436818)(puVar3)" (parenthesized_expression "(*(code *)PTR_gettext_00436818)" (( "(") (pointer_expression "*(code *)PTR_gettext_00436818" (* "*") (cast_expression "(code *)PTR_gettext_00436818" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_gettext_00436818"))) () ")")) (argument_list "(puVar3)" (( "(") (identifier "puVar3") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_error_00432a5c)(param_1,uVar2,param_3,puVar11);" (call_expression "(*(code *)PTR_error_00432a5c)(param_1,uVar2,param_3,puVar11)" (parenthesized_expression "(*(code *)PTR_error_00432a5c)" (( "(") (pointer_expression "*(code *)PTR_error_00432a5c" (* "*") (cast_expression "(code *)PTR_error_00432a5c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_error_00432a5c"))) () ")")) (argument_list "(param_1,uVar2,param_3,puVar11)" (( "(") (identifier "param_1") (, ",") (identifier "uVar2") (, ",") (identifier "param_3") (, ",") (identifier "puVar11") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (labeled_statement "LAB_0026f724:\n  piVar9 = (int *)((int)piVar1 + iVar8);" (statement_identifier "LAB_0026f724") (: ":") (expression_statement "piVar9 = (int *)((int)piVar1 + iVar8);" (assignment_expression "piVar9 = (int *)((int)piVar1 + iVar8)" (identifier "piVar9") (= "=") (cast_expression "(int *)((int)piVar1 + iVar8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar1 + iVar8)" (( "(") (binary_expression "(int)piVar1 + iVar8" (cast_expression "(int)piVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar1")) (+ "+") (identifier "iVar8")) () ")")))) (; ";"))) (if_statement "if (piVar1 < piVar9) {\n    puVar10 = PTR_DAT_0043226c + 0x16d8;\n    puVar3 = PTR_DAT_0043226c + 0x16ac;\n    do {\n      iVar7 = piVar1[1];\n      if (*piVar1 == 0) {\n        if (iVar7 == 1) {\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((iVar7 < in_stack_00000018) ||\n             ((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)))) {\n            iVar7 = param_5._0_4_ + uVar12;\n            local_48 = &local_40;\n            if (iVar7 == 0) {\n              iVar8 = -1;\n            }\n            else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0);\n            piVar5 = *(int **)(param_1 + 0x54);\n            if (piVar5 == *(int **)(param_1 + 0x58)) {\n                    \n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = iVar7;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);\n          }\n        }\n        else {\n          if (iVar7 != 0xe) goto LAB_0026f754;\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2);\n        }\n      }\n      else {\nLAB_0026f754:\n        if (*piVar1 == 0 && iVar7 == 0) {\n          return;\n        }\n      }\n      piVar1 = piVar1 + 4;\n    } while (piVar1 < piVar9);\n  }" (if "if") (parenthesized_expression "(piVar1 < piVar9)" (( "(") (binary_expression "piVar1 < piVar9" (identifier "piVar1") (< "<") (identifier "piVar9")) () ")")) (compound_statement "{\n    puVar10 = PTR_DAT_0043226c + 0x16d8;\n    puVar3 = PTR_DAT_0043226c + 0x16ac;\n    do {\n      iVar7 = piVar1[1];\n      if (*piVar1 == 0) {\n        if (iVar7 == 1) {\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((iVar7 < in_stack_00000018) ||\n             ((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)))) {\n            iVar7 = param_5._0_4_ + uVar12;\n            local_48 = &local_40;\n            if (iVar7 == 0) {\n              iVar8 = -1;\n            }\n            else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0);\n            piVar5 = *(int **)(param_1 + 0x54);\n            if (piVar5 == *(int **)(param_1 + 0x58)) {\n                    \n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = iVar7;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);\n          }\n        }\n        else {\n          if (iVar7 != 0xe) goto LAB_0026f754;\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2);\n        }\n      }\n      else {\nLAB_0026f754:\n        if (*piVar1 == 0 && iVar7 == 0) {\n          return;\n        }\n      }\n      piVar1 = piVar1 + 4;\n    } while (piVar1 < piVar9);\n  }" ({ "{") (expression_statement "puVar10 = PTR_DAT_0043226c + 0x16d8;" (assignment_expression "puVar10 = PTR_DAT_0043226c + 0x16d8" (identifier "puVar10") (= "=") (binary_expression "PTR_DAT_0043226c + 0x16d8" (identifier "PTR_DAT_0043226c") (+ "+") (number_literal "0x16d8"))) (; ";")) (expression_statement "puVar3 = PTR_DAT_0043226c + 0x16ac;" (assignment_expression "puVar3 = PTR_DAT_0043226c + 0x16ac" (identifier "puVar3") (= "=") (binary_expression "PTR_DAT_0043226c + 0x16ac" (identifier "PTR_DAT_0043226c") (+ "+") (number_literal "0x16ac"))) (; ";")) (do_statement "do {\n      iVar7 = piVar1[1];\n      if (*piVar1 == 0) {\n        if (iVar7 == 1) {\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((iVar7 < in_stack_00000018) ||\n             ((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)))) {\n            iVar7 = param_5._0_4_ + uVar12;\n            local_48 = &local_40;\n            if (iVar7 == 0) {\n              iVar8 = -1;\n            }\n            else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0);\n            piVar5 = *(int **)(param_1 + 0x54);\n            if (piVar5 == *(int **)(param_1 + 0x58)) {\n                    \n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = iVar7;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);\n          }\n        }\n        else {\n          if (iVar7 != 0xe) goto LAB_0026f754;\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2);\n        }\n      }\n      else {\nLAB_0026f754:\n        if (*piVar1 == 0 && iVar7 == 0) {\n          return;\n        }\n      }\n      piVar1 = piVar1 + 4;\n    } while (piVar1 < piVar9);" (do "do") (compound_statement "{\n      iVar7 = piVar1[1];\n      if (*piVar1 == 0) {\n        if (iVar7 == 1) {\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((iVar7 < in_stack_00000018) ||\n             ((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)))) {\n            iVar7 = param_5._0_4_ + uVar12;\n            local_48 = &local_40;\n            if (iVar7 == 0) {\n              iVar8 = -1;\n            }\n            else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0);\n            piVar5 = *(int **)(param_1 + 0x54);\n            if (piVar5 == *(int **)(param_1 + 0x58)) {\n                    \n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = iVar7;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);\n          }\n        }\n        else {\n          if (iVar7 != 0xe) goto LAB_0026f754;\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2);\n        }\n      }\n      else {\nLAB_0026f754:\n        if (*piVar1 == 0 && iVar7 == 0) {\n          return;\n        }\n      }\n      piVar1 = piVar1 + 4;\n    }" ({ "{") (expression_statement "iVar7 = piVar1[1];" (assignment_expression "iVar7 = piVar1[1]" (identifier "iVar7") (= "=") (subscript_expression "piVar1[1]" (identifier "piVar1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (if_statement "if (*piVar1 == 0) {\n        if (iVar7 == 1) {\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((iVar7 < in_stack_00000018) ||\n             ((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)))) {\n            iVar7 = param_5._0_4_ + uVar12;\n            local_48 = &local_40;\n            if (iVar7 == 0) {\n              iVar8 = -1;\n            }\n            else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0);\n            piVar5 = *(int **)(param_1 + 0x54);\n            if (piVar5 == *(int **)(param_1 + 0x58)) {\n                    \n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = iVar7;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);\n          }\n        }\n        else {\n          if (iVar7 != 0xe) goto LAB_0026f754;\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2);\n        }\n      }\n      else {\nLAB_0026f754:\n        if (*piVar1 == 0 && iVar7 == 0) {\n          return;\n        }\n      }" (if "if") (parenthesized_expression "(*piVar1 == 0)" (( "(") (binary_expression "*piVar1 == 0" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        if (iVar7 == 1) {\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((iVar7 < in_stack_00000018) ||\n             ((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)))) {\n            iVar7 = param_5._0_4_ + uVar12;\n            local_48 = &local_40;\n            if (iVar7 == 0) {\n              iVar8 = -1;\n            }\n            else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0);\n            piVar5 = *(int **)(param_1 + 0x54);\n            if (piVar5 == *(int **)(param_1 + 0x58)) {\n                    \n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = iVar7;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);\n          }\n        }\n        else {\n          if (iVar7 != 0xe) goto LAB_0026f754;\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2);\n        }\n      }" ({ "{") (if_statement "if (iVar7 == 1) {\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((iVar7 < in_stack_00000018) ||\n             ((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)))) {\n            iVar7 = param_5._0_4_ + uVar12;\n            local_48 = &local_40;\n            if (iVar7 == 0) {\n              iVar8 = -1;\n            }\n            else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0);\n            piVar5 = *(int **)(param_1 + 0x54);\n            if (piVar5 == *(int **)(param_1 + 0x58)) {\n                    \n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = iVar7;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);\n          }\n        }\n        else {\n          if (iVar7 != 0xe) goto LAB_0026f754;\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2);\n        }" (if "if") (parenthesized_expression "(iVar7 == 1)" (( "(") (binary_expression "iVar7 == 1" (identifier "iVar7") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((iVar7 < in_stack_00000018) ||\n             ((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)))) {\n            iVar7 = param_5._0_4_ + uVar12;\n            local_48 = &local_40;\n            if (iVar7 == 0) {\n              iVar8 = -1;\n            }\n            else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0);\n            piVar5 = *(int **)(param_1 + 0x54);\n            if (piVar5 == *(int **)(param_1 + 0x58)) {\n                    \n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = iVar7;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);\n          }\n        }" ({ "{") (expression_statement "iVar7 = piVar1[2];" (assignment_expression "iVar7 = piVar1[2]" (identifier "iVar7") (= "=") (subscript_expression "piVar1[2]" (identifier "piVar1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar12 = piVar1[3];" (assignment_expression "uVar12 = piVar1[3]" (identifier "uVar12") (= "=") (subscript_expression "piVar1[3]" (identifier "piVar1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (if_statement "if ((iVar7 < in_stack_00000018) ||\n             ((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)))) {\n            iVar7 = param_5._0_4_ + uVar12;\n            local_48 = &local_40;\n            if (iVar7 == 0) {\n              iVar8 = -1;\n            }\n            else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0);\n            piVar5 = *(int **)(param_1 + 0x54);\n            if (piVar5 == *(int **)(param_1 + 0x58)) {\n                    \n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }\n          }\n          else {\nLAB_0026f7f8:\n            local_30 = iVar7;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);\n          }" (if "if") (parenthesized_expression "((iVar7 < in_stack_00000018) ||\n             ((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c))))" (( "(") (binary_expression "(iVar7 < in_stack_00000018) ||\n             ((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)))" (parenthesized_expression "(iVar7 < in_stack_00000018)" (( "(") (binary_expression "iVar7 < in_stack_00000018" (identifier "iVar7") (< "<") (identifier "in_stack_00000018")) () ")")) (|| "||") (parenthesized_expression "((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)))" (( "(") (parenthesized_expression "(puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c))" (( "(") (comma_expression "puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)" (assignment_expression "puVar4 = puVar10" (identifier "puVar4") (= "=") (identifier "puVar10")) (, ",") (binary_expression "in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)" (binary_expression "in_stack_00000018 == iVar7" (identifier "in_stack_00000018") (== "==") (identifier "iVar7")) (&& "&&") (parenthesized_expression "(uVar12 < in_stack_0000001c)" (( "(") (binary_expression "uVar12 < in_stack_0000001c" (identifier "uVar12") (< "<") (identifier "in_stack_0000001c")) () ")")))) () ")")) () ")"))) () ")")) (compound_statement "{\n            iVar7 = param_5._0_4_ + uVar12;\n            local_48 = &local_40;\n            if (iVar7 == 0) {\n              iVar8 = -1;\n            }\n            else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }\n            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0);\n            piVar5 = *(int **)(param_1 + 0x54);\n            if (piVar5 == *(int **)(param_1 + 0x58)) {\n                    \n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }\n          }" ({ "{") (expression_statement "iVar7 = param_5._0_4_ + uVar12;" (assignment_expression "iVar7 = param_5._0_4_ + uVar12" (identifier "iVar7") (= "=") (binary_expression "param_5._0_4_ + uVar12" (field_expression "param_5._0_4_" (identifier "param_5") (. ".") (field_identifier "_0_4_")) (+ "+") (identifier "uVar12"))) (; ";")) (expression_statement "local_48 = &local_40;" (assignment_expression "local_48 = &local_40" (identifier "local_48") (= "=") (pointer_expression "&local_40" (& "&") (identifier "local_40"))) (; ";")) (if_statement "if (iVar7 == 0) {\n              iVar8 = -1;\n            }\n            else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n              iVar8 = -1;\n            }" ({ "{") (expression_statement "iVar8 = -1;" (assignment_expression "iVar8 = -1" (identifier "iVar8") (= "=") (number_literal "-1")) (; ";")) (} "}")) (else_clause "else {\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }" (else "else") (compound_statement "{\n              local_30 = iVar7;\n              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);\n              iVar8 = local_30 + iVar8;\n              iVar7 = local_30;\n            }" ({ "{") (expression_statement "local_30 = iVar7;" (assignment_expression "local_30 = iVar7" (identifier "local_30") (= "=") (identifier "iVar7")) (; ";")) (expression_statement "iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);" (assignment_expression "iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7)" (identifier "iVar8") (= "=") (call_expression "(*(code *)PTR_strlen_0043677c)(iVar7)" (parenthesized_expression "(*(code *)PTR_strlen_0043677c)" (( "(") (pointer_expression "*(code *)PTR_strlen_0043677c" (* "*") (cast_expression "(code *)PTR_strlen_0043677c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0043677c"))) () ")")) (argument_list "(iVar7)" (( "(") (identifier "iVar7") () ")")))) (; ";")) (expression_statement "iVar8 = local_30 + iVar8;" (assignment_expression "iVar8 = local_30 + iVar8" (identifier "iVar8") (= "=") (binary_expression "local_30 + iVar8" (identifier "local_30") (+ "+") (identifier "iVar8"))) (; ";")) (expression_statement "iVar7 = local_30;" (assignment_expression "iVar7 = local_30" (identifier "iVar7") (= "=") (identifier "local_30")) (; ";")) (} "}")))) (expression_statement "(*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0);" (call_expression "(*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0)" (parenthesized_expression "(*(code *)PTR__M_construct<char_const*>_00432488)" (( "(") (binary_expression "*(code *)PTR__M_construct<char_const*>_00432488" (binary_expression "*(code *)PTR__M_construct<char_const" (pointer_expression "*(code *)PTR__M_construct" (* "*") (cast_expression "(code *)PTR__M_construct" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_construct"))) (< "<") (identifier "char_const")) (ERROR "*" (* "*")) (> ">") (identifier "_00432488")) () ")")) (argument_list "(&local_48,iVar7,iVar8,0)" (( "(") (pointer_expression "&local_48" (& "&") (identifier "local_48")) (, ",") (identifier "iVar7") (, ",") (identifier "iVar8") (, ",") (number_literal "0") () ")"))) (; ";")) (expression_statement "piVar5 = *(int **)(param_1 + 0x54);" (assignment_expression "piVar5 = *(int **)(param_1 + 0x54)" (identifier "piVar5") (= "=") (pointer_expression "*(int **)(param_1 + 0x54)" (* "*") (cast_expression "(int **)(param_1 + 0x54)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x54)" (( "(") (binary_expression "param_1 + 0x54" (identifier "param_1") (+ "+") (number_literal "0x54")) () ")"))))) (; ";")) (if_statement "if (piVar5 == *(int **)(param_1 + 0x58)) {\n                    \n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }\n            else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }" (if "if") (parenthesized_expression "(piVar5 == *(int **)(param_1 + 0x58))" (( "(") (binary_expression "piVar5 == *(int **)(param_1 + 0x58)" (identifier "piVar5") (== "==") (pointer_expression "*(int **)(param_1 + 0x58)" (* "*") (cast_expression "(int **)(param_1 + 0x58)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x58)" (( "(") (binary_expression "param_1 + 0x58" (identifier "param_1") (+ "+") (number_literal "0x58")) () ")"))))) () ")")) (compound_statement "{\n                    \n              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;\n              if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }\n            }" ({ "{") (expression_statement "(*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)\n              ;" (call_expression "(*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)" (parenthesized_expression "(*(code *)PTR__M_realloc_insert<std_string>_00432c54)" (( "(") (binary_expression "*(code *)PTR__M_realloc_insert<std_string>_00432c54" (binary_expression "*(code *)PTR__M_realloc_insert<std_string" (pointer_expression "*(code *)PTR__M_realloc_insert" (* "*") (cast_expression "(code *)PTR__M_realloc_insert" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_realloc_insert"))) (< "<") (identifier "std_string")) (> ">") (identifier "_00432c54")) () ")")) (argument_list "(param_1 + 0x50,piVar5,&local_48)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) (, ",") (identifier "piVar5") (, ",") (pointer_expression "&local_48" (& "&") (identifier "local_48")) () ")"))) (; ";")) (if_statement "if (local_48 != &local_40) {\n                (*(code *)PTR_operator_delete_0043228c)();\n              }" (if "if") (parenthesized_expression "(local_48 != &local_40)" (( "(") (binary_expression "local_48 != &local_40" (identifier "local_48") (!= "!=") (pointer_expression "&local_40" (& "&") (identifier "local_40"))) () ")")) (compound_statement "{\n                (*(code *)PTR_operator_delete_0043228c)();\n              }" ({ "{") (expression_statement "(*(code *)PTR_operator_delete_0043228c)();" (call_expression "(*(code *)PTR_operator_delete_0043228c)()" (parenthesized_expression "(*(code *)PTR_operator_delete_0043228c)" (( "(") (pointer_expression "*(code *)PTR_operator_delete_0043228c" (* "*") (cast_expression "(code *)PTR_operator_delete_0043228c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_operator_delete_0043228c"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }" (else "else") (compound_statement "{\n              *piVar5 = (int)(piVar5 + 2);\n              if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }\n              piVar5[1] = local_44;\n              *(int **)(param_1 + 0x54) = piVar6 + 6;\n            }" ({ "{") (expression_statement "*piVar5 = (int)(piVar5 + 2);" (assignment_expression "*piVar5 = (int)(piVar5 + 2)" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (= "=") (cast_expression "(int)(piVar5 + 2)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(piVar5 + 2)" (( "(") (binary_expression "piVar5 + 2" (identifier "piVar5") (+ "+") (number_literal "2")) () ")")))) (; ";")) (if_statement "if (local_48 == &local_40) {\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }\n              else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }" (if "if") (parenthesized_expression "(local_48 == &local_40)" (( "(") (binary_expression "local_48 == &local_40" (identifier "local_48") (== "==") (pointer_expression "&local_40" (& "&") (identifier "local_40"))) () ")")) (compound_statement "{\n                piVar5[2] = local_40;\n                piVar5[3] = local_3c;\n                piVar5[4] = local_38;\n                piVar5[5] = local_34;\n                piVar6 = *(int **)(param_1 + 0x54);\n              }" ({ "{") (expression_statement "piVar5[2] = local_40;" (assignment_expression "piVar5[2] = local_40" (subscript_expression "piVar5[2]" (identifier "piVar5") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "local_40")) (; ";")) (expression_statement "piVar5[3] = local_3c;" (assignment_expression "piVar5[3] = local_3c" (subscript_expression "piVar5[3]" (identifier "piVar5") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "local_3c")) (; ";")) (expression_statement "piVar5[4] = local_38;" (assignment_expression "piVar5[4] = local_38" (subscript_expression "piVar5[4]" (identifier "piVar5") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "local_38")) (; ";")) (expression_statement "piVar5[5] = local_34;" (assignment_expression "piVar5[5] = local_34" (subscript_expression "piVar5[5]" (identifier "piVar5") ([ "[") (number_literal "5") (] "]")) (= "=") (identifier "local_34")) (; ";")) (expression_statement "piVar6 = *(int **)(param_1 + 0x54);" (assignment_expression "piVar6 = *(int **)(param_1 + 0x54)" (identifier "piVar6") (= "=") (pointer_expression "*(int **)(param_1 + 0x54)" (* "*") (cast_expression "(int **)(param_1 + 0x54)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x54)" (( "(") (binary_expression "param_1 + 0x54" (identifier "param_1") (+ "+") (number_literal "0x54")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }" (else "else") (compound_statement "{\n                *piVar5 = (int)local_48;\n                piVar5[2] = local_40;\n                piVar6 = piVar5;\n              }" ({ "{") (expression_statement "*piVar5 = (int)local_48;" (assignment_expression "*piVar5 = (int)local_48" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (= "=") (cast_expression "(int)local_48" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "local_48"))) (; ";")) (expression_statement "piVar5[2] = local_40;" (assignment_expression "piVar5[2] = local_40" (subscript_expression "piVar5[2]" (identifier "piVar5") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "local_40")) (; ";")) (expression_statement "piVar6 = piVar5;" (assignment_expression "piVar6 = piVar5" (identifier "piVar6") (= "=") (identifier "piVar5")) (; ";")) (} "}")))) (expression_statement "piVar5[1] = local_44;" (assignment_expression "piVar5[1] = local_44" (subscript_expression "piVar5[1]" (identifier "piVar5") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "local_44")) (; ";")) (expression_statement "*(int **)(param_1 + 0x54) = piVar6 + 6;" (assignment_expression "*(int **)(param_1 + 0x54) = piVar6 + 6" (pointer_expression "*(int **)(param_1 + 0x54)" (* "*") (cast_expression "(int **)(param_1 + 0x54)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x54)" (( "(") (binary_expression "param_1 + 0x54" (identifier "param_1") (+ "+") (number_literal "0x54")) () ")")))) (= "=") (binary_expression "piVar6 + 6" (identifier "piVar6") (+ "+") (number_literal "6"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\nLAB_0026f7f8:\n            local_30 = iVar7;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);\n          }" (else "else") (compound_statement "{\nLAB_0026f7f8:\n            local_30 = iVar7;\n            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);\n            (*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);\n          }" ({ "{") (labeled_statement "LAB_0026f7f8:\n            local_30 = iVar7;" (statement_identifier "LAB_0026f7f8") (: ":") (expression_statement "local_30 = iVar7;" (assignment_expression "local_30 = iVar7" (identifier "local_30") (= "=") (identifier "iVar7")) (; ";"))) (expression_statement "uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);" (assignment_expression "uVar2 = (*(code *)PTR_gettext_00436818)(puVar4)" (identifier "uVar2") (= "=") (call_expression "(*(code *)PTR_gettext_00436818)(puVar4)" (parenthesized_expression "(*(code *)PTR_gettext_00436818)" (( "(") (pointer_expression "*(code *)PTR_gettext_00436818" (* "*") (cast_expression "(code *)PTR_gettext_00436818" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_gettext_00436818"))) () ")")) (argument_list "(puVar4)" (( "(") (identifier "puVar4") () ")")))) (; ";")) (expression_statement "(*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);" (call_expression "(*(code *)PTR_error_00432a5c)\n                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c)" (parenthesized_expression "(*(code *)PTR_error_00432a5c)" (( "(") (pointer_expression "*(code *)PTR_error_00432a5c" (* "*") (cast_expression "(code *)PTR_error_00432a5c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_error_00432a5c"))) () ")")) (argument_list "(param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c)" (( "(") (identifier "param_1") (, ",") (identifier "uVar2") (, ",") (identifier "local_30") (, ",") (identifier "uVar12") (, ",") (identifier "in_stack_00000018") (, ",") (identifier "in_stack_0000001c") () ")"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\n          if (iVar7 != 0xe) goto LAB_0026f754;\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2);\n        }" (else "else") (compound_statement "{\n          if (iVar7 != 0xe) goto LAB_0026f754;\n          iVar7 = piVar1[2];\n          uVar12 = piVar1[3];\n          if ((in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))))\n          goto LAB_0026f7f8;\n          uVar2 = (*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12);\n          (*(code *)PTR__M_replace_00432a3c)\n                    (param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2);\n        }" ({ "{") (if_statement "if (iVar7 != 0xe) goto LAB_0026f754;" (if "if") (parenthesized_expression "(iVar7 != 0xe)" (( "(") (binary_expression "iVar7 != 0xe" (identifier "iVar7") (!= "!=") (number_literal "0xe")) () ")")) (goto_statement "goto LAB_0026f754;" (goto "goto") (statement_identifier "LAB_0026f754") (; ";"))) (expression_statement "iVar7 = piVar1[2];" (assignment_expression "iVar7 = piVar1[2]" (identifier "iVar7") (= "=") (subscript_expression "piVar1[2]" (identifier "piVar1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar12 = piVar1[3];" (assignment_expression "uVar12 = piVar1[3]" (identifier "uVar12") (= "=") (subscript_expression "piVar1[3]" (identifier "piVar1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (if_statement "if ((in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))))\n          goto LAB_0026f7f8;" (if "if") (parenthesized_expression "((in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))))" (( "(") (binary_expression "(in_stack_00000018 <= iVar7) &&\n             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12)))" (parenthesized_expression "(in_stack_00000018 <= iVar7)" (( "(") (binary_expression "in_stack_00000018 <= iVar7" (identifier "in_stack_00000018") (<= "<=") (identifier "iVar7")) () ")")) (&& "&&") (parenthesized_expression "((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12)))" (( "(") (parenthesized_expression "(puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))" (( "(") (comma_expression "puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12)" (assignment_expression "puVar4 = puVar3" (identifier "puVar4") (= "=") (identifier "puVar3")) (, ",") (binary_expression "in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12)" (binary_expression "in_stack_00000018 != iVar7" (identifier "in_stack_00000018") (!= "!=") (identifier "iVar7")) (|| "||") (parenthesized_expression "(in_stack_0000001c <= uVar12)" (( "(") (binary_expression "in_stack_0000001c <= uVar12" (identifier "in_stack_0000001c") (<= "<=") (identifier "uVar12")) () ")")))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_0026f7f8;" (goto "goto") (statement_identifier "LAB_0026f7f8") (; ";"))) (expression_statement "uVar2 = (*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12);" (assignment_expression "uVar2 = (*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12)" (identifier "uVar2") (= "=") (call_expression "(*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12)" (parenthesized_expression "(*(code *)PTR_strlen_0043677c)" (( "(") (pointer_expression "*(code *)PTR_strlen_0043677c" (* "*") (cast_expression "(code *)PTR_strlen_0043677c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_0043677c"))) () ")")) (argument_list "(param_5._0_4_ + uVar12)" (( "(") (binary_expression "param_5._0_4_ + uVar12" (field_expression "param_5._0_4_" (identifier "param_5") (. ".") (field_identifier "_0_4_")) (+ "+") (identifier "uVar12")) () ")")))) (; ";")) (expression_statement "(*(code *)PTR__M_replace_00432a3c)\n                    (param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2);" (call_expression "(*(code *)PTR__M_replace_00432a3c)\n                    (param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2)" (parenthesized_expression "(*(code *)PTR__M_replace_00432a3c)" (( "(") (pointer_expression "*(code *)PTR__M_replace_00432a3c" (* "*") (cast_expression "(code *)PTR__M_replace_00432a3c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR__M_replace_00432a3c"))) () ")")) (argument_list "(param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2)" (( "(") (binary_expression "param_1 + 0x38" (identifier "param_1") (+ "+") (number_literal "0x38")) (, ",") (number_literal "0") (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x3c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x3c)" (( "(") (binary_expression "param_1 + 0x3c" (identifier "param_1") (+ "+") (number_literal "0x3c")) () ")")))) (, ",") (binary_expression "param_5._0_4_ + uVar12" (field_expression "param_5._0_4_" (identifier "param_5") (. ".") (field_identifier "_0_4_")) (+ "+") (identifier "uVar12")) (, ",") (identifier "uVar2") () ")"))) (; ";")) (} "}")))) (} "}")) (else_clause "else {\nLAB_0026f754:\n        if (*piVar1 == 0 && iVar7 == 0) {\n          return;\n        }\n      }" (else "else") (compound_statement "{\nLAB_0026f754:\n        if (*piVar1 == 0 && iVar7 == 0) {\n          return;\n        }\n      }" ({ "{") (labeled_statement "LAB_0026f754:\n        if (*piVar1 == 0 && iVar7 == 0) {\n          return;\n        }" (statement_identifier "LAB_0026f754") (: ":") (if_statement "if (*piVar1 == 0 && iVar7 == 0) {\n          return;\n        }" (if "if") (parenthesized_expression "(*piVar1 == 0 && iVar7 == 0)" (( "(") (binary_expression "*piVar1 == 0 && iVar7 == 0" (binary_expression "*piVar1 == 0" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (== "==") (number_literal "0")) (&& "&&") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0"))) () ")")) (compound_statement "{\n          return;\n        }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}")))) (} "}")))) (expression_statement "piVar1 = piVar1 + 4;" (assignment_expression "piVar1 = piVar1 + 4" (identifier "piVar1") (= "=") (binary_expression "piVar1 + 4" (identifier "piVar1") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(piVar1 < piVar9)" (( "(") (binary_expression "piVar1 < piVar9" (identifier "piVar1") (< "<") (identifier "piVar9")) () ")")) (; ";")) (} "}"))) (expression_statement "uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x1704);" (assignment_expression "uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x1704)" (identifier "uVar2") (= "=") (call_expression "(*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x1704)" (parenthesized_expression "(*(code *)PTR_gettext_00436818)" (( "(") (pointer_expression "*(code *)PTR_gettext_00436818" (* "*") (cast_expression "(code *)PTR_gettext_00436818" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_gettext_00436818"))) () ")")) (argument_list "(PTR_DAT_0043226c + 0x1704)" (( "(") (binary_expression "PTR_DAT_0043226c + 0x1704" (identifier "PTR_DAT_0043226c") (+ "+") (number_literal "0x1704")) () ")")))) (; ";")) (expression_statement "(*(code *)PTR_error_00432a5c)(param_1,uVar2);" (call_expression "(*(code *)PTR_error_00432a5c)(param_1,uVar2)" (parenthesized_expression "(*(code *)PTR_error_00432a5c)" (( "(") (pointer_expression "*(code *)PTR_error_00432a5c" (* "*") (cast_expression "(code *)PTR_error_00432a5c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_error_00432a5c"))) () ")")) (argument_list "(param_1,uVar2)" (( "(") (identifier "param_1") (, ",") (identifier "uVar2") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (ERROR "}" (} "}"))

/* DWARF original prototype: void read_dynamic(Sized_dynobj<64,_true> * this, uchar * pshdrs, uint
   dynamic_shndx, uint strtab_shndx, uchar * strtabu, off_t strtab_size) */

void __thiscall
gold::Sized_dynobj<64,_true>::read_dynamic
          (Sized_dynobj<64,_true> *this,type_5 *var_1,type_7 var_2,type_7 var_8,
          type_5 *var_15,type_11 strtab_size)

{
  int *var_11;
  type_1 uVar2;
  type_2 *var_5;
  type_3 *puVar3;
  type_3 *puVar4;
  int var_9;
  type_4 pbVar6;
  type_4 var_27;
  type_5 *var_14;
  type_5 *puVar9;
  int var_10;
  int *var_12;
  type_5 *var_13;
  type_3 *puVar13;
  type_6 *var_4;
  type_7 var_7;
  type_8 local_48;
  type_6 local_44;
  type_6 var_16;
  type_1 local_3c;
  type_1 local_38;
  type_1 local_34;
  type_5 *var_17;
  
  if (*(int *)(var_1 + var_2 * 0x40 + 4) != 6) {
    puVar3 = var_3 + 0x13e0;
    (*(type_9 *)PTR_do_gold_unreachable_004323c4)(puVar3,0x100,var_3 + 0x18bc);
                    /* catch() { ... } // from try @ 0026f968 with catch @ 0026f9f0 */
    if ((type_6 *)local_48._M_p != var_4) {
      (*(type_9 *)PTR_operator_delete_0043228c)(local_48._M_p);
    }
    (*(type_9 *)PTR__Unwind_Resume_00432258)(puVar3);
    return;
  }
  var_5 = (this->super_Dynobj).super_Object.input_file_;
  var_10 = *(int *)(var_1 + var_2 * 0x40 + 0x24);
  if (var_5 == (type_2 *)0x0) {
LAB_0026f9c4:
                    /* WARNING: Subroutine does not return */
    Object::var_6((type_10 *)var_5);
  }
  var_11 = (int *)(*(type_9 *)PTR_get_view_0043249c)
                            (&var_5->file_,1,
                             *(type_1 *)&(this->super_Dynobj).super_Object.offset_,
                             (int)(this->super_Dynobj).super_Object.offset_,
                             *(type_1 *)(var_1 + var_2 * 0x40 + 0x18),
                             *(type_1 *)(var_1 + var_2 * 0x40 + 0x1c),var_10,1,0);
  var_7 = *(type_7 *)(var_1 + var_2 * 0x40 + 0x28);
  if (0xfeff < var_7) {
    (*(type_9 *)PTR_initialize_shnum_00432a8c)(&this->elf_file_);
    var_7 = var_7 + (this->elf_file_).large_shndx_offset_;
  }
  if (var_7 != var_8) {
    var_9 = var_7 * 0x40;
    if (var_7 < (this->super_Dynobj).super_Object.shnum_) {
      if (*(int *)(var_1 + var_9 + 4) == 3) {
        var_5 = (this->super_Dynobj).super_Object.input_file_;
        strtab_size = *(type_11 *)(var_1 + var_9 + 0x20);
        if (var_5 == (type_2 *)0x0) goto LAB_0026f9c4;
        var_15 = (type_5 *)(*(type_9 *)PTR_get_view_0043249c)
                                     (&var_5->file_,var_9,
                                      *(type_1 *)&(this->super_Dynobj).super_Object.offset_,
                                      (int)(this->super_Dynobj).super_Object.offset_,
                                      *(type_1 *)(var_1 + var_9 + 0x18),
                                      *(type_1 *)(var_1 + var_9 + 0x1c),
                                      *(type_1 *)(var_1 + var_9 + 0x24),0,0);
        goto LAB_0026f724;
      }
      puVar3 = var_3 + 0x1680;
    }
    else {
      puVar3 = var_3 + 0x1654;
    }
    uVar2 = (*(type_9 *)PTR_gettext_00436818)(puVar3);
    (*(type_9 *)PTR_error_00432a5c)(this,uVar2,var_2,var_7);
    return;
  }
LAB_0026f724:
  var_13 = (type_5 *)((type_12)strtab_size >> 0x20);
  var_12 = (int *)((int)var_11 + var_10);
  if (var_11 < var_12) {
    puVar13 = var_3 + 0x16d8;
    puVar3 = var_3 + 0x16ac;
    do {
      var_10 = var_11[1];
      if (*var_11 == 0) {
        if (var_10 == 1) {
          var_14 = (type_5 *)var_11[2];
          var_7 = var_11[3];
          if (((int)var_14 < (int)var_13) ||
             ((puVar4 = puVar13, var_13 == var_14 && (var_7 < (type_7)strtab_size)))) {
            var_14 = var_15 + var_7;
            local_48._M_p = (type_4)&var_16;
            if (var_14 == (type_5 *)0x0) {
              puVar9 = (type_5 *)0xffffffff;
            }
            else {
              var_17 = var_14;
              var_10 = (*(type_9 *)PTR_strlen_0043677c)(var_14);
              puVar9 = var_17 + var_10;
              var_14 = var_17;
            }
            (*(type_9 *)PTR__M_construct<var_18*>var_19)(&local_48,var_14,puVar9,0);
            pbVar6 = (this->super_Dynobj).needed_.
                     super__Vector_base<std::__cxx11::basic_string<var_21,_std::char_traits<var_21>,_std::var_20<var_21>var_22>,_std::var_20<std::__cxx11::basic_string<var_21,_std::char_traits<var_21>,_std::var_20<var_21>var_22>var_22>var_22>
                     ._M_impl._M_finish;
            if (pbVar6 == (this->super_Dynobj).needed_.
                          super__Vector_base<std::__cxx11::basic_string<var_21,_std::char_traits<var_21>,_std::var_20<var_21>var_22>,_std::var_20<std::__cxx11::basic_string<var_21,_std::char_traits<var_21>,_std::var_20<var_21>var_22>var_22>var_22>
                          ._M_impl._M_end_of_storage) {
                    /* try { // try from 0026f968 to 0026f96f has its CatchHandler @ 0026f9f0 */
              (*(type_9 *)
                PTR__M_realloc_insert<var_23<var_21,var_24<var_21>,var_25<var_21>var_22>var_22>var_26
              )(&(this->super_Dynobj).needed_,pbVar6,&local_48);
              if ((type_6 *)local_48._M_p != &var_16) {
                (*(type_9 *)PTR_operator_delete_0043228c)();
              }
            }
            else {
              (pbVar6->_M_dataplus)._M_p = (type_4)&pbVar6->field_2;
              if ((type_6 *)local_48._M_p == &var_16) {
                (pbVar6->field_2)._M_allocated_capacity = var_16;
                *(type_1 *)((int)&pbVar6->field_2 + 4) = local_3c;
                *(type_1 *)((int)&pbVar6->field_2 + 8) = local_38;
                *(type_1 *)((int)&pbVar6->field_2 + 0xc) = local_34;
                var_27 = (this->super_Dynobj).needed_.
                         super__Vector_base<std::__cxx11::basic_string<var_21,_std::char_traits<var_21>,_std::var_20<var_21>var_22>,_std::var_20<std::__cxx11::basic_string<var_21,_std::char_traits<var_21>,_std::var_20<var_21>var_22>var_22>var_22>
                         ._M_impl._M_finish;
              }
              else {
                (pbVar6->_M_dataplus)._M_p = local_48._M_p;
                (pbVar6->field_2)._M_allocated_capacity = var_16;
                var_27 = pbVar6;
              }
              pbVar6->_M_string_length = local_44;
              (this->super_Dynobj).needed_.
              super__Vector_base<std::__cxx11::basic_string<var_21,_std::char_traits<var_21>,_std::var_20<var_21>var_22>,_std::var_20<std::__cxx11::basic_string<var_21,_std::char_traits<var_21>,_std::var_20<var_21>var_22>var_22>var_22>
              ._M_impl._M_finish = var_27 + 1;
            }
          }
          else {
LAB_0026f7f8:
            var_17 = var_14;
            uVar2 = (*(type_9 *)PTR_gettext_00436818)(puVar4);
            (*(type_9 *)PTR_error_00432a5c)(this,uVar2,var_17,var_7,strtab_size);
          }
        }
        else {
          if (var_10 != 0xe) goto LAB_0026f754;
          var_14 = (type_5 *)var_11[2];
          var_7 = var_11[3];
          if (((int)var_13 <= (int)var_14) &&
             ((puVar4 = puVar3, var_13 != var_14 || ((type_7)strtab_size <= var_7))))
          goto LAB_0026f7f8;
          uVar2 = (*(type_9 *)PTR_strlen_0043677c)(var_15 + var_7);
          (*(type_9 *)PTR__M_replace_00432a3c)
                    (&(this->super_Dynobj).soname_,0,(this->super_Dynobj).soname_._M_string_length,
                     var_15 + var_7,uVar2);
        }
      }
      else {
LAB_0026f754:
        if (*var_11 == 0 && var_10 == 0) {
          return;
        }
      }
      var_11 = var_11 + 4;
    } while (var_11 < var_12);
  }
  uVar2 = (*(type_9 *)PTR_gettext_00436818)(var_3 + 0x1704);
  (*(type_9 *)PTR_error_00432a5c)(this,uVar2);
  return;
}


(translation_unit (declaration type: (primitive_type) (ERROR (identifier)) declarator: (identifier) (ERROR (number_literal)) (ERROR (identifier) (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)))) (primitive_type)) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (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 (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)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))) (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))))))) (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: (identifier) arguments: (argument_list)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (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))))) (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)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)) right: (identifier))) consequence: (compound_statement (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))))) (expression_statement (assignment_expression left: (identifier) right: (binary_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)))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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 (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: (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: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_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)) (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (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))))) (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))))) (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))))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (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 (identifier) (identifier) (identifier) (identifier)))) (return_statement))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (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 (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (expression_statement (call_expression function: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier)) (ERROR) right: (identifier))) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier) (identifier) (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) consequence: (compound_statement (expression_statement (call_expression function: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (identifier)) right: (identifier))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (identifier) (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (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)))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (identifier)))) consequence: (compound_statement (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (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 (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 (identifier) (identifier) (identifier) (identifier) (identifier) (identifier)))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (parenthesized_expression (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (identifier)) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))))))) consequence: (goto_statement label: (statement_identifier))) (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: (field_expression argument: (identifier) field: (field_identifier)) right: (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)) (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: (field_expression argument: (identifier) field: (field_identifier)) right: (identifier)) (identifier)))))))) alternative: (else_clause (compound_statement (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal)))) consequence: (compound_statement (return_statement))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (identifier)))) (return_statement) (ERROR))

/* gold::Sized_dynobj<64, true>::MASKED(unsigned char const*, unsigned int, unsigned int,
   unsigned char const*, long long) */

void gold::Sized_dynobj<64,true>::MASKED
               (uchar *param_1,uint param_2,uint param_3,uchar *param_4,longlong param_5)

{
  int *piVar1;
  undefined4 uVar2;
  undefined *puVar3;
  undefined *puVar4;
  int *piVar5;
  int *piVar6;
  int iVar7;
  int iVar8;
  int *piVar9;
  undefined *puVar10;
  uchar *puVar11;
  uint uVar12;
  int in_stack_00000018;
  uint in_stack_0000001c;
  int *local_48;
  int local_44;
  int local_40;
  int local_3c;
  int local_38;
  int local_34;
  int local_30;
  
  iVar7 = param_2 + param_3 * 0x40;
  if (*(int *)(iVar7 + 4) != 6) {
    (*(code *)PTR_do_gold_unreachable_004323c4)
              (PTR_DAT_0043226c + 0x13e0,0x100,PTR_DAT_0043226c + 0x18bc);
    return;
  }
  iVar8 = *(int *)(iVar7 + 0x24);
  if (*(int *)(param_1 + 0x1c) == 0) {
LAB_0026f9c4:
                    /* WARNING: Subroutine does not return */
    FUN_0025f830();
  }
  piVar1 = (int *)(*(code *)PTR_get_view_0043249c)
                            (*(int *)(param_1 + 0x1c) + 0x20,1,*(undefined4 *)(param_1 + 0x20),
                             *(undefined4 *)(param_1 + 0x24),*(undefined4 *)(iVar7 + 0x18),
                             *(undefined4 *)(iVar7 + 0x1c),iVar8,1,0);
  puVar11 = *(uchar **)(iVar7 + 0x28);
  if ((uchar *)0xfeff < puVar11) {
    (*(code *)PTR_initialize_shnum_00432a8c)(param_1 + 0x60);
    puVar11 = puVar11 + *(int *)(param_1 + 0x78);
  }
  if (puVar11 != param_4) {
    if (puVar11 < *(uchar **)(param_1 + 0x28)) {
      iVar7 = param_2 + (int)puVar11 * 0x40;
      if (*(int *)(iVar7 + 4) == 3) {
        in_stack_00000018 = *(int *)(iVar7 + 0x20);
        in_stack_0000001c = *(uint *)(iVar7 + 0x24);
        if (*(int *)(param_1 + 0x1c) == 0) goto LAB_0026f9c4;
        param_5._0_4_ =
             (*(code *)PTR_get_view_0043249c)
                       (*(int *)(param_1 + 0x1c) + 0x20,(int)puVar11 * 0x40,
                        *(undefined4 *)(param_1 + 0x20),*(undefined4 *)(param_1 + 0x24),
                        *(undefined4 *)(iVar7 + 0x18),*(undefined4 *)(iVar7 + 0x1c),
                        in_stack_0000001c,0,0);
        goto LAB_0026f724;
      }
      puVar3 = PTR_DAT_0043226c + 0x1680;
    }
    else {
      puVar3 = PTR_DAT_0043226c + 0x1654;
    }
    uVar2 = (*(code *)PTR_gettext_00436818)(puVar3);
    (*(code *)PTR_error_00432a5c)(param_1,uVar2,param_3,puVar11);
    return;
  }
LAB_0026f724:
  piVar9 = (int *)((int)piVar1 + iVar8);
  if (piVar1 < piVar9) {
    puVar10 = PTR_DAT_0043226c + 0x16d8;
    puVar3 = PTR_DAT_0043226c + 0x16ac;
    do {
      iVar7 = piVar1[1];
      if (*piVar1 == 0) {
        if (iVar7 == 1) {
          iVar7 = piVar1[2];
          uVar12 = piVar1[3];
          if ((iVar7 < in_stack_00000018) ||
             ((puVar4 = puVar10, in_stack_00000018 == iVar7 && (uVar12 < in_stack_0000001c)))) {
            iVar7 = param_5._0_4_ + uVar12;
            local_48 = &local_40;
            if (iVar7 == 0) {
              iVar8 = -1;
            }
            else {
              local_30 = iVar7;
              iVar8 = (*(code *)PTR_strlen_0043677c)(iVar7);
              iVar8 = local_30 + iVar8;
              iVar7 = local_30;
            }
            (*(code *)PTR__M_construct<char_const*>_00432488)(&local_48,iVar7,iVar8,0);
            piVar5 = *(int **)(param_1 + 0x54);
            if (piVar5 == *(int **)(param_1 + 0x58)) {
                    /* try { // try from 0026f968 to 0026f96f has its CatchHandler @ 0026f9f0 */
              (*(code *)PTR__M_realloc_insert<std_string>_00432c54)(param_1 + 0x50,piVar5,&local_48)
              ;
              if (local_48 != &local_40) {
                (*(code *)PTR_operator_delete_0043228c)();
              }
            }
            else {
              *piVar5 = (int)(piVar5 + 2);
              if (local_48 == &local_40) {
                piVar5[2] = local_40;
                piVar5[3] = local_3c;
                piVar5[4] = local_38;
                piVar5[5] = local_34;
                piVar6 = *(int **)(param_1 + 0x54);
              }
              else {
                *piVar5 = (int)local_48;
                piVar5[2] = local_40;
                piVar6 = piVar5;
              }
              piVar5[1] = local_44;
              *(int **)(param_1 + 0x54) = piVar6 + 6;
            }
          }
          else {
LAB_0026f7f8:
            local_30 = iVar7;
            uVar2 = (*(code *)PTR_gettext_00436818)(puVar4);
            (*(code *)PTR_error_00432a5c)
                      (param_1,uVar2,local_30,uVar12,in_stack_00000018,in_stack_0000001c);
          }
        }
        else {
          if (iVar7 != 0xe) goto LAB_0026f754;
          iVar7 = piVar1[2];
          uVar12 = piVar1[3];
          if ((in_stack_00000018 <= iVar7) &&
             ((puVar4 = puVar3, in_stack_00000018 != iVar7 || (in_stack_0000001c <= uVar12))))
          goto LAB_0026f7f8;
          uVar2 = (*(code *)PTR_strlen_0043677c)(param_5._0_4_ + uVar12);
          (*(code *)PTR__M_replace_00432a3c)
                    (param_1 + 0x38,0,*(undefined4 *)(param_1 + 0x3c),param_5._0_4_ + uVar12,uVar2);
        }
      }
      else {
LAB_0026f754:
        if (*piVar1 == 0 && iVar7 == 0) {
          return;
        }
      }
      piVar1 = piVar1 + 4;
    } while (piVar1 < piVar9);
  }
  uVar2 = (*(code *)PTR_gettext_00436818)(PTR_DAT_0043226c + 0x1704);
  (*(code *)PTR_error_00432a5c)(param_1,uVar2);
  return;
}

