
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* DWARF original prototype: void print_output_data(Mapfile * this, Output_data * od, char * name)
    */

void __thiscall gold::Mapfile::print_output_data(Mapfile *this,Output_data *od,char *name)

{
  _Base_ptr *pp_Var1;
  bool bVar2;
  int iVar3;
  size_t from;
  _Base_ptr p_Var4;
  undefined4 *puVar5;
  uint uVar6;
  undefined4 uVar7;
  pointer ppOVar8;
  _func_int_varargs **pp_Var9;
  Compressed_section_map *pCVar10;
  code *pcVar11;
  Mapfile *this_00;
  Mapfile *this_01;
  _Rb_tree_header *p_Var12;
  undefined4 *puVar13;
  int *piVar14;
  Sized_relobj_file<32,_false> *relobj;
  _Base_ptr p_Var15;
  _Base_ptr p_Var16;
  undefined4 *puVar17;
  _Rb_tree_color shndx;
  FILE *pFVar18;
  uint uVar19;
  uint uVar20;
  int *piVar21;
  Output_section *pOVar22;
  undefined4 uVar23;
  undefined4 *puVar24;
  undefined *puVar25;
  code *pcVar26;
  undefined1 auStack_170 [52];
  undefined1 *puStack_13c;
  int iStack_138;
  undefined1 auStack_134 [24];
  int *piStack_11c;
  Mapfile *pMStack_118;
  undefined1 *puStack_114;
  int *piStack_110;
  undefined1 auStack_d0 [56];
  int iStack_98;
  FILE *pFStack_94;
  Mapfile *pMStack_8c;
  Output_data *pOStack_88;
  char *pcStack_84;
  char *pcStack_80;
  code *pcStack_7c;
  undefined4 local_68;
  undefined4 local_64;
  char *local_60;
  char sizebuf [50];
  
  if (this->printed_memory_map_header_ == false) {
    print_memory_map_header(this);
  }
  (*(code *)PTR_putc_004c5acc)(0x20,this->map_file_);
  (*(code *)PTR_fputs_004c5d2c)(name,this->map_file_);
  iVar3 = (*(code *)PTR_strlen_004c5b9c)(name);
  advance_to_column(this,iVar3 + 1,0x10);
  local_64 = (undefined4)od->data_size_;
  local_68 = *(undefined4 *)&od->data_size_;
  (*(code *)PTR_snprintf_004c5a94)(sizebuf,0x32,PTR_s__s_004c1a50 + 0x4bf0);
  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) != 0) {
    iVar3 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);
    if (iVar3 < 0) {
      iVar3 = iVar3 + 3;
    }
    if (*(int *)&od->field_0x20 < 0) {
      local_64 = (undefined4)od->address_;
      local_68 = *(undefined4 *)&od->address_;
    }
    else {
      local_64 = 0;
      local_68 = 0;
    }
    local_60 = sizebuf;
    (*(code *)PTR_fprintf_004c5b48)(this->map_file_,PTR_s__s_004c1a50 + 0x4bf8,iVar3 >> 2);
    return;
  }
  piVar14 = (int *)&DAT_00000069;
  pcVar26 = print_output_section;
  this_00 = (Mapfile *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);
  puVar25 = PTR_do_gold_unreachable_004c1a30;
  (*(code *)PTR_do_gold_unreachable_004c1a30)(this_00,0x69,PTR_s__s_004c1a50 + 0x4cf0);
  pMStack_8c = this;
  pOStack_88 = od;
  pcStack_84 = name;
  pcStack_80 = sizebuf;
  pcStack_7c = pcVar26;
  if (this_00->printed_memory_map_header_ == false) {
    print_memory_map_header(this_00);
  }
  piVar21 = *(int **)(puVar25 + 0x2f4588);
  (**(code **)(puVar25 + 0x2f871c))
            (this_00->map_file_,*(int *)(puVar25 + 0x2f4624) + 0x4c08,piVar14[9]);
  from = (**(code **)(puVar25 + 0x2f8770))(piVar14[9]);
  advance_to_column(this_00,from,0x10);
  (**(code **)(puVar25 + 0x2f8668))(auStack_d0,0x32,*(int *)(puVar25 + 0x2f4624) + 0x4bf0);
  if (*(int *)(*piVar21 + 0xc) == 0) {
    iVar3 = *(int *)(puVar25 + 0x2f4624);
LAB_001cd674:
    (**(code **)(puVar25 + 0x2f4604))(*(int *)(puVar25 + 0x2f3e50) + -0x9b8,0x69,iVar3 + 0x4cf0);
LAB_001cd68c:
    relobj = (Sized_relobj_file<32,_false> *)&DAT_000000c5;
    (**(code **)(puVar25 + 0x2f4604))
              (*(int *)(puVar25 + 0x2f3e50) + 0x3574,0xc5,*(int *)(puVar25 + 0x2f4624) + 0x4cf8);
  }
  else {
    iVar3 = **(int **)(*(int *)(*piVar21 + 0xc) + 4);
    if (iVar3 < 0) {
      iVar3 = iVar3 + 3;
    }
    if (-1 < piVar14[8]) goto LAB_001cd68c;
    (**(code **)(puVar25 + 0x2f871c))
              (this_00->map_file_,*(int *)(puVar25 + 0x2f4624) + 0x4c0c,iVar3 >> 2);
    if (*(code **)(*piVar14 + 0x10) == *(code **)(puVar25 + 0x2f4d10)) {
      uVar20 = (uint)(piVar14[0x26] << 7) >> 0x1f;
    }
    else {
      uVar20 = (**(code **)(*piVar14 + 0x10))(piVar14);
    }
    pFVar18 = this_00->map_file_;
    if (uVar20 == 0) goto LAB_001cd5cc;
    iVar3 = *(int *)(puVar25 + 0x2f4624);
    if (*(int *)(*piVar21 + 0xc) == 0) goto LAB_001cd674;
    iVar3 = **(int **)(*(int *)(*piVar21 + 0xc) + 4);
    if (iVar3 < 0) {
      iVar3 = iVar3 + 3;
    }
    iVar3 = iVar3 >> 2;
    if (*(code **)(*piVar14 + 0x14) != *(code **)(puVar25 + 0x2f6820)) {
      iStack_98 = iVar3;
      pFStack_94 = pFVar18;
      (**(code **)(*piVar14 + 0x14))(piVar14);
      iVar3 = iStack_98;
      pFVar18 = pFStack_94;
LAB_001cd5a8:
      (**(code **)(puVar25 + 0x2f871c))(pFVar18,*(int *)(puVar25 + 0x2f4624) + 0x4c1c,iVar3);
      pFVar18 = this_00->map_file_;
LAB_001cd5cc:
      if (piVar14[0x26] << 5 < 0) {
        (**(code **)(puVar25 + 0x2f8724))(*(int *)(puVar25 + 0x2f4624) + 0x4c34,1,0x15);
        pFVar18 = this_00->map_file_;
      }
      (**(code **)(puVar25 + 0x2f86a0))(10,pFVar18);
      return;
    }
    relobj = (Sized_relobj_file<32,_false> *)&DAT_0000107b;
    if (piVar14[0x26] << 7 < 0) goto LAB_001cd5a8;
  }
  pcVar26 = *(code **)(puVar25 + 0x2f4604);
  shndx = *(int *)(puVar25 + 0x2f4624) + 0x4ca0;
  this_01 = (Mapfile *)(*(int *)(puVar25 + 0x2f3e50) + 0x3574);
  (*pcVar26)();
  piStack_11c = piVar14;
  pMStack_118 = this_00;
  puStack_114 = auStack_d0;
  piStack_110 = piVar21;
  (**(code **)(pcVar26 + 0x2f840c))(0x20,this_01->map_file_);
  (*(relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0x10])
            (&puStack_13c,relobj,shndx);
  (**(code **)(pcVar26 + 0x2f866c))(puStack_13c,this_01->map_file_);
  advance_to_column(this_01,iStack_138 + 1,0x10);
  ppOVar8 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.
            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.
            _M_impl._M_start;
  if (shndx < (uint)((int)(relobj->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.
                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                          ._M_impl._M_finish - (int)ppOVar8 >> 2)) {
    pOVar22 = ppOVar8[shndx];
    if (pOVar22 == (Output_section *)0x0) {
      pCVar10 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.
                compressed_sections_;
      if (pCVar10 != (Compressed_section_map *)0x0) goto LAB_001cd7f4;
LAB_001cd95c:
      (*(relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0xf])
                (relobj,shndx);
    }
    else {
      pp_Var9 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object;
      if (pp_Var9[0x18] != *(_func_int_varargs **)(pcVar26 + 0x2f4464)) {
        pOVar22 = (Output_section *)(*pp_Var9[0x18])(relobj,shndx);
        pp_Var9 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object;
      }
      iVar3 = (*pp_Var9[0x1a])(relobj,shndx);
      if ((iVar3 == -1) && (pp_Var9 == (_func_int_varargs **)0xffffffff)) {
        pCVar10 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.
                  compressed_sections_;
      }
      else {
        iVar3 = *(int *)(pcVar26 + 0x2f4390);
        if (-1 < *(int *)&(pOVar22->super_Output_data).field_0x20) goto LAB_001cda4c;
        pCVar10 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.
                  compressed_sections_;
      }
      if (pCVar10 == (Compressed_section_map *)0x0) goto LAB_001cd95c;
LAB_001cd7f4:
      p_Var4 = (pCVar10->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;
      p_Var12 = &(pCVar10->_M_t)._M_impl.super__Rb_tree_header;
      p_Var15 = &p_Var12->_M_header;
      if (p_Var4 == (_Base_ptr)0x0) goto LAB_001cd95c;
      do {
        while (p_Var16 = p_Var4, shndx <= p_Var16[1]._M_color) {
          p_Var4 = p_Var16->_M_left;
          p_Var15 = p_Var16;
          if (p_Var16->_M_left == (_Base_ptr)0x0) goto LAB_001cd834;
        }
        pp_Var1 = &p_Var16->_M_right;
        p_Var4 = *pp_Var1;
        p_Var16 = p_Var15;
      } while (*pp_Var1 != (_Base_ptr)0x0);
LAB_001cd834:
      if ((p_Var12 == (_Rb_tree_header *)p_Var16) || (shndx < p_Var16[1]._M_color))
      goto LAB_001cd95c;
    }
    piVar14 = *(int **)(pcVar26 + 0x2f42f4);
    (**(code **)(pcVar26 + 0x2f83d4))(auStack_170,0x32,*(int *)(pcVar26 + 0x2f4390) + 0x4bf0);
    iVar3 = *(int *)(*piVar14 + 0xc);
    if (iVar3 == 0) {
      (**(code **)(pcVar26 + 0x2f4370))
                (*(int *)(pcVar26 + 0x2f3bbc) + -0x9b8,0x69,*(int *)(pcVar26 + 0x2f4390) + 0x4cf0);
      goto LAB_001cda14;
    }
    iVar3 = **(int **)(iVar3 + 4);
    if (iVar3 < 0) {
      iVar3 = iVar3 + 3;
    }
    (**(code **)(pcVar26 + 0x2f8488))
              (this_01->map_file_,*(int *)(pcVar26 + 0x2f4390) + 0x4c4c,iVar3 >> 2);
    if (pOVar22 == (Output_section *)0x0) {
LAB_001cd908:
      if (puStack_13c != auStack_134) {
        (**(code **)(pcVar26 + 0x2f3c3c))();
      }
      return;
    }
    iVar3 = (**(code **)(pcVar26 + 0x2f4cb0))(*piVar14);
    if (iVar3 == 1) {
      print_input_section_symbols<32,_true>(this_01,(Sized_relobj_file<32,_true> *)relobj,shndx);
      goto LAB_001cd908;
    }
    if (iVar3 == 0) {
      print_input_section_symbols<32,_false>(this_01,relobj,shndx);
      goto LAB_001cd908;
    }
    if (iVar3 == 2) {
      print_input_section_symbols<64,_false>(this_01,(Sized_relobj_file<64,_false> *)relobj,shndx);
      goto LAB_001cd908;
    }
    if (iVar3 == 3) {
      print_input_section_symbols<64,_true>(this_01,(Sized_relobj_file<64,_true> *)relobj,shndx);
      goto LAB_001cd908;
    }
  }
  else {
LAB_001cda14:
    (**(code **)(pcVar26 + 0x2f4370))
              (*(int *)(pcVar26 + 0x2f3bbc) + 0x4570,0x50b,*(int *)(pcVar26 + 0x2f4390) + 0x4d14);
  }
  iVar3 = *(int *)(pcVar26 + 0x2f4390) + 0x4d28;
  (**(code **)(pcVar26 + 0x2f4370))(*(int *)(pcVar26 + 0x2f4390) + 0x4b8c,0x139,iVar3);
LAB_001cda4c:
  puVar17 = (undefined4 *)&DAT_000000c5;
  puVar13 = (undefined4 *)(*(int *)(pcVar26 + 0x2f3bbc) + 0x3574);
  (**(code **)(pcVar26 + 0x2f4370))(puVar13,0xc5,iVar3 + 0x4cf8);
  if (puStack_13c != auStack_134) {
    (**(code **)(pcVar26 + 0x2f3c3c))(puStack_13c);
  }
  pcVar26 = *(code **)(pcVar26 + 0x2f3c08);
  (*pcVar26)();
  puVar5 = (undefined4 *)puVar17[1];
  puVar24 = (undefined4 *)*puVar17;
  iVar3 = *(int *)(pcVar26 + 0x2f3fbc);
  if (puVar24 != puVar5) {
    bVar2 = false;
    pcVar11 = *(code **)(pcVar26 + 0x2f61cc);
    do {
      piVar14 = (int *)*puVar24;
      if (piVar14[7] == 0) {
        uVar20 = piVar14[10];
        if (uVar20 != 0) goto LAB_001cdb24;
      }
      else {
        (**(code **)(pcVar26 + 0x2f46dc))(piVar14[7] + 0x20,0xffffffff);
        uVar20 = piVar14[10];
        if (uVar20 != 0) {
LAB_001cdb24:
          uVar19 = 0;
          do {
            while ((uVar6 = (**(code **)(*piVar14 + 0x50))(piVar14,uVar19),
                   (uVar6 & 0xffffffef) != 1 && (uVar6 != 8))) {
LAB_001cdb30:
              uVar19 = uVar19 + 1;
              if (uVar20 <= uVar19) goto LAB_001cdbec;
            }
            if ((uint)(piVar14[0xf] - piVar14[0xe] >> 2) <= uVar19) {
              iVar3 = *(int *)(pcVar26 + 0x2f37e8) + 0x4570;
              (**(code **)(pcVar26 + 0x2f3f9c))(iVar3,0x50b,*(int *)(pcVar26 + 0x2f3fbc) + 0x4d14);
              if (piVar14[7] != 0) {
                (**(code **)(pcVar26 + 0x2f46d8))(piVar14[7] + 0x20,0xffffffff);
              }
              (**(code **)(pcVar26 + 0x2f3834))(iVar3);
              return;
            }
            if (*(int *)(piVar14[0xe] + uVar19 * 4) != 0) goto LAB_001cdb30;
            if (!bVar2) {
              uVar23 = *puVar13;
              uVar7 = (**(code **)(pcVar26 + 0x2f819c))(iVar3 + 0x4c60);
              (**(code **)(pcVar26 + 0x2f80b4))(uVar23,uVar7);
            }
            (*pcVar11)(puVar13,piVar14,uVar19);
            uVar19 = uVar19 + 1;
            bVar2 = true;
          } while (uVar19 < uVar20);
        }
LAB_001cdbec:
        if (piVar14[7] != 0) {
          (**(code **)(pcVar26 + 0x2f46d8))(piVar14[7] + 0x20,0xffffffff);
        }
        puVar5 = (undefined4 *)puVar17[1];
      }
      puVar24 = puVar24 + 1;
    } while (puVar5 != puVar24);
  }
  return;
}



/* gold::Mapfile::print_output_data(gold::Output_data const*, char const*) */

void gold::Mapfile::print_output_data(Output_data *param_1,char *param_2)

{
  int iVar1;
  undefined4 uVar2;
  undefined4 uVar3;
  undefined4 in_a2;
  undefined4 in_a3;
  undefined1 auStack_50 [60];
  
  if (param_1[6] == (Output_data)0x0) {
    FUN_001ccbf0();
  }
  (*(code *)PTR_putc_004c5acc)(0x20,*(undefined4 *)param_1);
  (*(code *)PTR_fputs_004c5d2c)(in_a2,*(undefined4 *)param_1);
  iVar1 = (*(code *)PTR_strlen_004c5b9c)(in_a2);
  advance_to_column((Mapfile *)param_1,iVar1 + 1,0x10);
  (*(code *)PTR_snprintf_004c5a94)
            (auStack_50,0x32,PTR_s__s_004c1a50 + 0x4bf0,in_a3,*(undefined4 *)(param_2 + 0x10),
             *(undefined4 *)(param_2 + 0x14));
  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) != 0) {
    iVar1 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);
    if (iVar1 < 0) {
      iVar1 = iVar1 + 3;
    }
    if (*(int *)(param_2 + 0x20) < 0) {
      uVar3 = *(undefined4 *)(param_2 + 0xc);
      uVar2 = *(undefined4 *)(param_2 + 8);
    }
    else {
      uVar3 = 0;
      uVar2 = 0;
    }
    (*(code *)PTR_fprintf_004c5b48)
              (*(undefined4 *)param_1,PTR_s__s_004c1a50 + 0x4bf8,iVar1 >> 2,in_a3,uVar2,uVar3,
               auStack_50);
    return;
  }
  (*(code *)PTR_do_gold_unreachable_004c1a30)
            (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_s__s_004c1a50 + 0x4cf0);
  return;
}


lui gp,0x30
addiu gp,gp,-0x407c
addu gp,gp,t9
addiu sp,sp,-0x78
lbu v0,0x6(a0)
sw gp,0x20(sp)
sw s2,0x6c(sp)
or s2,a2,zero
sw s1,0x68(sp)
or s1,a1,zero
sw s0,0x64(sp)
or s0,a0,zero
sw ra,0x74(sp)
beq v0,zero,0x001cd3f8
_sw s3,0x70(sp)
lw t9,-0x3774(gp)
li a0,0x20
lw a1,0x0(s0)
jalr t9
_addiu s3,sp,0x28
or a0,s2,zero
lw gp,0x20(sp)
lw t9,-0x3514(gp)
jalr t9
_lw a1,0x0(s0)
lw gp,0x20(sp)
lw t9,-0x36a4(gp)
jalr t9
_or a0,s2,zero
li a2,0x10
lw gp,0x20(sp)
addiu a1,v0,0x1
lw t9,-0x55fc(gp)
bal 0x001cce1c
_or a0,s0,zero
li a1,0x32
lw gp,0x20(sp)
or a0,s3,zero
lw v1,0x14(s1)
lw v0,0x10(s1)
lw a2,-0x77f0(gp)
lw t9,-0x37ac(gp)
sw v1,0x14(sp)
addiu a2,a2,0x4bf0
jalr t9
_sw v0,0x10(sp)
lw gp,0x20(sp)
lw v0,-0x788c(gp)
lw v0,0x0(v0)
lw v0,0xc(v0)
beq v0,zero,0x001cd410
_lw a0,0x0(s0)
lw v0,0x4(v0)
lw a2,0x0(v0)
bgez a2,0x001cd3a0
_nop
addiu a2,a2,0x3
lw v0,0x20(s1)
bltz v0,0x001cd3ec
_sra a2,a2,0x2
or v1,zero,zero
or v0,zero,zero
lw a1,-0x77f0(gp)
lw t9,-0x36f8(gp)
sw s3,0x18(sp)
addiu a1,a1,0x4bf8
sw v1,0x14(sp)
jalr t9
_sw v0,0x10(sp)
lw ra,0x74(sp)
lw s3,0x70(sp)
lw s2,0x6c(sp)
lw s1,0x68(sp)
lw s0,0x64(sp)
jr ra
_addiu sp,sp,0x78
lw v1,0xc(s1)
b 0x001cd3b4
_lw v0,0x8(s1)
lw t9,-0x55f8(gp)
addiu t9,t9,-0x3410
bal 0x001ccbf0
_nop
b 0x001cd2f8
_lw gp,0x20(sp)
lw a2,-0x77f0(gp)
li a1,0x69
lw a0,-0x7fc4(gp)
lw t9,-0x7810(gp)
addiu a2,a2,0x4cf0
jalr t9
_addiu a0,a0,-0x9b8
(translation_unit "/* gold::Mapfile::print_output_data(gold::Output_data const*, char const*) */\n\nvoid gold::Mapfile::print_output_data(Output_data *param_1,char *param_2)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined4 in_a2;\n  undefined4 in_a3;\n  undefined1 auStack_50 [60];\n  \n  if (param_1[6] == (Output_data)0x0) {\n    FUN_001ccbf0();\n  }\n  (*(code *)PTR_putc_004c5acc)(0x20,*(undefined4 *)param_1);\n  (*(code *)PTR_fputs_004c5d2c)(in_a2,*(undefined4 *)param_1);\n  iVar1 = (*(code *)PTR_strlen_004c5b9c)(in_a2);\n  advance_to_column((Mapfile *)param_1,iVar1 + 1,0x10);\n  (*(code *)PTR_snprintf_004c5a94)\n            (auStack_50,0x32,PTR_s__s_004c1a50 + 0x4bf0,in_a3,*(undefined4 *)(param_2 + 0x10),\n             *(undefined4 *)(param_2 + 0x14));\n  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) != 0) {\n    iVar1 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar1 < 0) {\n      iVar1 = iVar1 + 3;\n    }\n    if (*(int *)(param_2 + 0x20) < 0) {\n      uVar3 = *(undefined4 *)(param_2 + 0xc);\n      uVar2 = *(undefined4 *)(param_2 + 8);\n    }\n    else {\n      uVar3 = 0;\n      uVar2 = 0;\n    }\n    (*(code *)PTR_fprintf_004c5b48)\n              (*(undefined4 *)param_1,PTR_s__s_004c1a50 + 0x4bf8,iVar1 >> 2,in_a3,uVar2,uVar3,\n               auStack_50);\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_s__s_004c1a50 + 0x4cf0);\n  return;\n}\n\n" comment (function_definition "void gold::Mapfile::print_output_data(Output_data *param_1,char *param_2)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined4 in_a2;\n  undefined4 in_a3;\n  undefined1 auStack_50 [60];\n  \n  if (param_1[6] == (Output_data)0x0) {\n    FUN_001ccbf0();\n  }\n  (*(code *)PTR_putc_004c5acc)(0x20,*(undefined4 *)param_1);\n  (*(code *)PTR_fputs_004c5d2c)(in_a2,*(undefined4 *)param_1);\n  iVar1 = (*(code *)PTR_strlen_004c5b9c)(in_a2);\n  advance_to_column((Mapfile *)param_1,iVar1 + 1,0x10);\n  (*(code *)PTR_snprintf_004c5a94)\n            (auStack_50,0x32,PTR_s__s_004c1a50 + 0x4bf0,in_a3,*(undefined4 *)(param_2 + 0x10),\n             *(undefined4 *)(param_2 + 0x14));\n  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) != 0) {\n    iVar1 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar1 < 0) {\n      iVar1 = iVar1 + 3;\n    }\n    if (*(int *)(param_2 + 0x20) < 0) {\n      uVar3 = *(undefined4 *)(param_2 + 0xc);\n      uVar2 = *(undefined4 *)(param_2 + 8);\n    }\n    else {\n      uVar3 = 0;\n      uVar2 = 0;\n    }\n    (*(code *)PTR_fprintf_004c5b48)\n              (*(undefined4 *)param_1,PTR_s__s_004c1a50 + 0x4bf8,iVar1 >> 2,in_a3,uVar2,uVar3,\n               auStack_50);\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_s__s_004c1a50 + 0x4cf0);\n  return;\n}" primitive_type (ERROR "gold::Mapfile::" identifier : : identifier : :) (function_declarator "print_output_data(Output_data *param_1,char *param_2)" identifier (parameter_list "(Output_data *param_1,char *param_2)" ( (parameter_declaration "Output_data *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined4 in_a2;\n  undefined4 in_a3;\n  undefined1 auStack_50 [60];\n  \n  if (param_1[6] == (Output_data)0x0) {\n    FUN_001ccbf0();\n  }\n  (*(code *)PTR_putc_004c5acc)(0x20,*(undefined4 *)param_1);\n  (*(code *)PTR_fputs_004c5d2c)(in_a2,*(undefined4 *)param_1);\n  iVar1 = (*(code *)PTR_strlen_004c5b9c)(in_a2);\n  advance_to_column((Mapfile *)param_1,iVar1 + 1,0x10);\n  (*(code *)PTR_snprintf_004c5a94)\n            (auStack_50,0x32,PTR_s__s_004c1a50 + 0x4bf0,in_a3,*(undefined4 *)(param_2 + 0x10),\n             *(undefined4 *)(param_2 + 0x14));\n  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) != 0) {\n    iVar1 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar1 < 0) {\n      iVar1 = iVar1 + 3;\n    }\n    if (*(int *)(param_2 + 0x20) < 0) {\n      uVar3 = *(undefined4 *)(param_2 + 0xc);\n      uVar2 = *(undefined4 *)(param_2 + 8);\n    }\n    else {\n      uVar3 = 0;\n      uVar2 = 0;\n    }\n    (*(code *)PTR_fprintf_004c5b48)\n              (*(undefined4 *)param_1,PTR_s__s_004c1a50 + 0x4bf8,iVar1 >> 2,in_a3,uVar2,uVar3,\n               auStack_50);\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_s__s_004c1a50 + 0x4cf0);\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 in_a2;" type_identifier identifier ;) (declaration "undefined4 in_a3;" type_identifier identifier ;) (declaration "undefined1 auStack_50 [60];" type_identifier (array_declarator "auStack_50 [60]" identifier [ number_literal ]) ;) (if_statement "if (param_1[6] == (Output_data)0x0) {\n    FUN_001ccbf0();\n  }" if (parenthesized_expression "(param_1[6] == (Output_data)0x0)" ( (binary_expression "param_1[6] == (Output_data)0x0" (subscript_expression "param_1[6]" identifier [ number_literal ]) == (cast_expression "(Output_data)0x0" ( (type_descriptor "Output_data" type_identifier) ) number_literal)) )) (compound_statement "{\n    FUN_001ccbf0();\n  }" { (expression_statement "FUN_001ccbf0();" (call_expression "FUN_001ccbf0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "(*(code *)PTR_putc_004c5acc)(0x20,*(undefined4 *)param_1);" (call_expression "(*(code *)PTR_putc_004c5acc)(0x20,*(undefined4 *)param_1)" (parenthesized_expression "(*(code *)PTR_putc_004c5acc)" ( (pointer_expression "*(code *)PTR_putc_004c5acc" * (cast_expression "(code *)PTR_putc_004c5acc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x20,*(undefined4 *)param_1)" ( number_literal , (pointer_expression "*(undefined4 *)param_1" * (cast_expression "(undefined4 *)param_1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "(*(code *)PTR_fputs_004c5d2c)(in_a2,*(undefined4 *)param_1);" (call_expression "(*(code *)PTR_fputs_004c5d2c)(in_a2,*(undefined4 *)param_1)" (parenthesized_expression "(*(code *)PTR_fputs_004c5d2c)" ( (pointer_expression "*(code *)PTR_fputs_004c5d2c" * (cast_expression "(code *)PTR_fputs_004c5d2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(in_a2,*(undefined4 *)param_1)" ( identifier , (pointer_expression "*(undefined4 *)param_1" * (cast_expression "(undefined4 *)param_1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "iVar1 = (*(code *)PTR_strlen_004c5b9c)(in_a2);" (assignment_expression "iVar1 = (*(code *)PTR_strlen_004c5b9c)(in_a2)" identifier = (call_expression "(*(code *)PTR_strlen_004c5b9c)(in_a2)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" ( (pointer_expression "*(code *)PTR_strlen_004c5b9c" * (cast_expression "(code *)PTR_strlen_004c5b9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(in_a2)" ( identifier )))) ;) (expression_statement "advance_to_column((Mapfile *)param_1,iVar1 + 1,0x10);" (call_expression "advance_to_column((Mapfile *)param_1,iVar1 + 1,0x10)" identifier (argument_list "((Mapfile *)param_1,iVar1 + 1,0x10)" ( (cast_expression "(Mapfile *)param_1" ( (type_descriptor "Mapfile *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (binary_expression "iVar1 + 1" identifier + number_literal) , number_literal ))) ;) (expression_statement "(*(code *)PTR_snprintf_004c5a94)\n            (auStack_50,0x32,PTR_s__s_004c1a50 + 0x4bf0,in_a3,*(undefined4 *)(param_2 + 0x10),\n             *(undefined4 *)(param_2 + 0x14));" (call_expression "(*(code *)PTR_snprintf_004c5a94)\n            (auStack_50,0x32,PTR_s__s_004c1a50 + 0x4bf0,in_a3,*(undefined4 *)(param_2 + 0x10),\n             *(undefined4 *)(param_2 + 0x14))" (parenthesized_expression "(*(code *)PTR_snprintf_004c5a94)" ( (pointer_expression "*(code *)PTR_snprintf_004c5a94" * (cast_expression "(code *)PTR_snprintf_004c5a94" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_50,0x32,PTR_s__s_004c1a50 + 0x4bf0,in_a3,*(undefined4 *)(param_2 + 0x10),\n             *(undefined4 *)(param_2 + 0x14))" ( identifier , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x4bf0" identifier + number_literal) , identifier , (pointer_expression "*(undefined4 *)(param_2 + 0x10)" * (cast_expression "(undefined4 *)(param_2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0x14)" * (cast_expression "(undefined4 *)(param_2 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x14)" ( (binary_expression "param_2 + 0x14" identifier + number_literal) )))) ))) ;) (if_statement "if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) != 0) {\n    iVar1 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar1 < 0) {\n      iVar1 = iVar1 + 3;\n    }\n    if (*(int *)(param_2 + 0x20) < 0) {\n      uVar3 = *(undefined4 *)(param_2 + 0xc);\n      uVar2 = *(undefined4 *)(param_2 + 8);\n    }\n    else {\n      uVar3 = 0;\n      uVar2 = 0;\n    }\n    (*(code *)PTR_fprintf_004c5b48)\n              (*(undefined4 *)param_1,PTR_s__s_004c1a50 + 0x4bf8,iVar1 >> 2,in_a3,uVar2,uVar3,\n               auStack_50);\n    return;\n  }" if (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) != 0)" ( (binary_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) != 0" (pointer_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" * (cast_expression "(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_004c19b4 + 0xc" (pointer_expression "*(int *)PTR_parameters_004c19b4" * (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) != number_literal) )) (compound_statement "{\n    iVar1 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar1 < 0) {\n      iVar1 = iVar1 + 3;\n    }\n    if (*(int *)(param_2 + 0x20) < 0) {\n      uVar3 = *(undefined4 *)(param_2 + 0xc);\n      uVar2 = *(undefined4 *)(param_2 + 8);\n    }\n    else {\n      uVar3 = 0;\n      uVar2 = 0;\n    }\n    (*(code *)PTR_fprintf_004c5b48)\n              (*(undefined4 *)param_1,PTR_s__s_004c1a50 + 0x4bf8,iVar1 >> 2,in_a3,uVar2,uVar3,\n               auStack_50);\n    return;\n  }" { (expression_statement "iVar1 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);" (assignment_expression "iVar1 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" identifier = (pointer_expression "**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" * (pointer_expression "*(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" * (cast_expression "(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" ( (binary_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4" (pointer_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" * (cast_expression "(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_004c19b4 + 0xc" (pointer_expression "*(int *)PTR_parameters_004c19b4" * (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (iVar1 < 0) {\n      iVar1 = iVar1 + 3;\n    }" if (parenthesized_expression "(iVar1 < 0)" ( (binary_expression "iVar1 < 0" identifier < number_literal) )) (compound_statement "{\n      iVar1 = iVar1 + 3;\n    }" { (expression_statement "iVar1 = iVar1 + 3;" (assignment_expression "iVar1 = iVar1 + 3" identifier = (binary_expression "iVar1 + 3" identifier + number_literal)) ;) })) (if_statement "if (*(int *)(param_2 + 0x20) < 0) {\n      uVar3 = *(undefined4 *)(param_2 + 0xc);\n      uVar2 = *(undefined4 *)(param_2 + 8);\n    }\n    else {\n      uVar3 = 0;\n      uVar2 = 0;\n    }" if (parenthesized_expression "(*(int *)(param_2 + 0x20) < 0)" ( (binary_expression "*(int *)(param_2 + 0x20) < 0" (pointer_expression "*(int *)(param_2 + 0x20)" * (cast_expression "(int *)(param_2 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x20)" ( (binary_expression "param_2 + 0x20" identifier + number_literal) )))) < number_literal) )) (compound_statement "{\n      uVar3 = *(undefined4 *)(param_2 + 0xc);\n      uVar2 = *(undefined4 *)(param_2 + 8);\n    }" { (expression_statement "uVar3 = *(undefined4 *)(param_2 + 0xc);" (assignment_expression "uVar3 = *(undefined4 *)(param_2 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(param_2 + 0xc)" * (cast_expression "(undefined4 *)(param_2 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = *(undefined4 *)(param_2 + 8);" (assignment_expression "uVar2 = *(undefined4 *)(param_2 + 8)" identifier = (pointer_expression "*(undefined4 *)(param_2 + 8)" * (cast_expression "(undefined4 *)(param_2 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      uVar3 = 0;\n      uVar2 = 0;\n    }" else (compound_statement "{\n      uVar3 = 0;\n      uVar2 = 0;\n    }" { (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" identifier = number_literal) ;) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) }))) (expression_statement "(*(code *)PTR_fprintf_004c5b48)\n              (*(undefined4 *)param_1,PTR_s__s_004c1a50 + 0x4bf8,iVar1 >> 2,in_a3,uVar2,uVar3,\n               auStack_50);" (call_expression "(*(code *)PTR_fprintf_004c5b48)\n              (*(undefined4 *)param_1,PTR_s__s_004c1a50 + 0x4bf8,iVar1 >> 2,in_a3,uVar2,uVar3,\n               auStack_50)" (parenthesized_expression "(*(code *)PTR_fprintf_004c5b48)" ( (pointer_expression "*(code *)PTR_fprintf_004c5b48" * (cast_expression "(code *)PTR_fprintf_004c5b48" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)param_1,PTR_s__s_004c1a50 + 0x4bf8,iVar1 >> 2,in_a3,uVar2,uVar3,\n               auStack_50)" ( (pointer_expression "*(undefined4 *)param_1" * (cast_expression "(undefined4 *)param_1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "PTR_s__s_004c1a50 + 0x4bf8" identifier + number_literal) , (binary_expression "iVar1 >> 2" identifier >> number_literal) , identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_s__s_004c1a50 + 0x4cf0);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_s__s_004c1a50 + 0x4cf0)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_s__s_004c1a50 + 0x4cf0)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x4cf0" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* DWARF original prototype: void print_output_data(Mapfile * this, Output_data * od, char * name)\n    */\n\nvoid __thiscall gold::Mapfile::print_output_data(Mapfile *this,Output_data *od,char *name)\n\n{\n  _Base_ptr *pp_Var1;\n  bool bVar2;\n  int iVar3;\n  size_t from;\n  _Base_ptr p_Var4;\n  undefined4 *puVar5;\n  uint uVar6;\n  undefined4 uVar7;\n  pointer ppOVar8;\n  _func_int_varargs **pp_Var9;\n  Compressed_section_map *pCVar10;\n  code *pcVar11;\n  Mapfile *this_00;\n  Mapfile *this_01;\n  _Rb_tree_header *p_Var12;\n  undefined4 *puVar13;\n  int *piVar14;\n  Sized_relobj_file<32,_false> *relobj;\n  _Base_ptr p_Var15;\n  _Base_ptr p_Var16;\n  undefined4 *puVar17;\n  _Rb_tree_color shndx;\n  FILE *pFVar18;\n  uint uVar19;\n  uint uVar20;\n  int *piVar21;\n  Output_section *pOVar22;\n  undefined4 uVar23;\n  undefined4 *puVar24;\n  undefined *puVar25;\n  code *pcVar26;\n  undefined1 auStack_170 [52];\n  undefined1 *puStack_13c;\n  int iStack_138;\n  undefined1 auStack_134 [24];\n  int *piStack_11c;\n  Mapfile *pMStack_118;\n  undefined1 *puStack_114;\n  int *piStack_110;\n  undefined1 auStack_d0 [56];\n  int iStack_98;\n  FILE *pFStack_94;\n  Mapfile *pMStack_8c;\n  Output_data *pOStack_88;\n  char *pcStack_84;\n  char *pcStack_80;\n  code *pcStack_7c;\n  undefined4 local_68;\n  undefined4 local_64;\n  char *local_60;\n  char sizebuf [50];\n  \n  if (this->printed_memory_map_header_ == false) {\n    print_memory_map_header(this);\n  }\n  (*(code *)PTR_putc_004c5acc)(0x20,this->map_file_);\n  (*(code *)PTR_fputs_004c5d2c)(name,this->map_file_);\n  iVar3 = (*(code *)PTR_strlen_004c5b9c)(name);\n  advance_to_column(this,iVar3 + 1,0x10);\n  local_64 = (undefined4)od->data_size_;\n  local_68 = *(undefined4 *)&od->data_size_;\n  (*(code *)PTR_snprintf_004c5a94)(sizebuf,0x32,PTR_s__s_004c1a50 + 0x4bf0);\n  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) != 0) {\n    iVar3 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar3 < 0) {\n      iVar3 = iVar3 + 3;\n    }\n    if (*(int *)&od->field_0x20 < 0) {\n      local_64 = (undefined4)od->address_;\n      local_68 = *(undefined4 *)&od->address_;\n    }\n    else {\n      local_64 = 0;\n      local_68 = 0;\n    }\n    local_60 = sizebuf;\n    (*(code *)PTR_fprintf_004c5b48)(this->map_file_,PTR_s__s_004c1a50 + 0x4bf8,iVar3 >> 2);\n    return;\n  }\n  piVar14 = (int *)&DAT_00000069;\n  pcVar26 = print_output_section;\n  this_00 = (Mapfile *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n  puVar25 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(this_00,0x69,PTR_s__s_004c1a50 + 0x4cf0);\n  pMStack_8c = this;\n  pOStack_88 = od;\n  pcStack_84 = name;\n  pcStack_80 = sizebuf;\n  pcStack_7c = pcVar26;\n  if (this_00->printed_memory_map_header_ == false) {\n    print_memory_map_header(this_00);\n  }\n  piVar21 = *(int **)(puVar25 + 0x2f4588);\n  (**(code **)(puVar25 + 0x2f871c))\n            (this_00->map_file_,*(int *)(puVar25 + 0x2f4624) + 0x4c08,piVar14[9]);\n  from = (**(code **)(puVar25 + 0x2f8770))(piVar14[9]);\n  advance_to_column(this_00,from,0x10);\n  (**(code **)(puVar25 + 0x2f8668))(auStack_d0,0x32,*(int *)(puVar25 + 0x2f4624) + 0x4bf0);\n  if (*(int *)(*piVar21 + 0xc) == 0) {\n    iVar3 = *(int *)(puVar25 + 0x2f4624);\nLAB_001cd674:\n    (**(code **)(puVar25 + 0x2f4604))(*(int *)(puVar25 + 0x2f3e50) + -0x9b8,0x69,iVar3 + 0x4cf0);\nLAB_001cd68c:\n    relobj = (Sized_relobj_file<32,_false> *)&DAT_000000c5;\n    (**(code **)(puVar25 + 0x2f4604))\n              (*(int *)(puVar25 + 0x2f3e50) + 0x3574,0xc5,*(int *)(puVar25 + 0x2f4624) + 0x4cf8);\n  }\n  else {\n    iVar3 = **(int **)(*(int *)(*piVar21 + 0xc) + 4);\n    if (iVar3 < 0) {\n      iVar3 = iVar3 + 3;\n    }\n    if (-1 < piVar14[8]) goto LAB_001cd68c;\n    (**(code **)(puVar25 + 0x2f871c))\n              (this_00->map_file_,*(int *)(puVar25 + 0x2f4624) + 0x4c0c,iVar3 >> 2);\n    if (*(code **)(*piVar14 + 0x10) == *(code **)(puVar25 + 0x2f4d10)) {\n      uVar20 = (uint)(piVar14[0x26] << 7) >> 0x1f;\n    }\n    else {\n      uVar20 = (**(code **)(*piVar14 + 0x10))(piVar14);\n    }\n    pFVar18 = this_00->map_file_;\n    if (uVar20 == 0) goto LAB_001cd5cc;\n    iVar3 = *(int *)(puVar25 + 0x2f4624);\n    if (*(int *)(*piVar21 + 0xc) == 0) goto LAB_001cd674;\n    iVar3 = **(int **)(*(int *)(*piVar21 + 0xc) + 4);\n    if (iVar3 < 0) {\n      iVar3 = iVar3 + 3;\n    }\n    iVar3 = iVar3 >> 2;\n    if (*(code **)(*piVar14 + 0x14) != *(code **)(puVar25 + 0x2f6820)) {\n      iStack_98 = iVar3;\n      pFStack_94 = pFVar18;\n      (**(code **)(*piVar14 + 0x14))(piVar14);\n      iVar3 = iStack_98;\n      pFVar18 = pFStack_94;\nLAB_001cd5a8:\n      (**(code **)(puVar25 + 0x2f871c))(pFVar18,*(int *)(puVar25 + 0x2f4624) + 0x4c1c,iVar3);\n      pFVar18 = this_00->map_file_;\nLAB_001cd5cc:\n      if (piVar14[0x26] << 5 < 0) {\n        (**(code **)(puVar25 + 0x2f8724))(*(int *)(puVar25 + 0x2f4624) + 0x4c34,1,0x15);\n        pFVar18 = this_00->map_file_;\n      }\n      (**(code **)(puVar25 + 0x2f86a0))(10,pFVar18);\n      return;\n    }\n    relobj = (Sized_relobj_file<32,_false> *)&DAT_0000107b;\n    if (piVar14[0x26] << 7 < 0) goto LAB_001cd5a8;\n  }\n  pcVar26 = *(code **)(puVar25 + 0x2f4604);\n  shndx = *(int *)(puVar25 + 0x2f4624) + 0x4ca0;\n  this_01 = (Mapfile *)(*(int *)(puVar25 + 0x2f3e50) + 0x3574);\n  (*pcVar26)();\n  piStack_11c = piVar14;\n  pMStack_118 = this_00;\n  puStack_114 = auStack_d0;\n  piStack_110 = piVar21;\n  (**(code **)(pcVar26 + 0x2f840c))(0x20,this_01->map_file_);\n  (*(relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0x10])\n            (&puStack_13c,relobj,shndx);\n  (**(code **)(pcVar26 + 0x2f866c))(puStack_13c,this_01->map_file_);\n  advance_to_column(this_01,iStack_138 + 1,0x10);\n  ppOVar8 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_start;\n  if (shndx < (uint)((int)(relobj->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish - (int)ppOVar8 >> 2)) {\n    pOVar22 = ppOVar8[shndx];\n    if (pOVar22 == (Output_section *)0x0) {\n      pCVar10 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                compressed_sections_;\n      if (pCVar10 != (Compressed_section_map *)0x0) goto LAB_001cd7f4;\nLAB_001cd95c:\n      (*(relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0xf])\n                (relobj,shndx);\n    }\n    else {\n      pp_Var9 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object;\n      if (pp_Var9[0x18] != *(_func_int_varargs **)(pcVar26 + 0x2f4464)) {\n        pOVar22 = (Output_section *)(*pp_Var9[0x18])(relobj,shndx);\n        pp_Var9 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object;\n      }\n      iVar3 = (*pp_Var9[0x1a])(relobj,shndx);\n      if ((iVar3 == -1) && (pp_Var9 == (_func_int_varargs **)0xffffffff)) {\n        pCVar10 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                  compressed_sections_;\n      }\n      else {\n        iVar3 = *(int *)(pcVar26 + 0x2f4390);\n        if (-1 < *(int *)&(pOVar22->super_Output_data).field_0x20) goto LAB_001cda4c;\n        pCVar10 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                  compressed_sections_;\n      }\n      if (pCVar10 == (Compressed_section_map *)0x0) goto LAB_001cd95c;\nLAB_001cd7f4:\n      p_Var4 = (pCVar10->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n      p_Var12 = &(pCVar10->_M_t)._M_impl.super__Rb_tree_header;\n      p_Var15 = &p_Var12->_M_header;\n      if (p_Var4 == (_Base_ptr)0x0) goto LAB_001cd95c;\n      do {\n        while (p_Var16 = p_Var4, shndx <= p_Var16[1]._M_color) {\n          p_Var4 = p_Var16->_M_left;\n          p_Var15 = p_Var16;\n          if (p_Var16->_M_left == (_Base_ptr)0x0) goto LAB_001cd834;\n        }\n        pp_Var1 = &p_Var16->_M_right;\n        p_Var4 = *pp_Var1;\n        p_Var16 = p_Var15;\n      } while (*pp_Var1 != (_Base_ptr)0x0);\nLAB_001cd834:\n      if ((p_Var12 == (_Rb_tree_header *)p_Var16) || (shndx < p_Var16[1]._M_color))\n      goto LAB_001cd95c;\n    }\n    piVar14 = *(int **)(pcVar26 + 0x2f42f4);\n    (**(code **)(pcVar26 + 0x2f83d4))(auStack_170,0x32,*(int *)(pcVar26 + 0x2f4390) + 0x4bf0);\n    iVar3 = *(int *)(*piVar14 + 0xc);\n    if (iVar3 == 0) {\n      (**(code **)(pcVar26 + 0x2f4370))\n                (*(int *)(pcVar26 + 0x2f3bbc) + -0x9b8,0x69,*(int *)(pcVar26 + 0x2f4390) + 0x4cf0);\n      goto LAB_001cda14;\n    }\n    iVar3 = **(int **)(iVar3 + 4);\n    if (iVar3 < 0) {\n      iVar3 = iVar3 + 3;\n    }\n    (**(code **)(pcVar26 + 0x2f8488))\n              (this_01->map_file_,*(int *)(pcVar26 + 0x2f4390) + 0x4c4c,iVar3 >> 2);\n    if (pOVar22 == (Output_section *)0x0) {\nLAB_001cd908:\n      if (puStack_13c != auStack_134) {\n        (**(code **)(pcVar26 + 0x2f3c3c))();\n      }\n      return;\n    }\n    iVar3 = (**(code **)(pcVar26 + 0x2f4cb0))(*piVar14);\n    if (iVar3 == 1) {\n      print_input_section_symbols<32,_true>(this_01,(Sized_relobj_file<32,_true> *)relobj,shndx);\n      goto LAB_001cd908;\n    }\n    if (iVar3 == 0) {\n      print_input_section_symbols<32,_false>(this_01,relobj,shndx);\n      goto LAB_001cd908;\n    }\n    if (iVar3 == 2) {\n      print_input_section_symbols<64,_false>(this_01,(Sized_relobj_file<64,_false> *)relobj,shndx);\n      goto LAB_001cd908;\n    }\n    if (iVar3 == 3) {\n      print_input_section_symbols<64,_true>(this_01,(Sized_relobj_file<64,_true> *)relobj,shndx);\n      goto LAB_001cd908;\n    }\n  }\n  else {\nLAB_001cda14:\n    (**(code **)(pcVar26 + 0x2f4370))\n              (*(int *)(pcVar26 + 0x2f3bbc) + 0x4570,0x50b,*(int *)(pcVar26 + 0x2f4390) + 0x4d14);\n  }\n  iVar3 = *(int *)(pcVar26 + 0x2f4390) + 0x4d28;\n  (**(code **)(pcVar26 + 0x2f4370))(*(int *)(pcVar26 + 0x2f4390) + 0x4b8c,0x139,iVar3);\nLAB_001cda4c:\n  puVar17 = (undefined4 *)&DAT_000000c5;\n  puVar13 = (undefined4 *)(*(int *)(pcVar26 + 0x2f3bbc) + 0x3574);\n  (**(code **)(pcVar26 + 0x2f4370))(puVar13,0xc5,iVar3 + 0x4cf8);\n  if (puStack_13c != auStack_134) {\n    (**(code **)(pcVar26 + 0x2f3c3c))(puStack_13c);\n  }\n  pcVar26 = *(code **)(pcVar26 + 0x2f3c08);\n  (*pcVar26)();\n  puVar5 = (undefined4 *)puVar17[1];\n  puVar24 = (undefined4 *)*puVar17;\n  iVar3 = *(int *)(pcVar26 + 0x2f3fbc);\n  if (puVar24 != puVar5) {\n    bVar2 = false;\n    pcVar11 = *(code **)(pcVar26 + 0x2f61cc);\n    do {\n      piVar14 = (int *)*puVar24;\n      if (piVar14[7] == 0) {\n        uVar20 = piVar14[10];\n        if (uVar20 != 0) goto LAB_001cdb24;\n      }\n      else {\n        (**(code **)(pcVar26 + 0x2f46dc))(piVar14[7] + 0x20,0xffffffff);\n        uVar20 = piVar14[10];\n        if (uVar20 != 0) {\nLAB_001cdb24:\n          uVar19 = 0;\n          do {\n            while ((uVar6 = (**(code **)(*piVar14 + 0x50))(piVar14,uVar19),\n                   (uVar6 & 0xffffffef) != 1 && (uVar6 != 8))) {\nLAB_001cdb30:\n              uVar19 = uVar19 + 1;\n              if (uVar20 <= uVar19) goto LAB_001cdbec;\n            }\n            if ((uint)(piVar14[0xf] - piVar14[0xe] >> 2) <= uVar19) {\n              iVar3 = *(int *)(pcVar26 + 0x2f37e8) + 0x4570;\n              (**(code **)(pcVar26 + 0x2f3f9c))(iVar3,0x50b,*(int *)(pcVar26 + 0x2f3fbc) + 0x4d14);\n              if (piVar14[7] != 0) {\n                (**(code **)(pcVar26 + 0x2f46d8))(piVar14[7] + 0x20,0xffffffff);\n              }\n              (**(code **)(pcVar26 + 0x2f3834))(iVar3);\n              return;\n            }\n            if (*(int *)(piVar14[0xe] + uVar19 * 4) != 0) goto LAB_001cdb30;\n            if (!bVar2) {\n              uVar23 = *puVar13;\n              uVar7 = (**(code **)(pcVar26 + 0x2f819c))(iVar3 + 0x4c60);\n              (**(code **)(pcVar26 + 0x2f80b4))(uVar23,uVar7);\n            }\n            (*pcVar11)(puVar13,piVar14,uVar19);\n            uVar19 = uVar19 + 1;\n            bVar2 = true;\n          } while (uVar19 < uVar20);\n        }\nLAB_001cdbec:\n        if (piVar14[7] != 0) {\n          (**(code **)(pcVar26 + 0x2f46d8))(piVar14[7] + 0x20,0xffffffff);\n        }\n        puVar5 = (undefined4 *)puVar17[1];\n      }\n      puVar24 = puVar24 + 1;\n    } while (puVar5 != puVar24);\n  }\n  return;\n}\n\n" comment comment comment (function_definition "void __thiscall gold::Mapfile::print_output_data(Mapfile *this,Output_data *od,char *name)\n\n{\n  _Base_ptr *pp_Var1;\n  bool bVar2;\n  int iVar3;\n  size_t from;\n  _Base_ptr p_Var4;\n  undefined4 *puVar5;\n  uint uVar6;\n  undefined4 uVar7;\n  pointer ppOVar8;\n  _func_int_varargs **pp_Var9;\n  Compressed_section_map *pCVar10;\n  code *pcVar11;\n  Mapfile *this_00;\n  Mapfile *this_01;\n  _Rb_tree_header *p_Var12;\n  undefined4 *puVar13;\n  int *piVar14;\n  Sized_relobj_file<32,_false> *relobj;\n  _Base_ptr p_Var15;\n  _Base_ptr p_Var16;\n  undefined4 *puVar17;\n  _Rb_tree_color shndx;\n  FILE *pFVar18;\n  uint uVar19;\n  uint uVar20;\n  int *piVar21;\n  Output_section *pOVar22;\n  undefined4 uVar23;\n  undefined4 *puVar24;\n  undefined *puVar25;\n  code *pcVar26;\n  undefined1 auStack_170 [52];\n  undefined1 *puStack_13c;\n  int iStack_138;\n  undefined1 auStack_134 [24];\n  int *piStack_11c;\n  Mapfile *pMStack_118;\n  undefined1 *puStack_114;\n  int *piStack_110;\n  undefined1 auStack_d0 [56];\n  int iStack_98;\n  FILE *pFStack_94;\n  Mapfile *pMStack_8c;\n  Output_data *pOStack_88;\n  char *pcStack_84;\n  char *pcStack_80;\n  code *pcStack_7c;\n  undefined4 local_68;\n  undefined4 local_64;\n  char *local_60;\n  char sizebuf [50];\n  \n  if (this->printed_memory_map_header_ == false) {\n    print_memory_map_header(this);\n  }\n  (*(code *)PTR_putc_004c5acc)(0x20,this->map_file_);\n  (*(code *)PTR_fputs_004c5d2c)(name,this->map_file_);\n  iVar3 = (*(code *)PTR_strlen_004c5b9c)(name);\n  advance_to_column(this,iVar3 + 1,0x10);\n  local_64 = (undefined4)od->data_size_;\n  local_68 = *(undefined4 *)&od->data_size_;\n  (*(code *)PTR_snprintf_004c5a94)(sizebuf,0x32,PTR_s__s_004c1a50 + 0x4bf0);\n  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) != 0) {\n    iVar3 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar3 < 0) {\n      iVar3 = iVar3 + 3;\n    }\n    if (*(int *)&od->field_0x20 < 0) {\n      local_64 = (undefined4)od->address_;\n      local_68 = *(undefined4 *)&od->address_;\n    }\n    else {\n      local_64 = 0;\n      local_68 = 0;\n    }\n    local_60 = sizebuf;\n    (*(code *)PTR_fprintf_004c5b48)(this->map_file_,PTR_s__s_004c1a50 + 0x4bf8,iVar3 >> 2);\n    return;\n  }\n  piVar14 = (int *)&DAT_00000069;\n  pcVar26 = print_output_section;\n  this_00 = (Mapfile *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n  puVar25 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(this_00,0x69,PTR_s__s_004c1a50 + 0x4cf0);\n  pMStack_8c = this;\n  pOStack_88 = od;\n  pcStack_84 = name;\n  pcStack_80 = sizebuf;\n  pcStack_7c = pcVar26;\n  if (this_00->printed_memory_map_header_ == false) {\n    print_memory_map_header(this_00);\n  }\n  piVar21 = *(int **)(puVar25 + 0x2f4588);\n  (**(code **)(puVar25 + 0x2f871c))\n            (this_00->map_file_,*(int *)(puVar25 + 0x2f4624) + 0x4c08,piVar14[9]);\n  from = (**(code **)(puVar25 + 0x2f8770))(piVar14[9]);\n  advance_to_column(this_00,from,0x10);\n  (**(code **)(puVar25 + 0x2f8668))(auStack_d0,0x32,*(int *)(puVar25 + 0x2f4624) + 0x4bf0);\n  if (*(int *)(*piVar21 + 0xc) == 0) {\n    iVar3 = *(int *)(puVar25 + 0x2f4624);\nLAB_001cd674:\n    (**(code **)(puVar25 + 0x2f4604))(*(int *)(puVar25 + 0x2f3e50) + -0x9b8,0x69,iVar3 + 0x4cf0);\nLAB_001cd68c:\n    relobj = (Sized_relobj_file<32,_false> *)&DAT_000000c5;\n    (**(code **)(puVar25 + 0x2f4604))\n              (*(int *)(puVar25 + 0x2f3e50) + 0x3574,0xc5,*(int *)(puVar25 + 0x2f4624) + 0x4cf8);\n  }\n  else {\n    iVar3 = **(int **)(*(int *)(*piVar21 + 0xc) + 4);\n    if (iVar3 < 0) {\n      iVar3 = iVar3 + 3;\n    }\n    if (-1 < piVar14[8]) goto LAB_001cd68c;\n    (**(code **)(puVar25 + 0x2f871c))\n              (this_00->map_file_,*(int *)(puVar25 + 0x2f4624) + 0x4c0c,iVar3 >> 2);\n    if (*(code **)(*piVar14 + 0x10) == *(code **)(puVar25 + 0x2f4d10)) {\n      uVar20 = (uint)(piVar14[0x26] << 7) >> 0x1f;\n    }\n    else {\n      uVar20 = (**(code **)(*piVar14 + 0x10))(piVar14);\n    }\n    pFVar18 = this_00->map_file_;\n    if (uVar20 == 0) goto LAB_001cd5cc;\n    iVar3 = *(int *)(puVar25 + 0x2f4624);\n    if (*(int *)(*piVar21 + 0xc) == 0) goto LAB_001cd674;\n    iVar3 = **(int **)(*(int *)(*piVar21 + 0xc) + 4);\n    if (iVar3 < 0) {\n      iVar3 = iVar3 + 3;\n    }\n    iVar3 = iVar3 >> 2;\n    if (*(code **)(*piVar14 + 0x14) != *(code **)(puVar25 + 0x2f6820)) {\n      iStack_98 = iVar3;\n      pFStack_94 = pFVar18;\n      (**(code **)(*piVar14 + 0x14))(piVar14);\n      iVar3 = iStack_98;\n      pFVar18 = pFStack_94;\nLAB_001cd5a8:\n      (**(code **)(puVar25 + 0x2f871c))(pFVar18,*(int *)(puVar25 + 0x2f4624) + 0x4c1c,iVar3);\n      pFVar18 = this_00->map_file_;\nLAB_001cd5cc:\n      if (piVar14[0x26] << 5 < 0) {\n        (**(code **)(puVar25 + 0x2f8724))(*(int *)(puVar25 + 0x2f4624) + 0x4c34,1,0x15);\n        pFVar18 = this_00->map_file_;\n      }\n      (**(code **)(puVar25 + 0x2f86a0))(10,pFVar18);\n      return;\n    }\n    relobj = (Sized_relobj_file<32,_false> *)&DAT_0000107b;\n    if (piVar14[0x26] << 7 < 0) goto LAB_001cd5a8;\n  }\n  pcVar26 = *(code **)(puVar25 + 0x2f4604);\n  shndx = *(int *)(puVar25 + 0x2f4624) + 0x4ca0;\n  this_01 = (Mapfile *)(*(int *)(puVar25 + 0x2f3e50) + 0x3574);\n  (*pcVar26)();\n  piStack_11c = piVar14;\n  pMStack_118 = this_00;\n  puStack_114 = auStack_d0;\n  piStack_110 = piVar21;\n  (**(code **)(pcVar26 + 0x2f840c))(0x20,this_01->map_file_);\n  (*(relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0x10])\n            (&puStack_13c,relobj,shndx);\n  (**(code **)(pcVar26 + 0x2f866c))(puStack_13c,this_01->map_file_);\n  advance_to_column(this_01,iStack_138 + 1,0x10);\n  ppOVar8 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_start;\n  if (shndx < (uint)((int)(relobj->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish - (int)ppOVar8 >> 2)) {\n    pOVar22 = ppOVar8[shndx];\n    if (pOVar22 == (Output_section *)0x0) {\n      pCVar10 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                compressed_sections_;\n      if (pCVar10 != (Compressed_section_map *)0x0) goto LAB_001cd7f4;\nLAB_001cd95c:\n      (*(relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0xf])\n                (relobj,shndx);\n    }\n    else {\n      pp_Var9 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object;\n      if (pp_Var9[0x18] != *(_func_int_varargs **)(pcVar26 + 0x2f4464)) {\n        pOVar22 = (Output_section *)(*pp_Var9[0x18])(relobj,shndx);\n        pp_Var9 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object;\n      }\n      iVar3 = (*pp_Var9[0x1a])(relobj,shndx);\n      if ((iVar3 == -1) && (pp_Var9 == (_func_int_varargs **)0xffffffff)) {\n        pCVar10 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                  compressed_sections_;\n      }\n      else {\n        iVar3 = *(int *)(pcVar26 + 0x2f4390);\n        if (-1 < *(int *)&(pOVar22->super_Output_data).field_0x20) goto LAB_001cda4c;\n        pCVar10 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                  compressed_sections_;\n      }\n      if (pCVar10 == (Compressed_section_map *)0x0) goto LAB_001cd95c;\nLAB_001cd7f4:\n      p_Var4 = (pCVar10->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n      p_Var12 = &(pCVar10->_M_t)._M_impl.super__Rb_tree_header;\n      p_Var15 = &p_Var12->_M_header;\n      if (p_Var4 == (_Base_ptr)0x0) goto LAB_001cd95c;\n      do {\n        while (p_Var16 = p_Var4, shndx <= p_Var16[1]._M_color) {\n          p_Var4 = p_Var16->_M_left;\n          p_Var15 = p_Var16;\n          if (p_Var16->_M_left == (_Base_ptr)0x0) goto LAB_001cd834;\n        }\n        pp_Var1 = &p_Var16->_M_right;\n        p_Var4 = *pp_Var1;\n        p_Var16 = p_Var15;\n      } while (*pp_Var1 != (_Base_ptr)0x0);\nLAB_001cd834:\n      if ((p_Var12 == (_Rb_tree_header *)p_Var16) || (shndx < p_Var16[1]._M_color))\n      goto LAB_001cd95c;\n    }\n    piVar14 = *(int **)(pcVar26 + 0x2f42f4);\n    (**(code **)(pcVar26 + 0x2f83d4))(auStack_170,0x32,*(int *)(pcVar26 + 0x2f4390) + 0x4bf0);\n    iVar3 = *(int *)(*piVar14 + 0xc);\n    if (iVar3 == 0) {\n      (**(code **)(pcVar26 + 0x2f4370))\n                (*(int *)(pcVar26 + 0x2f3bbc) + -0x9b8,0x69,*(int *)(pcVar26 + 0x2f4390) + 0x4cf0);\n      goto LAB_001cda14;\n    }\n    iVar3 = **(int **)(iVar3 + 4);\n    if (iVar3 < 0) {\n      iVar3 = iVar3 + 3;\n    }\n    (**(code **)(pcVar26 + 0x2f8488))\n              (this_01->map_file_,*(int *)(pcVar26 + 0x2f4390) + 0x4c4c,iVar3 >> 2);\n    if (pOVar22 == (Output_section *)0x0) {\nLAB_001cd908:\n      if (puStack_13c != auStack_134) {\n        (**(code **)(pcVar26 + 0x2f3c3c))();\n      }\n      return;\n    }\n    iVar3 = (**(code **)(pcVar26 + 0x2f4cb0))(*piVar14);\n    if (iVar3 == 1) {\n      print_input_section_symbols<32,_true>(this_01,(Sized_relobj_file<32,_true> *)relobj,shndx);\n      goto LAB_001cd908;\n    }\n    if (iVar3 == 0) {\n      print_input_section_symbols<32,_false>(this_01,relobj,shndx);\n      goto LAB_001cd908;\n    }\n    if (iVar3 == 2) {\n      print_input_section_symbols<64,_false>(this_01,(Sized_relobj_file<64,_false> *)relobj,shndx);\n      goto LAB_001cd908;\n    }\n    if (iVar3 == 3) {\n      print_input_section_symbols<64,_true>(this_01,(Sized_relobj_file<64,_true> *)relobj,shndx);\n      goto LAB_001cd908;\n    }\n  }\n  else {\nLAB_001cda14:\n    (**(code **)(pcVar26 + 0x2f4370))\n              (*(int *)(pcVar26 + 0x2f3bbc) + 0x4570,0x50b,*(int *)(pcVar26 + 0x2f4390) + 0x4d14);\n  }\n  iVar3 = *(int *)(pcVar26 + 0x2f4390) + 0x4d28;\n  (**(code **)(pcVar26 + 0x2f4370))(*(int *)(pcVar26 + 0x2f4390) + 0x4b8c,0x139,iVar3);\nLAB_001cda4c:\n  puVar17 = (undefined4 *)&DAT_000000c5;\n  puVar13 = (undefined4 *)(*(int *)(pcVar26 + 0x2f3bbc) + 0x3574);\n  (**(code **)(pcVar26 + 0x2f4370))(puVar13,0xc5,iVar3 + 0x4cf8);\n  if (puStack_13c != auStack_134) {\n    (**(code **)(pcVar26 + 0x2f3c3c))(puStack_13c);\n  }\n  pcVar26 = *(code **)(pcVar26 + 0x2f3c08);\n  (*pcVar26)();\n  puVar5 = (undefined4 *)puVar17[1];\n  puVar24 = (undefined4 *)*puVar17;\n  iVar3 = *(int *)(pcVar26 + 0x2f3fbc);\n  if (puVar24 != puVar5) {\n    bVar2 = false;\n    pcVar11 = *(code **)(pcVar26 + 0x2f61cc);\n    do {\n      piVar14 = (int *)*puVar24;\n      if (piVar14[7] == 0) {\n        uVar20 = piVar14[10];\n        if (uVar20 != 0) goto LAB_001cdb24;\n      }\n      else {\n        (**(code **)(pcVar26 + 0x2f46dc))(piVar14[7] + 0x20,0xffffffff);\n        uVar20 = piVar14[10];\n        if (uVar20 != 0) {\nLAB_001cdb24:\n          uVar19 = 0;\n          do {\n            while ((uVar6 = (**(code **)(*piVar14 + 0x50))(piVar14,uVar19),\n                   (uVar6 & 0xffffffef) != 1 && (uVar6 != 8))) {\nLAB_001cdb30:\n              uVar19 = uVar19 + 1;\n              if (uVar20 <= uVar19) goto LAB_001cdbec;\n            }\n            if ((uint)(piVar14[0xf] - piVar14[0xe] >> 2) <= uVar19) {\n              iVar3 = *(int *)(pcVar26 + 0x2f37e8) + 0x4570;\n              (**(code **)(pcVar26 + 0x2f3f9c))(iVar3,0x50b,*(int *)(pcVar26 + 0x2f3fbc) + 0x4d14);\n              if (piVar14[7] != 0) {\n                (**(code **)(pcVar26 + 0x2f46d8))(piVar14[7] + 0x20,0xffffffff);\n              }\n              (**(code **)(pcVar26 + 0x2f3834))(iVar3);\n              return;\n            }\n            if (*(int *)(piVar14[0xe] + uVar19 * 4) != 0) goto LAB_001cdb30;\n            if (!bVar2) {\n              uVar23 = *puVar13;\n              uVar7 = (**(code **)(pcVar26 + 0x2f819c))(iVar3 + 0x4c60);\n              (**(code **)(pcVar26 + 0x2f80b4))(uVar23,uVar7);\n            }\n            (*pcVar11)(puVar13,piVar14,uVar19);\n            uVar19 = uVar19 + 1;\n            bVar2 = true;\n          } while (uVar19 < uVar20);\n        }\nLAB_001cdbec:\n        if (piVar14[7] != 0) {\n          (**(code **)(pcVar26 + 0x2f46d8))(piVar14[7] + 0x20,0xffffffff);\n        }\n        puVar5 = (undefined4 *)puVar17[1];\n      }\n      puVar24 = puVar24 + 1;\n    } while (puVar5 != puVar24);\n  }\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Mapfile::" identifier : : identifier : :) (function_declarator "print_output_data(Mapfile *this,Output_data *od,char *name)" identifier (parameter_list "(Mapfile *this,Output_data *od,char *name)" ( (parameter_declaration "Mapfile *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Output_data *od" type_identifier (pointer_declarator "*od" * identifier)) , (parameter_declaration "char *name" primitive_type (pointer_declarator "*name" * identifier)) ))) (compound_statement "{\n  _Base_ptr *pp_Var1;\n  bool bVar2;\n  int iVar3;\n  size_t from;\n  _Base_ptr p_Var4;\n  undefined4 *puVar5;\n  uint uVar6;\n  undefined4 uVar7;\n  pointer ppOVar8;\n  _func_int_varargs **pp_Var9;\n  Compressed_section_map *pCVar10;\n  code *pcVar11;\n  Mapfile *this_00;\n  Mapfile *this_01;\n  _Rb_tree_header *p_Var12;\n  undefined4 *puVar13;\n  int *piVar14;\n  Sized_relobj_file<32,_false> *relobj;\n  _Base_ptr p_Var15;\n  _Base_ptr p_Var16;\n  undefined4 *puVar17;\n  _Rb_tree_color shndx;\n  FILE *pFVar18;\n  uint uVar19;\n  uint uVar20;\n  int *piVar21;\n  Output_section *pOVar22;\n  undefined4 uVar23;\n  undefined4 *puVar24;\n  undefined *puVar25;\n  code *pcVar26;\n  undefined1 auStack_170 [52];\n  undefined1 *puStack_13c;\n  int iStack_138;\n  undefined1 auStack_134 [24];\n  int *piStack_11c;\n  Mapfile *pMStack_118;\n  undefined1 *puStack_114;\n  int *piStack_110;\n  undefined1 auStack_d0 [56];\n  int iStack_98;\n  FILE *pFStack_94;\n  Mapfile *pMStack_8c;\n  Output_data *pOStack_88;\n  char *pcStack_84;\n  char *pcStack_80;\n  code *pcStack_7c;\n  undefined4 local_68;\n  undefined4 local_64;\n  char *local_60;\n  char sizebuf [50];\n  \n  if (this->printed_memory_map_header_ == false) {\n    print_memory_map_header(this);\n  }\n  (*(code *)PTR_putc_004c5acc)(0x20,this->map_file_);\n  (*(code *)PTR_fputs_004c5d2c)(name,this->map_file_);\n  iVar3 = (*(code *)PTR_strlen_004c5b9c)(name);\n  advance_to_column(this,iVar3 + 1,0x10);\n  local_64 = (undefined4)od->data_size_;\n  local_68 = *(undefined4 *)&od->data_size_;\n  (*(code *)PTR_snprintf_004c5a94)(sizebuf,0x32,PTR_s__s_004c1a50 + 0x4bf0);\n  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) != 0) {\n    iVar3 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar3 < 0) {\n      iVar3 = iVar3 + 3;\n    }\n    if (*(int *)&od->field_0x20 < 0) {\n      local_64 = (undefined4)od->address_;\n      local_68 = *(undefined4 *)&od->address_;\n    }\n    else {\n      local_64 = 0;\n      local_68 = 0;\n    }\n    local_60 = sizebuf;\n    (*(code *)PTR_fprintf_004c5b48)(this->map_file_,PTR_s__s_004c1a50 + 0x4bf8,iVar3 >> 2);\n    return;\n  }\n  piVar14 = (int *)&DAT_00000069;\n  pcVar26 = print_output_section;\n  this_00 = (Mapfile *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);\n  puVar25 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(this_00,0x69,PTR_s__s_004c1a50 + 0x4cf0);\n  pMStack_8c = this;\n  pOStack_88 = od;\n  pcStack_84 = name;\n  pcStack_80 = sizebuf;\n  pcStack_7c = pcVar26;\n  if (this_00->printed_memory_map_header_ == false) {\n    print_memory_map_header(this_00);\n  }\n  piVar21 = *(int **)(puVar25 + 0x2f4588);\n  (**(code **)(puVar25 + 0x2f871c))\n            (this_00->map_file_,*(int *)(puVar25 + 0x2f4624) + 0x4c08,piVar14[9]);\n  from = (**(code **)(puVar25 + 0x2f8770))(piVar14[9]);\n  advance_to_column(this_00,from,0x10);\n  (**(code **)(puVar25 + 0x2f8668))(auStack_d0,0x32,*(int *)(puVar25 + 0x2f4624) + 0x4bf0);\n  if (*(int *)(*piVar21 + 0xc) == 0) {\n    iVar3 = *(int *)(puVar25 + 0x2f4624);\nLAB_001cd674:\n    (**(code **)(puVar25 + 0x2f4604))(*(int *)(puVar25 + 0x2f3e50) + -0x9b8,0x69,iVar3 + 0x4cf0);\nLAB_001cd68c:\n    relobj = (Sized_relobj_file<32,_false> *)&DAT_000000c5;\n    (**(code **)(puVar25 + 0x2f4604))\n              (*(int *)(puVar25 + 0x2f3e50) + 0x3574,0xc5,*(int *)(puVar25 + 0x2f4624) + 0x4cf8);\n  }\n  else {\n    iVar3 = **(int **)(*(int *)(*piVar21 + 0xc) + 4);\n    if (iVar3 < 0) {\n      iVar3 = iVar3 + 3;\n    }\n    if (-1 < piVar14[8]) goto LAB_001cd68c;\n    (**(code **)(puVar25 + 0x2f871c))\n              (this_00->map_file_,*(int *)(puVar25 + 0x2f4624) + 0x4c0c,iVar3 >> 2);\n    if (*(code **)(*piVar14 + 0x10) == *(code **)(puVar25 + 0x2f4d10)) {\n      uVar20 = (uint)(piVar14[0x26] << 7) >> 0x1f;\n    }\n    else {\n      uVar20 = (**(code **)(*piVar14 + 0x10))(piVar14);\n    }\n    pFVar18 = this_00->map_file_;\n    if (uVar20 == 0) goto LAB_001cd5cc;\n    iVar3 = *(int *)(puVar25 + 0x2f4624);\n    if (*(int *)(*piVar21 + 0xc) == 0) goto LAB_001cd674;\n    iVar3 = **(int **)(*(int *)(*piVar21 + 0xc) + 4);\n    if (iVar3 < 0) {\n      iVar3 = iVar3 + 3;\n    }\n    iVar3 = iVar3 >> 2;\n    if (*(code **)(*piVar14 + 0x14) != *(code **)(puVar25 + 0x2f6820)) {\n      iStack_98 = iVar3;\n      pFStack_94 = pFVar18;\n      (**(code **)(*piVar14 + 0x14))(piVar14);\n      iVar3 = iStack_98;\n      pFVar18 = pFStack_94;\nLAB_001cd5a8:\n      (**(code **)(puVar25 + 0x2f871c))(pFVar18,*(int *)(puVar25 + 0x2f4624) + 0x4c1c,iVar3);\n      pFVar18 = this_00->map_file_;\nLAB_001cd5cc:\n      if (piVar14[0x26] << 5 < 0) {\n        (**(code **)(puVar25 + 0x2f8724))(*(int *)(puVar25 + 0x2f4624) + 0x4c34,1,0x15);\n        pFVar18 = this_00->map_file_;\n      }\n      (**(code **)(puVar25 + 0x2f86a0))(10,pFVar18);\n      return;\n    }\n    relobj = (Sized_relobj_file<32,_false> *)&DAT_0000107b;\n    if (piVar14[0x26] << 7 < 0) goto LAB_001cd5a8;\n  }\n  pcVar26 = *(code **)(puVar25 + 0x2f4604);\n  shndx = *(int *)(puVar25 + 0x2f4624) + 0x4ca0;\n  this_01 = (Mapfile *)(*(int *)(puVar25 + 0x2f3e50) + 0x3574);\n  (*pcVar26)();\n  piStack_11c = piVar14;\n  pMStack_118 = this_00;\n  puStack_114 = auStack_d0;\n  piStack_110 = piVar21;\n  (**(code **)(pcVar26 + 0x2f840c))(0x20,this_01->map_file_);\n  (*(relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0x10])\n            (&puStack_13c,relobj,shndx);\n  (**(code **)(pcVar26 + 0x2f866c))(puStack_13c,this_01->map_file_);\n  advance_to_column(this_01,iStack_138 + 1,0x10);\n  ppOVar8 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_start;\n  if (shndx < (uint)((int)(relobj->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish - (int)ppOVar8 >> 2)) {\n    pOVar22 = ppOVar8[shndx];\n    if (pOVar22 == (Output_section *)0x0) {\n      pCVar10 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                compressed_sections_;\n      if (pCVar10 != (Compressed_section_map *)0x0) goto LAB_001cd7f4;\nLAB_001cd95c:\n      (*(relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0xf])\n                (relobj,shndx);\n    }\n    else {\n      pp_Var9 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object;\n      if (pp_Var9[0x18] != *(_func_int_varargs **)(pcVar26 + 0x2f4464)) {\n        pOVar22 = (Output_section *)(*pp_Var9[0x18])(relobj,shndx);\n        pp_Var9 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object;\n      }\n      iVar3 = (*pp_Var9[0x1a])(relobj,shndx);\n      if ((iVar3 == -1) && (pp_Var9 == (_func_int_varargs **)0xffffffff)) {\n        pCVar10 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                  compressed_sections_;\n      }\n      else {\n        iVar3 = *(int *)(pcVar26 + 0x2f4390);\n        if (-1 < *(int *)&(pOVar22->super_Output_data).field_0x20) goto LAB_001cda4c;\n        pCVar10 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                  compressed_sections_;\n      }\n      if (pCVar10 == (Compressed_section_map *)0x0) goto LAB_001cd95c;\nLAB_001cd7f4:\n      p_Var4 = (pCVar10->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n      p_Var12 = &(pCVar10->_M_t)._M_impl.super__Rb_tree_header;\n      p_Var15 = &p_Var12->_M_header;\n      if (p_Var4 == (_Base_ptr)0x0) goto LAB_001cd95c;\n      do {\n        while (p_Var16 = p_Var4, shndx <= p_Var16[1]._M_color) {\n          p_Var4 = p_Var16->_M_left;\n          p_Var15 = p_Var16;\n          if (p_Var16->_M_left == (_Base_ptr)0x0) goto LAB_001cd834;\n        }\n        pp_Var1 = &p_Var16->_M_right;\n        p_Var4 = *pp_Var1;\n        p_Var16 = p_Var15;\n      } while (*pp_Var1 != (_Base_ptr)0x0);\nLAB_001cd834:\n      if ((p_Var12 == (_Rb_tree_header *)p_Var16) || (shndx < p_Var16[1]._M_color))\n      goto LAB_001cd95c;\n    }\n    piVar14 = *(int **)(pcVar26 + 0x2f42f4);\n    (**(code **)(pcVar26 + 0x2f83d4))(auStack_170,0x32,*(int *)(pcVar26 + 0x2f4390) + 0x4bf0);\n    iVar3 = *(int *)(*piVar14 + 0xc);\n    if (iVar3 == 0) {\n      (**(code **)(pcVar26 + 0x2f4370))\n                (*(int *)(pcVar26 + 0x2f3bbc) + -0x9b8,0x69,*(int *)(pcVar26 + 0x2f4390) + 0x4cf0);\n      goto LAB_001cda14;\n    }\n    iVar3 = **(int **)(iVar3 + 4);\n    if (iVar3 < 0) {\n      iVar3 = iVar3 + 3;\n    }\n    (**(code **)(pcVar26 + 0x2f8488))\n              (this_01->map_file_,*(int *)(pcVar26 + 0x2f4390) + 0x4c4c,iVar3 >> 2);\n    if (pOVar22 == (Output_section *)0x0) {\nLAB_001cd908:\n      if (puStack_13c != auStack_134) {\n        (**(code **)(pcVar26 + 0x2f3c3c))();\n      }\n      return;\n    }\n    iVar3 = (**(code **)(pcVar26 + 0x2f4cb0))(*piVar14);\n    if (iVar3 == 1) {\n      print_input_section_symbols<32,_true>(this_01,(Sized_relobj_file<32,_true> *)relobj,shndx);\n      goto LAB_001cd908;\n    }\n    if (iVar3 == 0) {\n      print_input_section_symbols<32,_false>(this_01,relobj,shndx);\n      goto LAB_001cd908;\n    }\n    if (iVar3 == 2) {\n      print_input_section_symbols<64,_false>(this_01,(Sized_relobj_file<64,_false> *)relobj,shndx);\n      goto LAB_001cd908;\n    }\n    if (iVar3 == 3) {\n      print_input_section_symbols<64,_true>(this_01,(Sized_relobj_file<64,_true> *)relobj,shndx);\n      goto LAB_001cd908;\n    }\n  }\n  else {\nLAB_001cda14:\n    (**(code **)(pcVar26 + 0x2f4370))\n              (*(int *)(pcVar26 + 0x2f3bbc) + 0x4570,0x50b,*(int *)(pcVar26 + 0x2f4390) + 0x4d14);\n  }\n  iVar3 = *(int *)(pcVar26 + 0x2f4390) + 0x4d28;\n  (**(code **)(pcVar26 + 0x2f4370))(*(int *)(pcVar26 + 0x2f4390) + 0x4b8c,0x139,iVar3);\nLAB_001cda4c:\n  puVar17 = (undefined4 *)&DAT_000000c5;\n  puVar13 = (undefined4 *)(*(int *)(pcVar26 + 0x2f3bbc) + 0x3574);\n  (**(code **)(pcVar26 + 0x2f4370))(puVar13,0xc5,iVar3 + 0x4cf8);\n  if (puStack_13c != auStack_134) {\n    (**(code **)(pcVar26 + 0x2f3c3c))(puStack_13c);\n  }\n  pcVar26 = *(code **)(pcVar26 + 0x2f3c08);\n  (*pcVar26)();\n  puVar5 = (undefined4 *)puVar17[1];\n  puVar24 = (undefined4 *)*puVar17;\n  iVar3 = *(int *)(pcVar26 + 0x2f3fbc);\n  if (puVar24 != puVar5) {\n    bVar2 = false;\n    pcVar11 = *(code **)(pcVar26 + 0x2f61cc);\n    do {\n      piVar14 = (int *)*puVar24;\n      if (piVar14[7] == 0) {\n        uVar20 = piVar14[10];\n        if (uVar20 != 0) goto LAB_001cdb24;\n      }\n      else {\n        (**(code **)(pcVar26 + 0x2f46dc))(piVar14[7] + 0x20,0xffffffff);\n        uVar20 = piVar14[10];\n        if (uVar20 != 0) {\nLAB_001cdb24:\n          uVar19 = 0;\n          do {\n            while ((uVar6 = (**(code **)(*piVar14 + 0x50))(piVar14,uVar19),\n                   (uVar6 & 0xffffffef) != 1 && (uVar6 != 8))) {\nLAB_001cdb30:\n              uVar19 = uVar19 + 1;\n              if (uVar20 <= uVar19) goto LAB_001cdbec;\n            }\n            if ((uint)(piVar14[0xf] - piVar14[0xe] >> 2) <= uVar19) {\n              iVar3 = *(int *)(pcVar26 + 0x2f37e8) + 0x4570;\n              (**(code **)(pcVar26 + 0x2f3f9c))(iVar3,0x50b,*(int *)(pcVar26 + 0x2f3fbc) + 0x4d14);\n              if (piVar14[7] != 0) {\n                (**(code **)(pcVar26 + 0x2f46d8))(piVar14[7] + 0x20,0xffffffff);\n              }\n              (**(code **)(pcVar26 + 0x2f3834))(iVar3);\n              return;\n            }\n            if (*(int *)(piVar14[0xe] + uVar19 * 4) != 0) goto LAB_001cdb30;\n            if (!bVar2) {\n              uVar23 = *puVar13;\n              uVar7 = (**(code **)(pcVar26 + 0x2f819c))(iVar3 + 0x4c60);\n              (**(code **)(pcVar26 + 0x2f80b4))(uVar23,uVar7);\n            }\n            (*pcVar11)(puVar13,piVar14,uVar19);\n            uVar19 = uVar19 + 1;\n            bVar2 = true;\n          } while (uVar19 < uVar20);\n        }\nLAB_001cdbec:\n        if (piVar14[7] != 0) {\n          (**(code **)(pcVar26 + 0x2f46d8))(piVar14[7] + 0x20,0xffffffff);\n        }\n        puVar5 = (undefined4 *)puVar17[1];\n      }\n      puVar24 = puVar24 + 1;\n    } while (puVar5 != puVar24);\n  }\n  return;\n}" { (declaration "_Base_ptr *pp_Var1;" type_identifier (pointer_declarator "*pp_Var1" * identifier) ;) (declaration "bool bVar2;" primitive_type identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "size_t from;" primitive_type identifier ;) (declaration "_Base_ptr p_Var4;" type_identifier identifier ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "undefined4 uVar7;" type_identifier identifier ;) (declaration "pointer ppOVar8;" type_identifier identifier ;) (declaration "_func_int_varargs **pp_Var9;" type_identifier (pointer_declarator "**pp_Var9" * (pointer_declarator "*pp_Var9" * identifier)) ;) (declaration "Compressed_section_map *pCVar10;" type_identifier (pointer_declarator "*pCVar10" * identifier) ;) (declaration "code *pcVar11;" type_identifier (pointer_declarator "*pcVar11" * identifier) ;) (declaration "Mapfile *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "Mapfile *this_01;" type_identifier (pointer_declarator "*this_01" * identifier) ;) (declaration "_Rb_tree_header *p_Var12;" type_identifier (pointer_declarator "*p_Var12" * identifier) ;) (declaration "undefined4 *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "int *piVar14;" primitive_type (pointer_declarator "*piVar14" * identifier) ;) (expression_statement "Sized_relobj_file<32,_false> *relobj;" (comma_expression "Sized_relobj_file<32,_false> *relobj" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> *relobj" identifier > (pointer_expression "*relobj" * identifier))) ;) (declaration "_Base_ptr p_Var15;" type_identifier identifier ;) (declaration "_Base_ptr p_Var16;" type_identifier identifier ;) (declaration "undefined4 *puVar17;" type_identifier (pointer_declarator "*puVar17" * identifier) ;) (declaration "_Rb_tree_color shndx;" type_identifier identifier ;) (declaration "FILE *pFVar18;" type_identifier (pointer_declarator "*pFVar18" * identifier) ;) (declaration "uint uVar19;" type_identifier identifier ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "int *piVar21;" primitive_type (pointer_declarator "*piVar21" * identifier) ;) (declaration "Output_section *pOVar22;" type_identifier (pointer_declarator "*pOVar22" * identifier) ;) (declaration "undefined4 uVar23;" type_identifier identifier ;) (declaration "undefined4 *puVar24;" type_identifier (pointer_declarator "*puVar24" * identifier) ;) (declaration "undefined *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "code *pcVar26;" type_identifier (pointer_declarator "*pcVar26" * identifier) ;) (declaration "undefined1 auStack_170 [52];" type_identifier (array_declarator "auStack_170 [52]" identifier [ number_literal ]) ;) (declaration "undefined1 *puStack_13c;" type_identifier (pointer_declarator "*puStack_13c" * identifier) ;) (declaration "int iStack_138;" primitive_type identifier ;) (declaration "undefined1 auStack_134 [24];" type_identifier (array_declarator "auStack_134 [24]" identifier [ number_literal ]) ;) (declaration "int *piStack_11c;" primitive_type (pointer_declarator "*piStack_11c" * identifier) ;) (declaration "Mapfile *pMStack_118;" type_identifier (pointer_declarator "*pMStack_118" * identifier) ;) (declaration "undefined1 *puStack_114;" type_identifier (pointer_declarator "*puStack_114" * identifier) ;) (declaration "int *piStack_110;" primitive_type (pointer_declarator "*piStack_110" * identifier) ;) (declaration "undefined1 auStack_d0 [56];" type_identifier (array_declarator "auStack_d0 [56]" identifier [ number_literal ]) ;) (declaration "int iStack_98;" primitive_type identifier ;) (declaration "FILE *pFStack_94;" type_identifier (pointer_declarator "*pFStack_94" * identifier) ;) (declaration "Mapfile *pMStack_8c;" type_identifier (pointer_declarator "*pMStack_8c" * identifier) ;) (declaration "Output_data *pOStack_88;" type_identifier (pointer_declarator "*pOStack_88" * identifier) ;) (declaration "char *pcStack_84;" primitive_type (pointer_declarator "*pcStack_84" * identifier) ;) (declaration "char *pcStack_80;" primitive_type (pointer_declarator "*pcStack_80" * identifier) ;) (declaration "code *pcStack_7c;" type_identifier (pointer_declarator "*pcStack_7c" * identifier) ;) (declaration "undefined4 local_68;" type_identifier identifier ;) (declaration "undefined4 local_64;" type_identifier identifier ;) (declaration "char *local_60;" primitive_type (pointer_declarator "*local_60" * identifier) ;) (declaration "char sizebuf [50];" primitive_type (array_declarator "sizebuf [50]" identifier [ number_literal ]) ;) (if_statement "if (this->printed_memory_map_header_ == false) {\n    print_memory_map_header(this);\n  }" if (parenthesized_expression "(this->printed_memory_map_header_ == false)" ( (binary_expression "this->printed_memory_map_header_ == false" (field_expression "this->printed_memory_map_header_" identifier -> field_identifier) == false) )) (compound_statement "{\n    print_memory_map_header(this);\n  }" { (expression_statement "print_memory_map_header(this);" (call_expression "print_memory_map_header(this)" identifier (argument_list "(this)" ( identifier ))) ;) })) (expression_statement "(*(code *)PTR_putc_004c5acc)(0x20,this->map_file_);" (call_expression "(*(code *)PTR_putc_004c5acc)(0x20,this->map_file_)" (parenthesized_expression "(*(code *)PTR_putc_004c5acc)" ( (pointer_expression "*(code *)PTR_putc_004c5acc" * (cast_expression "(code *)PTR_putc_004c5acc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x20,this->map_file_)" ( number_literal , (field_expression "this->map_file_" identifier -> field_identifier) ))) ;) (expression_statement "(*(code *)PTR_fputs_004c5d2c)(name,this->map_file_);" (call_expression "(*(code *)PTR_fputs_004c5d2c)(name,this->map_file_)" (parenthesized_expression "(*(code *)PTR_fputs_004c5d2c)" ( (pointer_expression "*(code *)PTR_fputs_004c5d2c" * (cast_expression "(code *)PTR_fputs_004c5d2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(name,this->map_file_)" ( identifier , (field_expression "this->map_file_" identifier -> field_identifier) ))) ;) (expression_statement "iVar3 = (*(code *)PTR_strlen_004c5b9c)(name);" (assignment_expression "iVar3 = (*(code *)PTR_strlen_004c5b9c)(name)" identifier = (call_expression "(*(code *)PTR_strlen_004c5b9c)(name)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" ( (pointer_expression "*(code *)PTR_strlen_004c5b9c" * (cast_expression "(code *)PTR_strlen_004c5b9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(name)" ( identifier )))) ;) (expression_statement "advance_to_column(this,iVar3 + 1,0x10);" (call_expression "advance_to_column(this,iVar3 + 1,0x10)" identifier (argument_list "(this,iVar3 + 1,0x10)" ( identifier , (binary_expression "iVar3 + 1" identifier + number_literal) , number_literal ))) ;) (expression_statement "local_64 = (undefined4)od->data_size_;" (assignment_expression "local_64 = (undefined4)od->data_size_" identifier = (cast_expression "(undefined4)od->data_size_" ( (type_descriptor "undefined4" type_identifier) ) (field_expression "od->data_size_" identifier -> field_identifier))) ;) (expression_statement "local_68 = *(undefined4 *)&od->data_size_;" (assignment_expression "local_68 = *(undefined4 *)&od->data_size_" identifier = (pointer_expression "*(undefined4 *)&od->data_size_" * (cast_expression "(undefined4 *)&od->data_size_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&od->data_size_" & (field_expression "od->data_size_" identifier -> field_identifier))))) ;) (expression_statement "(*(code *)PTR_snprintf_004c5a94)(sizebuf,0x32,PTR_s__s_004c1a50 + 0x4bf0);" (call_expression "(*(code *)PTR_snprintf_004c5a94)(sizebuf,0x32,PTR_s__s_004c1a50 + 0x4bf0)" (parenthesized_expression "(*(code *)PTR_snprintf_004c5a94)" ( (pointer_expression "*(code *)PTR_snprintf_004c5a94" * (cast_expression "(code *)PTR_snprintf_004c5a94" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(sizebuf,0x32,PTR_s__s_004c1a50 + 0x4bf0)" ( identifier , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x4bf0" identifier + number_literal) ))) ;) (if_statement "if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) != 0) {\n    iVar3 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar3 < 0) {\n      iVar3 = iVar3 + 3;\n    }\n    if (*(int *)&od->field_0x20 < 0) {\n      local_64 = (undefined4)od->address_;\n      local_68 = *(undefined4 *)&od->address_;\n    }\n    else {\n      local_64 = 0;\n      local_68 = 0;\n    }\n    local_60 = sizebuf;\n    (*(code *)PTR_fprintf_004c5b48)(this->map_file_,PTR_s__s_004c1a50 + 0x4bf8,iVar3 >> 2);\n    return;\n  }" if (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) != 0)" ( (binary_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) != 0" (pointer_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" * (cast_expression "(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_004c19b4 + 0xc" (pointer_expression "*(int *)PTR_parameters_004c19b4" * (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) != number_literal) )) (compound_statement "{\n    iVar3 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar3 < 0) {\n      iVar3 = iVar3 + 3;\n    }\n    if (*(int *)&od->field_0x20 < 0) {\n      local_64 = (undefined4)od->address_;\n      local_68 = *(undefined4 *)&od->address_;\n    }\n    else {\n      local_64 = 0;\n      local_68 = 0;\n    }\n    local_60 = sizebuf;\n    (*(code *)PTR_fprintf_004c5b48)(this->map_file_,PTR_s__s_004c1a50 + 0x4bf8,iVar3 >> 2);\n    return;\n  }" { (expression_statement "iVar3 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);" (assignment_expression "iVar3 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" identifier = (pointer_expression "**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" * (pointer_expression "*(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" * (cast_expression "(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" ( (binary_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4" (pointer_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" * (cast_expression "(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_004c19b4 + 0xc" (pointer_expression "*(int *)PTR_parameters_004c19b4" * (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (iVar3 < 0) {\n      iVar3 = iVar3 + 3;\n    }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\n      iVar3 = iVar3 + 3;\n    }" { (expression_statement "iVar3 = iVar3 + 3;" (assignment_expression "iVar3 = iVar3 + 3" identifier = (binary_expression "iVar3 + 3" identifier + number_literal)) ;) })) (if_statement "if (*(int *)&od->field_0x20 < 0) {\n      local_64 = (undefined4)od->address_;\n      local_68 = *(undefined4 *)&od->address_;\n    }\n    else {\n      local_64 = 0;\n      local_68 = 0;\n    }" if (parenthesized_expression "(*(int *)&od->field_0x20 < 0)" ( (binary_expression "*(int *)&od->field_0x20 < 0" (pointer_expression "*(int *)&od->field_0x20" * (cast_expression "(int *)&od->field_0x20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&od->field_0x20" & (field_expression "od->field_0x20" identifier -> field_identifier)))) < number_literal) )) (compound_statement "{\n      local_64 = (undefined4)od->address_;\n      local_68 = *(undefined4 *)&od->address_;\n    }" { (expression_statement "local_64 = (undefined4)od->address_;" (assignment_expression "local_64 = (undefined4)od->address_" identifier = (cast_expression "(undefined4)od->address_" ( (type_descriptor "undefined4" type_identifier) ) (field_expression "od->address_" identifier -> field_identifier))) ;) (expression_statement "local_68 = *(undefined4 *)&od->address_;" (assignment_expression "local_68 = *(undefined4 *)&od->address_" identifier = (pointer_expression "*(undefined4 *)&od->address_" * (cast_expression "(undefined4 *)&od->address_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&od->address_" & (field_expression "od->address_" identifier -> field_identifier))))) ;) }) (else_clause "else {\n      local_64 = 0;\n      local_68 = 0;\n    }" else (compound_statement "{\n      local_64 = 0;\n      local_68 = 0;\n    }" { (expression_statement "local_64 = 0;" (assignment_expression "local_64 = 0" identifier = number_literal) ;) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) }))) (expression_statement "local_60 = sizebuf;" (assignment_expression "local_60 = sizebuf" identifier = identifier) ;) (expression_statement "(*(code *)PTR_fprintf_004c5b48)(this->map_file_,PTR_s__s_004c1a50 + 0x4bf8,iVar3 >> 2);" (call_expression "(*(code *)PTR_fprintf_004c5b48)(this->map_file_,PTR_s__s_004c1a50 + 0x4bf8,iVar3 >> 2)" (parenthesized_expression "(*(code *)PTR_fprintf_004c5b48)" ( (pointer_expression "*(code *)PTR_fprintf_004c5b48" * (cast_expression "(code *)PTR_fprintf_004c5b48" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(this->map_file_,PTR_s__s_004c1a50 + 0x4bf8,iVar3 >> 2)" ( (field_expression "this->map_file_" identifier -> field_identifier) , (binary_expression "PTR_s__s_004c1a50 + 0x4bf8" identifier + number_literal) , (binary_expression "iVar3 >> 2" identifier >> number_literal) ))) ;) (return_statement "return;" return ;) })) (expression_statement "piVar14 = (int *)&DAT_00000069;" (assignment_expression "piVar14 = (int *)&DAT_00000069" identifier = (cast_expression "(int *)&DAT_00000069" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_00000069" & identifier))) ;) (expression_statement "pcVar26 = print_output_section;" (assignment_expression "pcVar26 = print_output_section" identifier = identifier) ;) (expression_statement "this_00 = (Mapfile *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8);" (assignment_expression "this_00 = (Mapfile *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8)" identifier = (cast_expression "(Mapfile *)(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8)" ( (type_descriptor "Mapfile *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" identifier + number_literal) )))) ;) (expression_statement "puVar25 = PTR_do_gold_unreachable_004c1a30;" (assignment_expression "puVar25 = PTR_do_gold_unreachable_004c1a30" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)(this_00,0x69,PTR_s__s_004c1a50 + 0x4cf0);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)(this_00,0x69,PTR_s__s_004c1a50 + 0x4cf0)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(this_00,0x69,PTR_s__s_004c1a50 + 0x4cf0)" ( identifier , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x4cf0" identifier + number_literal) ))) ;) (expression_statement "pMStack_8c = this;" (assignment_expression "pMStack_8c = this" identifier = identifier) ;) (expression_statement "pOStack_88 = od;" (assignment_expression "pOStack_88 = od" identifier = identifier) ;) (expression_statement "pcStack_84 = name;" (assignment_expression "pcStack_84 = name" identifier = identifier) ;) (expression_statement "pcStack_80 = sizebuf;" (assignment_expression "pcStack_80 = sizebuf" identifier = identifier) ;) (expression_statement "pcStack_7c = pcVar26;" (assignment_expression "pcStack_7c = pcVar26" identifier = identifier) ;) (if_statement "if (this_00->printed_memory_map_header_ == false) {\n    print_memory_map_header(this_00);\n  }" if (parenthesized_expression "(this_00->printed_memory_map_header_ == false)" ( (binary_expression "this_00->printed_memory_map_header_ == false" (field_expression "this_00->printed_memory_map_header_" identifier -> field_identifier) == false) )) (compound_statement "{\n    print_memory_map_header(this_00);\n  }" { (expression_statement "print_memory_map_header(this_00);" (call_expression "print_memory_map_header(this_00)" identifier (argument_list "(this_00)" ( identifier ))) ;) })) (expression_statement "piVar21 = *(int **)(puVar25 + 0x2f4588);" (assignment_expression "piVar21 = *(int **)(puVar25 + 0x2f4588)" identifier = (pointer_expression "*(int **)(puVar25 + 0x2f4588)" * (cast_expression "(int **)(puVar25 + 0x2f4588)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x2f4588)" ( (binary_expression "puVar25 + 0x2f4588" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(puVar25 + 0x2f871c))\n            (this_00->map_file_,*(int *)(puVar25 + 0x2f4624) + 0x4c08,piVar14[9]);" (call_expression "(**(code **)(puVar25 + 0x2f871c))\n            (this_00->map_file_,*(int *)(puVar25 + 0x2f4624) + 0x4c08,piVar14[9])" (parenthesized_expression "(**(code **)(puVar25 + 0x2f871c))" ( (pointer_expression "**(code **)(puVar25 + 0x2f871c)" * (pointer_expression "*(code **)(puVar25 + 0x2f871c)" * (cast_expression "(code **)(puVar25 + 0x2f871c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x2f871c)" ( (binary_expression "puVar25 + 0x2f871c" identifier + number_literal) ))))) )) (argument_list "(this_00->map_file_,*(int *)(puVar25 + 0x2f4624) + 0x4c08,piVar14[9])" ( (field_expression "this_00->map_file_" identifier -> field_identifier) , (binary_expression "*(int *)(puVar25 + 0x2f4624) + 0x4c08" (pointer_expression "*(int *)(puVar25 + 0x2f4624)" * (cast_expression "(int *)(puVar25 + 0x2f4624)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x2f4624)" ( (binary_expression "puVar25 + 0x2f4624" identifier + number_literal) )))) + number_literal) , (subscript_expression "piVar14[9]" identifier [ number_literal ]) ))) ;) (expression_statement "from = (**(code **)(puVar25 + 0x2f8770))(piVar14[9]);" (assignment_expression "from = (**(code **)(puVar25 + 0x2f8770))(piVar14[9])" identifier = (call_expression "(**(code **)(puVar25 + 0x2f8770))(piVar14[9])" (parenthesized_expression "(**(code **)(puVar25 + 0x2f8770))" ( (pointer_expression "**(code **)(puVar25 + 0x2f8770)" * (pointer_expression "*(code **)(puVar25 + 0x2f8770)" * (cast_expression "(code **)(puVar25 + 0x2f8770)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x2f8770)" ( (binary_expression "puVar25 + 0x2f8770" identifier + number_literal) ))))) )) (argument_list "(piVar14[9])" ( (subscript_expression "piVar14[9]" identifier [ number_literal ]) )))) ;) (expression_statement "advance_to_column(this_00,from,0x10);" (call_expression "advance_to_column(this_00,from,0x10)" identifier (argument_list "(this_00,from,0x10)" ( identifier , identifier , number_literal ))) ;) (expression_statement "(**(code **)(puVar25 + 0x2f8668))(auStack_d0,0x32,*(int *)(puVar25 + 0x2f4624) + 0x4bf0);" (call_expression "(**(code **)(puVar25 + 0x2f8668))(auStack_d0,0x32,*(int *)(puVar25 + 0x2f4624) + 0x4bf0)" (parenthesized_expression "(**(code **)(puVar25 + 0x2f8668))" ( (pointer_expression "**(code **)(puVar25 + 0x2f8668)" * (pointer_expression "*(code **)(puVar25 + 0x2f8668)" * (cast_expression "(code **)(puVar25 + 0x2f8668)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x2f8668)" ( (binary_expression "puVar25 + 0x2f8668" identifier + number_literal) ))))) )) (argument_list "(auStack_d0,0x32,*(int *)(puVar25 + 0x2f4624) + 0x4bf0)" ( identifier , number_literal , (binary_expression "*(int *)(puVar25 + 0x2f4624) + 0x4bf0" (pointer_expression "*(int *)(puVar25 + 0x2f4624)" * (cast_expression "(int *)(puVar25 + 0x2f4624)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x2f4624)" ( (binary_expression "puVar25 + 0x2f4624" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (*(int *)(*piVar21 + 0xc) == 0) {\n    iVar3 = *(int *)(puVar25 + 0x2f4624);\nLAB_001cd674:\n    (**(code **)(puVar25 + 0x2f4604))(*(int *)(puVar25 + 0x2f3e50) + -0x9b8,0x69,iVar3 + 0x4cf0);\nLAB_001cd68c:\n    relobj = (Sized_relobj_file<32,_false> *)&DAT_000000c5;\n    (**(code **)(puVar25 + 0x2f4604))\n              (*(int *)(puVar25 + 0x2f3e50) + 0x3574,0xc5,*(int *)(puVar25 + 0x2f4624) + 0x4cf8);\n  }\n  else {\n    iVar3 = **(int **)(*(int *)(*piVar21 + 0xc) + 4);\n    if (iVar3 < 0) {\n      iVar3 = iVar3 + 3;\n    }\n    if (-1 < piVar14[8]) goto LAB_001cd68c;\n    (**(code **)(puVar25 + 0x2f871c))\n              (this_00->map_file_,*(int *)(puVar25 + 0x2f4624) + 0x4c0c,iVar3 >> 2);\n    if (*(code **)(*piVar14 + 0x10) == *(code **)(puVar25 + 0x2f4d10)) {\n      uVar20 = (uint)(piVar14[0x26] << 7) >> 0x1f;\n    }\n    else {\n      uVar20 = (**(code **)(*piVar14 + 0x10))(piVar14);\n    }\n    pFVar18 = this_00->map_file_;\n    if (uVar20 == 0) goto LAB_001cd5cc;\n    iVar3 = *(int *)(puVar25 + 0x2f4624);\n    if (*(int *)(*piVar21 + 0xc) == 0) goto LAB_001cd674;\n    iVar3 = **(int **)(*(int *)(*piVar21 + 0xc) + 4);\n    if (iVar3 < 0) {\n      iVar3 = iVar3 + 3;\n    }\n    iVar3 = iVar3 >> 2;\n    if (*(code **)(*piVar14 + 0x14) != *(code **)(puVar25 + 0x2f6820)) {\n      iStack_98 = iVar3;\n      pFStack_94 = pFVar18;\n      (**(code **)(*piVar14 + 0x14))(piVar14);\n      iVar3 = iStack_98;\n      pFVar18 = pFStack_94;\nLAB_001cd5a8:\n      (**(code **)(puVar25 + 0x2f871c))(pFVar18,*(int *)(puVar25 + 0x2f4624) + 0x4c1c,iVar3);\n      pFVar18 = this_00->map_file_;\nLAB_001cd5cc:\n      if (piVar14[0x26] << 5 < 0) {\n        (**(code **)(puVar25 + 0x2f8724))(*(int *)(puVar25 + 0x2f4624) + 0x4c34,1,0x15);\n        pFVar18 = this_00->map_file_;\n      }\n      (**(code **)(puVar25 + 0x2f86a0))(10,pFVar18);\n      return;\n    }\n    relobj = (Sized_relobj_file<32,_false> *)&DAT_0000107b;\n    if (piVar14[0x26] << 7 < 0) goto LAB_001cd5a8;\n  }" if (parenthesized_expression "(*(int *)(*piVar21 + 0xc) == 0)" ( (binary_expression "*(int *)(*piVar21 + 0xc) == 0" (pointer_expression "*(int *)(*piVar21 + 0xc)" * (cast_expression "(int *)(*piVar21 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar21 + 0xc)" ( (binary_expression "*piVar21 + 0xc" (pointer_expression "*piVar21" * identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n    iVar3 = *(int *)(puVar25 + 0x2f4624);\nLAB_001cd674:\n    (**(code **)(puVar25 + 0x2f4604))(*(int *)(puVar25 + 0x2f3e50) + -0x9b8,0x69,iVar3 + 0x4cf0);\nLAB_001cd68c:\n    relobj = (Sized_relobj_file<32,_false> *)&DAT_000000c5;\n    (**(code **)(puVar25 + 0x2f4604))\n              (*(int *)(puVar25 + 0x2f3e50) + 0x3574,0xc5,*(int *)(puVar25 + 0x2f4624) + 0x4cf8);\n  }" { (expression_statement "iVar3 = *(int *)(puVar25 + 0x2f4624);" (assignment_expression "iVar3 = *(int *)(puVar25 + 0x2f4624)" identifier = (pointer_expression "*(int *)(puVar25 + 0x2f4624)" * (cast_expression "(int *)(puVar25 + 0x2f4624)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x2f4624)" ( (binary_expression "puVar25 + 0x2f4624" identifier + number_literal) ))))) ;) (labeled_statement "LAB_001cd674:\n    (**(code **)(puVar25 + 0x2f4604))(*(int *)(puVar25 + 0x2f3e50) + -0x9b8,0x69,iVar3 + 0x4cf0);" statement_identifier : (expression_statement "(**(code **)(puVar25 + 0x2f4604))(*(int *)(puVar25 + 0x2f3e50) + -0x9b8,0x69,iVar3 + 0x4cf0);" (call_expression "(**(code **)(puVar25 + 0x2f4604))(*(int *)(puVar25 + 0x2f3e50) + -0x9b8,0x69,iVar3 + 0x4cf0)" (parenthesized_expression "(**(code **)(puVar25 + 0x2f4604))" ( (pointer_expression "**(code **)(puVar25 + 0x2f4604)" * (pointer_expression "*(code **)(puVar25 + 0x2f4604)" * (cast_expression "(code **)(puVar25 + 0x2f4604)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x2f4604)" ( (binary_expression "puVar25 + 0x2f4604" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar25 + 0x2f3e50) + -0x9b8,0x69,iVar3 + 0x4cf0)" ( (binary_expression "*(int *)(puVar25 + 0x2f3e50) + -0x9b8" (pointer_expression "*(int *)(puVar25 + 0x2f3e50)" * (cast_expression "(int *)(puVar25 + 0x2f3e50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x2f3e50)" ( (binary_expression "puVar25 + 0x2f3e50" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "iVar3 + 0x4cf0" identifier + number_literal) ))) ;)) (labeled_statement "LAB_001cd68c:\n    relobj = (Sized_relobj_file<32,_false> *)&DAT_000000c5;" statement_identifier : (expression_statement "relobj = (Sized_relobj_file<32,_false> *)&DAT_000000c5;" (assignment_expression "relobj = (Sized_relobj_file<32,_false> *)&DAT_000000c5" identifier = (binary_expression "(Sized_relobj_file<32,_false> *)&DAT_000000c5" (parenthesized_expression "(Sized_relobj_file<32,_false> *)" ( (comma_expression "Sized_relobj_file<32,_false> *" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) & identifier)) ;)) (expression_statement "(**(code **)(puVar25 + 0x2f4604))\n              (*(int *)(puVar25 + 0x2f3e50) + 0x3574,0xc5,*(int *)(puVar25 + 0x2f4624) + 0x4cf8);" (call_expression "(**(code **)(puVar25 + 0x2f4604))\n              (*(int *)(puVar25 + 0x2f3e50) + 0x3574,0xc5,*(int *)(puVar25 + 0x2f4624) + 0x4cf8)" (parenthesized_expression "(**(code **)(puVar25 + 0x2f4604))" ( (pointer_expression "**(code **)(puVar25 + 0x2f4604)" * (pointer_expression "*(code **)(puVar25 + 0x2f4604)" * (cast_expression "(code **)(puVar25 + 0x2f4604)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x2f4604)" ( (binary_expression "puVar25 + 0x2f4604" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar25 + 0x2f3e50) + 0x3574,0xc5,*(int *)(puVar25 + 0x2f4624) + 0x4cf8)" ( (binary_expression "*(int *)(puVar25 + 0x2f3e50) + 0x3574" (pointer_expression "*(int *)(puVar25 + 0x2f3e50)" * (cast_expression "(int *)(puVar25 + 0x2f3e50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x2f3e50)" ( (binary_expression "puVar25 + 0x2f3e50" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(puVar25 + 0x2f4624) + 0x4cf8" (pointer_expression "*(int *)(puVar25 + 0x2f4624)" * (cast_expression "(int *)(puVar25 + 0x2f4624)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x2f4624)" ( (binary_expression "puVar25 + 0x2f4624" identifier + number_literal) )))) + number_literal) ))) ;) }) (else_clause "else {\n    iVar3 = **(int **)(*(int *)(*piVar21 + 0xc) + 4);\n    if (iVar3 < 0) {\n      iVar3 = iVar3 + 3;\n    }\n    if (-1 < piVar14[8]) goto LAB_001cd68c;\n    (**(code **)(puVar25 + 0x2f871c))\n              (this_00->map_file_,*(int *)(puVar25 + 0x2f4624) + 0x4c0c,iVar3 >> 2);\n    if (*(code **)(*piVar14 + 0x10) == *(code **)(puVar25 + 0x2f4d10)) {\n      uVar20 = (uint)(piVar14[0x26] << 7) >> 0x1f;\n    }\n    else {\n      uVar20 = (**(code **)(*piVar14 + 0x10))(piVar14);\n    }\n    pFVar18 = this_00->map_file_;\n    if (uVar20 == 0) goto LAB_001cd5cc;\n    iVar3 = *(int *)(puVar25 + 0x2f4624);\n    if (*(int *)(*piVar21 + 0xc) == 0) goto LAB_001cd674;\n    iVar3 = **(int **)(*(int *)(*piVar21 + 0xc) + 4);\n    if (iVar3 < 0) {\n      iVar3 = iVar3 + 3;\n    }\n    iVar3 = iVar3 >> 2;\n    if (*(code **)(*piVar14 + 0x14) != *(code **)(puVar25 + 0x2f6820)) {\n      iStack_98 = iVar3;\n      pFStack_94 = pFVar18;\n      (**(code **)(*piVar14 + 0x14))(piVar14);\n      iVar3 = iStack_98;\n      pFVar18 = pFStack_94;\nLAB_001cd5a8:\n      (**(code **)(puVar25 + 0x2f871c))(pFVar18,*(int *)(puVar25 + 0x2f4624) + 0x4c1c,iVar3);\n      pFVar18 = this_00->map_file_;\nLAB_001cd5cc:\n      if (piVar14[0x26] << 5 < 0) {\n        (**(code **)(puVar25 + 0x2f8724))(*(int *)(puVar25 + 0x2f4624) + 0x4c34,1,0x15);\n        pFVar18 = this_00->map_file_;\n      }\n      (**(code **)(puVar25 + 0x2f86a0))(10,pFVar18);\n      return;\n    }\n    relobj = (Sized_relobj_file<32,_false> *)&DAT_0000107b;\n    if (piVar14[0x26] << 7 < 0) goto LAB_001cd5a8;\n  }" else (compound_statement "{\n    iVar3 = **(int **)(*(int *)(*piVar21 + 0xc) + 4);\n    if (iVar3 < 0) {\n      iVar3 = iVar3 + 3;\n    }\n    if (-1 < piVar14[8]) goto LAB_001cd68c;\n    (**(code **)(puVar25 + 0x2f871c))\n              (this_00->map_file_,*(int *)(puVar25 + 0x2f4624) + 0x4c0c,iVar3 >> 2);\n    if (*(code **)(*piVar14 + 0x10) == *(code **)(puVar25 + 0x2f4d10)) {\n      uVar20 = (uint)(piVar14[0x26] << 7) >> 0x1f;\n    }\n    else {\n      uVar20 = (**(code **)(*piVar14 + 0x10))(piVar14);\n    }\n    pFVar18 = this_00->map_file_;\n    if (uVar20 == 0) goto LAB_001cd5cc;\n    iVar3 = *(int *)(puVar25 + 0x2f4624);\n    if (*(int *)(*piVar21 + 0xc) == 0) goto LAB_001cd674;\n    iVar3 = **(int **)(*(int *)(*piVar21 + 0xc) + 4);\n    if (iVar3 < 0) {\n      iVar3 = iVar3 + 3;\n    }\n    iVar3 = iVar3 >> 2;\n    if (*(code **)(*piVar14 + 0x14) != *(code **)(puVar25 + 0x2f6820)) {\n      iStack_98 = iVar3;\n      pFStack_94 = pFVar18;\n      (**(code **)(*piVar14 + 0x14))(piVar14);\n      iVar3 = iStack_98;\n      pFVar18 = pFStack_94;\nLAB_001cd5a8:\n      (**(code **)(puVar25 + 0x2f871c))(pFVar18,*(int *)(puVar25 + 0x2f4624) + 0x4c1c,iVar3);\n      pFVar18 = this_00->map_file_;\nLAB_001cd5cc:\n      if (piVar14[0x26] << 5 < 0) {\n        (**(code **)(puVar25 + 0x2f8724))(*(int *)(puVar25 + 0x2f4624) + 0x4c34,1,0x15);\n        pFVar18 = this_00->map_file_;\n      }\n      (**(code **)(puVar25 + 0x2f86a0))(10,pFVar18);\n      return;\n    }\n    relobj = (Sized_relobj_file<32,_false> *)&DAT_0000107b;\n    if (piVar14[0x26] << 7 < 0) goto LAB_001cd5a8;\n  }" { (expression_statement "iVar3 = **(int **)(*(int *)(*piVar21 + 0xc) + 4);" (assignment_expression "iVar3 = **(int **)(*(int *)(*piVar21 + 0xc) + 4)" identifier = (pointer_expression "**(int **)(*(int *)(*piVar21 + 0xc) + 4)" * (pointer_expression "*(int **)(*(int *)(*piVar21 + 0xc) + 4)" * (cast_expression "(int **)(*(int *)(*piVar21 + 0xc) + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(*piVar21 + 0xc) + 4)" ( (binary_expression "*(int *)(*piVar21 + 0xc) + 4" (pointer_expression "*(int *)(*piVar21 + 0xc)" * (cast_expression "(int *)(*piVar21 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar21 + 0xc)" ( (binary_expression "*piVar21 + 0xc" (pointer_expression "*piVar21" * identifier) + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (iVar3 < 0) {\n      iVar3 = iVar3 + 3;\n    }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\n      iVar3 = iVar3 + 3;\n    }" { (expression_statement "iVar3 = iVar3 + 3;" (assignment_expression "iVar3 = iVar3 + 3" identifier = (binary_expression "iVar3 + 3" identifier + number_literal)) ;) })) (if_statement "if (-1 < piVar14[8]) goto LAB_001cd68c;" if (parenthesized_expression "(-1 < piVar14[8])" ( (binary_expression "-1 < piVar14[8]" number_literal < (subscript_expression "piVar14[8]" identifier [ number_literal ])) )) (goto_statement "goto LAB_001cd68c;" goto statement_identifier ;)) (expression_statement "(**(code **)(puVar25 + 0x2f871c))\n              (this_00->map_file_,*(int *)(puVar25 + 0x2f4624) + 0x4c0c,iVar3 >> 2);" (call_expression "(**(code **)(puVar25 + 0x2f871c))\n              (this_00->map_file_,*(int *)(puVar25 + 0x2f4624) + 0x4c0c,iVar3 >> 2)" (parenthesized_expression "(**(code **)(puVar25 + 0x2f871c))" ( (pointer_expression "**(code **)(puVar25 + 0x2f871c)" * (pointer_expression "*(code **)(puVar25 + 0x2f871c)" * (cast_expression "(code **)(puVar25 + 0x2f871c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x2f871c)" ( (binary_expression "puVar25 + 0x2f871c" identifier + number_literal) ))))) )) (argument_list "(this_00->map_file_,*(int *)(puVar25 + 0x2f4624) + 0x4c0c,iVar3 >> 2)" ( (field_expression "this_00->map_file_" identifier -> field_identifier) , (binary_expression "*(int *)(puVar25 + 0x2f4624) + 0x4c0c" (pointer_expression "*(int *)(puVar25 + 0x2f4624)" * (cast_expression "(int *)(puVar25 + 0x2f4624)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x2f4624)" ( (binary_expression "puVar25 + 0x2f4624" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar3 >> 2" identifier >> number_literal) ))) ;) (if_statement "if (*(code **)(*piVar14 + 0x10) == *(code **)(puVar25 + 0x2f4d10)) {\n      uVar20 = (uint)(piVar14[0x26] << 7) >> 0x1f;\n    }\n    else {\n      uVar20 = (**(code **)(*piVar14 + 0x10))(piVar14);\n    }" if (parenthesized_expression "(*(code **)(*piVar14 + 0x10) == *(code **)(puVar25 + 0x2f4d10))" ( (binary_expression "*(code **)(*piVar14 + 0x10) == *(code **)(puVar25 + 0x2f4d10)" (pointer_expression "*(code **)(*piVar14 + 0x10)" * (cast_expression "(code **)(*piVar14 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar14 + 0x10)" ( (binary_expression "*piVar14 + 0x10" (pointer_expression "*piVar14" * identifier) + number_literal) )))) == (pointer_expression "*(code **)(puVar25 + 0x2f4d10)" * (cast_expression "(code **)(puVar25 + 0x2f4d10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x2f4d10)" ( (binary_expression "puVar25 + 0x2f4d10" identifier + number_literal) ))))) )) (compound_statement "{\n      uVar20 = (uint)(piVar14[0x26] << 7) >> 0x1f;\n    }" { (expression_statement "uVar20 = (uint)(piVar14[0x26] << 7) >> 0x1f;" (assignment_expression "uVar20 = (uint)(piVar14[0x26] << 7) >> 0x1f" identifier = (binary_expression "(uint)(piVar14[0x26] << 7) >> 0x1f" (call_expression "(uint)(piVar14[0x26] << 7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar14[0x26] << 7)" ( (binary_expression "piVar14[0x26] << 7" (subscript_expression "piVar14[0x26]" identifier [ number_literal ]) << number_literal) ))) >> number_literal)) ;) }) (else_clause "else {\n      uVar20 = (**(code **)(*piVar14 + 0x10))(piVar14);\n    }" else (compound_statement "{\n      uVar20 = (**(code **)(*piVar14 + 0x10))(piVar14);\n    }" { (expression_statement "uVar20 = (**(code **)(*piVar14 + 0x10))(piVar14);" (assignment_expression "uVar20 = (**(code **)(*piVar14 + 0x10))(piVar14)" identifier = (call_expression "(**(code **)(*piVar14 + 0x10))(piVar14)" (parenthesized_expression "(**(code **)(*piVar14 + 0x10))" ( (pointer_expression "**(code **)(*piVar14 + 0x10)" * (pointer_expression "*(code **)(*piVar14 + 0x10)" * (cast_expression "(code **)(*piVar14 + 0x10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar14 + 0x10)" ( (binary_expression "*piVar14 + 0x10" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) )) (argument_list "(piVar14)" ( identifier )))) ;) }))) (expression_statement "pFVar18 = this_00->map_file_;" (assignment_expression "pFVar18 = this_00->map_file_" identifier = (field_expression "this_00->map_file_" identifier -> field_identifier)) ;) (if_statement "if (uVar20 == 0) goto LAB_001cd5cc;" if (parenthesized_expression "(uVar20 == 0)" ( (binary_expression "uVar20 == 0" identifier == number_literal) )) (goto_statement "goto LAB_001cd5cc;" goto statement_identifier ;)) (expression_statement "iVar3 = *(int *)(puVar25 + 0x2f4624);" (assignment_expression "iVar3 = *(int *)(puVar25 + 0x2f4624)" identifier = (pointer_expression "*(int *)(puVar25 + 0x2f4624)" * (cast_expression "(int *)(puVar25 + 0x2f4624)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x2f4624)" ( (binary_expression "puVar25 + 0x2f4624" identifier + number_literal) ))))) ;) (if_statement "if (*(int *)(*piVar21 + 0xc) == 0) goto LAB_001cd674;" if (parenthesized_expression "(*(int *)(*piVar21 + 0xc) == 0)" ( (binary_expression "*(int *)(*piVar21 + 0xc) == 0" (pointer_expression "*(int *)(*piVar21 + 0xc)" * (cast_expression "(int *)(*piVar21 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar21 + 0xc)" ( (binary_expression "*piVar21 + 0xc" (pointer_expression "*piVar21" * identifier) + number_literal) )))) == number_literal) )) (goto_statement "goto LAB_001cd674;" goto statement_identifier ;)) (expression_statement "iVar3 = **(int **)(*(int *)(*piVar21 + 0xc) + 4);" (assignment_expression "iVar3 = **(int **)(*(int *)(*piVar21 + 0xc) + 4)" identifier = (pointer_expression "**(int **)(*(int *)(*piVar21 + 0xc) + 4)" * (pointer_expression "*(int **)(*(int *)(*piVar21 + 0xc) + 4)" * (cast_expression "(int **)(*(int *)(*piVar21 + 0xc) + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(*piVar21 + 0xc) + 4)" ( (binary_expression "*(int *)(*piVar21 + 0xc) + 4" (pointer_expression "*(int *)(*piVar21 + 0xc)" * (cast_expression "(int *)(*piVar21 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar21 + 0xc)" ( (binary_expression "*piVar21 + 0xc" (pointer_expression "*piVar21" * identifier) + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (iVar3 < 0) {\n      iVar3 = iVar3 + 3;\n    }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\n      iVar3 = iVar3 + 3;\n    }" { (expression_statement "iVar3 = iVar3 + 3;" (assignment_expression "iVar3 = iVar3 + 3" identifier = (binary_expression "iVar3 + 3" identifier + number_literal)) ;) })) (expression_statement "iVar3 = iVar3 >> 2;" (assignment_expression "iVar3 = iVar3 >> 2" identifier = (binary_expression "iVar3 >> 2" identifier >> number_literal)) ;) (if_statement "if (*(code **)(*piVar14 + 0x14) != *(code **)(puVar25 + 0x2f6820)) {\n      iStack_98 = iVar3;\n      pFStack_94 = pFVar18;\n      (**(code **)(*piVar14 + 0x14))(piVar14);\n      iVar3 = iStack_98;\n      pFVar18 = pFStack_94;\nLAB_001cd5a8:\n      (**(code **)(puVar25 + 0x2f871c))(pFVar18,*(int *)(puVar25 + 0x2f4624) + 0x4c1c,iVar3);\n      pFVar18 = this_00->map_file_;\nLAB_001cd5cc:\n      if (piVar14[0x26] << 5 < 0) {\n        (**(code **)(puVar25 + 0x2f8724))(*(int *)(puVar25 + 0x2f4624) + 0x4c34,1,0x15);\n        pFVar18 = this_00->map_file_;\n      }\n      (**(code **)(puVar25 + 0x2f86a0))(10,pFVar18);\n      return;\n    }" if (parenthesized_expression "(*(code **)(*piVar14 + 0x14) != *(code **)(puVar25 + 0x2f6820))" ( (binary_expression "*(code **)(*piVar14 + 0x14) != *(code **)(puVar25 + 0x2f6820)" (pointer_expression "*(code **)(*piVar14 + 0x14)" * (cast_expression "(code **)(*piVar14 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar14 + 0x14)" ( (binary_expression "*piVar14 + 0x14" (pointer_expression "*piVar14" * identifier) + number_literal) )))) != (pointer_expression "*(code **)(puVar25 + 0x2f6820)" * (cast_expression "(code **)(puVar25 + 0x2f6820)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x2f6820)" ( (binary_expression "puVar25 + 0x2f6820" identifier + number_literal) ))))) )) (compound_statement "{\n      iStack_98 = iVar3;\n      pFStack_94 = pFVar18;\n      (**(code **)(*piVar14 + 0x14))(piVar14);\n      iVar3 = iStack_98;\n      pFVar18 = pFStack_94;\nLAB_001cd5a8:\n      (**(code **)(puVar25 + 0x2f871c))(pFVar18,*(int *)(puVar25 + 0x2f4624) + 0x4c1c,iVar3);\n      pFVar18 = this_00->map_file_;\nLAB_001cd5cc:\n      if (piVar14[0x26] << 5 < 0) {\n        (**(code **)(puVar25 + 0x2f8724))(*(int *)(puVar25 + 0x2f4624) + 0x4c34,1,0x15);\n        pFVar18 = this_00->map_file_;\n      }\n      (**(code **)(puVar25 + 0x2f86a0))(10,pFVar18);\n      return;\n    }" { (expression_statement "iStack_98 = iVar3;" (assignment_expression "iStack_98 = iVar3" identifier = identifier) ;) (expression_statement "pFStack_94 = pFVar18;" (assignment_expression "pFStack_94 = pFVar18" identifier = identifier) ;) (expression_statement "(**(code **)(*piVar14 + 0x14))(piVar14);" (call_expression "(**(code **)(*piVar14 + 0x14))(piVar14)" (parenthesized_expression "(**(code **)(*piVar14 + 0x14))" ( (pointer_expression "**(code **)(*piVar14 + 0x14)" * (pointer_expression "*(code **)(*piVar14 + 0x14)" * (cast_expression "(code **)(*piVar14 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar14 + 0x14)" ( (binary_expression "*piVar14 + 0x14" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) )) (argument_list "(piVar14)" ( identifier ))) ;) (expression_statement "iVar3 = iStack_98;" (assignment_expression "iVar3 = iStack_98" identifier = identifier) ;) (expression_statement "pFVar18 = pFStack_94;" (assignment_expression "pFVar18 = pFStack_94" identifier = identifier) ;) (labeled_statement "LAB_001cd5a8:\n      (**(code **)(puVar25 + 0x2f871c))(pFVar18,*(int *)(puVar25 + 0x2f4624) + 0x4c1c,iVar3);" statement_identifier : (expression_statement "(**(code **)(puVar25 + 0x2f871c))(pFVar18,*(int *)(puVar25 + 0x2f4624) + 0x4c1c,iVar3);" (call_expression "(**(code **)(puVar25 + 0x2f871c))(pFVar18,*(int *)(puVar25 + 0x2f4624) + 0x4c1c,iVar3)" (parenthesized_expression "(**(code **)(puVar25 + 0x2f871c))" ( (pointer_expression "**(code **)(puVar25 + 0x2f871c)" * (pointer_expression "*(code **)(puVar25 + 0x2f871c)" * (cast_expression "(code **)(puVar25 + 0x2f871c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x2f871c)" ( (binary_expression "puVar25 + 0x2f871c" identifier + number_literal) ))))) )) (argument_list "(pFVar18,*(int *)(puVar25 + 0x2f4624) + 0x4c1c,iVar3)" ( identifier , (binary_expression "*(int *)(puVar25 + 0x2f4624) + 0x4c1c" (pointer_expression "*(int *)(puVar25 + 0x2f4624)" * (cast_expression "(int *)(puVar25 + 0x2f4624)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x2f4624)" ( (binary_expression "puVar25 + 0x2f4624" identifier + number_literal) )))) + number_literal) , identifier ))) ;)) (expression_statement "pFVar18 = this_00->map_file_;" (assignment_expression "pFVar18 = this_00->map_file_" identifier = (field_expression "this_00->map_file_" identifier -> field_identifier)) ;) (labeled_statement "LAB_001cd5cc:\n      if (piVar14[0x26] << 5 < 0) {\n        (**(code **)(puVar25 + 0x2f8724))(*(int *)(puVar25 + 0x2f4624) + 0x4c34,1,0x15);\n        pFVar18 = this_00->map_file_;\n      }" statement_identifier : (if_statement "if (piVar14[0x26] << 5 < 0) {\n        (**(code **)(puVar25 + 0x2f8724))(*(int *)(puVar25 + 0x2f4624) + 0x4c34,1,0x15);\n        pFVar18 = this_00->map_file_;\n      }" if (parenthesized_expression "(piVar14[0x26] << 5 < 0)" ( (binary_expression "piVar14[0x26] << 5 < 0" (binary_expression "piVar14[0x26] << 5" (subscript_expression "piVar14[0x26]" identifier [ number_literal ]) << number_literal) < number_literal) )) (compound_statement "{\n        (**(code **)(puVar25 + 0x2f8724))(*(int *)(puVar25 + 0x2f4624) + 0x4c34,1,0x15);\n        pFVar18 = this_00->map_file_;\n      }" { (expression_statement "(**(code **)(puVar25 + 0x2f8724))(*(int *)(puVar25 + 0x2f4624) + 0x4c34,1,0x15);" (call_expression "(**(code **)(puVar25 + 0x2f8724))(*(int *)(puVar25 + 0x2f4624) + 0x4c34,1,0x15)" (parenthesized_expression "(**(code **)(puVar25 + 0x2f8724))" ( (pointer_expression "**(code **)(puVar25 + 0x2f8724)" * (pointer_expression "*(code **)(puVar25 + 0x2f8724)" * (cast_expression "(code **)(puVar25 + 0x2f8724)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x2f8724)" ( (binary_expression "puVar25 + 0x2f8724" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar25 + 0x2f4624) + 0x4c34,1,0x15)" ( (binary_expression "*(int *)(puVar25 + 0x2f4624) + 0x4c34" (pointer_expression "*(int *)(puVar25 + 0x2f4624)" * (cast_expression "(int *)(puVar25 + 0x2f4624)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x2f4624)" ( (binary_expression "puVar25 + 0x2f4624" identifier + number_literal) )))) + number_literal) , number_literal , number_literal ))) ;) (expression_statement "pFVar18 = this_00->map_file_;" (assignment_expression "pFVar18 = this_00->map_file_" identifier = (field_expression "this_00->map_file_" identifier -> field_identifier)) ;) }))) (expression_statement "(**(code **)(puVar25 + 0x2f86a0))(10,pFVar18);" (call_expression "(**(code **)(puVar25 + 0x2f86a0))(10,pFVar18)" (parenthesized_expression "(**(code **)(puVar25 + 0x2f86a0))" ( (pointer_expression "**(code **)(puVar25 + 0x2f86a0)" * (pointer_expression "*(code **)(puVar25 + 0x2f86a0)" * (cast_expression "(code **)(puVar25 + 0x2f86a0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x2f86a0)" ( (binary_expression "puVar25 + 0x2f86a0" identifier + number_literal) ))))) )) (argument_list "(10,pFVar18)" ( number_literal , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "relobj = (Sized_relobj_file<32,_false> *)&DAT_0000107b;" (assignment_expression "relobj = (Sized_relobj_file<32,_false> *)&DAT_0000107b" identifier = (binary_expression "(Sized_relobj_file<32,_false> *)&DAT_0000107b" (parenthesized_expression "(Sized_relobj_file<32,_false> *)" ( (comma_expression "Sized_relobj_file<32,_false> *" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_false> *" identifier > (pointer_expression "*" * identifier))) )) & identifier)) ;) (if_statement "if (piVar14[0x26] << 7 < 0) goto LAB_001cd5a8;" if (parenthesized_expression "(piVar14[0x26] << 7 < 0)" ( (binary_expression "piVar14[0x26] << 7 < 0" (binary_expression "piVar14[0x26] << 7" (subscript_expression "piVar14[0x26]" identifier [ number_literal ]) << number_literal) < number_literal) )) (goto_statement "goto LAB_001cd5a8;" goto statement_identifier ;)) }))) (expression_statement "pcVar26 = *(code **)(puVar25 + 0x2f4604);" (assignment_expression "pcVar26 = *(code **)(puVar25 + 0x2f4604)" identifier = (pointer_expression "*(code **)(puVar25 + 0x2f4604)" * (cast_expression "(code **)(puVar25 + 0x2f4604)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar25 + 0x2f4604)" ( (binary_expression "puVar25 + 0x2f4604" identifier + number_literal) ))))) ;) (expression_statement "shndx = *(int *)(puVar25 + 0x2f4624) + 0x4ca0;" (assignment_expression "shndx = *(int *)(puVar25 + 0x2f4624) + 0x4ca0" identifier = (binary_expression "*(int *)(puVar25 + 0x2f4624) + 0x4ca0" (pointer_expression "*(int *)(puVar25 + 0x2f4624)" * (cast_expression "(int *)(puVar25 + 0x2f4624)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x2f4624)" ( (binary_expression "puVar25 + 0x2f4624" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "this_01 = (Mapfile *)(*(int *)(puVar25 + 0x2f3e50) + 0x3574);" (assignment_expression "this_01 = (Mapfile *)(*(int *)(puVar25 + 0x2f3e50) + 0x3574)" identifier = (cast_expression "(Mapfile *)(*(int *)(puVar25 + 0x2f3e50) + 0x3574)" ( (type_descriptor "Mapfile *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar25 + 0x2f3e50) + 0x3574)" ( (binary_expression "*(int *)(puVar25 + 0x2f3e50) + 0x3574" (pointer_expression "*(int *)(puVar25 + 0x2f3e50)" * (cast_expression "(int *)(puVar25 + 0x2f3e50)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar25 + 0x2f3e50)" ( (binary_expression "puVar25 + 0x2f3e50" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "piStack_11c = piVar14;" (assignment_expression "piStack_11c = piVar14" identifier = identifier) ;) (expression_statement "pMStack_118 = this_00;" (assignment_expression "pMStack_118 = this_00" identifier = identifier) ;) (expression_statement "puStack_114 = auStack_d0;" (assignment_expression "puStack_114 = auStack_d0" identifier = identifier) ;) (expression_statement "piStack_110 = piVar21;" (assignment_expression "piStack_110 = piVar21" identifier = identifier) ;) (expression_statement "(**(code **)(pcVar26 + 0x2f840c))(0x20,this_01->map_file_);" (call_expression "(**(code **)(pcVar26 + 0x2f840c))(0x20,this_01->map_file_)" (parenthesized_expression "(**(code **)(pcVar26 + 0x2f840c))" ( (pointer_expression "**(code **)(pcVar26 + 0x2f840c)" * (pointer_expression "*(code **)(pcVar26 + 0x2f840c)" * (cast_expression "(code **)(pcVar26 + 0x2f840c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x2f840c)" ( (binary_expression "pcVar26 + 0x2f840c" identifier + number_literal) ))))) )) (argument_list "(0x20,this_01->map_file_)" ( number_literal , (field_expression "this_01->map_file_" identifier -> field_identifier) ))) ;) (expression_statement "(*(relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0x10])\n            (&puStack_13c,relobj,shndx);" (call_expression "(*(relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0x10])\n            (&puStack_13c,relobj,shndx)" (parenthesized_expression "(*(relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0x10])" ( (pointer_expression "*(relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0x10]" * (subscript_expression "(relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0x10]" (field_expression "(relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object" (field_expression "(relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(relobj->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(relobj->super_Sized_relobj<32,_false>)" ( (comma_expression "relobj->super_Sized_relobj<32,_false" (binary_expression "relobj->super_Sized_relobj<32" (field_expression "relobj->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) [ number_literal ])) )) (argument_list "(&puStack_13c,relobj,shndx)" ( (pointer_expression "&puStack_13c" & identifier) , identifier , identifier ))) ;) (expression_statement "(**(code **)(pcVar26 + 0x2f866c))(puStack_13c,this_01->map_file_);" (call_expression "(**(code **)(pcVar26 + 0x2f866c))(puStack_13c,this_01->map_file_)" (parenthesized_expression "(**(code **)(pcVar26 + 0x2f866c))" ( (pointer_expression "**(code **)(pcVar26 + 0x2f866c)" * (pointer_expression "*(code **)(pcVar26 + 0x2f866c)" * (cast_expression "(code **)(pcVar26 + 0x2f866c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x2f866c)" ( (binary_expression "pcVar26 + 0x2f866c" identifier + number_literal) ))))) )) (argument_list "(puStack_13c,this_01->map_file_)" ( identifier , (field_expression "this_01->map_file_" identifier -> field_identifier) ))) ;) (expression_statement "advance_to_column(this_01,iStack_138 + 1,0x10);" (call_expression "advance_to_column(this_01,iStack_138 + 1,0x10)" identifier (argument_list "(this_01,iStack_138 + 1,0x10)" ( identifier , (binary_expression "iStack_138 + 1" identifier + number_literal) , number_literal ))) ;) (expression_statement "ppOVar8 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_start;" (field_expression "ppOVar8 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl._M_start" (field_expression "ppOVar8 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n            _M_impl" (binary_expression "ppOVar8 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n            super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "ppOVar8 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n            super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "ppOVar8 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n            super__Vector_base<gold::Output_section*,_std" (assignment_expression "ppOVar8 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n            super__Vector_base<gold" identifier = (binary_expression "(relobj->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n            super__Vector_base<gold" (field_expression "(relobj->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n            super__Vector_base" (field_expression "(relobj->super_Sized_relobj<32,_false>).super_Relobj.output_sections_" (field_expression "(relobj->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(relobj->super_Sized_relobj<32,_false>)" ( (comma_expression "relobj->super_Sized_relobj<32,_false" (binary_expression "relobj->super_Sized_relobj<32" (field_expression "relobj->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) < identifier)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if (shndx < (uint)((int)(relobj->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish - (int)ppOVar8 >> 2)) {\n    pOVar22 = ppOVar8[shndx];\n    if (pOVar22 == (Output_section *)0x0) {\n      pCVar10 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                compressed_sections_;\n      if (pCVar10 != (Compressed_section_map *)0x0) goto LAB_001cd7f4;\nLAB_001cd95c:\n      (*(relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0xf])\n                (relobj,shndx);\n    }\n    else {\n      pp_Var9 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object;\n      if (pp_Var9[0x18] != *(_func_int_varargs **)(pcVar26 + 0x2f4464)) {\n        pOVar22 = (Output_section *)(*pp_Var9[0x18])(relobj,shndx);\n        pp_Var9 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object;\n      }\n      iVar3 = (*pp_Var9[0x1a])(relobj,shndx);\n      if ((iVar3 == -1) && (pp_Var9 == (_func_int_varargs **)0xffffffff)) {\n        pCVar10 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                  compressed_sections_;\n      }\n      else {\n        iVar3 = *(int *)(pcVar26 + 0x2f4390);\n        if (-1 < *(int *)&(pOVar22->super_Output_data).field_0x20) goto LAB_001cda4c;\n        pCVar10 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                  compressed_sections_;\n      }\n      if (pCVar10 == (Compressed_section_map *)0x0) goto LAB_001cd95c;\nLAB_001cd7f4:\n      p_Var4 = (pCVar10->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n      p_Var12 = &(pCVar10->_M_t)._M_impl.super__Rb_tree_header;\n      p_Var15 = &p_Var12->_M_header;\n      if (p_Var4 == (_Base_ptr)0x0) goto LAB_001cd95c;\n      do {\n        while (p_Var16 = p_Var4, shndx <= p_Var16[1]._M_color) {\n          p_Var4 = p_Var16->_M_left;\n          p_Var15 = p_Var16;\n          if (p_Var16->_M_left == (_Base_ptr)0x0) goto LAB_001cd834;\n        }\n        pp_Var1 = &p_Var16->_M_right;\n        p_Var4 = *pp_Var1;\n        p_Var16 = p_Var15;\n      } while (*pp_Var1 != (_Base_ptr)0x0);\nLAB_001cd834:\n      if ((p_Var12 == (_Rb_tree_header *)p_Var16) || (shndx < p_Var16[1]._M_color))\n      goto LAB_001cd95c;\n    }\n    piVar14 = *(int **)(pcVar26 + 0x2f42f4);\n    (**(code **)(pcVar26 + 0x2f83d4))(auStack_170,0x32,*(int *)(pcVar26 + 0x2f4390) + 0x4bf0);\n    iVar3 = *(int *)(*piVar14 + 0xc);\n    if (iVar3 == 0) {\n      (**(code **)(pcVar26 + 0x2f4370))\n                (*(int *)(pcVar26 + 0x2f3bbc) + -0x9b8,0x69,*(int *)(pcVar26 + 0x2f4390) + 0x4cf0);\n      goto LAB_001cda14;\n    }\n    iVar3 = **(int **)(iVar3 + 4);\n    if (iVar3 < 0) {\n      iVar3 = iVar3 + 3;\n    }\n    (**(code **)(pcVar26 + 0x2f8488))\n              (this_01->map_file_,*(int *)(pcVar26 + 0x2f4390) + 0x4c4c,iVar3 >> 2);\n    if (pOVar22 == (Output_section *)0x0) {\nLAB_001cd908:\n      if (puStack_13c != auStack_134) {\n        (**(code **)(pcVar26 + 0x2f3c3c))();\n      }\n      return;\n    }\n    iVar3 = (**(code **)(pcVar26 + 0x2f4cb0))(*piVar14);\n    if (iVar3 == 1) {\n      print_input_section_symbols<32,_true>(this_01,(Sized_relobj_file<32,_true> *)relobj,shndx);\n      goto LAB_001cd908;\n    }\n    if (iVar3 == 0) {\n      print_input_section_symbols<32,_false>(this_01,relobj,shndx);\n      goto LAB_001cd908;\n    }\n    if (iVar3 == 2) {\n      print_input_section_symbols<64,_false>(this_01,(Sized_relobj_file<64,_false> *)relobj,shndx);\n      goto LAB_001cd908;\n    }\n    if (iVar3 == 3) {\n      print_input_section_symbols<64,_true>(this_01,(Sized_relobj_file<64,_true> *)relobj,shndx);\n      goto LAB_001cd908;\n    }\n  }\n  else {\nLAB_001cda14:\n    (**(code **)(pcVar26 + 0x2f4370))\n              (*(int *)(pcVar26 + 0x2f3bbc) + 0x4570,0x50b,*(int *)(pcVar26 + 0x2f4390) + 0x4d14);\n  }" if (parenthesized_expression "(shndx < (uint)((int)(relobj->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish - (int)ppOVar8 >> 2))" ( (binary_expression "shndx < (uint)((int)(relobj->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish - (int)ppOVar8 >> 2)" identifier < (call_expression "(uint)((int)(relobj->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish - (int)ppOVar8 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)(relobj->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish - (int)ppOVar8 >> 2)" ( (binary_expression "(int)(relobj->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish - (int)ppOVar8 >> 2" (binary_expression "(int)(relobj->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish - (int)ppOVar8" (field_expression "(int)(relobj->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl._M_finish" (field_expression "(int)(relobj->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          ._M_impl" (binary_expression "(int)(relobj->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "(int)(relobj->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "(int)(relobj->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold::Output_section*,_std" (binary_expression "(int)(relobj->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base<gold" (cast_expression "(int)(relobj->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "(relobj->super_Sized_relobj<32,_false>).super_Relobj.output_sections_.\n                          super__Vector_base" (field_expression "(relobj->super_Sized_relobj<32,_false>).super_Relobj.output_sections_" (field_expression "(relobj->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(relobj->super_Sized_relobj<32,_false>)" ( (comma_expression "relobj->super_Sized_relobj<32,_false" (binary_expression "relobj->super_Sized_relobj<32" (field_expression "relobj->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(int)ppOVar8" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )))) )) (compound_statement "{\n    pOVar22 = ppOVar8[shndx];\n    if (pOVar22 == (Output_section *)0x0) {\n      pCVar10 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                compressed_sections_;\n      if (pCVar10 != (Compressed_section_map *)0x0) goto LAB_001cd7f4;\nLAB_001cd95c:\n      (*(relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0xf])\n                (relobj,shndx);\n    }\n    else {\n      pp_Var9 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object;\n      if (pp_Var9[0x18] != *(_func_int_varargs **)(pcVar26 + 0x2f4464)) {\n        pOVar22 = (Output_section *)(*pp_Var9[0x18])(relobj,shndx);\n        pp_Var9 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object;\n      }\n      iVar3 = (*pp_Var9[0x1a])(relobj,shndx);\n      if ((iVar3 == -1) && (pp_Var9 == (_func_int_varargs **)0xffffffff)) {\n        pCVar10 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                  compressed_sections_;\n      }\n      else {\n        iVar3 = *(int *)(pcVar26 + 0x2f4390);\n        if (-1 < *(int *)&(pOVar22->super_Output_data).field_0x20) goto LAB_001cda4c;\n        pCVar10 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                  compressed_sections_;\n      }\n      if (pCVar10 == (Compressed_section_map *)0x0) goto LAB_001cd95c;\nLAB_001cd7f4:\n      p_Var4 = (pCVar10->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n      p_Var12 = &(pCVar10->_M_t)._M_impl.super__Rb_tree_header;\n      p_Var15 = &p_Var12->_M_header;\n      if (p_Var4 == (_Base_ptr)0x0) goto LAB_001cd95c;\n      do {\n        while (p_Var16 = p_Var4, shndx <= p_Var16[1]._M_color) {\n          p_Var4 = p_Var16->_M_left;\n          p_Var15 = p_Var16;\n          if (p_Var16->_M_left == (_Base_ptr)0x0) goto LAB_001cd834;\n        }\n        pp_Var1 = &p_Var16->_M_right;\n        p_Var4 = *pp_Var1;\n        p_Var16 = p_Var15;\n      } while (*pp_Var1 != (_Base_ptr)0x0);\nLAB_001cd834:\n      if ((p_Var12 == (_Rb_tree_header *)p_Var16) || (shndx < p_Var16[1]._M_color))\n      goto LAB_001cd95c;\n    }\n    piVar14 = *(int **)(pcVar26 + 0x2f42f4);\n    (**(code **)(pcVar26 + 0x2f83d4))(auStack_170,0x32,*(int *)(pcVar26 + 0x2f4390) + 0x4bf0);\n    iVar3 = *(int *)(*piVar14 + 0xc);\n    if (iVar3 == 0) {\n      (**(code **)(pcVar26 + 0x2f4370))\n                (*(int *)(pcVar26 + 0x2f3bbc) + -0x9b8,0x69,*(int *)(pcVar26 + 0x2f4390) + 0x4cf0);\n      goto LAB_001cda14;\n    }\n    iVar3 = **(int **)(iVar3 + 4);\n    if (iVar3 < 0) {\n      iVar3 = iVar3 + 3;\n    }\n    (**(code **)(pcVar26 + 0x2f8488))\n              (this_01->map_file_,*(int *)(pcVar26 + 0x2f4390) + 0x4c4c,iVar3 >> 2);\n    if (pOVar22 == (Output_section *)0x0) {\nLAB_001cd908:\n      if (puStack_13c != auStack_134) {\n        (**(code **)(pcVar26 + 0x2f3c3c))();\n      }\n      return;\n    }\n    iVar3 = (**(code **)(pcVar26 + 0x2f4cb0))(*piVar14);\n    if (iVar3 == 1) {\n      print_input_section_symbols<32,_true>(this_01,(Sized_relobj_file<32,_true> *)relobj,shndx);\n      goto LAB_001cd908;\n    }\n    if (iVar3 == 0) {\n      print_input_section_symbols<32,_false>(this_01,relobj,shndx);\n      goto LAB_001cd908;\n    }\n    if (iVar3 == 2) {\n      print_input_section_symbols<64,_false>(this_01,(Sized_relobj_file<64,_false> *)relobj,shndx);\n      goto LAB_001cd908;\n    }\n    if (iVar3 == 3) {\n      print_input_section_symbols<64,_true>(this_01,(Sized_relobj_file<64,_true> *)relobj,shndx);\n      goto LAB_001cd908;\n    }\n  }" { (expression_statement "pOVar22 = ppOVar8[shndx];" (assignment_expression "pOVar22 = ppOVar8[shndx]" identifier = (subscript_expression "ppOVar8[shndx]" identifier [ identifier ])) ;) (if_statement "if (pOVar22 == (Output_section *)0x0) {\n      pCVar10 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                compressed_sections_;\n      if (pCVar10 != (Compressed_section_map *)0x0) goto LAB_001cd7f4;\nLAB_001cd95c:\n      (*(relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0xf])\n                (relobj,shndx);\n    }\n    else {\n      pp_Var9 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object;\n      if (pp_Var9[0x18] != *(_func_int_varargs **)(pcVar26 + 0x2f4464)) {\n        pOVar22 = (Output_section *)(*pp_Var9[0x18])(relobj,shndx);\n        pp_Var9 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object;\n      }\n      iVar3 = (*pp_Var9[0x1a])(relobj,shndx);\n      if ((iVar3 == -1) && (pp_Var9 == (_func_int_varargs **)0xffffffff)) {\n        pCVar10 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                  compressed_sections_;\n      }\n      else {\n        iVar3 = *(int *)(pcVar26 + 0x2f4390);\n        if (-1 < *(int *)&(pOVar22->super_Output_data).field_0x20) goto LAB_001cda4c;\n        pCVar10 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                  compressed_sections_;\n      }\n      if (pCVar10 == (Compressed_section_map *)0x0) goto LAB_001cd95c;\nLAB_001cd7f4:\n      p_Var4 = (pCVar10->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n      p_Var12 = &(pCVar10->_M_t)._M_impl.super__Rb_tree_header;\n      p_Var15 = &p_Var12->_M_header;\n      if (p_Var4 == (_Base_ptr)0x0) goto LAB_001cd95c;\n      do {\n        while (p_Var16 = p_Var4, shndx <= p_Var16[1]._M_color) {\n          p_Var4 = p_Var16->_M_left;\n          p_Var15 = p_Var16;\n          if (p_Var16->_M_left == (_Base_ptr)0x0) goto LAB_001cd834;\n        }\n        pp_Var1 = &p_Var16->_M_right;\n        p_Var4 = *pp_Var1;\n        p_Var16 = p_Var15;\n      } while (*pp_Var1 != (_Base_ptr)0x0);\nLAB_001cd834:\n      if ((p_Var12 == (_Rb_tree_header *)p_Var16) || (shndx < p_Var16[1]._M_color))\n      goto LAB_001cd95c;\n    }" if (parenthesized_expression "(pOVar22 == (Output_section *)0x0)" ( (binary_expression "pOVar22 == (Output_section *)0x0" identifier == (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      pCVar10 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                compressed_sections_;\n      if (pCVar10 != (Compressed_section_map *)0x0) goto LAB_001cd7f4;\nLAB_001cd95c:\n      (*(relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0xf])\n                (relobj,shndx);\n    }" { (expression_statement "pCVar10 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                compressed_sections_;" (assignment_expression "pCVar10 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                compressed_sections_" identifier = (field_expression "(relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                compressed_sections_" (field_expression "(relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(relobj->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(relobj->super_Sized_relobj<32,_false>)" ( (comma_expression "relobj->super_Sized_relobj<32,_false" (binary_expression "relobj->super_Sized_relobj<32" (field_expression "relobj->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if (pCVar10 != (Compressed_section_map *)0x0) goto LAB_001cd7f4;" if (parenthesized_expression "(pCVar10 != (Compressed_section_map *)0x0)" ( (binary_expression "pCVar10 != (Compressed_section_map *)0x0" identifier != (cast_expression "(Compressed_section_map *)0x0" ( (type_descriptor "Compressed_section_map *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001cd7f4;" goto statement_identifier ;)) (labeled_statement "LAB_001cd95c:\n      (*(relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0xf])\n                (relobj,shndx);" statement_identifier : (expression_statement "(*(relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0xf])\n                (relobj,shndx);" (call_expression "(*(relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0xf])\n                (relobj,shndx)" (parenthesized_expression "(*(relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0xf])" ( (pointer_expression "*(relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0xf]" * (subscript_expression "(relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object[0xf]" (field_expression "(relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object" (field_expression "(relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(relobj->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(relobj->super_Sized_relobj<32,_false>)" ( (comma_expression "relobj->super_Sized_relobj<32,_false" (binary_expression "relobj->super_Sized_relobj<32" (field_expression "relobj->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) [ number_literal ])) )) (argument_list "(relobj,shndx)" ( identifier , identifier ))) ;)) }) (else_clause "else {\n      pp_Var9 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object;\n      if (pp_Var9[0x18] != *(_func_int_varargs **)(pcVar26 + 0x2f4464)) {\n        pOVar22 = (Output_section *)(*pp_Var9[0x18])(relobj,shndx);\n        pp_Var9 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object;\n      }\n      iVar3 = (*pp_Var9[0x1a])(relobj,shndx);\n      if ((iVar3 == -1) && (pp_Var9 == (_func_int_varargs **)0xffffffff)) {\n        pCVar10 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                  compressed_sections_;\n      }\n      else {\n        iVar3 = *(int *)(pcVar26 + 0x2f4390);\n        if (-1 < *(int *)&(pOVar22->super_Output_data).field_0x20) goto LAB_001cda4c;\n        pCVar10 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                  compressed_sections_;\n      }\n      if (pCVar10 == (Compressed_section_map *)0x0) goto LAB_001cd95c;\nLAB_001cd7f4:\n      p_Var4 = (pCVar10->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n      p_Var12 = &(pCVar10->_M_t)._M_impl.super__Rb_tree_header;\n      p_Var15 = &p_Var12->_M_header;\n      if (p_Var4 == (_Base_ptr)0x0) goto LAB_001cd95c;\n      do {\n        while (p_Var16 = p_Var4, shndx <= p_Var16[1]._M_color) {\n          p_Var4 = p_Var16->_M_left;\n          p_Var15 = p_Var16;\n          if (p_Var16->_M_left == (_Base_ptr)0x0) goto LAB_001cd834;\n        }\n        pp_Var1 = &p_Var16->_M_right;\n        p_Var4 = *pp_Var1;\n        p_Var16 = p_Var15;\n      } while (*pp_Var1 != (_Base_ptr)0x0);\nLAB_001cd834:\n      if ((p_Var12 == (_Rb_tree_header *)p_Var16) || (shndx < p_Var16[1]._M_color))\n      goto LAB_001cd95c;\n    }" else (compound_statement "{\n      pp_Var9 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object;\n      if (pp_Var9[0x18] != *(_func_int_varargs **)(pcVar26 + 0x2f4464)) {\n        pOVar22 = (Output_section *)(*pp_Var9[0x18])(relobj,shndx);\n        pp_Var9 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object;\n      }\n      iVar3 = (*pp_Var9[0x1a])(relobj,shndx);\n      if ((iVar3 == -1) && (pp_Var9 == (_func_int_varargs **)0xffffffff)) {\n        pCVar10 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                  compressed_sections_;\n      }\n      else {\n        iVar3 = *(int *)(pcVar26 + 0x2f4390);\n        if (-1 < *(int *)&(pOVar22->super_Output_data).field_0x20) goto LAB_001cda4c;\n        pCVar10 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                  compressed_sections_;\n      }\n      if (pCVar10 == (Compressed_section_map *)0x0) goto LAB_001cd95c;\nLAB_001cd7f4:\n      p_Var4 = (pCVar10->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;\n      p_Var12 = &(pCVar10->_M_t)._M_impl.super__Rb_tree_header;\n      p_Var15 = &p_Var12->_M_header;\n      if (p_Var4 == (_Base_ptr)0x0) goto LAB_001cd95c;\n      do {\n        while (p_Var16 = p_Var4, shndx <= p_Var16[1]._M_color) {\n          p_Var4 = p_Var16->_M_left;\n          p_Var15 = p_Var16;\n          if (p_Var16->_M_left == (_Base_ptr)0x0) goto LAB_001cd834;\n        }\n        pp_Var1 = &p_Var16->_M_right;\n        p_Var4 = *pp_Var1;\n        p_Var16 = p_Var15;\n      } while (*pp_Var1 != (_Base_ptr)0x0);\nLAB_001cd834:\n      if ((p_Var12 == (_Rb_tree_header *)p_Var16) || (shndx < p_Var16[1]._M_color))\n      goto LAB_001cd95c;\n    }" { (expression_statement "pp_Var9 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object;" (assignment_expression "pp_Var9 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object" identifier = (field_expression "(relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object" (field_expression "(relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(relobj->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(relobj->super_Sized_relobj<32,_false>)" ( (comma_expression "relobj->super_Sized_relobj<32,_false" (binary_expression "relobj->super_Sized_relobj<32" (field_expression "relobj->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if (pp_Var9[0x18] != *(_func_int_varargs **)(pcVar26 + 0x2f4464)) {\n        pOVar22 = (Output_section *)(*pp_Var9[0x18])(relobj,shndx);\n        pp_Var9 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object;\n      }" if (parenthesized_expression "(pp_Var9[0x18] != *(_func_int_varargs **)(pcVar26 + 0x2f4464))" ( (binary_expression "pp_Var9[0x18] != *(_func_int_varargs **)(pcVar26 + 0x2f4464)" (subscript_expression "pp_Var9[0x18]" identifier [ number_literal ]) != (pointer_expression "*(_func_int_varargs **)(pcVar26 + 0x2f4464)" * (cast_expression "(_func_int_varargs **)(pcVar26 + 0x2f4464)" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x2f4464)" ( (binary_expression "pcVar26 + 0x2f4464" identifier + number_literal) ))))) )) (compound_statement "{\n        pOVar22 = (Output_section *)(*pp_Var9[0x18])(relobj,shndx);\n        pp_Var9 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object;\n      }" { (expression_statement "pOVar22 = (Output_section *)(*pp_Var9[0x18])(relobj,shndx);" (assignment_expression "pOVar22 = (Output_section *)(*pp_Var9[0x18])(relobj,shndx)" identifier = (cast_expression "(Output_section *)(*pp_Var9[0x18])(relobj,shndx)" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*pp_Var9[0x18])(relobj,shndx)" (parenthesized_expression "(*pp_Var9[0x18])" ( (pointer_expression "*pp_Var9[0x18]" * (subscript_expression "pp_Var9[0x18]" identifier [ number_literal ])) )) (argument_list "(relobj,shndx)" ( identifier , identifier ))))) ;) (expression_statement "pp_Var9 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object;" (assignment_expression "pp_Var9 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object" identifier = (field_expression "(relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object._vptr_Object" (field_expression "(relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(relobj->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(relobj->super_Sized_relobj<32,_false>)" ( (comma_expression "relobj->super_Sized_relobj<32,_false" (binary_expression "relobj->super_Sized_relobj<32" (field_expression "relobj->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) })) (expression_statement "iVar3 = (*pp_Var9[0x1a])(relobj,shndx);" (assignment_expression "iVar3 = (*pp_Var9[0x1a])(relobj,shndx)" identifier = (call_expression "(*pp_Var9[0x1a])(relobj,shndx)" (parenthesized_expression "(*pp_Var9[0x1a])" ( (pointer_expression "*pp_Var9[0x1a]" * (subscript_expression "pp_Var9[0x1a]" identifier [ number_literal ])) )) (argument_list "(relobj,shndx)" ( identifier , identifier )))) ;) (if_statement "if ((iVar3 == -1) && (pp_Var9 == (_func_int_varargs **)0xffffffff)) {\n        pCVar10 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                  compressed_sections_;\n      }\n      else {\n        iVar3 = *(int *)(pcVar26 + 0x2f4390);\n        if (-1 < *(int *)&(pOVar22->super_Output_data).field_0x20) goto LAB_001cda4c;\n        pCVar10 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                  compressed_sections_;\n      }" if (parenthesized_expression "((iVar3 == -1) && (pp_Var9 == (_func_int_varargs **)0xffffffff))" ( (binary_expression "(iVar3 == -1) && (pp_Var9 == (_func_int_varargs **)0xffffffff)" (parenthesized_expression "(iVar3 == -1)" ( (binary_expression "iVar3 == -1" identifier == number_literal) )) && (parenthesized_expression "(pp_Var9 == (_func_int_varargs **)0xffffffff)" ( (binary_expression "pp_Var9 == (_func_int_varargs **)0xffffffff" identifier == (cast_expression "(_func_int_varargs **)0xffffffff" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ))) )) (compound_statement "{\n        pCVar10 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                  compressed_sections_;\n      }" { (expression_statement "pCVar10 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                  compressed_sections_;" (assignment_expression "pCVar10 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                  compressed_sections_" identifier = (field_expression "(relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                  compressed_sections_" (field_expression "(relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(relobj->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(relobj->super_Sized_relobj<32,_false>)" ( (comma_expression "relobj->super_Sized_relobj<32,_false" (binary_expression "relobj->super_Sized_relobj<32" (field_expression "relobj->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) }) (else_clause "else {\n        iVar3 = *(int *)(pcVar26 + 0x2f4390);\n        if (-1 < *(int *)&(pOVar22->super_Output_data).field_0x20) goto LAB_001cda4c;\n        pCVar10 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                  compressed_sections_;\n      }" else (compound_statement "{\n        iVar3 = *(int *)(pcVar26 + 0x2f4390);\n        if (-1 < *(int *)&(pOVar22->super_Output_data).field_0x20) goto LAB_001cda4c;\n        pCVar10 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                  compressed_sections_;\n      }" { (expression_statement "iVar3 = *(int *)(pcVar26 + 0x2f4390);" (assignment_expression "iVar3 = *(int *)(pcVar26 + 0x2f4390)" identifier = (pointer_expression "*(int *)(pcVar26 + 0x2f4390)" * (cast_expression "(int *)(pcVar26 + 0x2f4390)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x2f4390)" ( (binary_expression "pcVar26 + 0x2f4390" identifier + number_literal) ))))) ;) (if_statement "if (-1 < *(int *)&(pOVar22->super_Output_data).field_0x20) goto LAB_001cda4c;" if (parenthesized_expression "(-1 < *(int *)&(pOVar22->super_Output_data).field_0x20)" ( (binary_expression "-1 < *(int *)&(pOVar22->super_Output_data).field_0x20" number_literal < (pointer_expression "*(int *)&(pOVar22->super_Output_data).field_0x20" * (cast_expression "(int *)&(pOVar22->super_Output_data).field_0x20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar22->super_Output_data).field_0x20" & (field_expression "(pOVar22->super_Output_data).field_0x20" (parenthesized_expression "(pOVar22->super_Output_data)" ( (field_expression "pOVar22->super_Output_data" identifier -> field_identifier) )) . field_identifier))))) )) (goto_statement "goto LAB_001cda4c;" goto statement_identifier ;)) (expression_statement "pCVar10 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                  compressed_sections_;" (assignment_expression "pCVar10 = (relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                  compressed_sections_" identifier = (field_expression "(relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object.\n                  compressed_sections_" (field_expression "(relobj->super_Sized_relobj<32,_false>).super_Relobj.super_Object" (field_expression "(relobj->super_Sized_relobj<32,_false>).super_Relobj" (parenthesized_expression "(relobj->super_Sized_relobj<32,_false>)" ( (comma_expression "relobj->super_Sized_relobj<32,_false" (binary_expression "relobj->super_Sized_relobj<32" (field_expression "relobj->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier)) ;) }))) (if_statement "if (pCVar10 == (Compressed_section_map *)0x0) goto LAB_001cd95c;" if (parenthesized_expression "(pCVar10 == (Compressed_section_map *)0x0)" ( (binary_expression "pCVar10 == (Compressed_section_map *)0x0" identifier == (cast_expression "(Compressed_section_map *)0x0" ( (type_descriptor "Compressed_section_map *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto LAB_001cd95c;" goto statement_identifier ;)) (labeled_statement "LAB_001cd7f4:\n      p_Var4 = (pCVar10->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;" statement_identifier : (expression_statement "p_Var4 = (pCVar10->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent;" (assignment_expression "p_Var4 = (pCVar10->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent" identifier = (field_expression "(pCVar10->_M_t)._M_impl.super__Rb_tree_header._M_header._M_parent" (field_expression "(pCVar10->_M_t)._M_impl.super__Rb_tree_header._M_header" (field_expression "(pCVar10->_M_t)._M_impl.super__Rb_tree_header" (field_expression "(pCVar10->_M_t)._M_impl" (parenthesized_expression "(pCVar10->_M_t)" ( (field_expression "pCVar10->_M_t" identifier -> field_identifier) )) . field_identifier) . field_identifier) . field_identifier) . field_identifier)) ;)) (expression_statement "p_Var12 = &(pCVar10->_M_t)._M_impl.super__Rb_tree_header;" (assignment_expression "p_Var12 = &(pCVar10->_M_t)._M_impl.super__Rb_tree_header" identifier = (pointer_expression "&(pCVar10->_M_t)._M_impl.super__Rb_tree_header" & (field_expression "(pCVar10->_M_t)._M_impl.super__Rb_tree_header" (field_expression "(pCVar10->_M_t)._M_impl" (parenthesized_expression "(pCVar10->_M_t)" ( (field_expression "pCVar10->_M_t" identifier -> field_identifier) )) . field_identifier) . field_identifier))) ;) (expression_statement "p_Var15 = &p_Var12->_M_header;" (assignment_expression "p_Var15 = &p_Var12->_M_header" identifier = (pointer_expression "&p_Var12->_M_header" & (field_expression "p_Var12->_M_header" identifier -> field_identifier))) ;) (if_statement "if (p_Var4 == (_Base_ptr)0x0) goto LAB_001cd95c;" if (parenthesized_expression "(p_Var4 == (_Base_ptr)0x0)" ( (binary_expression "p_Var4 == (_Base_ptr)0x0" identifier == (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_001cd95c;" goto statement_identifier ;)) (do_statement "do {\n        while (p_Var16 = p_Var4, shndx <= p_Var16[1]._M_color) {\n          p_Var4 = p_Var16->_M_left;\n          p_Var15 = p_Var16;\n          if (p_Var16->_M_left == (_Base_ptr)0x0) goto LAB_001cd834;\n        }\n        pp_Var1 = &p_Var16->_M_right;\n        p_Var4 = *pp_Var1;\n        p_Var16 = p_Var15;\n      } while (*pp_Var1 != (_Base_ptr)0x0);" do (compound_statement "{\n        while (p_Var16 = p_Var4, shndx <= p_Var16[1]._M_color) {\n          p_Var4 = p_Var16->_M_left;\n          p_Var15 = p_Var16;\n          if (p_Var16->_M_left == (_Base_ptr)0x0) goto LAB_001cd834;\n        }\n        pp_Var1 = &p_Var16->_M_right;\n        p_Var4 = *pp_Var1;\n        p_Var16 = p_Var15;\n      }" { (while_statement "while (p_Var16 = p_Var4, shndx <= p_Var16[1]._M_color) {\n          p_Var4 = p_Var16->_M_left;\n          p_Var15 = p_Var16;\n          if (p_Var16->_M_left == (_Base_ptr)0x0) goto LAB_001cd834;\n        }" while (parenthesized_expression "(p_Var16 = p_Var4, shndx <= p_Var16[1]._M_color)" ( (comma_expression "p_Var16 = p_Var4, shndx <= p_Var16[1]._M_color" (assignment_expression "p_Var16 = p_Var4" identifier = identifier) , (binary_expression "shndx <= p_Var16[1]._M_color" identifier <= (field_expression "p_Var16[1]._M_color" (subscript_expression "p_Var16[1]" identifier [ number_literal ]) . field_identifier))) )) (compound_statement "{\n          p_Var4 = p_Var16->_M_left;\n          p_Var15 = p_Var16;\n          if (p_Var16->_M_left == (_Base_ptr)0x0) goto LAB_001cd834;\n        }" { (expression_statement "p_Var4 = p_Var16->_M_left;" (assignment_expression "p_Var4 = p_Var16->_M_left" identifier = (field_expression "p_Var16->_M_left" identifier -> field_identifier)) ;) (expression_statement "p_Var15 = p_Var16;" (assignment_expression "p_Var15 = p_Var16" identifier = identifier) ;) (if_statement "if (p_Var16->_M_left == (_Base_ptr)0x0) goto LAB_001cd834;" if (parenthesized_expression "(p_Var16->_M_left == (_Base_ptr)0x0)" ( (binary_expression "p_Var16->_M_left == (_Base_ptr)0x0" (field_expression "p_Var16->_M_left" identifier -> field_identifier) == (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) (goto_statement "goto LAB_001cd834;" goto statement_identifier ;)) })) (expression_statement "pp_Var1 = &p_Var16->_M_right;" (assignment_expression "pp_Var1 = &p_Var16->_M_right" identifier = (pointer_expression "&p_Var16->_M_right" & (field_expression "p_Var16->_M_right" identifier -> field_identifier))) ;) (expression_statement "p_Var4 = *pp_Var1;" (assignment_expression "p_Var4 = *pp_Var1" identifier = (pointer_expression "*pp_Var1" * identifier)) ;) (expression_statement "p_Var16 = p_Var15;" (assignment_expression "p_Var16 = p_Var15" identifier = identifier) ;) }) while (parenthesized_expression "(*pp_Var1 != (_Base_ptr)0x0)" ( (binary_expression "*pp_Var1 != (_Base_ptr)0x0" (pointer_expression "*pp_Var1" * identifier) != (cast_expression "(_Base_ptr)0x0" ( (type_descriptor "_Base_ptr" type_identifier) ) number_literal)) )) ;) (labeled_statement "LAB_001cd834:\n      if ((p_Var12 == (_Rb_tree_header *)p_Var16) || (shndx < p_Var16[1]._M_color))\n      goto LAB_001cd95c;" statement_identifier : (if_statement "if ((p_Var12 == (_Rb_tree_header *)p_Var16) || (shndx < p_Var16[1]._M_color))\n      goto LAB_001cd95c;" if (parenthesized_expression "((p_Var12 == (_Rb_tree_header *)p_Var16) || (shndx < p_Var16[1]._M_color))" ( (binary_expression "(p_Var12 == (_Rb_tree_header *)p_Var16) || (shndx < p_Var16[1]._M_color)" (parenthesized_expression "(p_Var12 == (_Rb_tree_header *)p_Var16)" ( (binary_expression "p_Var12 == (_Rb_tree_header *)p_Var16" identifier == (cast_expression "(_Rb_tree_header *)p_Var16" ( (type_descriptor "_Rb_tree_header *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) || (parenthesized_expression "(shndx < p_Var16[1]._M_color)" ( (binary_expression "shndx < p_Var16[1]._M_color" identifier < (field_expression "p_Var16[1]._M_color" (subscript_expression "p_Var16[1]" identifier [ number_literal ]) . field_identifier)) ))) )) (goto_statement "goto LAB_001cd95c;" goto statement_identifier ;))) }))) (expression_statement "piVar14 = *(int **)(pcVar26 + 0x2f42f4);" (assignment_expression "piVar14 = *(int **)(pcVar26 + 0x2f42f4)" identifier = (pointer_expression "*(int **)(pcVar26 + 0x2f42f4)" * (cast_expression "(int **)(pcVar26 + 0x2f42f4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x2f42f4)" ( (binary_expression "pcVar26 + 0x2f42f4" identifier + number_literal) ))))) ;) (expression_statement "(**(code **)(pcVar26 + 0x2f83d4))(auStack_170,0x32,*(int *)(pcVar26 + 0x2f4390) + 0x4bf0);" (call_expression "(**(code **)(pcVar26 + 0x2f83d4))(auStack_170,0x32,*(int *)(pcVar26 + 0x2f4390) + 0x4bf0)" (parenthesized_expression "(**(code **)(pcVar26 + 0x2f83d4))" ( (pointer_expression "**(code **)(pcVar26 + 0x2f83d4)" * (pointer_expression "*(code **)(pcVar26 + 0x2f83d4)" * (cast_expression "(code **)(pcVar26 + 0x2f83d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x2f83d4)" ( (binary_expression "pcVar26 + 0x2f83d4" identifier + number_literal) ))))) )) (argument_list "(auStack_170,0x32,*(int *)(pcVar26 + 0x2f4390) + 0x4bf0)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar26 + 0x2f4390) + 0x4bf0" (pointer_expression "*(int *)(pcVar26 + 0x2f4390)" * (cast_expression "(int *)(pcVar26 + 0x2f4390)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x2f4390)" ( (binary_expression "pcVar26 + 0x2f4390" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "iVar3 = *(int *)(*piVar14 + 0xc);" (assignment_expression "iVar3 = *(int *)(*piVar14 + 0xc)" identifier = (pointer_expression "*(int *)(*piVar14 + 0xc)" * (cast_expression "(int *)(*piVar14 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*piVar14 + 0xc)" ( (binary_expression "*piVar14 + 0xc" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) ;) (if_statement "if (iVar3 == 0) {\n      (**(code **)(pcVar26 + 0x2f4370))\n                (*(int *)(pcVar26 + 0x2f3bbc) + -0x9b8,0x69,*(int *)(pcVar26 + 0x2f4390) + 0x4cf0);\n      goto LAB_001cda14;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      (**(code **)(pcVar26 + 0x2f4370))\n                (*(int *)(pcVar26 + 0x2f3bbc) + -0x9b8,0x69,*(int *)(pcVar26 + 0x2f4390) + 0x4cf0);\n      goto LAB_001cda14;\n    }" { (expression_statement "(**(code **)(pcVar26 + 0x2f4370))\n                (*(int *)(pcVar26 + 0x2f3bbc) + -0x9b8,0x69,*(int *)(pcVar26 + 0x2f4390) + 0x4cf0);" (call_expression "(**(code **)(pcVar26 + 0x2f4370))\n                (*(int *)(pcVar26 + 0x2f3bbc) + -0x9b8,0x69,*(int *)(pcVar26 + 0x2f4390) + 0x4cf0)" (parenthesized_expression "(**(code **)(pcVar26 + 0x2f4370))" ( (pointer_expression "**(code **)(pcVar26 + 0x2f4370)" * (pointer_expression "*(code **)(pcVar26 + 0x2f4370)" * (cast_expression "(code **)(pcVar26 + 0x2f4370)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x2f4370)" ( (binary_expression "pcVar26 + 0x2f4370" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x2f3bbc) + -0x9b8,0x69,*(int *)(pcVar26 + 0x2f4390) + 0x4cf0)" ( (binary_expression "*(int *)(pcVar26 + 0x2f3bbc) + -0x9b8" (pointer_expression "*(int *)(pcVar26 + 0x2f3bbc)" * (cast_expression "(int *)(pcVar26 + 0x2f3bbc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x2f3bbc)" ( (binary_expression "pcVar26 + 0x2f3bbc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + 0x2f4390) + 0x4cf0" (pointer_expression "*(int *)(pcVar26 + 0x2f4390)" * (cast_expression "(int *)(pcVar26 + 0x2f4390)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x2f4390)" ( (binary_expression "pcVar26 + 0x2f4390" identifier + number_literal) )))) + number_literal) ))) ;) (goto_statement "goto LAB_001cda14;" goto statement_identifier ;) })) (expression_statement "iVar3 = **(int **)(iVar3 + 4);" (assignment_expression "iVar3 = **(int **)(iVar3 + 4)" identifier = (pointer_expression "**(int **)(iVar3 + 4)" * (pointer_expression "*(int **)(iVar3 + 4)" * (cast_expression "(int **)(iVar3 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))))) ;) (if_statement "if (iVar3 < 0) {\n      iVar3 = iVar3 + 3;\n    }" if (parenthesized_expression "(iVar3 < 0)" ( (binary_expression "iVar3 < 0" identifier < number_literal) )) (compound_statement "{\n      iVar3 = iVar3 + 3;\n    }" { (expression_statement "iVar3 = iVar3 + 3;" (assignment_expression "iVar3 = iVar3 + 3" identifier = (binary_expression "iVar3 + 3" identifier + number_literal)) ;) })) (expression_statement "(**(code **)(pcVar26 + 0x2f8488))\n              (this_01->map_file_,*(int *)(pcVar26 + 0x2f4390) + 0x4c4c,iVar3 >> 2);" (call_expression "(**(code **)(pcVar26 + 0x2f8488))\n              (this_01->map_file_,*(int *)(pcVar26 + 0x2f4390) + 0x4c4c,iVar3 >> 2)" (parenthesized_expression "(**(code **)(pcVar26 + 0x2f8488))" ( (pointer_expression "**(code **)(pcVar26 + 0x2f8488)" * (pointer_expression "*(code **)(pcVar26 + 0x2f8488)" * (cast_expression "(code **)(pcVar26 + 0x2f8488)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x2f8488)" ( (binary_expression "pcVar26 + 0x2f8488" identifier + number_literal) ))))) )) (argument_list "(this_01->map_file_,*(int *)(pcVar26 + 0x2f4390) + 0x4c4c,iVar3 >> 2)" ( (field_expression "this_01->map_file_" identifier -> field_identifier) , (binary_expression "*(int *)(pcVar26 + 0x2f4390) + 0x4c4c" (pointer_expression "*(int *)(pcVar26 + 0x2f4390)" * (cast_expression "(int *)(pcVar26 + 0x2f4390)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x2f4390)" ( (binary_expression "pcVar26 + 0x2f4390" identifier + number_literal) )))) + number_literal) , (binary_expression "iVar3 >> 2" identifier >> number_literal) ))) ;) (if_statement "if (pOVar22 == (Output_section *)0x0) {\nLAB_001cd908:\n      if (puStack_13c != auStack_134) {\n        (**(code **)(pcVar26 + 0x2f3c3c))();\n      }\n      return;\n    }" if (parenthesized_expression "(pOVar22 == (Output_section *)0x0)" ( (binary_expression "pOVar22 == (Output_section *)0x0" identifier == (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_001cd908:\n      if (puStack_13c != auStack_134) {\n        (**(code **)(pcVar26 + 0x2f3c3c))();\n      }\n      return;\n    }" { (labeled_statement "LAB_001cd908:\n      if (puStack_13c != auStack_134) {\n        (**(code **)(pcVar26 + 0x2f3c3c))();\n      }" statement_identifier : (if_statement "if (puStack_13c != auStack_134) {\n        (**(code **)(pcVar26 + 0x2f3c3c))();\n      }" if (parenthesized_expression "(puStack_13c != auStack_134)" ( (binary_expression "puStack_13c != auStack_134" identifier != identifier) )) (compound_statement "{\n        (**(code **)(pcVar26 + 0x2f3c3c))();\n      }" { (expression_statement "(**(code **)(pcVar26 + 0x2f3c3c))();" (call_expression "(**(code **)(pcVar26 + 0x2f3c3c))()" (parenthesized_expression "(**(code **)(pcVar26 + 0x2f3c3c))" ( (pointer_expression "**(code **)(pcVar26 + 0x2f3c3c)" * (pointer_expression "*(code **)(pcVar26 + 0x2f3c3c)" * (cast_expression "(code **)(pcVar26 + 0x2f3c3c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x2f3c3c)" ( (binary_expression "pcVar26 + 0x2f3c3c" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) }))) (return_statement "return;" return ;) })) (expression_statement "iVar3 = (**(code **)(pcVar26 + 0x2f4cb0))(*piVar14);" (assignment_expression "iVar3 = (**(code **)(pcVar26 + 0x2f4cb0))(*piVar14)" identifier = (call_expression "(**(code **)(pcVar26 + 0x2f4cb0))(*piVar14)" (parenthesized_expression "(**(code **)(pcVar26 + 0x2f4cb0))" ( (pointer_expression "**(code **)(pcVar26 + 0x2f4cb0)" * (pointer_expression "*(code **)(pcVar26 + 0x2f4cb0)" * (cast_expression "(code **)(pcVar26 + 0x2f4cb0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x2f4cb0)" ( (binary_expression "pcVar26 + 0x2f4cb0" identifier + number_literal) ))))) )) (argument_list "(*piVar14)" ( (pointer_expression "*piVar14" * identifier) )))) ;) (if_statement "if (iVar3 == 1) {\n      print_input_section_symbols<32,_true>(this_01,(Sized_relobj_file<32,_true> *)relobj,shndx);\n      goto LAB_001cd908;\n    }" if (parenthesized_expression "(iVar3 == 1)" ( (binary_expression "iVar3 == 1" identifier == number_literal) )) (compound_statement "{\n      print_input_section_symbols<32,_true>(this_01,(Sized_relobj_file<32,_true> *)relobj,shndx);\n      goto LAB_001cd908;\n    }" { (expression_statement "print_input_section_symbols<32,_true>(this_01,(Sized_relobj_file<32,_true> *)relobj,shndx);" (comma_expression "print_input_section_symbols<32,_true>(this_01,(Sized_relobj_file<32,_true> *)relobj,shndx)" (binary_expression "print_input_section_symbols<32" identifier < number_literal) , (binary_expression "_true>(this_01,(Sized_relobj_file<32,_true> *)relobj,shndx)" identifier > (parenthesized_expression "(this_01,(Sized_relobj_file<32,_true> *)relobj,shndx)" ( (comma_expression "this_01,(Sized_relobj_file<32,_true> *)relobj,shndx)" identifier , (parenthesized_expression "(Sized_relobj_file<32,_true> *)relobj,shndx)" ( (comma_expression "Sized_relobj_file<32,_true> *)relobj,shndx" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (comma_expression "_true> *)relobj,shndx" (binary_expression "_true> *)relobj" identifier > (pointer_expression "*)relobj" * (ERROR ")" )) identifier)) , identifier)) ))) )))) ;) (goto_statement "goto LAB_001cd908;" goto statement_identifier ;) })) (if_statement "if (iVar3 == 0) {\n      print_input_section_symbols<32,_false>(this_01,relobj,shndx);\n      goto LAB_001cd908;\n    }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n      print_input_section_symbols<32,_false>(this_01,relobj,shndx);\n      goto LAB_001cd908;\n    }" { (expression_statement "print_input_section_symbols<32,_false>(this_01,relobj,shndx);" (comma_expression "print_input_section_symbols<32,_false>(this_01,relobj,shndx)" (binary_expression "print_input_section_symbols<32" identifier < number_literal) , (binary_expression "_false>(this_01,relobj,shndx)" identifier > (parenthesized_expression "(this_01,relobj,shndx)" ( (comma_expression "this_01,relobj,shndx" identifier , (comma_expression "relobj,shndx" identifier , identifier)) )))) ;) (goto_statement "goto LAB_001cd908;" goto statement_identifier ;) })) (if_statement "if (iVar3 == 2) {\n      print_input_section_symbols<64,_false>(this_01,(Sized_relobj_file<64,_false> *)relobj,shndx);\n      goto LAB_001cd908;\n    }" if (parenthesized_expression "(iVar3 == 2)" ( (binary_expression "iVar3 == 2" identifier == number_literal) )) (compound_statement "{\n      print_input_section_symbols<64,_false>(this_01,(Sized_relobj_file<64,_false> *)relobj,shndx);\n      goto LAB_001cd908;\n    }" { (expression_statement "print_input_section_symbols<64,_false>(this_01,(Sized_relobj_file<64,_false> *)relobj,shndx);" (comma_expression "print_input_section_symbols<64,_false>(this_01,(Sized_relobj_file<64,_false> *)relobj,shndx)" (binary_expression "print_input_section_symbols<64" identifier < number_literal) , (binary_expression "_false>(this_01,(Sized_relobj_file<64,_false> *)relobj,shndx)" identifier > (parenthesized_expression "(this_01,(Sized_relobj_file<64,_false> *)relobj,shndx)" ( (comma_expression "this_01,(Sized_relobj_file<64,_false> *)relobj,shndx)" identifier , (parenthesized_expression "(Sized_relobj_file<64,_false> *)relobj,shndx)" ( (comma_expression "Sized_relobj_file<64,_false> *)relobj,shndx" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (comma_expression "_false> *)relobj,shndx" (binary_expression "_false> *)relobj" identifier > (pointer_expression "*)relobj" * (ERROR ")" )) identifier)) , identifier)) ))) )))) ;) (goto_statement "goto LAB_001cd908;" goto statement_identifier ;) })) (if_statement "if (iVar3 == 3) {\n      print_input_section_symbols<64,_true>(this_01,(Sized_relobj_file<64,_true> *)relobj,shndx);\n      goto LAB_001cd908;\n    }" if (parenthesized_expression "(iVar3 == 3)" ( (binary_expression "iVar3 == 3" identifier == number_literal) )) (compound_statement "{\n      print_input_section_symbols<64,_true>(this_01,(Sized_relobj_file<64,_true> *)relobj,shndx);\n      goto LAB_001cd908;\n    }" { (expression_statement "print_input_section_symbols<64,_true>(this_01,(Sized_relobj_file<64,_true> *)relobj,shndx);" (comma_expression "print_input_section_symbols<64,_true>(this_01,(Sized_relobj_file<64,_true> *)relobj,shndx)" (binary_expression "print_input_section_symbols<64" identifier < number_literal) , (binary_expression "_true>(this_01,(Sized_relobj_file<64,_true> *)relobj,shndx)" identifier > (parenthesized_expression "(this_01,(Sized_relobj_file<64,_true> *)relobj,shndx)" ( (comma_expression "this_01,(Sized_relobj_file<64,_true> *)relobj,shndx)" identifier , (parenthesized_expression "(Sized_relobj_file<64,_true> *)relobj,shndx)" ( (comma_expression "Sized_relobj_file<64,_true> *)relobj,shndx" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (comma_expression "_true> *)relobj,shndx" (binary_expression "_true> *)relobj" identifier > (pointer_expression "*)relobj" * (ERROR ")" )) identifier)) , identifier)) ))) )))) ;) (goto_statement "goto LAB_001cd908;" goto statement_identifier ;) })) }) (else_clause "else {\nLAB_001cda14:\n    (**(code **)(pcVar26 + 0x2f4370))\n              (*(int *)(pcVar26 + 0x2f3bbc) + 0x4570,0x50b,*(int *)(pcVar26 + 0x2f4390) + 0x4d14);\n  }" else (compound_statement "{\nLAB_001cda14:\n    (**(code **)(pcVar26 + 0x2f4370))\n              (*(int *)(pcVar26 + 0x2f3bbc) + 0x4570,0x50b,*(int *)(pcVar26 + 0x2f4390) + 0x4d14);\n  }" { (labeled_statement "LAB_001cda14:\n    (**(code **)(pcVar26 + 0x2f4370))\n              (*(int *)(pcVar26 + 0x2f3bbc) + 0x4570,0x50b,*(int *)(pcVar26 + 0x2f4390) + 0x4d14);" statement_identifier : (expression_statement "(**(code **)(pcVar26 + 0x2f4370))\n              (*(int *)(pcVar26 + 0x2f3bbc) + 0x4570,0x50b,*(int *)(pcVar26 + 0x2f4390) + 0x4d14);" (call_expression "(**(code **)(pcVar26 + 0x2f4370))\n              (*(int *)(pcVar26 + 0x2f3bbc) + 0x4570,0x50b,*(int *)(pcVar26 + 0x2f4390) + 0x4d14)" (parenthesized_expression "(**(code **)(pcVar26 + 0x2f4370))" ( (pointer_expression "**(code **)(pcVar26 + 0x2f4370)" * (pointer_expression "*(code **)(pcVar26 + 0x2f4370)" * (cast_expression "(code **)(pcVar26 + 0x2f4370)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x2f4370)" ( (binary_expression "pcVar26 + 0x2f4370" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x2f3bbc) + 0x4570,0x50b,*(int *)(pcVar26 + 0x2f4390) + 0x4d14)" ( (binary_expression "*(int *)(pcVar26 + 0x2f3bbc) + 0x4570" (pointer_expression "*(int *)(pcVar26 + 0x2f3bbc)" * (cast_expression "(int *)(pcVar26 + 0x2f3bbc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x2f3bbc)" ( (binary_expression "pcVar26 + 0x2f3bbc" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar26 + 0x2f4390) + 0x4d14" (pointer_expression "*(int *)(pcVar26 + 0x2f4390)" * (cast_expression "(int *)(pcVar26 + 0x2f4390)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x2f4390)" ( (binary_expression "pcVar26 + 0x2f4390" identifier + number_literal) )))) + number_literal) ))) ;)) }))) (expression_statement "iVar3 = *(int *)(pcVar26 + 0x2f4390) + 0x4d28;" (assignment_expression "iVar3 = *(int *)(pcVar26 + 0x2f4390) + 0x4d28" identifier = (binary_expression "*(int *)(pcVar26 + 0x2f4390) + 0x4d28" (pointer_expression "*(int *)(pcVar26 + 0x2f4390)" * (cast_expression "(int *)(pcVar26 + 0x2f4390)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x2f4390)" ( (binary_expression "pcVar26 + 0x2f4390" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar26 + 0x2f4370))(*(int *)(pcVar26 + 0x2f4390) + 0x4b8c,0x139,iVar3);" (call_expression "(**(code **)(pcVar26 + 0x2f4370))(*(int *)(pcVar26 + 0x2f4390) + 0x4b8c,0x139,iVar3)" (parenthesized_expression "(**(code **)(pcVar26 + 0x2f4370))" ( (pointer_expression "**(code **)(pcVar26 + 0x2f4370)" * (pointer_expression "*(code **)(pcVar26 + 0x2f4370)" * (cast_expression "(code **)(pcVar26 + 0x2f4370)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x2f4370)" ( (binary_expression "pcVar26 + 0x2f4370" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar26 + 0x2f4390) + 0x4b8c,0x139,iVar3)" ( (binary_expression "*(int *)(pcVar26 + 0x2f4390) + 0x4b8c" (pointer_expression "*(int *)(pcVar26 + 0x2f4390)" * (cast_expression "(int *)(pcVar26 + 0x2f4390)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x2f4390)" ( (binary_expression "pcVar26 + 0x2f4390" identifier + number_literal) )))) + number_literal) , number_literal , identifier ))) ;) (labeled_statement "LAB_001cda4c:\n  puVar17 = (undefined4 *)&DAT_000000c5;" statement_identifier : (expression_statement "puVar17 = (undefined4 *)&DAT_000000c5;" (assignment_expression "puVar17 = (undefined4 *)&DAT_000000c5" identifier = (cast_expression "(undefined4 *)&DAT_000000c5" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&DAT_000000c5" & identifier))) ;)) (expression_statement "puVar13 = (undefined4 *)(*(int *)(pcVar26 + 0x2f3bbc) + 0x3574);" (assignment_expression "puVar13 = (undefined4 *)(*(int *)(pcVar26 + 0x2f3bbc) + 0x3574)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar26 + 0x2f3bbc) + 0x3574)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar26 + 0x2f3bbc) + 0x3574)" ( (binary_expression "*(int *)(pcVar26 + 0x2f3bbc) + 0x3574" (pointer_expression "*(int *)(pcVar26 + 0x2f3bbc)" * (cast_expression "(int *)(pcVar26 + 0x2f3bbc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x2f3bbc)" ( (binary_expression "pcVar26 + 0x2f3bbc" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar26 + 0x2f4370))(puVar13,0xc5,iVar3 + 0x4cf8);" (call_expression "(**(code **)(pcVar26 + 0x2f4370))(puVar13,0xc5,iVar3 + 0x4cf8)" (parenthesized_expression "(**(code **)(pcVar26 + 0x2f4370))" ( (pointer_expression "**(code **)(pcVar26 + 0x2f4370)" * (pointer_expression "*(code **)(pcVar26 + 0x2f4370)" * (cast_expression "(code **)(pcVar26 + 0x2f4370)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x2f4370)" ( (binary_expression "pcVar26 + 0x2f4370" identifier + number_literal) ))))) )) (argument_list "(puVar13,0xc5,iVar3 + 0x4cf8)" ( identifier , number_literal , (binary_expression "iVar3 + 0x4cf8" identifier + number_literal) ))) ;) (if_statement "if (puStack_13c != auStack_134) {\n    (**(code **)(pcVar26 + 0x2f3c3c))(puStack_13c);\n  }" if (parenthesized_expression "(puStack_13c != auStack_134)" ( (binary_expression "puStack_13c != auStack_134" identifier != identifier) )) (compound_statement "{\n    (**(code **)(pcVar26 + 0x2f3c3c))(puStack_13c);\n  }" { (expression_statement "(**(code **)(pcVar26 + 0x2f3c3c))(puStack_13c);" (call_expression "(**(code **)(pcVar26 + 0x2f3c3c))(puStack_13c)" (parenthesized_expression "(**(code **)(pcVar26 + 0x2f3c3c))" ( (pointer_expression "**(code **)(pcVar26 + 0x2f3c3c)" * (pointer_expression "*(code **)(pcVar26 + 0x2f3c3c)" * (cast_expression "(code **)(pcVar26 + 0x2f3c3c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x2f3c3c)" ( (binary_expression "pcVar26 + 0x2f3c3c" identifier + number_literal) ))))) )) (argument_list "(puStack_13c)" ( identifier ))) ;) })) (expression_statement "pcVar26 = *(code **)(pcVar26 + 0x2f3c08);" (assignment_expression "pcVar26 = *(code **)(pcVar26 + 0x2f3c08)" identifier = (pointer_expression "*(code **)(pcVar26 + 0x2f3c08)" * (cast_expression "(code **)(pcVar26 + 0x2f3c08)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x2f3c08)" ( (binary_expression "pcVar26 + 0x2f3c08" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar26)();" (call_expression "(*pcVar26)()" (parenthesized_expression "(*pcVar26)" ( (pointer_expression "*pcVar26" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "puVar5 = (undefined4 *)puVar17[1];" (assignment_expression "puVar5 = (undefined4 *)puVar17[1]" identifier = (cast_expression "(undefined4 *)puVar17[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar17[1]" identifier [ number_literal ]))) ;) (expression_statement "puVar24 = (undefined4 *)*puVar17;" (assignment_expression "puVar24 = (undefined4 *)*puVar17" identifier = (cast_expression "(undefined4 *)*puVar17" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar17" * identifier))) ;) (expression_statement "iVar3 = *(int *)(pcVar26 + 0x2f3fbc);" (assignment_expression "iVar3 = *(int *)(pcVar26 + 0x2f3fbc)" identifier = (pointer_expression "*(int *)(pcVar26 + 0x2f3fbc)" * (cast_expression "(int *)(pcVar26 + 0x2f3fbc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x2f3fbc)" ( (binary_expression "pcVar26 + 0x2f3fbc" identifier + number_literal) ))))) ;) (if_statement "if (puVar24 != puVar5) {\n    bVar2 = false;\n    pcVar11 = *(code **)(pcVar26 + 0x2f61cc);\n    do {\n      piVar14 = (int *)*puVar24;\n      if (piVar14[7] == 0) {\n        uVar20 = piVar14[10];\n        if (uVar20 != 0) goto LAB_001cdb24;\n      }\n      else {\n        (**(code **)(pcVar26 + 0x2f46dc))(piVar14[7] + 0x20,0xffffffff);\n        uVar20 = piVar14[10];\n        if (uVar20 != 0) {\nLAB_001cdb24:\n          uVar19 = 0;\n          do {\n            while ((uVar6 = (**(code **)(*piVar14 + 0x50))(piVar14,uVar19),\n                   (uVar6 & 0xffffffef) != 1 && (uVar6 != 8))) {\nLAB_001cdb30:\n              uVar19 = uVar19 + 1;\n              if (uVar20 <= uVar19) goto LAB_001cdbec;\n            }\n            if ((uint)(piVar14[0xf] - piVar14[0xe] >> 2) <= uVar19) {\n              iVar3 = *(int *)(pcVar26 + 0x2f37e8) + 0x4570;\n              (**(code **)(pcVar26 + 0x2f3f9c))(iVar3,0x50b,*(int *)(pcVar26 + 0x2f3fbc) + 0x4d14);\n              if (piVar14[7] != 0) {\n                (**(code **)(pcVar26 + 0x2f46d8))(piVar14[7] + 0x20,0xffffffff);\n              }\n              (**(code **)(pcVar26 + 0x2f3834))(iVar3);\n              return;\n            }\n            if (*(int *)(piVar14[0xe] + uVar19 * 4) != 0) goto LAB_001cdb30;\n            if (!bVar2) {\n              uVar23 = *puVar13;\n              uVar7 = (**(code **)(pcVar26 + 0x2f819c))(iVar3 + 0x4c60);\n              (**(code **)(pcVar26 + 0x2f80b4))(uVar23,uVar7);\n            }\n            (*pcVar11)(puVar13,piVar14,uVar19);\n            uVar19 = uVar19 + 1;\n            bVar2 = true;\n          } while (uVar19 < uVar20);\n        }\nLAB_001cdbec:\n        if (piVar14[7] != 0) {\n          (**(code **)(pcVar26 + 0x2f46d8))(piVar14[7] + 0x20,0xffffffff);\n        }\n        puVar5 = (undefined4 *)puVar17[1];\n      }\n      puVar24 = puVar24 + 1;\n    } while (puVar5 != puVar24);\n  }" if (parenthesized_expression "(puVar24 != puVar5)" ( (binary_expression "puVar24 != puVar5" identifier != identifier) )) (compound_statement "{\n    bVar2 = false;\n    pcVar11 = *(code **)(pcVar26 + 0x2f61cc);\n    do {\n      piVar14 = (int *)*puVar24;\n      if (piVar14[7] == 0) {\n        uVar20 = piVar14[10];\n        if (uVar20 != 0) goto LAB_001cdb24;\n      }\n      else {\n        (**(code **)(pcVar26 + 0x2f46dc))(piVar14[7] + 0x20,0xffffffff);\n        uVar20 = piVar14[10];\n        if (uVar20 != 0) {\nLAB_001cdb24:\n          uVar19 = 0;\n          do {\n            while ((uVar6 = (**(code **)(*piVar14 + 0x50))(piVar14,uVar19),\n                   (uVar6 & 0xffffffef) != 1 && (uVar6 != 8))) {\nLAB_001cdb30:\n              uVar19 = uVar19 + 1;\n              if (uVar20 <= uVar19) goto LAB_001cdbec;\n            }\n            if ((uint)(piVar14[0xf] - piVar14[0xe] >> 2) <= uVar19) {\n              iVar3 = *(int *)(pcVar26 + 0x2f37e8) + 0x4570;\n              (**(code **)(pcVar26 + 0x2f3f9c))(iVar3,0x50b,*(int *)(pcVar26 + 0x2f3fbc) + 0x4d14);\n              if (piVar14[7] != 0) {\n                (**(code **)(pcVar26 + 0x2f46d8))(piVar14[7] + 0x20,0xffffffff);\n              }\n              (**(code **)(pcVar26 + 0x2f3834))(iVar3);\n              return;\n            }\n            if (*(int *)(piVar14[0xe] + uVar19 * 4) != 0) goto LAB_001cdb30;\n            if (!bVar2) {\n              uVar23 = *puVar13;\n              uVar7 = (**(code **)(pcVar26 + 0x2f819c))(iVar3 + 0x4c60);\n              (**(code **)(pcVar26 + 0x2f80b4))(uVar23,uVar7);\n            }\n            (*pcVar11)(puVar13,piVar14,uVar19);\n            uVar19 = uVar19 + 1;\n            bVar2 = true;\n          } while (uVar19 < uVar20);\n        }\nLAB_001cdbec:\n        if (piVar14[7] != 0) {\n          (**(code **)(pcVar26 + 0x2f46d8))(piVar14[7] + 0x20,0xffffffff);\n        }\n        puVar5 = (undefined4 *)puVar17[1];\n      }\n      puVar24 = puVar24 + 1;\n    } while (puVar5 != puVar24);\n  }" { (expression_statement "bVar2 = false;" (assignment_expression "bVar2 = false" identifier = false) ;) (expression_statement "pcVar11 = *(code **)(pcVar26 + 0x2f61cc);" (assignment_expression "pcVar11 = *(code **)(pcVar26 + 0x2f61cc)" identifier = (pointer_expression "*(code **)(pcVar26 + 0x2f61cc)" * (cast_expression "(code **)(pcVar26 + 0x2f61cc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x2f61cc)" ( (binary_expression "pcVar26 + 0x2f61cc" identifier + number_literal) ))))) ;) (do_statement "do {\n      piVar14 = (int *)*puVar24;\n      if (piVar14[7] == 0) {\n        uVar20 = piVar14[10];\n        if (uVar20 != 0) goto LAB_001cdb24;\n      }\n      else {\n        (**(code **)(pcVar26 + 0x2f46dc))(piVar14[7] + 0x20,0xffffffff);\n        uVar20 = piVar14[10];\n        if (uVar20 != 0) {\nLAB_001cdb24:\n          uVar19 = 0;\n          do {\n            while ((uVar6 = (**(code **)(*piVar14 + 0x50))(piVar14,uVar19),\n                   (uVar6 & 0xffffffef) != 1 && (uVar6 != 8))) {\nLAB_001cdb30:\n              uVar19 = uVar19 + 1;\n              if (uVar20 <= uVar19) goto LAB_001cdbec;\n            }\n            if ((uint)(piVar14[0xf] - piVar14[0xe] >> 2) <= uVar19) {\n              iVar3 = *(int *)(pcVar26 + 0x2f37e8) + 0x4570;\n              (**(code **)(pcVar26 + 0x2f3f9c))(iVar3,0x50b,*(int *)(pcVar26 + 0x2f3fbc) + 0x4d14);\n              if (piVar14[7] != 0) {\n                (**(code **)(pcVar26 + 0x2f46d8))(piVar14[7] + 0x20,0xffffffff);\n              }\n              (**(code **)(pcVar26 + 0x2f3834))(iVar3);\n              return;\n            }\n            if (*(int *)(piVar14[0xe] + uVar19 * 4) != 0) goto LAB_001cdb30;\n            if (!bVar2) {\n              uVar23 = *puVar13;\n              uVar7 = (**(code **)(pcVar26 + 0x2f819c))(iVar3 + 0x4c60);\n              (**(code **)(pcVar26 + 0x2f80b4))(uVar23,uVar7);\n            }\n            (*pcVar11)(puVar13,piVar14,uVar19);\n            uVar19 = uVar19 + 1;\n            bVar2 = true;\n          } while (uVar19 < uVar20);\n        }\nLAB_001cdbec:\n        if (piVar14[7] != 0) {\n          (**(code **)(pcVar26 + 0x2f46d8))(piVar14[7] + 0x20,0xffffffff);\n        }\n        puVar5 = (undefined4 *)puVar17[1];\n      }\n      puVar24 = puVar24 + 1;\n    } while (puVar5 != puVar24);" do (compound_statement "{\n      piVar14 = (int *)*puVar24;\n      if (piVar14[7] == 0) {\n        uVar20 = piVar14[10];\n        if (uVar20 != 0) goto LAB_001cdb24;\n      }\n      else {\n        (**(code **)(pcVar26 + 0x2f46dc))(piVar14[7] + 0x20,0xffffffff);\n        uVar20 = piVar14[10];\n        if (uVar20 != 0) {\nLAB_001cdb24:\n          uVar19 = 0;\n          do {\n            while ((uVar6 = (**(code **)(*piVar14 + 0x50))(piVar14,uVar19),\n                   (uVar6 & 0xffffffef) != 1 && (uVar6 != 8))) {\nLAB_001cdb30:\n              uVar19 = uVar19 + 1;\n              if (uVar20 <= uVar19) goto LAB_001cdbec;\n            }\n            if ((uint)(piVar14[0xf] - piVar14[0xe] >> 2) <= uVar19) {\n              iVar3 = *(int *)(pcVar26 + 0x2f37e8) + 0x4570;\n              (**(code **)(pcVar26 + 0x2f3f9c))(iVar3,0x50b,*(int *)(pcVar26 + 0x2f3fbc) + 0x4d14);\n              if (piVar14[7] != 0) {\n                (**(code **)(pcVar26 + 0x2f46d8))(piVar14[7] + 0x20,0xffffffff);\n              }\n              (**(code **)(pcVar26 + 0x2f3834))(iVar3);\n              return;\n            }\n            if (*(int *)(piVar14[0xe] + uVar19 * 4) != 0) goto LAB_001cdb30;\n            if (!bVar2) {\n              uVar23 = *puVar13;\n              uVar7 = (**(code **)(pcVar26 + 0x2f819c))(iVar3 + 0x4c60);\n              (**(code **)(pcVar26 + 0x2f80b4))(uVar23,uVar7);\n            }\n            (*pcVar11)(puVar13,piVar14,uVar19);\n            uVar19 = uVar19 + 1;\n            bVar2 = true;\n          } while (uVar19 < uVar20);\n        }\nLAB_001cdbec:\n        if (piVar14[7] != 0) {\n          (**(code **)(pcVar26 + 0x2f46d8))(piVar14[7] + 0x20,0xffffffff);\n        }\n        puVar5 = (undefined4 *)puVar17[1];\n      }\n      puVar24 = puVar24 + 1;\n    }" { (expression_statement "piVar14 = (int *)*puVar24;" (assignment_expression "piVar14 = (int *)*puVar24" identifier = (cast_expression "(int *)*puVar24" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar24" * identifier))) ;) (if_statement "if (piVar14[7] == 0) {\n        uVar20 = piVar14[10];\n        if (uVar20 != 0) goto LAB_001cdb24;\n      }\n      else {\n        (**(code **)(pcVar26 + 0x2f46dc))(piVar14[7] + 0x20,0xffffffff);\n        uVar20 = piVar14[10];\n        if (uVar20 != 0) {\nLAB_001cdb24:\n          uVar19 = 0;\n          do {\n            while ((uVar6 = (**(code **)(*piVar14 + 0x50))(piVar14,uVar19),\n                   (uVar6 & 0xffffffef) != 1 && (uVar6 != 8))) {\nLAB_001cdb30:\n              uVar19 = uVar19 + 1;\n              if (uVar20 <= uVar19) goto LAB_001cdbec;\n            }\n            if ((uint)(piVar14[0xf] - piVar14[0xe] >> 2) <= uVar19) {\n              iVar3 = *(int *)(pcVar26 + 0x2f37e8) + 0x4570;\n              (**(code **)(pcVar26 + 0x2f3f9c))(iVar3,0x50b,*(int *)(pcVar26 + 0x2f3fbc) + 0x4d14);\n              if (piVar14[7] != 0) {\n                (**(code **)(pcVar26 + 0x2f46d8))(piVar14[7] + 0x20,0xffffffff);\n              }\n              (**(code **)(pcVar26 + 0x2f3834))(iVar3);\n              return;\n            }\n            if (*(int *)(piVar14[0xe] + uVar19 * 4) != 0) goto LAB_001cdb30;\n            if (!bVar2) {\n              uVar23 = *puVar13;\n              uVar7 = (**(code **)(pcVar26 + 0x2f819c))(iVar3 + 0x4c60);\n              (**(code **)(pcVar26 + 0x2f80b4))(uVar23,uVar7);\n            }\n            (*pcVar11)(puVar13,piVar14,uVar19);\n            uVar19 = uVar19 + 1;\n            bVar2 = true;\n          } while (uVar19 < uVar20);\n        }\nLAB_001cdbec:\n        if (piVar14[7] != 0) {\n          (**(code **)(pcVar26 + 0x2f46d8))(piVar14[7] + 0x20,0xffffffff);\n        }\n        puVar5 = (undefined4 *)puVar17[1];\n      }" if (parenthesized_expression "(piVar14[7] == 0)" ( (binary_expression "piVar14[7] == 0" (subscript_expression "piVar14[7]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\n        uVar20 = piVar14[10];\n        if (uVar20 != 0) goto LAB_001cdb24;\n      }" { (expression_statement "uVar20 = piVar14[10];" (assignment_expression "uVar20 = piVar14[10]" identifier = (subscript_expression "piVar14[10]" identifier [ number_literal ])) ;) (if_statement "if (uVar20 != 0) goto LAB_001cdb24;" if (parenthesized_expression "(uVar20 != 0)" ( (binary_expression "uVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_001cdb24;" goto statement_identifier ;)) }) (else_clause "else {\n        (**(code **)(pcVar26 + 0x2f46dc))(piVar14[7] + 0x20,0xffffffff);\n        uVar20 = piVar14[10];\n        if (uVar20 != 0) {\nLAB_001cdb24:\n          uVar19 = 0;\n          do {\n            while ((uVar6 = (**(code **)(*piVar14 + 0x50))(piVar14,uVar19),\n                   (uVar6 & 0xffffffef) != 1 && (uVar6 != 8))) {\nLAB_001cdb30:\n              uVar19 = uVar19 + 1;\n              if (uVar20 <= uVar19) goto LAB_001cdbec;\n            }\n            if ((uint)(piVar14[0xf] - piVar14[0xe] >> 2) <= uVar19) {\n              iVar3 = *(int *)(pcVar26 + 0x2f37e8) + 0x4570;\n              (**(code **)(pcVar26 + 0x2f3f9c))(iVar3,0x50b,*(int *)(pcVar26 + 0x2f3fbc) + 0x4d14);\n              if (piVar14[7] != 0) {\n                (**(code **)(pcVar26 + 0x2f46d8))(piVar14[7] + 0x20,0xffffffff);\n              }\n              (**(code **)(pcVar26 + 0x2f3834))(iVar3);\n              return;\n            }\n            if (*(int *)(piVar14[0xe] + uVar19 * 4) != 0) goto LAB_001cdb30;\n            if (!bVar2) {\n              uVar23 = *puVar13;\n              uVar7 = (**(code **)(pcVar26 + 0x2f819c))(iVar3 + 0x4c60);\n              (**(code **)(pcVar26 + 0x2f80b4))(uVar23,uVar7);\n            }\n            (*pcVar11)(puVar13,piVar14,uVar19);\n            uVar19 = uVar19 + 1;\n            bVar2 = true;\n          } while (uVar19 < uVar20);\n        }\nLAB_001cdbec:\n        if (piVar14[7] != 0) {\n          (**(code **)(pcVar26 + 0x2f46d8))(piVar14[7] + 0x20,0xffffffff);\n        }\n        puVar5 = (undefined4 *)puVar17[1];\n      }" else (compound_statement "{\n        (**(code **)(pcVar26 + 0x2f46dc))(piVar14[7] + 0x20,0xffffffff);\n        uVar20 = piVar14[10];\n        if (uVar20 != 0) {\nLAB_001cdb24:\n          uVar19 = 0;\n          do {\n            while ((uVar6 = (**(code **)(*piVar14 + 0x50))(piVar14,uVar19),\n                   (uVar6 & 0xffffffef) != 1 && (uVar6 != 8))) {\nLAB_001cdb30:\n              uVar19 = uVar19 + 1;\n              if (uVar20 <= uVar19) goto LAB_001cdbec;\n            }\n            if ((uint)(piVar14[0xf] - piVar14[0xe] >> 2) <= uVar19) {\n              iVar3 = *(int *)(pcVar26 + 0x2f37e8) + 0x4570;\n              (**(code **)(pcVar26 + 0x2f3f9c))(iVar3,0x50b,*(int *)(pcVar26 + 0x2f3fbc) + 0x4d14);\n              if (piVar14[7] != 0) {\n                (**(code **)(pcVar26 + 0x2f46d8))(piVar14[7] + 0x20,0xffffffff);\n              }\n              (**(code **)(pcVar26 + 0x2f3834))(iVar3);\n              return;\n            }\n            if (*(int *)(piVar14[0xe] + uVar19 * 4) != 0) goto LAB_001cdb30;\n            if (!bVar2) {\n              uVar23 = *puVar13;\n              uVar7 = (**(code **)(pcVar26 + 0x2f819c))(iVar3 + 0x4c60);\n              (**(code **)(pcVar26 + 0x2f80b4))(uVar23,uVar7);\n            }\n            (*pcVar11)(puVar13,piVar14,uVar19);\n            uVar19 = uVar19 + 1;\n            bVar2 = true;\n          } while (uVar19 < uVar20);\n        }\nLAB_001cdbec:\n        if (piVar14[7] != 0) {\n          (**(code **)(pcVar26 + 0x2f46d8))(piVar14[7] + 0x20,0xffffffff);\n        }\n        puVar5 = (undefined4 *)puVar17[1];\n      }" { (expression_statement "(**(code **)(pcVar26 + 0x2f46dc))(piVar14[7] + 0x20,0xffffffff);" (call_expression "(**(code **)(pcVar26 + 0x2f46dc))(piVar14[7] + 0x20,0xffffffff)" (parenthesized_expression "(**(code **)(pcVar26 + 0x2f46dc))" ( (pointer_expression "**(code **)(pcVar26 + 0x2f46dc)" * (pointer_expression "*(code **)(pcVar26 + 0x2f46dc)" * (cast_expression "(code **)(pcVar26 + 0x2f46dc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x2f46dc)" ( (binary_expression "pcVar26 + 0x2f46dc" identifier + number_literal) ))))) )) (argument_list "(piVar14[7] + 0x20,0xffffffff)" ( (binary_expression "piVar14[7] + 0x20" (subscript_expression "piVar14[7]" identifier [ number_literal ]) + number_literal) , number_literal ))) ;) (expression_statement "uVar20 = piVar14[10];" (assignment_expression "uVar20 = piVar14[10]" identifier = (subscript_expression "piVar14[10]" identifier [ number_literal ])) ;) (if_statement "if (uVar20 != 0) {\nLAB_001cdb24:\n          uVar19 = 0;\n          do {\n            while ((uVar6 = (**(code **)(*piVar14 + 0x50))(piVar14,uVar19),\n                   (uVar6 & 0xffffffef) != 1 && (uVar6 != 8))) {\nLAB_001cdb30:\n              uVar19 = uVar19 + 1;\n              if (uVar20 <= uVar19) goto LAB_001cdbec;\n            }\n            if ((uint)(piVar14[0xf] - piVar14[0xe] >> 2) <= uVar19) {\n              iVar3 = *(int *)(pcVar26 + 0x2f37e8) + 0x4570;\n              (**(code **)(pcVar26 + 0x2f3f9c))(iVar3,0x50b,*(int *)(pcVar26 + 0x2f3fbc) + 0x4d14);\n              if (piVar14[7] != 0) {\n                (**(code **)(pcVar26 + 0x2f46d8))(piVar14[7] + 0x20,0xffffffff);\n              }\n              (**(code **)(pcVar26 + 0x2f3834))(iVar3);\n              return;\n            }\n            if (*(int *)(piVar14[0xe] + uVar19 * 4) != 0) goto LAB_001cdb30;\n            if (!bVar2) {\n              uVar23 = *puVar13;\n              uVar7 = (**(code **)(pcVar26 + 0x2f819c))(iVar3 + 0x4c60);\n              (**(code **)(pcVar26 + 0x2f80b4))(uVar23,uVar7);\n            }\n            (*pcVar11)(puVar13,piVar14,uVar19);\n            uVar19 = uVar19 + 1;\n            bVar2 = true;\n          } while (uVar19 < uVar20);\n        }" if (parenthesized_expression "(uVar20 != 0)" ( (binary_expression "uVar20 != 0" identifier != number_literal) )) (compound_statement "{\nLAB_001cdb24:\n          uVar19 = 0;\n          do {\n            while ((uVar6 = (**(code **)(*piVar14 + 0x50))(piVar14,uVar19),\n                   (uVar6 & 0xffffffef) != 1 && (uVar6 != 8))) {\nLAB_001cdb30:\n              uVar19 = uVar19 + 1;\n              if (uVar20 <= uVar19) goto LAB_001cdbec;\n            }\n            if ((uint)(piVar14[0xf] - piVar14[0xe] >> 2) <= uVar19) {\n              iVar3 = *(int *)(pcVar26 + 0x2f37e8) + 0x4570;\n              (**(code **)(pcVar26 + 0x2f3f9c))(iVar3,0x50b,*(int *)(pcVar26 + 0x2f3fbc) + 0x4d14);\n              if (piVar14[7] != 0) {\n                (**(code **)(pcVar26 + 0x2f46d8))(piVar14[7] + 0x20,0xffffffff);\n              }\n              (**(code **)(pcVar26 + 0x2f3834))(iVar3);\n              return;\n            }\n            if (*(int *)(piVar14[0xe] + uVar19 * 4) != 0) goto LAB_001cdb30;\n            if (!bVar2) {\n              uVar23 = *puVar13;\n              uVar7 = (**(code **)(pcVar26 + 0x2f819c))(iVar3 + 0x4c60);\n              (**(code **)(pcVar26 + 0x2f80b4))(uVar23,uVar7);\n            }\n            (*pcVar11)(puVar13,piVar14,uVar19);\n            uVar19 = uVar19 + 1;\n            bVar2 = true;\n          } while (uVar19 < uVar20);\n        }" { (labeled_statement "LAB_001cdb24:\n          uVar19 = 0;" statement_identifier : (expression_statement "uVar19 = 0;" (assignment_expression "uVar19 = 0" identifier = number_literal) ;)) (do_statement "do {\n            while ((uVar6 = (**(code **)(*piVar14 + 0x50))(piVar14,uVar19),\n                   (uVar6 & 0xffffffef) != 1 && (uVar6 != 8))) {\nLAB_001cdb30:\n              uVar19 = uVar19 + 1;\n              if (uVar20 <= uVar19) goto LAB_001cdbec;\n            }\n            if ((uint)(piVar14[0xf] - piVar14[0xe] >> 2) <= uVar19) {\n              iVar3 = *(int *)(pcVar26 + 0x2f37e8) + 0x4570;\n              (**(code **)(pcVar26 + 0x2f3f9c))(iVar3,0x50b,*(int *)(pcVar26 + 0x2f3fbc) + 0x4d14);\n              if (piVar14[7] != 0) {\n                (**(code **)(pcVar26 + 0x2f46d8))(piVar14[7] + 0x20,0xffffffff);\n              }\n              (**(code **)(pcVar26 + 0x2f3834))(iVar3);\n              return;\n            }\n            if (*(int *)(piVar14[0xe] + uVar19 * 4) != 0) goto LAB_001cdb30;\n            if (!bVar2) {\n              uVar23 = *puVar13;\n              uVar7 = (**(code **)(pcVar26 + 0x2f819c))(iVar3 + 0x4c60);\n              (**(code **)(pcVar26 + 0x2f80b4))(uVar23,uVar7);\n            }\n            (*pcVar11)(puVar13,piVar14,uVar19);\n            uVar19 = uVar19 + 1;\n            bVar2 = true;\n          } while (uVar19 < uVar20);" do (compound_statement "{\n            while ((uVar6 = (**(code **)(*piVar14 + 0x50))(piVar14,uVar19),\n                   (uVar6 & 0xffffffef) != 1 && (uVar6 != 8))) {\nLAB_001cdb30:\n              uVar19 = uVar19 + 1;\n              if (uVar20 <= uVar19) goto LAB_001cdbec;\n            }\n            if ((uint)(piVar14[0xf] - piVar14[0xe] >> 2) <= uVar19) {\n              iVar3 = *(int *)(pcVar26 + 0x2f37e8) + 0x4570;\n              (**(code **)(pcVar26 + 0x2f3f9c))(iVar3,0x50b,*(int *)(pcVar26 + 0x2f3fbc) + 0x4d14);\n              if (piVar14[7] != 0) {\n                (**(code **)(pcVar26 + 0x2f46d8))(piVar14[7] + 0x20,0xffffffff);\n              }\n              (**(code **)(pcVar26 + 0x2f3834))(iVar3);\n              return;\n            }\n            if (*(int *)(piVar14[0xe] + uVar19 * 4) != 0) goto LAB_001cdb30;\n            if (!bVar2) {\n              uVar23 = *puVar13;\n              uVar7 = (**(code **)(pcVar26 + 0x2f819c))(iVar3 + 0x4c60);\n              (**(code **)(pcVar26 + 0x2f80b4))(uVar23,uVar7);\n            }\n            (*pcVar11)(puVar13,piVar14,uVar19);\n            uVar19 = uVar19 + 1;\n            bVar2 = true;\n          }" { (while_statement "while ((uVar6 = (**(code **)(*piVar14 + 0x50))(piVar14,uVar19),\n                   (uVar6 & 0xffffffef) != 1 && (uVar6 != 8))) {\nLAB_001cdb30:\n              uVar19 = uVar19 + 1;\n              if (uVar20 <= uVar19) goto LAB_001cdbec;\n            }" while (parenthesized_expression "((uVar6 = (**(code **)(*piVar14 + 0x50))(piVar14,uVar19),\n                   (uVar6 & 0xffffffef) != 1 && (uVar6 != 8)))" ( (parenthesized_expression "(uVar6 = (**(code **)(*piVar14 + 0x50))(piVar14,uVar19),\n                   (uVar6 & 0xffffffef) != 1 && (uVar6 != 8))" ( (comma_expression "uVar6 = (**(code **)(*piVar14 + 0x50))(piVar14,uVar19),\n                   (uVar6 & 0xffffffef) != 1 && (uVar6 != 8)" (assignment_expression "uVar6 = (**(code **)(*piVar14 + 0x50))(piVar14,uVar19)" identifier = (call_expression "(**(code **)(*piVar14 + 0x50))(piVar14,uVar19)" (parenthesized_expression "(**(code **)(*piVar14 + 0x50))" ( (pointer_expression "**(code **)(*piVar14 + 0x50)" * (pointer_expression "*(code **)(*piVar14 + 0x50)" * (cast_expression "(code **)(*piVar14 + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar14 + 0x50)" ( (binary_expression "*piVar14 + 0x50" (pointer_expression "*piVar14" * identifier) + number_literal) ))))) )) (argument_list "(piVar14,uVar19)" ( identifier , identifier )))) , (binary_expression "(uVar6 & 0xffffffef) != 1 && (uVar6 != 8)" (binary_expression "(uVar6 & 0xffffffef) != 1" (parenthesized_expression "(uVar6 & 0xffffffef)" ( (binary_expression "uVar6 & 0xffffffef" identifier & number_literal) )) != number_literal) && (parenthesized_expression "(uVar6 != 8)" ( (binary_expression "uVar6 != 8" identifier != number_literal) )))) )) )) (compound_statement "{\nLAB_001cdb30:\n              uVar19 = uVar19 + 1;\n              if (uVar20 <= uVar19) goto LAB_001cdbec;\n            }" { (labeled_statement "LAB_001cdb30:\n              uVar19 = uVar19 + 1;" statement_identifier : (expression_statement "uVar19 = uVar19 + 1;" (assignment_expression "uVar19 = uVar19 + 1" identifier = (binary_expression "uVar19 + 1" identifier + number_literal)) ;)) (if_statement "if (uVar20 <= uVar19) goto LAB_001cdbec;" if (parenthesized_expression "(uVar20 <= uVar19)" ( (binary_expression "uVar20 <= uVar19" identifier <= identifier) )) (goto_statement "goto LAB_001cdbec;" goto statement_identifier ;)) })) (if_statement "if ((uint)(piVar14[0xf] - piVar14[0xe] >> 2) <= uVar19) {\n              iVar3 = *(int *)(pcVar26 + 0x2f37e8) + 0x4570;\n              (**(code **)(pcVar26 + 0x2f3f9c))(iVar3,0x50b,*(int *)(pcVar26 + 0x2f3fbc) + 0x4d14);\n              if (piVar14[7] != 0) {\n                (**(code **)(pcVar26 + 0x2f46d8))(piVar14[7] + 0x20,0xffffffff);\n              }\n              (**(code **)(pcVar26 + 0x2f3834))(iVar3);\n              return;\n            }" if (parenthesized_expression "((uint)(piVar14[0xf] - piVar14[0xe] >> 2) <= uVar19)" ( (binary_expression "(uint)(piVar14[0xf] - piVar14[0xe] >> 2) <= uVar19" (call_expression "(uint)(piVar14[0xf] - piVar14[0xe] >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar14[0xf] - piVar14[0xe] >> 2)" ( (binary_expression "piVar14[0xf] - piVar14[0xe] >> 2" (binary_expression "piVar14[0xf] - piVar14[0xe]" (subscript_expression "piVar14[0xf]" identifier [ number_literal ]) - (subscript_expression "piVar14[0xe]" identifier [ number_literal ])) >> number_literal) ))) <= identifier) )) (compound_statement "{\n              iVar3 = *(int *)(pcVar26 + 0x2f37e8) + 0x4570;\n              (**(code **)(pcVar26 + 0x2f3f9c))(iVar3,0x50b,*(int *)(pcVar26 + 0x2f3fbc) + 0x4d14);\n              if (piVar14[7] != 0) {\n                (**(code **)(pcVar26 + 0x2f46d8))(piVar14[7] + 0x20,0xffffffff);\n              }\n              (**(code **)(pcVar26 + 0x2f3834))(iVar3);\n              return;\n            }" { (expression_statement "iVar3 = *(int *)(pcVar26 + 0x2f37e8) + 0x4570;" (assignment_expression "iVar3 = *(int *)(pcVar26 + 0x2f37e8) + 0x4570" identifier = (binary_expression "*(int *)(pcVar26 + 0x2f37e8) + 0x4570" (pointer_expression "*(int *)(pcVar26 + 0x2f37e8)" * (cast_expression "(int *)(pcVar26 + 0x2f37e8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x2f37e8)" ( (binary_expression "pcVar26 + 0x2f37e8" identifier + number_literal) )))) + number_literal)) ;) (expression_statement "(**(code **)(pcVar26 + 0x2f3f9c))(iVar3,0x50b,*(int *)(pcVar26 + 0x2f3fbc) + 0x4d14);" (call_expression "(**(code **)(pcVar26 + 0x2f3f9c))(iVar3,0x50b,*(int *)(pcVar26 + 0x2f3fbc) + 0x4d14)" (parenthesized_expression "(**(code **)(pcVar26 + 0x2f3f9c))" ( (pointer_expression "**(code **)(pcVar26 + 0x2f3f9c)" * (pointer_expression "*(code **)(pcVar26 + 0x2f3f9c)" * (cast_expression "(code **)(pcVar26 + 0x2f3f9c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x2f3f9c)" ( (binary_expression "pcVar26 + 0x2f3f9c" identifier + number_literal) ))))) )) (argument_list "(iVar3,0x50b,*(int *)(pcVar26 + 0x2f3fbc) + 0x4d14)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar26 + 0x2f3fbc) + 0x4d14" (pointer_expression "*(int *)(pcVar26 + 0x2f3fbc)" * (cast_expression "(int *)(pcVar26 + 0x2f3fbc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar26 + 0x2f3fbc)" ( (binary_expression "pcVar26 + 0x2f3fbc" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (piVar14[7] != 0) {\n                (**(code **)(pcVar26 + 0x2f46d8))(piVar14[7] + 0x20,0xffffffff);\n              }" if (parenthesized_expression "(piVar14[7] != 0)" ( (binary_expression "piVar14[7] != 0" (subscript_expression "piVar14[7]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n                (**(code **)(pcVar26 + 0x2f46d8))(piVar14[7] + 0x20,0xffffffff);\n              }" { (expression_statement "(**(code **)(pcVar26 + 0x2f46d8))(piVar14[7] + 0x20,0xffffffff);" (call_expression "(**(code **)(pcVar26 + 0x2f46d8))(piVar14[7] + 0x20,0xffffffff)" (parenthesized_expression "(**(code **)(pcVar26 + 0x2f46d8))" ( (pointer_expression "**(code **)(pcVar26 + 0x2f46d8)" * (pointer_expression "*(code **)(pcVar26 + 0x2f46d8)" * (cast_expression "(code **)(pcVar26 + 0x2f46d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x2f46d8)" ( (binary_expression "pcVar26 + 0x2f46d8" identifier + number_literal) ))))) )) (argument_list "(piVar14[7] + 0x20,0xffffffff)" ( (binary_expression "piVar14[7] + 0x20" (subscript_expression "piVar14[7]" identifier [ number_literal ]) + number_literal) , number_literal ))) ;) })) (expression_statement "(**(code **)(pcVar26 + 0x2f3834))(iVar3);" (call_expression "(**(code **)(pcVar26 + 0x2f3834))(iVar3)" (parenthesized_expression "(**(code **)(pcVar26 + 0x2f3834))" ( (pointer_expression "**(code **)(pcVar26 + 0x2f3834)" * (pointer_expression "*(code **)(pcVar26 + 0x2f3834)" * (cast_expression "(code **)(pcVar26 + 0x2f3834)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x2f3834)" ( (binary_expression "pcVar26 + 0x2f3834" identifier + number_literal) ))))) )) (argument_list "(iVar3)" ( identifier ))) ;) (return_statement "return;" return ;) })) (if_statement "if (*(int *)(piVar14[0xe] + uVar19 * 4) != 0) goto LAB_001cdb30;" if (parenthesized_expression "(*(int *)(piVar14[0xe] + uVar19 * 4) != 0)" ( (binary_expression "*(int *)(piVar14[0xe] + uVar19 * 4) != 0" (pointer_expression "*(int *)(piVar14[0xe] + uVar19 * 4)" * (cast_expression "(int *)(piVar14[0xe] + uVar19 * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar14[0xe] + uVar19 * 4)" ( (binary_expression "piVar14[0xe] + uVar19 * 4" (subscript_expression "piVar14[0xe]" identifier [ number_literal ]) + (binary_expression "uVar19 * 4" identifier * number_literal)) )))) != number_literal) )) (goto_statement "goto LAB_001cdb30;" goto statement_identifier ;)) (if_statement "if (!bVar2) {\n              uVar23 = *puVar13;\n              uVar7 = (**(code **)(pcVar26 + 0x2f819c))(iVar3 + 0x4c60);\n              (**(code **)(pcVar26 + 0x2f80b4))(uVar23,uVar7);\n            }" if (parenthesized_expression "(!bVar2)" ( (unary_expression "!bVar2" ! identifier) )) (compound_statement "{\n              uVar23 = *puVar13;\n              uVar7 = (**(code **)(pcVar26 + 0x2f819c))(iVar3 + 0x4c60);\n              (**(code **)(pcVar26 + 0x2f80b4))(uVar23,uVar7);\n            }" { (expression_statement "uVar23 = *puVar13;" (assignment_expression "uVar23 = *puVar13" identifier = (pointer_expression "*puVar13" * identifier)) ;) (expression_statement "uVar7 = (**(code **)(pcVar26 + 0x2f819c))(iVar3 + 0x4c60);" (assignment_expression "uVar7 = (**(code **)(pcVar26 + 0x2f819c))(iVar3 + 0x4c60)" identifier = (call_expression "(**(code **)(pcVar26 + 0x2f819c))(iVar3 + 0x4c60)" (parenthesized_expression "(**(code **)(pcVar26 + 0x2f819c))" ( (pointer_expression "**(code **)(pcVar26 + 0x2f819c)" * (pointer_expression "*(code **)(pcVar26 + 0x2f819c)" * (cast_expression "(code **)(pcVar26 + 0x2f819c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x2f819c)" ( (binary_expression "pcVar26 + 0x2f819c" identifier + number_literal) ))))) )) (argument_list "(iVar3 + 0x4c60)" ( (binary_expression "iVar3 + 0x4c60" identifier + number_literal) )))) ;) (expression_statement "(**(code **)(pcVar26 + 0x2f80b4))(uVar23,uVar7);" (call_expression "(**(code **)(pcVar26 + 0x2f80b4))(uVar23,uVar7)" (parenthesized_expression "(**(code **)(pcVar26 + 0x2f80b4))" ( (pointer_expression "**(code **)(pcVar26 + 0x2f80b4)" * (pointer_expression "*(code **)(pcVar26 + 0x2f80b4)" * (cast_expression "(code **)(pcVar26 + 0x2f80b4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x2f80b4)" ( (binary_expression "pcVar26 + 0x2f80b4" identifier + number_literal) ))))) )) (argument_list "(uVar23,uVar7)" ( identifier , identifier ))) ;) })) (expression_statement "(*pcVar11)(puVar13,piVar14,uVar19);" (call_expression "(*pcVar11)(puVar13,piVar14,uVar19)" (parenthesized_expression "(*pcVar11)" ( (pointer_expression "*pcVar11" * identifier) )) (argument_list "(puVar13,piVar14,uVar19)" ( identifier , identifier , identifier ))) ;) (expression_statement "uVar19 = uVar19 + 1;" (assignment_expression "uVar19 = uVar19 + 1" identifier = (binary_expression "uVar19 + 1" identifier + number_literal)) ;) (expression_statement "bVar2 = true;" (assignment_expression "bVar2 = true" identifier = true) ;) }) while (parenthesized_expression "(uVar19 < uVar20)" ( (binary_expression "uVar19 < uVar20" identifier < identifier) )) ;) })) (labeled_statement "LAB_001cdbec:\n        if (piVar14[7] != 0) {\n          (**(code **)(pcVar26 + 0x2f46d8))(piVar14[7] + 0x20,0xffffffff);\n        }" statement_identifier : (if_statement "if (piVar14[7] != 0) {\n          (**(code **)(pcVar26 + 0x2f46d8))(piVar14[7] + 0x20,0xffffffff);\n        }" if (parenthesized_expression "(piVar14[7] != 0)" ( (binary_expression "piVar14[7] != 0" (subscript_expression "piVar14[7]" identifier [ number_literal ]) != number_literal) )) (compound_statement "{\n          (**(code **)(pcVar26 + 0x2f46d8))(piVar14[7] + 0x20,0xffffffff);\n        }" { (expression_statement "(**(code **)(pcVar26 + 0x2f46d8))(piVar14[7] + 0x20,0xffffffff);" (call_expression "(**(code **)(pcVar26 + 0x2f46d8))(piVar14[7] + 0x20,0xffffffff)" (parenthesized_expression "(**(code **)(pcVar26 + 0x2f46d8))" ( (pointer_expression "**(code **)(pcVar26 + 0x2f46d8)" * (pointer_expression "*(code **)(pcVar26 + 0x2f46d8)" * (cast_expression "(code **)(pcVar26 + 0x2f46d8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar26 + 0x2f46d8)" ( (binary_expression "pcVar26 + 0x2f46d8" identifier + number_literal) ))))) )) (argument_list "(piVar14[7] + 0x20,0xffffffff)" ( (binary_expression "piVar14[7] + 0x20" (subscript_expression "piVar14[7]" identifier [ number_literal ]) + number_literal) , number_literal ))) ;) }))) (expression_statement "puVar5 = (undefined4 *)puVar17[1];" (assignment_expression "puVar5 = (undefined4 *)puVar17[1]" identifier = (cast_expression "(undefined4 *)puVar17[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar17[1]" identifier [ number_literal ]))) ;) }))) (expression_statement "puVar24 = puVar24 + 1;" (assignment_expression "puVar24 = puVar24 + 1" identifier = (binary_expression "puVar24 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar5 != puVar24)" ( (binary_expression "puVar5 != puVar24" identifier != identifier) )) ;) })) (return_statement "return;" return ;) })))
(translation_unit "void gold::Mapfile::print_output_data(Output_data *param_1,char *param_2)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined4 in_a2;\n  undefined4 in_a3;\n  undefined1 auStack_50 [60];\n  \n  if (param_1[6] == (Output_data)0x0) {\n    FUN_001ccbf0();\n  }\n  (*(code *)PTR_putc_004c5acc)(0x20,*(undefined4 *)param_1);\n  (*(code *)PTR_fputs_004c5d2c)(in_a2,*(undefined4 *)param_1);\n  iVar1 = (*(code *)PTR_strlen_004c5b9c)(in_a2);\n  advance_to_column((Mapfile *)param_1,iVar1 + 1,0x10);\n  (*(code *)PTR_snprintf_004c5a94)\n            (auStack_50,0x32,PTR_s__s_004c1a50 + 0x4bf0,in_a3,*(undefined4 *)(param_2 + 0x10),\n             *(undefined4 *)(param_2 + 0x14));\n  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) != 0) {\n    iVar1 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar1 < 0) {\n      iVar1 = iVar1 + 3;\n    }\n    if (*(int *)(param_2 + 0x20) < 0) {\n      uVar3 = *(undefined4 *)(param_2 + 0xc);\n      uVar2 = *(undefined4 *)(param_2 + 8);\n    }\n    else {\n      uVar3 = 0;\n      uVar2 = 0;\n    }\n    (*(code *)PTR_fprintf_004c5b48)\n              (*(undefined4 *)param_1,PTR_s__s_004c1a50 + 0x4bf8,iVar1 >> 2,in_a3,uVar2,uVar3,\n               auStack_50);\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_s__s_004c1a50 + 0x4cf0);\n  return;\n}\n\n" (function_definition "void gold::Mapfile::print_output_data(Output_data *param_1,char *param_2)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined4 in_a2;\n  undefined4 in_a3;\n  undefined1 auStack_50 [60];\n  \n  if (param_1[6] == (Output_data)0x0) {\n    FUN_001ccbf0();\n  }\n  (*(code *)PTR_putc_004c5acc)(0x20,*(undefined4 *)param_1);\n  (*(code *)PTR_fputs_004c5d2c)(in_a2,*(undefined4 *)param_1);\n  iVar1 = (*(code *)PTR_strlen_004c5b9c)(in_a2);\n  advance_to_column((Mapfile *)param_1,iVar1 + 1,0x10);\n  (*(code *)PTR_snprintf_004c5a94)\n            (auStack_50,0x32,PTR_s__s_004c1a50 + 0x4bf0,in_a3,*(undefined4 *)(param_2 + 0x10),\n             *(undefined4 *)(param_2 + 0x14));\n  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) != 0) {\n    iVar1 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar1 < 0) {\n      iVar1 = iVar1 + 3;\n    }\n    if (*(int *)(param_2 + 0x20) < 0) {\n      uVar3 = *(undefined4 *)(param_2 + 0xc);\n      uVar2 = *(undefined4 *)(param_2 + 8);\n    }\n    else {\n      uVar3 = 0;\n      uVar2 = 0;\n    }\n    (*(code *)PTR_fprintf_004c5b48)\n              (*(undefined4 *)param_1,PTR_s__s_004c1a50 + 0x4bf8,iVar1 >> 2,in_a3,uVar2,uVar3,\n               auStack_50);\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_s__s_004c1a50 + 0x4cf0);\n  return;\n}" primitive_type (ERROR "gold::Mapfile::" identifier : : identifier : :) (function_declarator "print_output_data(Output_data *param_1,char *param_2)" identifier (parameter_list "(Output_data *param_1,char *param_2)" ( (parameter_declaration "Output_data *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "char *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined4 in_a2;\n  undefined4 in_a3;\n  undefined1 auStack_50 [60];\n  \n  if (param_1[6] == (Output_data)0x0) {\n    FUN_001ccbf0();\n  }\n  (*(code *)PTR_putc_004c5acc)(0x20,*(undefined4 *)param_1);\n  (*(code *)PTR_fputs_004c5d2c)(in_a2,*(undefined4 *)param_1);\n  iVar1 = (*(code *)PTR_strlen_004c5b9c)(in_a2);\n  advance_to_column((Mapfile *)param_1,iVar1 + 1,0x10);\n  (*(code *)PTR_snprintf_004c5a94)\n            (auStack_50,0x32,PTR_s__s_004c1a50 + 0x4bf0,in_a3,*(undefined4 *)(param_2 + 0x10),\n             *(undefined4 *)(param_2 + 0x14));\n  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) != 0) {\n    iVar1 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar1 < 0) {\n      iVar1 = iVar1 + 3;\n    }\n    if (*(int *)(param_2 + 0x20) < 0) {\n      uVar3 = *(undefined4 *)(param_2 + 0xc);\n      uVar2 = *(undefined4 *)(param_2 + 8);\n    }\n    else {\n      uVar3 = 0;\n      uVar2 = 0;\n    }\n    (*(code *)PTR_fprintf_004c5b48)\n              (*(undefined4 *)param_1,PTR_s__s_004c1a50 + 0x4bf8,iVar1 >> 2,in_a3,uVar2,uVar3,\n               auStack_50);\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_s__s_004c1a50 + 0x4cf0);\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (declaration "undefined4 in_a2;" type_identifier identifier ;) (declaration "undefined4 in_a3;" type_identifier identifier ;) (declaration "undefined1 auStack_50 [60];" type_identifier (array_declarator "auStack_50 [60]" identifier [ number_literal ]) ;) (if_statement "if (param_1[6] == (Output_data)0x0) {\n    FUN_001ccbf0();\n  }" if (parenthesized_expression "(param_1[6] == (Output_data)0x0)" ( (binary_expression "param_1[6] == (Output_data)0x0" (subscript_expression "param_1[6]" identifier [ number_literal ]) == (cast_expression "(Output_data)0x0" ( (type_descriptor "Output_data" type_identifier) ) number_literal)) )) (compound_statement "{\n    FUN_001ccbf0();\n  }" { (expression_statement "FUN_001ccbf0();" (call_expression "FUN_001ccbf0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "(*(code *)PTR_putc_004c5acc)(0x20,*(undefined4 *)param_1);" (call_expression "(*(code *)PTR_putc_004c5acc)(0x20,*(undefined4 *)param_1)" (parenthesized_expression "(*(code *)PTR_putc_004c5acc)" ( (pointer_expression "*(code *)PTR_putc_004c5acc" * (cast_expression "(code *)PTR_putc_004c5acc" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(0x20,*(undefined4 *)param_1)" ( number_literal , (pointer_expression "*(undefined4 *)param_1" * (cast_expression "(undefined4 *)param_1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "(*(code *)PTR_fputs_004c5d2c)(in_a2,*(undefined4 *)param_1);" (call_expression "(*(code *)PTR_fputs_004c5d2c)(in_a2,*(undefined4 *)param_1)" (parenthesized_expression "(*(code *)PTR_fputs_004c5d2c)" ( (pointer_expression "*(code *)PTR_fputs_004c5d2c" * (cast_expression "(code *)PTR_fputs_004c5d2c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(in_a2,*(undefined4 *)param_1)" ( identifier , (pointer_expression "*(undefined4 *)param_1" * (cast_expression "(undefined4 *)param_1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))) ;) (expression_statement "iVar1 = (*(code *)PTR_strlen_004c5b9c)(in_a2);" (assignment_expression "iVar1 = (*(code *)PTR_strlen_004c5b9c)(in_a2)" identifier = (call_expression "(*(code *)PTR_strlen_004c5b9c)(in_a2)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" ( (pointer_expression "*(code *)PTR_strlen_004c5b9c" * (cast_expression "(code *)PTR_strlen_004c5b9c" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(in_a2)" ( identifier )))) ;) (expression_statement "advance_to_column((Mapfile *)param_1,iVar1 + 1,0x10);" (call_expression "advance_to_column((Mapfile *)param_1,iVar1 + 1,0x10)" identifier (argument_list "((Mapfile *)param_1,iVar1 + 1,0x10)" ( (cast_expression "(Mapfile *)param_1" ( (type_descriptor "Mapfile *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , (binary_expression "iVar1 + 1" identifier + number_literal) , number_literal ))) ;) (expression_statement "(*(code *)PTR_snprintf_004c5a94)\n            (auStack_50,0x32,PTR_s__s_004c1a50 + 0x4bf0,in_a3,*(undefined4 *)(param_2 + 0x10),\n             *(undefined4 *)(param_2 + 0x14));" (call_expression "(*(code *)PTR_snprintf_004c5a94)\n            (auStack_50,0x32,PTR_s__s_004c1a50 + 0x4bf0,in_a3,*(undefined4 *)(param_2 + 0x10),\n             *(undefined4 *)(param_2 + 0x14))" (parenthesized_expression "(*(code *)PTR_snprintf_004c5a94)" ( (pointer_expression "*(code *)PTR_snprintf_004c5a94" * (cast_expression "(code *)PTR_snprintf_004c5a94" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(auStack_50,0x32,PTR_s__s_004c1a50 + 0x4bf0,in_a3,*(undefined4 *)(param_2 + 0x10),\n             *(undefined4 *)(param_2 + 0x14))" ( identifier , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x4bf0" identifier + number_literal) , identifier , (pointer_expression "*(undefined4 *)(param_2 + 0x10)" * (cast_expression "(undefined4 *)(param_2 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x10)" ( (binary_expression "param_2 + 0x10" identifier + number_literal) )))) , (pointer_expression "*(undefined4 *)(param_2 + 0x14)" * (cast_expression "(undefined4 *)(param_2 + 0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x14)" ( (binary_expression "param_2 + 0x14" identifier + number_literal) )))) ))) ;) (if_statement "if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) != 0) {\n    iVar1 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar1 < 0) {\n      iVar1 = iVar1 + 3;\n    }\n    if (*(int *)(param_2 + 0x20) < 0) {\n      uVar3 = *(undefined4 *)(param_2 + 0xc);\n      uVar2 = *(undefined4 *)(param_2 + 8);\n    }\n    else {\n      uVar3 = 0;\n      uVar2 = 0;\n    }\n    (*(code *)PTR_fprintf_004c5b48)\n              (*(undefined4 *)param_1,PTR_s__s_004c1a50 + 0x4bf8,iVar1 >> 2,in_a3,uVar2,uVar3,\n               auStack_50);\n    return;\n  }" if (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) != 0)" ( (binary_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) != 0" (pointer_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" * (cast_expression "(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_004c19b4 + 0xc" (pointer_expression "*(int *)PTR_parameters_004c19b4" * (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) != number_literal) )) (compound_statement "{\n    iVar1 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar1 < 0) {\n      iVar1 = iVar1 + 3;\n    }\n    if (*(int *)(param_2 + 0x20) < 0) {\n      uVar3 = *(undefined4 *)(param_2 + 0xc);\n      uVar2 = *(undefined4 *)(param_2 + 8);\n    }\n    else {\n      uVar3 = 0;\n      uVar2 = 0;\n    }\n    (*(code *)PTR_fprintf_004c5b48)\n              (*(undefined4 *)param_1,PTR_s__s_004c1a50 + 0x4bf8,iVar1 >> 2,in_a3,uVar2,uVar3,\n               auStack_50);\n    return;\n  }" { (expression_statement "iVar1 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);" (assignment_expression "iVar1 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" identifier = (pointer_expression "**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" * (pointer_expression "*(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" * (cast_expression "(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" ( (binary_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4" (pointer_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" * (cast_expression "(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 0xc)" ( (binary_expression "*(int *)PTR_parameters_004c19b4 + 0xc" (pointer_expression "*(int *)PTR_parameters_004c19b4" * (cast_expression "(int *)PTR_parameters_004c19b4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) + number_literal) )))) + number_literal) )))))) ;) (if_statement "if (iVar1 < 0) {\n      iVar1 = iVar1 + 3;\n    }" if (parenthesized_expression "(iVar1 < 0)" ( (binary_expression "iVar1 < 0" identifier < number_literal) )) (compound_statement "{\n      iVar1 = iVar1 + 3;\n    }" { (expression_statement "iVar1 = iVar1 + 3;" (assignment_expression "iVar1 = iVar1 + 3" identifier = (binary_expression "iVar1 + 3" identifier + number_literal)) ;) })) (if_statement "if (*(int *)(param_2 + 0x20) < 0) {\n      uVar3 = *(undefined4 *)(param_2 + 0xc);\n      uVar2 = *(undefined4 *)(param_2 + 8);\n    }\n    else {\n      uVar3 = 0;\n      uVar2 = 0;\n    }" if (parenthesized_expression "(*(int *)(param_2 + 0x20) < 0)" ( (binary_expression "*(int *)(param_2 + 0x20) < 0" (pointer_expression "*(int *)(param_2 + 0x20)" * (cast_expression "(int *)(param_2 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0x20)" ( (binary_expression "param_2 + 0x20" identifier + number_literal) )))) < number_literal) )) (compound_statement "{\n      uVar3 = *(undefined4 *)(param_2 + 0xc);\n      uVar2 = *(undefined4 *)(param_2 + 8);\n    }" { (expression_statement "uVar3 = *(undefined4 *)(param_2 + 0xc);" (assignment_expression "uVar3 = *(undefined4 *)(param_2 + 0xc)" identifier = (pointer_expression "*(undefined4 *)(param_2 + 0xc)" * (cast_expression "(undefined4 *)(param_2 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 0xc)" ( (binary_expression "param_2 + 0xc" identifier + number_literal) ))))) ;) (expression_statement "uVar2 = *(undefined4 *)(param_2 + 8);" (assignment_expression "uVar2 = *(undefined4 *)(param_2 + 8)" identifier = (pointer_expression "*(undefined4 *)(param_2 + 8)" * (cast_expression "(undefined4 *)(param_2 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 8)" ( (binary_expression "param_2 + 8" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      uVar3 = 0;\n      uVar2 = 0;\n    }" else (compound_statement "{\n      uVar3 = 0;\n      uVar2 = 0;\n    }" { (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" identifier = number_literal) ;) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" identifier = number_literal) ;) }))) (expression_statement "(*(code *)PTR_fprintf_004c5b48)\n              (*(undefined4 *)param_1,PTR_s__s_004c1a50 + 0x4bf8,iVar1 >> 2,in_a3,uVar2,uVar3,\n               auStack_50);" (call_expression "(*(code *)PTR_fprintf_004c5b48)\n              (*(undefined4 *)param_1,PTR_s__s_004c1a50 + 0x4bf8,iVar1 >> 2,in_a3,uVar2,uVar3,\n               auStack_50)" (parenthesized_expression "(*(code *)PTR_fprintf_004c5b48)" ( (pointer_expression "*(code *)PTR_fprintf_004c5b48" * (cast_expression "(code *)PTR_fprintf_004c5b48" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(*(undefined4 *)param_1,PTR_s__s_004c1a50 + 0x4bf8,iVar1 >> 2,in_a3,uVar2,uVar3,\n               auStack_50)" ( (pointer_expression "*(undefined4 *)param_1" * (cast_expression "(undefined4 *)param_1" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (binary_expression "PTR_s__s_004c1a50 + 0x4bf8" identifier + number_literal) , (binary_expression "iVar1 >> 2" identifier >> number_literal) , identifier , identifier , identifier , identifier ))) ;) (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_s__s_004c1a50 + 0x4cf0);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_s__s_004c1a50 + 0x4cf0)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_s__s_004c1a50 + 0x4cf0)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" identifier + number_literal) , number_literal , (binary_expression "PTR_s__s_004c1a50 + 0x4cf0" identifier + number_literal) ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT : : IDENT : :) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == (cast_expression ( (type_descriptor TYPE) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( LIT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) , (binary_expression IDENT + LIT) , LIT ))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , (binary_expression IDENT + LIT) , IDENT , (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) )))) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) + LIT) )))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_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 (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) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , (binary_expression IDENT + LIT) , (binary_expression IDENT >> LIT) , IDENT , IDENT , IDENT , IDENT ))) ;) (return_statement return ;) })) (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 ;) })))
(function_definition "void gold::Mapfile::print_output_data(Output_data *param_1,char *param_2)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined4 in_a2;\n  undefined4 in_a3;\n  undefined1 auStack_50 [60];\n  \n  if (param_1[6] == (Output_data)0x0) {\n    FUN_001ccbf0();\n  }\n  (*(code *)PTR_putc_004c5acc)(0x20,*(undefined4 *)param_1);\n  (*(code *)PTR_fputs_004c5d2c)(in_a2,*(undefined4 *)param_1);\n  iVar1 = (*(code *)PTR_strlen_004c5b9c)(in_a2);\n  advance_to_column((Mapfile *)param_1,iVar1 + 1,0x10);\n  (*(code *)PTR_snprintf_004c5a94)\n            (auStack_50,0x32,PTR_s__s_004c1a50 + 0x4bf0,in_a3,*(undefined4 *)(param_2 + 0x10),\n             *(undefined4 *)(param_2 + 0x14));\n  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) != 0) {\n    iVar1 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar1 < 0) {\n      iVar1 = iVar1 + 3;\n    }\n    if (*(int *)(param_2 + 0x20) < 0) {\n      uVar3 = *(undefined4 *)(param_2 + 0xc);\n      uVar2 = *(undefined4 *)(param_2 + 8);\n    }\n    else {\n      uVar3 = 0;\n      uVar2 = 0;\n    }\n    (*(code *)PTR_fprintf_004c5b48)\n              (*(undefined4 *)param_1,PTR_s__s_004c1a50 + 0x4bf8,iVar1 >> 2,in_a3,uVar2,uVar3,\n               auStack_50);\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_s__s_004c1a50 + 0x4cf0);\n  return;\n}" (primitive_type "void") (ERROR "gold::Mapfile::" (identifier "gold") (: ":") (: ":") (identifier "Mapfile") (: ":") (: ":")) (function_declarator "print_output_data(Output_data *param_1,char *param_2)" (identifier "print_output_data") (parameter_list "(Output_data *param_1,char *param_2)" (( "(") (parameter_declaration "Output_data *param_1" (type_identifier "Output_data") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "char *param_2" (primitive_type "char") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) () ")"))) (compound_statement "{\n  int iVar1;\n  undefined4 uVar2;\n  undefined4 uVar3;\n  undefined4 in_a2;\n  undefined4 in_a3;\n  undefined1 auStack_50 [60];\n  \n  if (param_1[6] == (Output_data)0x0) {\n    FUN_001ccbf0();\n  }\n  (*(code *)PTR_putc_004c5acc)(0x20,*(undefined4 *)param_1);\n  (*(code *)PTR_fputs_004c5d2c)(in_a2,*(undefined4 *)param_1);\n  iVar1 = (*(code *)PTR_strlen_004c5b9c)(in_a2);\n  advance_to_column((Mapfile *)param_1,iVar1 + 1,0x10);\n  (*(code *)PTR_snprintf_004c5a94)\n            (auStack_50,0x32,PTR_s__s_004c1a50 + 0x4bf0,in_a3,*(undefined4 *)(param_2 + 0x10),\n             *(undefined4 *)(param_2 + 0x14));\n  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) != 0) {\n    iVar1 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar1 < 0) {\n      iVar1 = iVar1 + 3;\n    }\n    if (*(int *)(param_2 + 0x20) < 0) {\n      uVar3 = *(undefined4 *)(param_2 + 0xc);\n      uVar2 = *(undefined4 *)(param_2 + 8);\n    }\n    else {\n      uVar3 = 0;\n      uVar2 = 0;\n    }\n    (*(code *)PTR_fprintf_004c5b48)\n              (*(undefined4 *)param_1,PTR_s__s_004c1a50 + 0x4bf8,iVar1 >> 2,in_a3,uVar2,uVar3,\n               auStack_50);\n    return;\n  }\n  (*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_s__s_004c1a50 + 0x4cf0);\n  return;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (declaration "undefined4 in_a2;" (type_identifier "undefined4") (identifier "in_a2") (; ";")) (declaration "undefined4 in_a3;" (type_identifier "undefined4") (identifier "in_a3") (; ";")) (declaration "undefined1 auStack_50 [60];" (type_identifier "undefined1") (array_declarator "auStack_50 [60]" (identifier "auStack_50") ([ "[") (number_literal "60") (] "]")) (; ";")) (if_statement "if (param_1[6] == (Output_data)0x0) {\n    FUN_001ccbf0();\n  }" (if "if") (parenthesized_expression "(param_1[6] == (Output_data)0x0)" (( "(") (binary_expression "param_1[6] == (Output_data)0x0" (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")) (== "==") (cast_expression "(Output_data)0x0" (( "(") (type_descriptor "Output_data" (type_identifier "Output_data")) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    FUN_001ccbf0();\n  }" ({ "{") (expression_statement "FUN_001ccbf0();" (call_expression "FUN_001ccbf0()" (identifier "FUN_001ccbf0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_putc_004c5acc)(0x20,*(undefined4 *)param_1);" (call_expression "(*(code *)PTR_putc_004c5acc)(0x20,*(undefined4 *)param_1)" (parenthesized_expression "(*(code *)PTR_putc_004c5acc)" (( "(") (pointer_expression "*(code *)PTR_putc_004c5acc" (* "*") (cast_expression "(code *)PTR_putc_004c5acc" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_putc_004c5acc"))) () ")")) (argument_list "(0x20,*(undefined4 *)param_1)" (( "(") (number_literal "0x20") (, ",") (pointer_expression "*(undefined4 *)param_1" (* "*") (cast_expression "(undefined4 *)param_1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) () ")"))) (; ";")) (expression_statement "(*(code *)PTR_fputs_004c5d2c)(in_a2,*(undefined4 *)param_1);" (call_expression "(*(code *)PTR_fputs_004c5d2c)(in_a2,*(undefined4 *)param_1)" (parenthesized_expression "(*(code *)PTR_fputs_004c5d2c)" (( "(") (pointer_expression "*(code *)PTR_fputs_004c5d2c" (* "*") (cast_expression "(code *)PTR_fputs_004c5d2c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fputs_004c5d2c"))) () ")")) (argument_list "(in_a2,*(undefined4 *)param_1)" (( "(") (identifier "in_a2") (, ",") (pointer_expression "*(undefined4 *)param_1" (* "*") (cast_expression "(undefined4 *)param_1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) () ")"))) (; ";")) (expression_statement "iVar1 = (*(code *)PTR_strlen_004c5b9c)(in_a2);" (assignment_expression "iVar1 = (*(code *)PTR_strlen_004c5b9c)(in_a2)" (identifier "iVar1") (= "=") (call_expression "(*(code *)PTR_strlen_004c5b9c)(in_a2)" (parenthesized_expression "(*(code *)PTR_strlen_004c5b9c)" (( "(") (pointer_expression "*(code *)PTR_strlen_004c5b9c" (* "*") (cast_expression "(code *)PTR_strlen_004c5b9c" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_strlen_004c5b9c"))) () ")")) (argument_list "(in_a2)" (( "(") (identifier "in_a2") () ")")))) (; ";")) (expression_statement "advance_to_column((Mapfile *)param_1,iVar1 + 1,0x10);" (call_expression "advance_to_column((Mapfile *)param_1,iVar1 + 1,0x10)" (identifier "advance_to_column") (argument_list "((Mapfile *)param_1,iVar1 + 1,0x10)" (( "(") (cast_expression "(Mapfile *)param_1" (( "(") (type_descriptor "Mapfile *" (type_identifier "Mapfile") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1")) (, ",") (binary_expression "iVar1 + 1" (identifier "iVar1") (+ "+") (number_literal "1")) (, ",") (number_literal "0x10") () ")"))) (; ";")) (expression_statement "(*(code *)PTR_snprintf_004c5a94)\n            (auStack_50,0x32,PTR_s__s_004c1a50 + 0x4bf0,in_a3,*(undefined4 *)(param_2 + 0x10),\n             *(undefined4 *)(param_2 + 0x14));" (call_expression "(*(code *)PTR_snprintf_004c5a94)\n            (auStack_50,0x32,PTR_s__s_004c1a50 + 0x4bf0,in_a3,*(undefined4 *)(param_2 + 0x10),\n             *(undefined4 *)(param_2 + 0x14))" (parenthesized_expression "(*(code *)PTR_snprintf_004c5a94)" (( "(") (pointer_expression "*(code *)PTR_snprintf_004c5a94" (* "*") (cast_expression "(code *)PTR_snprintf_004c5a94" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_snprintf_004c5a94"))) () ")")) (argument_list "(auStack_50,0x32,PTR_s__s_004c1a50 + 0x4bf0,in_a3,*(undefined4 *)(param_2 + 0x10),\n             *(undefined4 *)(param_2 + 0x14))" (( "(") (identifier "auStack_50") (, ",") (number_literal "0x32") (, ",") (binary_expression "PTR_s__s_004c1a50 + 0x4bf0" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0x4bf0")) (, ",") (identifier "in_a3") (, ",") (pointer_expression "*(undefined4 *)(param_2 + 0x10)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x10)" (( "(") (binary_expression "param_2 + 0x10" (identifier "param_2") (+ "+") (number_literal "0x10")) () ")")))) (, ",") (pointer_expression "*(undefined4 *)(param_2 + 0x14)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x14)" (( "(") (binary_expression "param_2 + 0x14" (identifier "param_2") (+ "+") (number_literal "0x14")) () ")")))) () ")"))) (; ";")) (if_statement "if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) != 0) {\n    iVar1 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar1 < 0) {\n      iVar1 = iVar1 + 3;\n    }\n    if (*(int *)(param_2 + 0x20) < 0) {\n      uVar3 = *(undefined4 *)(param_2 + 0xc);\n      uVar2 = *(undefined4 *)(param_2 + 8);\n    }\n    else {\n      uVar3 = 0;\n      uVar2 = 0;\n    }\n    (*(code *)PTR_fprintf_004c5b48)\n              (*(undefined4 *)param_1,PTR_s__s_004c1a50 + 0x4bf8,iVar1 >> 2,in_a3,uVar2,uVar3,\n               auStack_50);\n    return;\n  }" (if "if") (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) != 0)" (( "(") (binary_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) != 0" (pointer_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" (* "*") (cast_expression "(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 0xc)" (( "(") (binary_expression "*(int *)PTR_parameters_004c19b4 + 0xc" (pointer_expression "*(int *)PTR_parameters_004c19b4" (* "*") (cast_expression "(int *)PTR_parameters_004c19b4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_parameters_004c19b4"))) (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar1 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);\n    if (iVar1 < 0) {\n      iVar1 = iVar1 + 3;\n    }\n    if (*(int *)(param_2 + 0x20) < 0) {\n      uVar3 = *(undefined4 *)(param_2 + 0xc);\n      uVar2 = *(undefined4 *)(param_2 + 8);\n    }\n    else {\n      uVar3 = 0;\n      uVar2 = 0;\n    }\n    (*(code *)PTR_fprintf_004c5b48)\n              (*(undefined4 *)param_1,PTR_s__s_004c1a50 + 0x4bf8,iVar1 >> 2,in_a3,uVar2,uVar3,\n               auStack_50);\n    return;\n  }" ({ "{") (expression_statement "iVar1 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);" (assignment_expression "iVar1 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" (identifier "iVar1") (= "=") (pointer_expression "**(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" (* "*") (pointer_expression "*(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" (* "*") (cast_expression "(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4)" (( "(") (binary_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4" (pointer_expression "*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" (* "*") (cast_expression "(int *)(*(int *)PTR_parameters_004c19b4 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)PTR_parameters_004c19b4 + 0xc)" (( "(") (binary_expression "*(int *)PTR_parameters_004c19b4 + 0xc" (pointer_expression "*(int *)PTR_parameters_004c19b4" (* "*") (cast_expression "(int *)PTR_parameters_004c19b4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_parameters_004c19b4"))) (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "4")) () ")")))))) (; ";")) (if_statement "if (iVar1 < 0) {\n      iVar1 = iVar1 + 3;\n    }" (if "if") (parenthesized_expression "(iVar1 < 0)" (( "(") (binary_expression "iVar1 < 0" (identifier "iVar1") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      iVar1 = iVar1 + 3;\n    }" ({ "{") (expression_statement "iVar1 = iVar1 + 3;" (assignment_expression "iVar1 = iVar1 + 3" (identifier "iVar1") (= "=") (binary_expression "iVar1 + 3" (identifier "iVar1") (+ "+") (number_literal "3"))) (; ";")) (} "}"))) (if_statement "if (*(int *)(param_2 + 0x20) < 0) {\n      uVar3 = *(undefined4 *)(param_2 + 0xc);\n      uVar2 = *(undefined4 *)(param_2 + 8);\n    }\n    else {\n      uVar3 = 0;\n      uVar2 = 0;\n    }" (if "if") (parenthesized_expression "(*(int *)(param_2 + 0x20) < 0)" (( "(") (binary_expression "*(int *)(param_2 + 0x20) < 0" (pointer_expression "*(int *)(param_2 + 0x20)" (* "*") (cast_expression "(int *)(param_2 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0x20)" (( "(") (binary_expression "param_2 + 0x20" (identifier "param_2") (+ "+") (number_literal "0x20")) () ")")))) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      uVar3 = *(undefined4 *)(param_2 + 0xc);\n      uVar2 = *(undefined4 *)(param_2 + 8);\n    }" ({ "{") (expression_statement "uVar3 = *(undefined4 *)(param_2 + 0xc);" (assignment_expression "uVar3 = *(undefined4 *)(param_2 + 0xc)" (identifier "uVar3") (= "=") (pointer_expression "*(undefined4 *)(param_2 + 0xc)" (* "*") (cast_expression "(undefined4 *)(param_2 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 0xc)" (( "(") (binary_expression "param_2 + 0xc" (identifier "param_2") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "uVar2 = *(undefined4 *)(param_2 + 8);" (assignment_expression "uVar2 = *(undefined4 *)(param_2 + 8)" (identifier "uVar2") (= "=") (pointer_expression "*(undefined4 *)(param_2 + 8)" (* "*") (cast_expression "(undefined4 *)(param_2 + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 8)" (( "(") (binary_expression "param_2 + 8" (identifier "param_2") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n      uVar3 = 0;\n      uVar2 = 0;\n    }" (else "else") (compound_statement "{\n      uVar3 = 0;\n      uVar2 = 0;\n    }" ({ "{") (expression_statement "uVar3 = 0;" (assignment_expression "uVar3 = 0" (identifier "uVar3") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar2 = 0;" (assignment_expression "uVar2 = 0" (identifier "uVar2") (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "(*(code *)PTR_fprintf_004c5b48)\n              (*(undefined4 *)param_1,PTR_s__s_004c1a50 + 0x4bf8,iVar1 >> 2,in_a3,uVar2,uVar3,\n               auStack_50);" (call_expression "(*(code *)PTR_fprintf_004c5b48)\n              (*(undefined4 *)param_1,PTR_s__s_004c1a50 + 0x4bf8,iVar1 >> 2,in_a3,uVar2,uVar3,\n               auStack_50)" (parenthesized_expression "(*(code *)PTR_fprintf_004c5b48)" (( "(") (pointer_expression "*(code *)PTR_fprintf_004c5b48" (* "*") (cast_expression "(code *)PTR_fprintf_004c5b48" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_fprintf_004c5b48"))) () ")")) (argument_list "(*(undefined4 *)param_1,PTR_s__s_004c1a50 + 0x4bf8,iVar1 >> 2,in_a3,uVar2,uVar3,\n               auStack_50)" (( "(") (pointer_expression "*(undefined4 *)param_1" (* "*") (cast_expression "(undefined4 *)param_1" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "param_1"))) (, ",") (binary_expression "PTR_s__s_004c1a50 + 0x4bf8" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0x4bf8")) (, ",") (binary_expression "iVar1 >> 2" (identifier "iVar1") (>> ">>") (number_literal "2")) (, ",") (identifier "in_a3") (, ",") (identifier "uVar2") (, ",") (identifier "uVar3") (, ",") (identifier "auStack_50") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_s__s_004c1a50 + 0x4cf0);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n            (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_s__s_004c1a50 + 0x4cf0)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_s__s_004c1a50 + 0x4cf0)" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "-0x9b8")) (, ",") (number_literal "0x69") (, ",") (binary_expression "PTR_s__s_004c1a50 + 0x4cf0" (identifier "PTR_s__s_004c1a50") (+ "+") (number_literal "0x4cf0")) () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) (ERROR (identifier) (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (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 (number_literal) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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) (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)) (binary_expression left: (identifier) right: (number_literal)) (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) (number_literal) (binary_expression left: (identifier) right: (number_literal)) (identifier) (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)))))))) (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))) right: (number_literal))))) right: (number_literal)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_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 (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_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 (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier))) (binary_expression left: (identifier) right: (number_literal)) (binary_expression left: (identifier) right: (number_literal)) (identifier) (identifier) (identifier) (identifier)))) (return_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))))

/* gold::Mapfile::MASKED(gold::Output_data const*, char const*) */

void gold::Mapfile::MASKED(Output_data *param_1,char *param_2)

{
  int iVar1;
  undefined4 uVar2;
  undefined4 uVar3;
  undefined4 in_a2;
  undefined4 in_a3;
  undefined1 auStack_50 [60];
  
  if (param_1[6] == (Output_data)0x0) {
    FUN_001ccbf0();
  }
  (*(code *)PTR_putc_004c5acc)(0x20,*(undefined4 *)param_1);
  (*(code *)PTR_fputs_004c5d2c)(in_a2,*(undefined4 *)param_1);
  iVar1 = (*(code *)PTR_strlen_004c5b9c)(in_a2);
  advance_to_column((Mapfile *)param_1,iVar1 + 1,0x10);
  (*(code *)PTR_snprintf_004c5a94)
            (auStack_50,0x32,PTR_s__s_004c1a50 + 0x4bf0,in_a3,*(undefined4 *)(param_2 + 0x10),
             *(undefined4 *)(param_2 + 0x14));
  if (*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) != 0) {
    iVar1 = **(int **)(*(int *)(*(int *)PTR_parameters_004c19b4 + 0xc) + 4);
    if (iVar1 < 0) {
      iVar1 = iVar1 + 3;
    }
    if (*(int *)(param_2 + 0x20) < 0) {
      uVar3 = *(undefined4 *)(param_2 + 0xc);
      uVar2 = *(undefined4 *)(param_2 + 8);
    }
    else {
      uVar3 = 0;
      uVar2 = 0;
    }
    (*(code *)PTR_fprintf_004c5b48)
              (*(undefined4 *)param_1,PTR_s__s_004c1a50 + 0x4bf8,iVar1 >> 2,in_a3,uVar2,uVar3,
               auStack_50);
    return;
  }
  (*(code *)PTR_do_gold_unreachable_004c1a30)
            (PTR_s_ral_options14Struct_no_crefE_004c127c + -0x9b8,0x69,PTR_s__s_004c1a50 + 0x4cf0);
  return;
}

