
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: Value_type compute_final_value<64>(Symbol_table * this,
   Sized_symbol<64> * sym, Compute_final_value_status * pstatus) */

Value_type __thiscall
gold::Symbol_table::compute_final_value<64>
          (Symbol_table *this,Sized_symbol<64> *sym,Compute_final_value_status *pstatus)

{
  pointer *pppOVar1;
  uint64_t *puVar2;
  pointer ppOVar3;
  _func_int_varargs *p_Var4;
  pointer ppOVar5;
  byte bVar6;
  uint uVar7;
  int *piVar8;
  int iVar9;
  uint extraout_EDX;
  uint extraout_EDX_00;
  int iVar10;
  int extraout_EDX_01;
  Output_segment *pOVar11;
  uint uVar12;
  bool bVar13;
  longlong lVar14;
  Value_type VVar15;
  Symbol *in_stack_ffffffb4;
  Parameters *in_stack_ffffffb8;
  Output_section *local_40;
  uint local_3c;
  uint local_38;
  Output_segment *local_24;
  uint uStack_20;
  
  bVar6 = (sym->super_Symbol).field_0x2a;
  switch(bVar6 & 7) {
  case 0:
    if ((bVar6 & 7) != 0) {
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");
    }
    uVar7 = (sym->super_Symbol).u2_.shndx;
    bVar6 = (byte)(sym->super_Symbol).field_0x2b >> 5 & 1;
    if ((uVar7 != 0xfff1) && (bVar6 == 0)) {
      bVar13 = Symbol::is_common_shndx(uVar7);
      if (!bVar13) {
        *pstatus = CFVS_UNSUPPORTED_SYMBOL_SECTION;
        return 0;
      }
      if (((sym->super_Symbol).field_0x2a & 7) != 0) {
                    /* WARNING: Subroutine does not return */
        do_gold_unreachable("../../gold/symtab.h",0xa1,"object");
      }
    }
    pOVar11 = (sym->super_Symbol).u1_.output_segment;
    if ((((((Object *)pOVar11->output_lists_)->field_0x2c & 1) != 0) ||
        (iVar9 = (*((Object *)pOVar11->output_lists_)->_vptr_Object[5])(pOVar11), iVar9 != 0)) ||
       (uVar7 == 0)) goto _L737;
    if ((bVar6 != 0) || ((uVar7 != 0xfff1 && (bVar13 = Symbol::is_common_shndx(uVar7), !bVar13)))) {
      p_Var4 = ((Object *)pOVar11->output_lists_)->_vptr_Object[0x18];
      if (p_Var4 == Relobj::do_output_section) {
        ppOVar5 = (((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->
                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)
                  ._M_impl._M_start;
        if ((uint)((int)(((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->
                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                        )._M_impl._M_finish - (int)ppOVar5 >> 2) <= uVar7) goto LAB_0017c850;
        local_40 = ppOVar5[uVar7];
      }
      else {
        local_40 = (Output_section *)(*p_Var4)(pOVar11,uVar7);
      }
      bVar13 = is_section_folded(this,(Relobj *)pOVar11,uVar7);
      if (bVar13) {
        if (local_40 != (Output_section *)0x0) {
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable("../../gold/symtab.cc",0xb0c,"compute_final_value");
        }
        Icf::get_folded_section(this->icf_,(Relobj *)pOVar11,uVar7);
        if (local_24 == (Output_segment *)0x0) {
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable("../../gold/symtab.cc",0xb10,"compute_final_value");
        }
        p_Var4 = ((Object *)local_24->output_lists_)->_vptr_Object[0x18];
        if (p_Var4 == Relobj::do_output_section) {
          ppOVar5 = (((Output_sections *)((Object *)local_24->output_lists_ + 1))->
                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                    )._M_impl._M_start;
          if ((uint)((int)(((Output_sections *)((Object *)local_24->output_lists_ + 1))->
                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>
                          )._M_impl._M_finish - (int)ppOVar5 >> 2) <= uStack_20) {
LAB_0017c850:
                    /* WARNING: Subroutine does not return */
            do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");
          }
          local_40 = ppOVar5[uStack_20];
        }
        else {
          local_40 = (Output_section *)(*p_Var4)(local_24,uStack_20,local_24,local_24);
        }
        if (local_40 == (Output_section *)0x0) {
                    /* WARNING: Subroutine does not return */
          do_gold_unreachable("../../gold/symtab.cc",0xb15,"compute_final_value");
        }
        local_3c = (*((Object *)local_24->output_lists_)->_vptr_Object[0x1a])(local_24,uStack_20);
        uVar7 = uStack_20;
        pOVar11 = local_24;
        local_38 = extraout_EDX;
      }
      else {
        local_3c = (*((Object *)pOVar11->output_lists_)->_vptr_Object[0x1a])(pOVar11,uVar7);
        local_38 = extraout_EDX_00;
        if (local_40 == (Output_section *)0x0) {
          if (parameters->doing_static_link_valid_ == false) {
                    /* WARNING: Subroutine does not return */
            Parameters::doing_static_link((Parameters *)in_stack_ffffffb4,in_stack_ffffffb8);
          }
          if (parameters->doing_static_link_ == false) {
            if (parameters->options_ == (General_options *)0x0) {
LAB_0017c83a:
                    /* WARNING: Subroutine does not return */
              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
            }
            if ((parameters->options_->relocatable_).value == false) {
              uVar7 = (sym->super_Symbol).dynsym_index_;
              if (uVar7 == 0) {
                Symbol::dynsym_index(in_stack_ffffffb4);
                goto LAB_0017c83a;
              }
              if (uVar7 != 0xffffffff) {
                    /* WARNING: Subroutine does not return */
                do_gold_unreachable("../../gold/symtab.cc",0xb21,"compute_final_value");
              }
            }
          }
          *pstatus = CFVS_NO_OUTPUT_SECTION;
          return 0;
        }
      }
      iVar9 = *(int *)((int)&sym->value_ + 4);
      uVar12 = (uint)sym->value_;
      if ((local_38 & local_3c) == 0xffffffff) {
        VVar15 = Output_section::output_address(local_40,(Relobj *)pOVar11,uVar7,sym->value_);
      }
      else if (((sym->super_Symbol).field_0x28 & 0xf) == 6) {
        p_Var4 = (local_40->super_Output_data)._vptr_Output_data[0x12];
        if (p_Var4 == Output_section::do_tls_offset) {
          uVar7 = (uint)local_40->tls_offset_;
          iVar10 = *(int *)((int)&local_40->tls_offset_ + 4);
        }
        else {
          uVar7 = (*p_Var4)(local_40);
          iVar10 = extraout_EDX_01;
        }
        VVar15 = CONCAT44(iVar10 + iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +
                          (uint)CARRY4(uVar7,uVar12 + local_3c),uVar7 + uVar12 + local_3c);
      }
      else {
        if (((local_40->super_Output_data).field_0x1c & 1) == 0) goto LAB_0017c7b3;
        puVar2 = &(local_40->super_Output_data).address_;
        VVar15 = CONCAT44(iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +
                          *(int *)((int)&(local_40->super_Output_data).address_ + 4) +
                          (uint)CARRY4(uVar12 + local_3c,(uint)*puVar2),
                          uVar12 + local_3c + (int)*puVar2);
      }
      break;
    }
  case 3:
    VVar15 = sym->value_;
    break;
  case 1:
    if ((bVar6 & 7) != 1) {
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/symtab.h",0xb5,"output_data");
    }
    pOVar11 = (sym->super_Symbol).u1_.output_segment;
    uVar7 = (uint)sym->value_;
    iVar9 = *(int *)((int)&sym->value_ + 4);
    if (((sym->super_Symbol).field_0x28 & 0xf) == 6) {
      piVar8 = (int *)(*(code *)pOVar11->output_lists_[0].
                                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>
                                ._M_impl._M_start[9])(pOVar11);
      if (piVar8 == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
        do_gold_unreachable("../../gold/symtab.cc",0xb43,"compute_final_value");
      }
      if (*(code **)(*piVar8 + 0x48) == Output_section::do_tls_offset) {
        lVar14 = *(longlong *)(piVar8 + 0x25);
      }
      else {
        lVar14 = (**(code **)(*piVar8 + 0x48))(piVar8);
      }
      bVar6 = *(byte *)&pOVar11->output_lists_[2].
                        super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.
                        _M_impl._M_finish;
      if ((bVar6 & 1) == 0) {
LAB_0017c7b3:
                    /* WARNING: Subroutine does not return */
        do_gold_unreachable("../../gold/output.h",0xc5,"address");
      }
      ppOVar3 = pOVar11->output_lists_[0].
                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.
                _M_finish;
      if ((*(byte *)(piVar8 + 7) & 1) == 0) goto LAB_0017c7b3;
      uVar12 = uVar7 + (int)ppOVar3;
      VVar15 = lVar14 + CONCAT44((int)pOVar11->output_lists_[0].
                                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>
                                      ._M_impl._M_end_of_storage +
                                 ((((uint)CARRY4(uVar7,(uint)ppOVar3) + iVar9) - piVar8[2]) -
                                 (uint)(uVar12 < (uint)piVar8[1])),uVar12 - piVar8[1]);
      if (((sym->super_Symbol).field_0x2a & 7) != 1) {
                    /* WARNING: Subroutine does not return */
        do_gold_unreachable("../../gold/symtab.h",0xbe,"offset_is_from_end");
      }
    }
    else {
      bVar6 = *(byte *)&pOVar11->output_lists_[2].
                        super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.
                        _M_impl._M_finish;
      if ((bVar6 & 1) == 0) goto LAB_0017c7b3;
      pppOVar1 = &pOVar11->output_lists_[0].
                  super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.
                  _M_impl._M_finish;
      VVar15 = CONCAT44((int)pOVar11->output_lists_[0].
                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>
                             ._M_impl._M_end_of_storage +
                        (uint)CARRY4(uVar7,(uint)*pppOVar1) + iVar9,uVar7 + (int)*pppOVar1);
    }
    if ((sym->super_Symbol).u2_.offset_is_from_end != false) {
      if ((bVar6 & 2) == 0) {
                    /* WARNING: Subroutine does not return */
        do_gold_unreachable("../../gold/output.h",0xcf,"data_size");
      }
      VVar15 = CONCAT44((int)pOVar11->output_lists_[1].
                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>
                             ._M_impl._M_finish +
                        (uint)CARRY4((uint)VVar15,
                                     (uint)pOVar11->output_lists_[1].
                                           super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>
                                           ._M_impl._M_start) + (int)(VVar15 >> 0x20),
                        (uint)VVar15 +
                        (int)pOVar11->output_lists_[1].
                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>
                             ._M_impl._M_start);
    }
    break;
  case 2:
    if ((bVar6 & 7) != 2) {
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/symtab.h",200,"output_segment");
    }
    pOVar11 = (sym->super_Symbol).u1_.output_segment;
    uVar7 = (uint)sym->value_;
    iVar9 = *(int *)((int)&sym->value_ + 4);
    if (((sym->super_Symbol).field_0x28 & 0xf) != 6) {
      bVar13 = CARRY4(uVar7,(uint)pOVar11->vaddr_);
      uVar7 = uVar7 + (int)pOVar11->vaddr_;
      iVar9 = iVar9 + *(int *)((int)&pOVar11->vaddr_ + 4) + (uint)bVar13;
    }
    VVar15 = CONCAT44(iVar9,uVar7);
    uVar12 = (sym->super_Symbol).u2_.shndx;
    if (uVar12 == 1) {
      VVar15 = CONCAT44(iVar9 + *(int *)((int)&pOVar11->memsz_ + 4) +
                        (uint)CARRY4(uVar7,(uint)pOVar11->memsz_),uVar7 + (int)pOVar11->memsz_);
    }
    else if (uVar12 != 0) {
      if (uVar12 != 2) {
                    /* WARNING: Subroutine does not return */
        do_gold_unreachable("../../gold/symtab.cc",0xb5c,"compute_final_value");
      }
      VVar15 = CONCAT44(iVar9 + *(int *)((int)&pOVar11->filesz_ + 4) +
                        (uint)CARRY4(uVar7,(uint)pOVar11->filesz_),uVar7 + (int)pOVar11->filesz_);
    }
    break;
  case 4:
_L737:
    VVar15 = 0;
    break;
  default:
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/symtab.cc",0xb6a,"compute_final_value");
  }
  *pstatus = CFVS_OK;
  return VVar15;
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

uint FUN_0017c200(int param_1,int *param_2,undefined4 *param_3)

{
  int iVar1;
  code *pcVar2;
  byte bVar3;
  char cVar4;
  int *piVar5;
  int iVar6;
  uint uVar7;
  int *piVar8;
  int *in_ECX;
  undefined4 extraout_ECX;
  int **ppiVar9;
  int **ppiVar10;
  bool bVar11;
  undefined8 uVar12;
  undefined8 uVar13;
  int *piStack_50;
  undefined1 auStack_4c [8];
  int iStack_44;
  undefined1 auStack_40 [8];
  int *piStack_38;
  int *piStack_34;
  int *piStack_30;
  undefined8 uStack_2c;
  int *apiStack_24 [4];
  undefined4 uStack_14;
  
  uStack_14 = 0x17c209;
  bVar3 = *(byte *)((int)param_2 + 0x2a);
  piVar5 = (int *)(bVar3 & 7);
  switch(piVar5) {
  case (int *)0x0:
    if ((bVar3 & 7) != 0) {
      piStack_50 = piVar5;
                    /* WARNING: Subroutine does not return */
      FUN_00069d00("../../gold/symtab.h",0xaa,"shndx");
    }
    auStack_40._0_4_ = param_2[3];
    bVar3 = *(byte *)((int)param_2 + 0x2b) >> 5 & 1;
    if (((int *)auStack_40._0_4_ != (int *)0xfff1) && (bVar3 == 0)) {
      piVar5 = (int *)FUN_00177470(auStack_40._0_4_);
      if ((char)piVar5 == '\0') {
        *param_3 = 1;
        return 0;
      }
      if ((*(byte *)((int)param_2 + 0x2a) & 7) != 0) {
        piStack_50 = piVar5;
                    /* WARNING: Subroutine does not return */
        FUN_00069d00("../../gold/symtab.h",0xa1,"object");
      }
    }
    ppiVar10 = (int **)auStack_4c;
    ppiVar9 = (int **)auStack_4c;
    piVar5 = (int *)param_2[2];
    if ((((*(byte *)(piVar5 + 0xb) & 1) != 0) ||
        (iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0)) ||
       ((int *)auStack_40._0_4_ == (int *)0x0)) goto code_r0x0017c290;
    if ((bVar3 != 0) ||
       (((int *)auStack_40._0_4_ != (int *)0xfff1 &&
        (cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0')))) {
      if (*(code **)(*piVar5 + 0x60) == FUN_0003bac0) {
        piVar8 = (int *)(piVar5[0xf] - piVar5[0xe] >> 2);
        if (piVar8 <= (uint)auStack_40._0_4_) goto code_r0x0017c850;
        auStack_40._4_4_ = auStack_40._0_4_;
        auStack_40._0_4_ = *(int *)(piVar5[0xe] + auStack_40._0_4_ * 4);
      }
      else {
        auStack_40._4_4_ = auStack_40._0_4_;
        auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_);
      }
      cVar4 = FUN_00177870(param_1,piVar5,auStack_40._4_4_);
      if (cVar4 == '\0') {
        piStack_34 = (int *)auStack_40._4_4_;
        uVar13 = (**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_);
        auStack_40._4_4_ = (int)uVar13;
        uVar12 = CONCAT44((int)uVar13,auStack_40._0_4_);
        piStack_38 = (int *)((ulonglong)uVar13 >> 0x20);
        piVar8 = piStack_34;
        if (auStack_40._0_4_ == 0) {
          unique0x100005d7 = uVar13;
          if (*(char *)(DAT_0038f378 + 0x10) == '\0') {
            piStack_50 = (int *)&UNK_0017c81c;
            piStack_50 = (int *)FUN_00176fe0();
code_r0x0017c81c:
                    /* WARNING: Subroutine does not return */
            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");
          }
          if (*(char *)(DAT_0038f378 + 0x11) == '\0') {
            piStack_50 = *(int **)(DAT_0038f378 + 8);
            if (piStack_50 == (int *)0x0) {
code_r0x0017c83a:
                    /* WARNING: Subroutine does not return */
              FUN_00069d00("../../gold/parameters.h",0x5c,"options");
            }
            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {
              piStack_50 = (int *)param_2[5];
              if (piStack_50 == (int *)0x0) {
                piStack_50 = (int *)&UNK_0017c83a;
                piStack_50 = (int *)FUN_00177010();
                goto code_r0x0017c83a;
              }
              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;
            }
          }
          *param_3 = 2;
          return 0;
        }
      }
      else {
        if (auStack_40._0_4_ != 0) {
          piStack_50 = param_2;
                    /* WARNING: Subroutine does not return */
          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");
        }
        piStack_50 = (int *)auStack_40._4_4_;
        FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5);
        piVar5 = uStack_2c._4_4_;
        auStack_40._0_4_ = apiStack_24[0];
        ppiVar10 = &piStack_50;
        if (uStack_2c._4_4_ == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);
        }
        if (*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0) {
          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);
          if (piVar8 <= apiStack_24[0]) {
code_r0x0017c850:
            *(int **)((int)ppiVar10 + -4) = piVar8;
            *(char **)((int)ppiVar10 + -8) = "do_output_section";
            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;
            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";
                    /* WARNING: Subroutine does not return */
            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;
            FUN_00069d00();
          }
          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);
          piVar8 = uStack_2c._4_4_;
        }
        else {
          piStack_30 = uStack_2c._4_4_;
          piStack_38 = apiStack_24[0];
          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))
                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);
          apiStack_24[0] = piStack_38;
          piVar8 = piStack_30;
        }
        ppiVar9 = &piStack_50;
        if (iStack_44 == 0) {
                    /* WARNING: Subroutine does not return */
          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);
        }
        piStack_38 = apiStack_24[0];
        uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_);
        auStack_40 = (undefined1  [8])uVar12;
        piVar8 = piStack_38;
      }
      iVar6 = param_2[0xc];
      *(int *)((int)ppiVar9 + 0x1c) = param_2[0xd];
      *(int *)((int)ppiVar9 + 0x18) = iVar6;
      auStack_40 = (undefined1  [8])uVar12;
      if ((*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10)) == 0xffffffff) {
        *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0x1c);
        *(undefined4 *)((int)ppiVar9 + -0x14) = *(undefined4 *)((int)ppiVar9 + 0x18);
        *(int **)((int)ppiVar9 + -0x18) = piVar8;
        *(int **)((int)ppiVar9 + -0x1c) = piVar5;
        *(undefined4 *)((int)ppiVar9 + -0x20) = *(undefined4 *)((int)ppiVar9 + 0xc);
        *(undefined **)((int)ppiVar9 + -0x24) = &UNK_0017c717;
        uVar7 = FUN_000f5920();
      }
      else if ((*(byte *)(param_2 + 10) & 0xf) == 6) {
        pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);
        if (pcVar2 == FUN_000b3000) {
          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];
        }
        else {
          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);
          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;
          iVar6 = (*pcVar2)();
        }
        uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);
      }
      else {
        uVar7 = *(uint *)((int)ppiVar9 + 0xc);
        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;
        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +
                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);
      }
      break;
    }
  case (int *)0x3:
    uVar7 = param_2[0xc];
    ppiVar9 = (int **)auStack_4c;
    break;
  case (int *)0x1:
    if ((bVar3 & 7) != 1) {
      piStack_50 = piVar5;
                    /* WARNING: Subroutine does not return */
      FUN_00069d00("../../gold/symtab.h",0xb5,"output_data");
    }
    auStack_40._0_4_ = param_2[2];
    iVar6 = param_2[0xc];
    piVar5 = (int *)param_2[0xd];
    if ((*(byte *)(param_2 + 10) & 0xf) == 6) {
      piStack_34 = (int *)(**(code **)(*(int *)auStack_40._0_4_ + 0x24))(auStack_40._0_4_);
      if (piStack_34 == (int *)0x0) {
        piStack_50 = piVar5;
                    /* WARNING: Subroutine does not return */
        FUN_00069d00("../../gold/symtab.cc",0xb43,"compute_final_value");
      }
      if (*(code **)(*piStack_34 + 0x48) == FUN_000b3000) {
        uStack_2c = *(undefined8 *)(piStack_34 + 0x25);
      }
      else {
        uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34);
      }
      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);
      uVar7 = (uint)bVar3;
      auStack_40[4] = bVar3;
      ppiVar9 = (int **)auStack_4c;
      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);
      if (((bVar3 & 1) == 0) ||
         (uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,
         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0)
         ) goto code_r0x0017c7b3;
      uVar7 = (int)uStack_2c + ((iVar6 + uVar7) - piStack_34[1]);
      piStack_50 = (int *)(*(byte *)((int)param_2 + 0x2a) & 7);
      if ((char)piStack_50 != '\x01') {
                    /* WARNING: Subroutine does not return */
        FUN_00069d00("../../gold/symtab.h",0xbe,"offset_is_from_end");
      }
    }
    else {
      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);
      uVar7 = (uint)bVar3;
      auStack_40[4] = bVar3;
      ppiVar9 = (int **)auStack_4c;
      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);
      if ((bVar3 & 1) == 0) {
code_r0x0017c7b3:
        *(uint *)((int)ppiVar9 + -4) = uVar7;
        *(char **)((int)ppiVar9 + -8) = "address";
        *(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5;
        *(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h";
                    /* WARNING: Subroutine does not return */
        *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc;
        auStack_40 = (undefined1  [8])uVar12;
        FUN_00069d00();
      }
      uVar7 = iVar6 + *(int *)(auStack_40._0_4_ + 4);
    }
    ppiVar9 = (int **)auStack_4c;
    if ((char)param_2[3] != '\0') {
      if ((auStack_40._4_4_ & 2) == 0) {
        piStack_50 = param_2;
                    /* WARNING: Subroutine does not return */
        FUN_00069d00("../../gold/output.h",0xcf,"data_size");
      }
      uVar7 = uVar7 + *(int *)(auStack_40._0_4_ + 0xc);
      ppiVar9 = (int **)auStack_4c;
    }
    break;
  case (int *)0x2:
    if ((bVar3 & 7) != 2) {
      piStack_50 = in_ECX;
                    /* WARNING: Subroutine does not return */
      FUN_00069d00("../../gold/symtab.h",200,"output_segment");
    }
    iVar6 = param_2[2];
    uVar7 = param_2[0xc];
    piStack_50 = (int *)param_2[0xd];
    if ((*(byte *)(param_2 + 10) & 0xf) != 6) {
      bVar11 = CARRY4(uVar7,*(uint *)(iVar6 + 0x15c));
      uVar7 = uVar7 + *(uint *)(iVar6 + 0x15c);
      piStack_50 = (int *)((int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160));
    }
    iVar1 = param_2[3];
    if (iVar1 == 1) {
      uVar7 = uVar7 + *(int *)(iVar6 + 0x16c);
      ppiVar9 = (int **)auStack_4c;
    }
    else {
      ppiVar9 = (int **)auStack_4c;
      if (iVar1 != 0) {
        if (iVar1 != 2) {
                    /* WARNING: Subroutine does not return */
          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");
        }
        uVar7 = uVar7 + *(int *)(iVar6 + 0x18c);
        ppiVar9 = (int **)auStack_4c;
      }
    }
    break;
  case (int *)0x4:
code_r0x0017c290:
    uVar7 = 0;
    ppiVar9 = (int **)auStack_4c;
    break;
  default:
    piStack_50 = piVar5;
                    /* WARNING: Subroutine does not return */
    FUN_00069d00("../../gold/symtab.cc",0xb6a,"compute_final_value");
  }
  **(undefined4 **)((int)ppiVar9 + 0x58) = 0;
  return uVar7;
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00035840
ADD EBX,0x212df7
SUB ESP,0x3c
MOV ESI,dword ptr [ESP + 0x54]
MOVZX EDX,byte ptr [ESI + 0x2a]
MOV EAX,EDX
AND EAX,0x7
CMP AL,0x4
JA 0x0017c741
MOVZX EAX,AL
MOV EDI,dword ptr [EBX + EAX*0x4 + 0xfff0aa18]
ADD EDI,EBX
JMP EDI
PUSH EAX
LEA EAX,[EBX + 0xfff0b024]
PUSH EAX
LEA EAX,[EBX + 0xfff0a871]
PUSH 0xb6a
PUSH EAX
CALL 0x00069d00
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nuint FUN_0017c200(int param_1,int *param_2,undefined4 *param_3)\n\n{\n  int iVar1;\n  code *pcVar2;\n  byte bVar3;\n  char cVar4;\n  int *piVar5;\n  int iVar6;\n  uint uVar7;\n  int *piVar8;\n  int *in_ECX;\n  undefined4 extraout_ECX;\n  int **ppiVar9;\n  int **ppiVar10;\n  bool bVar11;\n  undefined8 uVar12;\n  undefined8 uVar13;\n  int *piStack_50;\n  undefined1 auStack_4c [8];\n  int iStack_44;\n  undefined1 auStack_40 [8];\n  int *piStack_38;\n  int *piStack_34;\n  int *piStack_30;\n  undefined8 uStack_2c;\n  int *apiStack_24 [4];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x17c209;\n  bVar3 = *(byte *)((int)param_2 + 0x2a);\n  piVar5 = (int *)(bVar3 & 7);\n  switch(piVar5) {\n  case (int *)0x0:\n    if ((bVar3 & 7) != 0) {\n      piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/symtab.h",0xaa,"shndx");\n    }\n    auStack_40._0_4_ = param_2[3];\n    bVar3 = *(byte *)((int)param_2 + 0x2b) >> 5 & 1;\n    if (((int *)auStack_40._0_4_ != (int *)0xfff1) && (bVar3 == 0)) {\n      piVar5 = (int *)FUN_00177470(auStack_40._0_4_);\n      if ((char)piVar5 == '\0') {\n        *param_3 = 1;\n        return 0;\n      }\n      if ((*(byte *)((int)param_2 + 0x2a) & 7) != 0) {\n        piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/symtab.h",0xa1,"object");\n      }\n    }\n    ppiVar10 = (int **)auStack_4c;\n    ppiVar9 = (int **)auStack_4c;\n    piVar5 = (int *)param_2[2];\n    if ((((*(byte *)(piVar5 + 0xb) & 1) != 0) ||\n        (iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0)) ||\n       ((int *)auStack_40._0_4_ == (int *)0x0)) goto code_r0x0017c290;\n    if ((bVar3 != 0) ||\n       (((int *)auStack_40._0_4_ != (int *)0xfff1 &&\n        (cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0')))) {\n      if (*(code **)(*piVar5 + 0x60) == FUN_0003bac0) {\n        piVar8 = (int *)(piVar5[0xf] - piVar5[0xe] >> 2);\n        if (piVar8 <= (uint)auStack_40._0_4_) goto code_r0x0017c850;\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = *(int *)(piVar5[0xe] + auStack_40._0_4_ * 4);\n      }\n      else {\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_);\n      }\n      cVar4 = FUN_00177870(param_1,piVar5,auStack_40._4_4_);\n      if (cVar4 == '\0') {\n        piStack_34 = (int *)auStack_40._4_4_;\n        uVar13 = (**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_);\n        auStack_40._4_4_ = (int)uVar13;\n        uVar12 = CONCAT44((int)uVar13,auStack_40._0_4_);\n        piStack_38 = (int *)((ulonglong)uVar13 >> 0x20);\n        piVar8 = piStack_34;\n        if (auStack_40._0_4_ == 0) {\n          unique0x100005d7 = uVar13;\n          if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }\n          if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }\n          *param_3 = 2;\n          return 0;\n        }\n      }\n      else {\n        if (auStack_40._0_4_ != 0) {\n          piStack_50 = param_2;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        piStack_50 = (int *)auStack_40._4_4_;\n        FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5);\n        piVar5 = uStack_2c._4_4_;\n        auStack_40._0_4_ = apiStack_24[0];\n        ppiVar10 = &piStack_50;\n        if (uStack_2c._4_4_ == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }\n        if (*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0) {\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }\n        else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }\n        ppiVar9 = &piStack_50;\n        if (iStack_44 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }\n        piStack_38 = apiStack_24[0];\n        uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_);\n        auStack_40 = (undefined1  [8])uVar12;\n        piVar8 = piStack_38;\n      }\n      iVar6 = param_2[0xc];\n      *(int *)((int)ppiVar9 + 0x1c) = param_2[0xd];\n      *(int *)((int)ppiVar9 + 0x18) = iVar6;\n      auStack_40 = (undefined1  [8])uVar12;\n      if ((*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10)) == 0xffffffff) {\n        *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0x1c);\n        *(undefined4 *)((int)ppiVar9 + -0x14) = *(undefined4 *)((int)ppiVar9 + 0x18);\n        *(int **)((int)ppiVar9 + -0x18) = piVar8;\n        *(int **)((int)ppiVar9 + -0x1c) = piVar5;\n        *(undefined4 *)((int)ppiVar9 + -0x20) = *(undefined4 *)((int)ppiVar9 + 0xc);\n        *(undefined **)((int)ppiVar9 + -0x24) = &UNK_0017c717;\n        uVar7 = FUN_000f5920();\n      }\n      else if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n        pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);\n        if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }\n        uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);\n      }\n      else {\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }\n      break;\n    }\n  case (int *)0x3:\n    uVar7 = param_2[0xc];\n    ppiVar9 = (int **)auStack_4c;\n    break;\n  case (int *)0x1:\n    if ((bVar3 & 7) != 1) {\n      piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/symtab.h",0xb5,"output_data");\n    }\n    auStack_40._0_4_ = param_2[2];\n    iVar6 = param_2[0xc];\n    piVar5 = (int *)param_2[0xd];\n    if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n      piStack_34 = (int *)(**(code **)(*(int *)auStack_40._0_4_ + 0x24))(auStack_40._0_4_);\n      if (piStack_34 == (int *)0x0) {\n        piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }\n      if (*(code **)(*piStack_34 + 0x48) == FUN_000b3000) {\n        uStack_2c = *(undefined8 *)(piStack_34 + 0x25);\n      }\n      else {\n        uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34);\n      }\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if (((bVar3 & 1) == 0) ||\n         (uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0)\n         ) goto code_r0x0017c7b3;\n      uVar7 = (int)uStack_2c + ((iVar6 + uVar7) - piStack_34[1]);\n      piStack_50 = (int *)(*(byte *)((int)param_2 + 0x2a) & 7);\n      if ((char)piStack_50 != '\x01') {\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }\n    }\n    else {\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if ((bVar3 & 1) == 0) {\ncode_r0x0017c7b3:\n        *(uint *)((int)ppiVar9 + -4) = uVar7;\n        *(char **)((int)ppiVar9 + -8) = "address";\n        *(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5;\n        *(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h";\n                    /* WARNING: Subroutine does not return */\n        *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc;\n        auStack_40 = (undefined1  [8])uVar12;\n        FUN_00069d00();\n      }\n      uVar7 = iVar6 + *(int *)(auStack_40._0_4_ + 4);\n    }\n    ppiVar9 = (int **)auStack_4c;\n    if ((char)param_2[3] != '\0') {\n      if ((auStack_40._4_4_ & 2) == 0) {\n        piStack_50 = param_2;\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar7 = uVar7 + *(int *)(auStack_40._0_4_ + 0xc);\n      ppiVar9 = (int **)auStack_4c;\n    }\n    break;\n  case (int *)0x2:\n    if ((bVar3 & 7) != 2) {\n      piStack_50 = in_ECX;\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/symtab.h",200,"output_segment");\n    }\n    iVar6 = param_2[2];\n    uVar7 = param_2[0xc];\n    piStack_50 = (int *)param_2[0xd];\n    if ((*(byte *)(param_2 + 10) & 0xf) != 6) {\n      bVar11 = CARRY4(uVar7,*(uint *)(iVar6 + 0x15c));\n      uVar7 = uVar7 + *(uint *)(iVar6 + 0x15c);\n      piStack_50 = (int *)((int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160));\n    }\n    iVar1 = param_2[3];\n    if (iVar1 == 1) {\n      uVar7 = uVar7 + *(int *)(iVar6 + 0x16c);\n      ppiVar9 = (int **)auStack_4c;\n    }\n    else {\n      ppiVar9 = (int **)auStack_4c;\n      if (iVar1 != 0) {\n        if (iVar1 != 2) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }\n        uVar7 = uVar7 + *(int *)(iVar6 + 0x18c);\n        ppiVar9 = (int **)auStack_4c;\n      }\n    }\n    break;\n  case (int *)0x4:\ncode_r0x0017c290:\n    uVar7 = 0;\n    ppiVar9 = (int **)auStack_4c;\n    break;\n  default:\n    piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n    FUN_00069d00("../../gold/symtab.cc",0xb6a,"compute_final_value");\n  }\n  **(undefined4 **)((int)ppiVar9 + 0x58) = 0;\n  return uVar7;\n}\n\n" comment (function_definition "uint FUN_0017c200(int param_1,int *param_2,undefined4 *param_3)\n\n{\n  int iVar1;\n  code *pcVar2;\n  byte bVar3;\n  char cVar4;\n  int *piVar5;\n  int iVar6;\n  uint uVar7;\n  int *piVar8;\n  int *in_ECX;\n  undefined4 extraout_ECX;\n  int **ppiVar9;\n  int **ppiVar10;\n  bool bVar11;\n  undefined8 uVar12;\n  undefined8 uVar13;\n  int *piStack_50;\n  undefined1 auStack_4c [8];\n  int iStack_44;\n  undefined1 auStack_40 [8];\n  int *piStack_38;\n  int *piStack_34;\n  int *piStack_30;\n  undefined8 uStack_2c;\n  int *apiStack_24 [4];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x17c209;\n  bVar3 = *(byte *)((int)param_2 + 0x2a);\n  piVar5 = (int *)(bVar3 & 7);\n  switch(piVar5) {\n  case (int *)0x0:\n    if ((bVar3 & 7) != 0) {\n      piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/symtab.h",0xaa,"shndx");\n    }\n    auStack_40._0_4_ = param_2[3];\n    bVar3 = *(byte *)((int)param_2 + 0x2b) >> 5 & 1;\n    if (((int *)auStack_40._0_4_ != (int *)0xfff1) && (bVar3 == 0)) {\n      piVar5 = (int *)FUN_00177470(auStack_40._0_4_);\n      if ((char)piVar5 == '\0') {\n        *param_3 = 1;\n        return 0;\n      }\n      if ((*(byte *)((int)param_2 + 0x2a) & 7) != 0) {\n        piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/symtab.h",0xa1,"object");\n      }\n    }\n    ppiVar10 = (int **)auStack_4c;\n    ppiVar9 = (int **)auStack_4c;\n    piVar5 = (int *)param_2[2];\n    if ((((*(byte *)(piVar5 + 0xb) & 1) != 0) ||\n        (iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0)) ||\n       ((int *)auStack_40._0_4_ == (int *)0x0)) goto code_r0x0017c290;\n    if ((bVar3 != 0) ||\n       (((int *)auStack_40._0_4_ != (int *)0xfff1 &&\n        (cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0')))) {\n      if (*(code **)(*piVar5 + 0x60) == FUN_0003bac0) {\n        piVar8 = (int *)(piVar5[0xf] - piVar5[0xe] >> 2);\n        if (piVar8 <= (uint)auStack_40._0_4_) goto code_r0x0017c850;\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = *(int *)(piVar5[0xe] + auStack_40._0_4_ * 4);\n      }\n      else {\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_);\n      }\n      cVar4 = FUN_00177870(param_1,piVar5,auStack_40._4_4_);\n      if (cVar4 == '\0') {\n        piStack_34 = (int *)auStack_40._4_4_;\n        uVar13 = (**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_);\n        auStack_40._4_4_ = (int)uVar13;\n        uVar12 = CONCAT44((int)uVar13,auStack_40._0_4_);\n        piStack_38 = (int *)((ulonglong)uVar13 >> 0x20);\n        piVar8 = piStack_34;\n        if (auStack_40._0_4_ == 0) {\n          unique0x100005d7 = uVar13;\n          if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }\n          if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }\n          *param_3 = 2;\n          return 0;\n        }\n      }\n      else {\n        if (auStack_40._0_4_ != 0) {\n          piStack_50 = param_2;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        piStack_50 = (int *)auStack_40._4_4_;\n        FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5);\n        piVar5 = uStack_2c._4_4_;\n        auStack_40._0_4_ = apiStack_24[0];\n        ppiVar10 = &piStack_50;\n        if (uStack_2c._4_4_ == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }\n        if (*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0) {\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }\n        else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }\n        ppiVar9 = &piStack_50;\n        if (iStack_44 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }\n        piStack_38 = apiStack_24[0];\n        uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_);\n        auStack_40 = (undefined1  [8])uVar12;\n        piVar8 = piStack_38;\n      }\n      iVar6 = param_2[0xc];\n      *(int *)((int)ppiVar9 + 0x1c) = param_2[0xd];\n      *(int *)((int)ppiVar9 + 0x18) = iVar6;\n      auStack_40 = (undefined1  [8])uVar12;\n      if ((*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10)) == 0xffffffff) {\n        *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0x1c);\n        *(undefined4 *)((int)ppiVar9 + -0x14) = *(undefined4 *)((int)ppiVar9 + 0x18);\n        *(int **)((int)ppiVar9 + -0x18) = piVar8;\n        *(int **)((int)ppiVar9 + -0x1c) = piVar5;\n        *(undefined4 *)((int)ppiVar9 + -0x20) = *(undefined4 *)((int)ppiVar9 + 0xc);\n        *(undefined **)((int)ppiVar9 + -0x24) = &UNK_0017c717;\n        uVar7 = FUN_000f5920();\n      }\n      else if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n        pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);\n        if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }\n        uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);\n      }\n      else {\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }\n      break;\n    }\n  case (int *)0x3:\n    uVar7 = param_2[0xc];\n    ppiVar9 = (int **)auStack_4c;\n    break;\n  case (int *)0x1:\n    if ((bVar3 & 7) != 1) {\n      piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/symtab.h",0xb5,"output_data");\n    }\n    auStack_40._0_4_ = param_2[2];\n    iVar6 = param_2[0xc];\n    piVar5 = (int *)param_2[0xd];\n    if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n      piStack_34 = (int *)(**(code **)(*(int *)auStack_40._0_4_ + 0x24))(auStack_40._0_4_);\n      if (piStack_34 == (int *)0x0) {\n        piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }\n      if (*(code **)(*piStack_34 + 0x48) == FUN_000b3000) {\n        uStack_2c = *(undefined8 *)(piStack_34 + 0x25);\n      }\n      else {\n        uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34);\n      }\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if (((bVar3 & 1) == 0) ||\n         (uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0)\n         ) goto code_r0x0017c7b3;\n      uVar7 = (int)uStack_2c + ((iVar6 + uVar7) - piStack_34[1]);\n      piStack_50 = (int *)(*(byte *)((int)param_2 + 0x2a) & 7);\n      if ((char)piStack_50 != '\x01') {\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }\n    }\n    else {\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if ((bVar3 & 1) == 0) {\ncode_r0x0017c7b3:\n        *(uint *)((int)ppiVar9 + -4) = uVar7;\n        *(char **)((int)ppiVar9 + -8) = "address";\n        *(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5;\n        *(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h";\n                    /* WARNING: Subroutine does not return */\n        *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc;\n        auStack_40 = (undefined1  [8])uVar12;\n        FUN_00069d00();\n      }\n      uVar7 = iVar6 + *(int *)(auStack_40._0_4_ + 4);\n    }\n    ppiVar9 = (int **)auStack_4c;\n    if ((char)param_2[3] != '\0') {\n      if ((auStack_40._4_4_ & 2) == 0) {\n        piStack_50 = param_2;\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar7 = uVar7 + *(int *)(auStack_40._0_4_ + 0xc);\n      ppiVar9 = (int **)auStack_4c;\n    }\n    break;\n  case (int *)0x2:\n    if ((bVar3 & 7) != 2) {\n      piStack_50 = in_ECX;\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/symtab.h",200,"output_segment");\n    }\n    iVar6 = param_2[2];\n    uVar7 = param_2[0xc];\n    piStack_50 = (int *)param_2[0xd];\n    if ((*(byte *)(param_2 + 10) & 0xf) != 6) {\n      bVar11 = CARRY4(uVar7,*(uint *)(iVar6 + 0x15c));\n      uVar7 = uVar7 + *(uint *)(iVar6 + 0x15c);\n      piStack_50 = (int *)((int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160));\n    }\n    iVar1 = param_2[3];\n    if (iVar1 == 1) {\n      uVar7 = uVar7 + *(int *)(iVar6 + 0x16c);\n      ppiVar9 = (int **)auStack_4c;\n    }\n    else {\n      ppiVar9 = (int **)auStack_4c;\n      if (iVar1 != 0) {\n        if (iVar1 != 2) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }\n        uVar7 = uVar7 + *(int *)(iVar6 + 0x18c);\n        ppiVar9 = (int **)auStack_4c;\n      }\n    }\n    break;\n  case (int *)0x4:\ncode_r0x0017c290:\n    uVar7 = 0;\n    ppiVar9 = (int **)auStack_4c;\n    break;\n  default:\n    piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n    FUN_00069d00("../../gold/symtab.cc",0xb6a,"compute_final_value");\n  }\n  **(undefined4 **)((int)ppiVar9 + 0x58) = 0;\n  return uVar7;\n}" type_identifier (function_declarator "FUN_0017c200(int param_1,int *param_2,undefined4 *param_3)" identifier (parameter_list "(int param_1,int *param_2,undefined4 *param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined4 *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  code *pcVar2;\n  byte bVar3;\n  char cVar4;\n  int *piVar5;\n  int iVar6;\n  uint uVar7;\n  int *piVar8;\n  int *in_ECX;\n  undefined4 extraout_ECX;\n  int **ppiVar9;\n  int **ppiVar10;\n  bool bVar11;\n  undefined8 uVar12;\n  undefined8 uVar13;\n  int *piStack_50;\n  undefined1 auStack_4c [8];\n  int iStack_44;\n  undefined1 auStack_40 [8];\n  int *piStack_38;\n  int *piStack_34;\n  int *piStack_30;\n  undefined8 uStack_2c;\n  int *apiStack_24 [4];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x17c209;\n  bVar3 = *(byte *)((int)param_2 + 0x2a);\n  piVar5 = (int *)(bVar3 & 7);\n  switch(piVar5) {\n  case (int *)0x0:\n    if ((bVar3 & 7) != 0) {\n      piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/symtab.h",0xaa,"shndx");\n    }\n    auStack_40._0_4_ = param_2[3];\n    bVar3 = *(byte *)((int)param_2 + 0x2b) >> 5 & 1;\n    if (((int *)auStack_40._0_4_ != (int *)0xfff1) && (bVar3 == 0)) {\n      piVar5 = (int *)FUN_00177470(auStack_40._0_4_);\n      if ((char)piVar5 == '\0') {\n        *param_3 = 1;\n        return 0;\n      }\n      if ((*(byte *)((int)param_2 + 0x2a) & 7) != 0) {\n        piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/symtab.h",0xa1,"object");\n      }\n    }\n    ppiVar10 = (int **)auStack_4c;\n    ppiVar9 = (int **)auStack_4c;\n    piVar5 = (int *)param_2[2];\n    if ((((*(byte *)(piVar5 + 0xb) & 1) != 0) ||\n        (iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0)) ||\n       ((int *)auStack_40._0_4_ == (int *)0x0)) goto code_r0x0017c290;\n    if ((bVar3 != 0) ||\n       (((int *)auStack_40._0_4_ != (int *)0xfff1 &&\n        (cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0')))) {\n      if (*(code **)(*piVar5 + 0x60) == FUN_0003bac0) {\n        piVar8 = (int *)(piVar5[0xf] - piVar5[0xe] >> 2);\n        if (piVar8 <= (uint)auStack_40._0_4_) goto code_r0x0017c850;\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = *(int *)(piVar5[0xe] + auStack_40._0_4_ * 4);\n      }\n      else {\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_);\n      }\n      cVar4 = FUN_00177870(param_1,piVar5,auStack_40._4_4_);\n      if (cVar4 == '\0') {\n        piStack_34 = (int *)auStack_40._4_4_;\n        uVar13 = (**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_);\n        auStack_40._4_4_ = (int)uVar13;\n        uVar12 = CONCAT44((int)uVar13,auStack_40._0_4_);\n        piStack_38 = (int *)((ulonglong)uVar13 >> 0x20);\n        piVar8 = piStack_34;\n        if (auStack_40._0_4_ == 0) {\n          unique0x100005d7 = uVar13;\n          if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }\n          if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }\n          *param_3 = 2;\n          return 0;\n        }\n      }\n      else {\n        if (auStack_40._0_4_ != 0) {\n          piStack_50 = param_2;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        piStack_50 = (int *)auStack_40._4_4_;\n        FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5);\n        piVar5 = uStack_2c._4_4_;\n        auStack_40._0_4_ = apiStack_24[0];\n        ppiVar10 = &piStack_50;\n        if (uStack_2c._4_4_ == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }\n        if (*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0) {\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }\n        else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }\n        ppiVar9 = &piStack_50;\n        if (iStack_44 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }\n        piStack_38 = apiStack_24[0];\n        uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_);\n        auStack_40 = (undefined1  [8])uVar12;\n        piVar8 = piStack_38;\n      }\n      iVar6 = param_2[0xc];\n      *(int *)((int)ppiVar9 + 0x1c) = param_2[0xd];\n      *(int *)((int)ppiVar9 + 0x18) = iVar6;\n      auStack_40 = (undefined1  [8])uVar12;\n      if ((*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10)) == 0xffffffff) {\n        *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0x1c);\n        *(undefined4 *)((int)ppiVar9 + -0x14) = *(undefined4 *)((int)ppiVar9 + 0x18);\n        *(int **)((int)ppiVar9 + -0x18) = piVar8;\n        *(int **)((int)ppiVar9 + -0x1c) = piVar5;\n        *(undefined4 *)((int)ppiVar9 + -0x20) = *(undefined4 *)((int)ppiVar9 + 0xc);\n        *(undefined **)((int)ppiVar9 + -0x24) = &UNK_0017c717;\n        uVar7 = FUN_000f5920();\n      }\n      else if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n        pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);\n        if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }\n        uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);\n      }\n      else {\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }\n      break;\n    }\n  case (int *)0x3:\n    uVar7 = param_2[0xc];\n    ppiVar9 = (int **)auStack_4c;\n    break;\n  case (int *)0x1:\n    if ((bVar3 & 7) != 1) {\n      piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/symtab.h",0xb5,"output_data");\n    }\n    auStack_40._0_4_ = param_2[2];\n    iVar6 = param_2[0xc];\n    piVar5 = (int *)param_2[0xd];\n    if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n      piStack_34 = (int *)(**(code **)(*(int *)auStack_40._0_4_ + 0x24))(auStack_40._0_4_);\n      if (piStack_34 == (int *)0x0) {\n        piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }\n      if (*(code **)(*piStack_34 + 0x48) == FUN_000b3000) {\n        uStack_2c = *(undefined8 *)(piStack_34 + 0x25);\n      }\n      else {\n        uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34);\n      }\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if (((bVar3 & 1) == 0) ||\n         (uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0)\n         ) goto code_r0x0017c7b3;\n      uVar7 = (int)uStack_2c + ((iVar6 + uVar7) - piStack_34[1]);\n      piStack_50 = (int *)(*(byte *)((int)param_2 + 0x2a) & 7);\n      if ((char)piStack_50 != '\x01') {\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }\n    }\n    else {\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if ((bVar3 & 1) == 0) {\ncode_r0x0017c7b3:\n        *(uint *)((int)ppiVar9 + -4) = uVar7;\n        *(char **)((int)ppiVar9 + -8) = "address";\n        *(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5;\n        *(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h";\n                    /* WARNING: Subroutine does not return */\n        *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc;\n        auStack_40 = (undefined1  [8])uVar12;\n        FUN_00069d00();\n      }\n      uVar7 = iVar6 + *(int *)(auStack_40._0_4_ + 4);\n    }\n    ppiVar9 = (int **)auStack_4c;\n    if ((char)param_2[3] != '\0') {\n      if ((auStack_40._4_4_ & 2) == 0) {\n        piStack_50 = param_2;\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar7 = uVar7 + *(int *)(auStack_40._0_4_ + 0xc);\n      ppiVar9 = (int **)auStack_4c;\n    }\n    break;\n  case (int *)0x2:\n    if ((bVar3 & 7) != 2) {\n      piStack_50 = in_ECX;\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/symtab.h",200,"output_segment");\n    }\n    iVar6 = param_2[2];\n    uVar7 = param_2[0xc];\n    piStack_50 = (int *)param_2[0xd];\n    if ((*(byte *)(param_2 + 10) & 0xf) != 6) {\n      bVar11 = CARRY4(uVar7,*(uint *)(iVar6 + 0x15c));\n      uVar7 = uVar7 + *(uint *)(iVar6 + 0x15c);\n      piStack_50 = (int *)((int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160));\n    }\n    iVar1 = param_2[3];\n    if (iVar1 == 1) {\n      uVar7 = uVar7 + *(int *)(iVar6 + 0x16c);\n      ppiVar9 = (int **)auStack_4c;\n    }\n    else {\n      ppiVar9 = (int **)auStack_4c;\n      if (iVar1 != 0) {\n        if (iVar1 != 2) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }\n        uVar7 = uVar7 + *(int *)(iVar6 + 0x18c);\n        ppiVar9 = (int **)auStack_4c;\n      }\n    }\n    break;\n  case (int *)0x4:\ncode_r0x0017c290:\n    uVar7 = 0;\n    ppiVar9 = (int **)auStack_4c;\n    break;\n  default:\n    piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n    FUN_00069d00("../../gold/symtab.cc",0xb6a,"compute_final_value");\n  }\n  **(undefined4 **)((int)ppiVar9 + 0x58) = 0;\n  return uVar7;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "code *pcVar2;" type_identifier (pointer_declarator "*pcVar2" * identifier) ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "char cVar4;" primitive_type identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int *in_ECX;" primitive_type (pointer_declarator "*in_ECX" * identifier) ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "int **ppiVar9;" primitive_type (pointer_declarator "**ppiVar9" * (pointer_declarator "*ppiVar9" * identifier)) ;) (declaration "int **ppiVar10;" primitive_type (pointer_declarator "**ppiVar10" * (pointer_declarator "*ppiVar10" * identifier)) ;) (declaration "bool bVar11;" primitive_type identifier ;) (declaration "undefined8 uVar12;" type_identifier identifier ;) (declaration "undefined8 uVar13;" type_identifier identifier ;) (declaration "int *piStack_50;" primitive_type (pointer_declarator "*piStack_50" * identifier) ;) (declaration "undefined1 auStack_4c [8];" type_identifier (array_declarator "auStack_4c [8]" identifier [ number_literal ]) ;) (declaration "int iStack_44;" primitive_type identifier ;) (declaration "undefined1 auStack_40 [8];" type_identifier (array_declarator "auStack_40 [8]" identifier [ number_literal ]) ;) (declaration "int *piStack_38;" primitive_type (pointer_declarator "*piStack_38" * identifier) ;) (declaration "int *piStack_34;" primitive_type (pointer_declarator "*piStack_34" * identifier) ;) (declaration "int *piStack_30;" primitive_type (pointer_declarator "*piStack_30" * identifier) ;) (declaration "undefined8 uStack_2c;" type_identifier identifier ;) (declaration "int *apiStack_24 [4];" primitive_type (pointer_declarator "*apiStack_24 [4]" * (array_declarator "apiStack_24 [4]" identifier [ number_literal ])) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x17c209;" (assignment_expression "uStack_14 = 0x17c209" identifier = number_literal) ;) (expression_statement "bVar3 = *(byte *)((int)param_2 + 0x2a);" (assignment_expression "bVar3 = *(byte *)((int)param_2 + 0x2a)" identifier = (pointer_expression "*(byte *)((int)param_2 + 0x2a)" * (cast_expression "(byte *)((int)param_2 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x2a)" ( (binary_expression "(int)param_2 + 0x2a" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "piVar5 = (int *)(bVar3 & 7);" (assignment_expression "piVar5 = (int *)(bVar3 & 7)" identifier = (cast_expression "(int *)(bVar3 & 7)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(bVar3 & 7)" ( (binary_expression "bVar3 & 7" identifier & number_literal) )))) ;) (switch_statement "switch(piVar5) {\n  case (int *)0x0:\n    if ((bVar3 & 7) != 0) {\n      piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/symtab.h",0xaa,"shndx");\n    }\n    auStack_40._0_4_ = param_2[3];\n    bVar3 = *(byte *)((int)param_2 + 0x2b) >> 5 & 1;\n    if (((int *)auStack_40._0_4_ != (int *)0xfff1) && (bVar3 == 0)) {\n      piVar5 = (int *)FUN_00177470(auStack_40._0_4_);\n      if ((char)piVar5 == '\0') {\n        *param_3 = 1;\n        return 0;\n      }\n      if ((*(byte *)((int)param_2 + 0x2a) & 7) != 0) {\n        piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/symtab.h",0xa1,"object");\n      }\n    }\n    ppiVar10 = (int **)auStack_4c;\n    ppiVar9 = (int **)auStack_4c;\n    piVar5 = (int *)param_2[2];\n    if ((((*(byte *)(piVar5 + 0xb) & 1) != 0) ||\n        (iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0)) ||\n       ((int *)auStack_40._0_4_ == (int *)0x0)) goto code_r0x0017c290;\n    if ((bVar3 != 0) ||\n       (((int *)auStack_40._0_4_ != (int *)0xfff1 &&\n        (cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0')))) {\n      if (*(code **)(*piVar5 + 0x60) == FUN_0003bac0) {\n        piVar8 = (int *)(piVar5[0xf] - piVar5[0xe] >> 2);\n        if (piVar8 <= (uint)auStack_40._0_4_) goto code_r0x0017c850;\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = *(int *)(piVar5[0xe] + auStack_40._0_4_ * 4);\n      }\n      else {\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_);\n      }\n      cVar4 = FUN_00177870(param_1,piVar5,auStack_40._4_4_);\n      if (cVar4 == '\0') {\n        piStack_34 = (int *)auStack_40._4_4_;\n        uVar13 = (**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_);\n        auStack_40._4_4_ = (int)uVar13;\n        uVar12 = CONCAT44((int)uVar13,auStack_40._0_4_);\n        piStack_38 = (int *)((ulonglong)uVar13 >> 0x20);\n        piVar8 = piStack_34;\n        if (auStack_40._0_4_ == 0) {\n          unique0x100005d7 = uVar13;\n          if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }\n          if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }\n          *param_3 = 2;\n          return 0;\n        }\n      }\n      else {\n        if (auStack_40._0_4_ != 0) {\n          piStack_50 = param_2;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        piStack_50 = (int *)auStack_40._4_4_;\n        FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5);\n        piVar5 = uStack_2c._4_4_;\n        auStack_40._0_4_ = apiStack_24[0];\n        ppiVar10 = &piStack_50;\n        if (uStack_2c._4_4_ == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }\n        if (*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0) {\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }\n        else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }\n        ppiVar9 = &piStack_50;\n        if (iStack_44 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }\n        piStack_38 = apiStack_24[0];\n        uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_);\n        auStack_40 = (undefined1  [8])uVar12;\n        piVar8 = piStack_38;\n      }\n      iVar6 = param_2[0xc];\n      *(int *)((int)ppiVar9 + 0x1c) = param_2[0xd];\n      *(int *)((int)ppiVar9 + 0x18) = iVar6;\n      auStack_40 = (undefined1  [8])uVar12;\n      if ((*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10)) == 0xffffffff) {\n        *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0x1c);\n        *(undefined4 *)((int)ppiVar9 + -0x14) = *(undefined4 *)((int)ppiVar9 + 0x18);\n        *(int **)((int)ppiVar9 + -0x18) = piVar8;\n        *(int **)((int)ppiVar9 + -0x1c) = piVar5;\n        *(undefined4 *)((int)ppiVar9 + -0x20) = *(undefined4 *)((int)ppiVar9 + 0xc);\n        *(undefined **)((int)ppiVar9 + -0x24) = &UNK_0017c717;\n        uVar7 = FUN_000f5920();\n      }\n      else if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n        pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);\n        if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }\n        uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);\n      }\n      else {\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }\n      break;\n    }\n  case (int *)0x3:\n    uVar7 = param_2[0xc];\n    ppiVar9 = (int **)auStack_4c;\n    break;\n  case (int *)0x1:\n    if ((bVar3 & 7) != 1) {\n      piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/symtab.h",0xb5,"output_data");\n    }\n    auStack_40._0_4_ = param_2[2];\n    iVar6 = param_2[0xc];\n    piVar5 = (int *)param_2[0xd];\n    if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n      piStack_34 = (int *)(**(code **)(*(int *)auStack_40._0_4_ + 0x24))(auStack_40._0_4_);\n      if (piStack_34 == (int *)0x0) {\n        piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }\n      if (*(code **)(*piStack_34 + 0x48) == FUN_000b3000) {\n        uStack_2c = *(undefined8 *)(piStack_34 + 0x25);\n      }\n      else {\n        uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34);\n      }\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if (((bVar3 & 1) == 0) ||\n         (uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0)\n         ) goto code_r0x0017c7b3;\n      uVar7 = (int)uStack_2c + ((iVar6 + uVar7) - piStack_34[1]);\n      piStack_50 = (int *)(*(byte *)((int)param_2 + 0x2a) & 7);\n      if ((char)piStack_50 != '\x01') {\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }\n    }\n    else {\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if ((bVar3 & 1) == 0) {\ncode_r0x0017c7b3:\n        *(uint *)((int)ppiVar9 + -4) = uVar7;\n        *(char **)((int)ppiVar9 + -8) = "address";\n        *(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5;\n        *(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h";\n                    /* WARNING: Subroutine does not return */\n        *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc;\n        auStack_40 = (undefined1  [8])uVar12;\n        FUN_00069d00();\n      }\n      uVar7 = iVar6 + *(int *)(auStack_40._0_4_ + 4);\n    }\n    ppiVar9 = (int **)auStack_4c;\n    if ((char)param_2[3] != '\0') {\n      if ((auStack_40._4_4_ & 2) == 0) {\n        piStack_50 = param_2;\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar7 = uVar7 + *(int *)(auStack_40._0_4_ + 0xc);\n      ppiVar9 = (int **)auStack_4c;\n    }\n    break;\n  case (int *)0x2:\n    if ((bVar3 & 7) != 2) {\n      piStack_50 = in_ECX;\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/symtab.h",200,"output_segment");\n    }\n    iVar6 = param_2[2];\n    uVar7 = param_2[0xc];\n    piStack_50 = (int *)param_2[0xd];\n    if ((*(byte *)(param_2 + 10) & 0xf) != 6) {\n      bVar11 = CARRY4(uVar7,*(uint *)(iVar6 + 0x15c));\n      uVar7 = uVar7 + *(uint *)(iVar6 + 0x15c);\n      piStack_50 = (int *)((int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160));\n    }\n    iVar1 = param_2[3];\n    if (iVar1 == 1) {\n      uVar7 = uVar7 + *(int *)(iVar6 + 0x16c);\n      ppiVar9 = (int **)auStack_4c;\n    }\n    else {\n      ppiVar9 = (int **)auStack_4c;\n      if (iVar1 != 0) {\n        if (iVar1 != 2) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }\n        uVar7 = uVar7 + *(int *)(iVar6 + 0x18c);\n        ppiVar9 = (int **)auStack_4c;\n      }\n    }\n    break;\n  case (int *)0x4:\ncode_r0x0017c290:\n    uVar7 = 0;\n    ppiVar9 = (int **)auStack_4c;\n    break;\n  default:\n    piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n    FUN_00069d00("../../gold/symtab.cc",0xb6a,"compute_final_value");\n  }" switch (parenthesized_expression "(piVar5)" ( identifier )) (compound_statement "{\n  case (int *)0x0:\n    if ((bVar3 & 7) != 0) {\n      piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/symtab.h",0xaa,"shndx");\n    }\n    auStack_40._0_4_ = param_2[3];\n    bVar3 = *(byte *)((int)param_2 + 0x2b) >> 5 & 1;\n    if (((int *)auStack_40._0_4_ != (int *)0xfff1) && (bVar3 == 0)) {\n      piVar5 = (int *)FUN_00177470(auStack_40._0_4_);\n      if ((char)piVar5 == '\0') {\n        *param_3 = 1;\n        return 0;\n      }\n      if ((*(byte *)((int)param_2 + 0x2a) & 7) != 0) {\n        piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/symtab.h",0xa1,"object");\n      }\n    }\n    ppiVar10 = (int **)auStack_4c;\n    ppiVar9 = (int **)auStack_4c;\n    piVar5 = (int *)param_2[2];\n    if ((((*(byte *)(piVar5 + 0xb) & 1) != 0) ||\n        (iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0)) ||\n       ((int *)auStack_40._0_4_ == (int *)0x0)) goto code_r0x0017c290;\n    if ((bVar3 != 0) ||\n       (((int *)auStack_40._0_4_ != (int *)0xfff1 &&\n        (cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0')))) {\n      if (*(code **)(*piVar5 + 0x60) == FUN_0003bac0) {\n        piVar8 = (int *)(piVar5[0xf] - piVar5[0xe] >> 2);\n        if (piVar8 <= (uint)auStack_40._0_4_) goto code_r0x0017c850;\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = *(int *)(piVar5[0xe] + auStack_40._0_4_ * 4);\n      }\n      else {\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_);\n      }\n      cVar4 = FUN_00177870(param_1,piVar5,auStack_40._4_4_);\n      if (cVar4 == '\0') {\n        piStack_34 = (int *)auStack_40._4_4_;\n        uVar13 = (**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_);\n        auStack_40._4_4_ = (int)uVar13;\n        uVar12 = CONCAT44((int)uVar13,auStack_40._0_4_);\n        piStack_38 = (int *)((ulonglong)uVar13 >> 0x20);\n        piVar8 = piStack_34;\n        if (auStack_40._0_4_ == 0) {\n          unique0x100005d7 = uVar13;\n          if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }\n          if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }\n          *param_3 = 2;\n          return 0;\n        }\n      }\n      else {\n        if (auStack_40._0_4_ != 0) {\n          piStack_50 = param_2;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        piStack_50 = (int *)auStack_40._4_4_;\n        FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5);\n        piVar5 = uStack_2c._4_4_;\n        auStack_40._0_4_ = apiStack_24[0];\n        ppiVar10 = &piStack_50;\n        if (uStack_2c._4_4_ == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }\n        if (*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0) {\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }\n        else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }\n        ppiVar9 = &piStack_50;\n        if (iStack_44 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }\n        piStack_38 = apiStack_24[0];\n        uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_);\n        auStack_40 = (undefined1  [8])uVar12;\n        piVar8 = piStack_38;\n      }\n      iVar6 = param_2[0xc];\n      *(int *)((int)ppiVar9 + 0x1c) = param_2[0xd];\n      *(int *)((int)ppiVar9 + 0x18) = iVar6;\n      auStack_40 = (undefined1  [8])uVar12;\n      if ((*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10)) == 0xffffffff) {\n        *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0x1c);\n        *(undefined4 *)((int)ppiVar9 + -0x14) = *(undefined4 *)((int)ppiVar9 + 0x18);\n        *(int **)((int)ppiVar9 + -0x18) = piVar8;\n        *(int **)((int)ppiVar9 + -0x1c) = piVar5;\n        *(undefined4 *)((int)ppiVar9 + -0x20) = *(undefined4 *)((int)ppiVar9 + 0xc);\n        *(undefined **)((int)ppiVar9 + -0x24) = &UNK_0017c717;\n        uVar7 = FUN_000f5920();\n      }\n      else if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n        pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);\n        if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }\n        uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);\n      }\n      else {\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }\n      break;\n    }\n  case (int *)0x3:\n    uVar7 = param_2[0xc];\n    ppiVar9 = (int **)auStack_4c;\n    break;\n  case (int *)0x1:\n    if ((bVar3 & 7) != 1) {\n      piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/symtab.h",0xb5,"output_data");\n    }\n    auStack_40._0_4_ = param_2[2];\n    iVar6 = param_2[0xc];\n    piVar5 = (int *)param_2[0xd];\n    if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n      piStack_34 = (int *)(**(code **)(*(int *)auStack_40._0_4_ + 0x24))(auStack_40._0_4_);\n      if (piStack_34 == (int *)0x0) {\n        piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }\n      if (*(code **)(*piStack_34 + 0x48) == FUN_000b3000) {\n        uStack_2c = *(undefined8 *)(piStack_34 + 0x25);\n      }\n      else {\n        uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34);\n      }\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if (((bVar3 & 1) == 0) ||\n         (uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0)\n         ) goto code_r0x0017c7b3;\n      uVar7 = (int)uStack_2c + ((iVar6 + uVar7) - piStack_34[1]);\n      piStack_50 = (int *)(*(byte *)((int)param_2 + 0x2a) & 7);\n      if ((char)piStack_50 != '\x01') {\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }\n    }\n    else {\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if ((bVar3 & 1) == 0) {\ncode_r0x0017c7b3:\n        *(uint *)((int)ppiVar9 + -4) = uVar7;\n        *(char **)((int)ppiVar9 + -8) = "address";\n        *(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5;\n        *(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h";\n                    /* WARNING: Subroutine does not return */\n        *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc;\n        auStack_40 = (undefined1  [8])uVar12;\n        FUN_00069d00();\n      }\n      uVar7 = iVar6 + *(int *)(auStack_40._0_4_ + 4);\n    }\n    ppiVar9 = (int **)auStack_4c;\n    if ((char)param_2[3] != '\0') {\n      if ((auStack_40._4_4_ & 2) == 0) {\n        piStack_50 = param_2;\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar7 = uVar7 + *(int *)(auStack_40._0_4_ + 0xc);\n      ppiVar9 = (int **)auStack_4c;\n    }\n    break;\n  case (int *)0x2:\n    if ((bVar3 & 7) != 2) {\n      piStack_50 = in_ECX;\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/symtab.h",200,"output_segment");\n    }\n    iVar6 = param_2[2];\n    uVar7 = param_2[0xc];\n    piStack_50 = (int *)param_2[0xd];\n    if ((*(byte *)(param_2 + 10) & 0xf) != 6) {\n      bVar11 = CARRY4(uVar7,*(uint *)(iVar6 + 0x15c));\n      uVar7 = uVar7 + *(uint *)(iVar6 + 0x15c);\n      piStack_50 = (int *)((int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160));\n    }\n    iVar1 = param_2[3];\n    if (iVar1 == 1) {\n      uVar7 = uVar7 + *(int *)(iVar6 + 0x16c);\n      ppiVar9 = (int **)auStack_4c;\n    }\n    else {\n      ppiVar9 = (int **)auStack_4c;\n      if (iVar1 != 0) {\n        if (iVar1 != 2) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }\n        uVar7 = uVar7 + *(int *)(iVar6 + 0x18c);\n        ppiVar9 = (int **)auStack_4c;\n      }\n    }\n    break;\n  case (int *)0x4:\ncode_r0x0017c290:\n    uVar7 = 0;\n    ppiVar9 = (int **)auStack_4c;\n    break;\n  default:\n    piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n    FUN_00069d00("../../gold/symtab.cc",0xb6a,"compute_final_value");\n  }" { (case_statement "case (int *)0x0:\n    if ((bVar3 & 7) != 0) {\n      piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/symtab.h",0xaa,"shndx");\n    }\n    auStack_40._0_4_ = param_2[3];\n    bVar3 = *(byte *)((int)param_2 + 0x2b) >> 5 & 1;\n    if (((int *)auStack_40._0_4_ != (int *)0xfff1) && (bVar3 == 0)) {\n      piVar5 = (int *)FUN_00177470(auStack_40._0_4_);\n      if ((char)piVar5 == '\0') {\n        *param_3 = 1;\n        return 0;\n      }\n      if ((*(byte *)((int)param_2 + 0x2a) & 7) != 0) {\n        piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/symtab.h",0xa1,"object");\n      }\n    }\n    ppiVar10 = (int **)auStack_4c;\n    ppiVar9 = (int **)auStack_4c;\n    piVar5 = (int *)param_2[2];\n    if ((((*(byte *)(piVar5 + 0xb) & 1) != 0) ||\n        (iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0)) ||\n       ((int *)auStack_40._0_4_ == (int *)0x0)) goto code_r0x0017c290;\n    if ((bVar3 != 0) ||\n       (((int *)auStack_40._0_4_ != (int *)0xfff1 &&\n        (cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0')))) {\n      if (*(code **)(*piVar5 + 0x60) == FUN_0003bac0) {\n        piVar8 = (int *)(piVar5[0xf] - piVar5[0xe] >> 2);\n        if (piVar8 <= (uint)auStack_40._0_4_) goto code_r0x0017c850;\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = *(int *)(piVar5[0xe] + auStack_40._0_4_ * 4);\n      }\n      else {\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_);\n      }\n      cVar4 = FUN_00177870(param_1,piVar5,auStack_40._4_4_);\n      if (cVar4 == '\0') {\n        piStack_34 = (int *)auStack_40._4_4_;\n        uVar13 = (**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_);\n        auStack_40._4_4_ = (int)uVar13;\n        uVar12 = CONCAT44((int)uVar13,auStack_40._0_4_);\n        piStack_38 = (int *)((ulonglong)uVar13 >> 0x20);\n        piVar8 = piStack_34;\n        if (auStack_40._0_4_ == 0) {\n          unique0x100005d7 = uVar13;\n          if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }\n          if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }\n          *param_3 = 2;\n          return 0;\n        }\n      }\n      else {\n        if (auStack_40._0_4_ != 0) {\n          piStack_50 = param_2;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        piStack_50 = (int *)auStack_40._4_4_;\n        FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5);\n        piVar5 = uStack_2c._4_4_;\n        auStack_40._0_4_ = apiStack_24[0];\n        ppiVar10 = &piStack_50;\n        if (uStack_2c._4_4_ == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }\n        if (*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0) {\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }\n        else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }\n        ppiVar9 = &piStack_50;\n        if (iStack_44 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }\n        piStack_38 = apiStack_24[0];\n        uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_);\n        auStack_40 = (undefined1  [8])uVar12;\n        piVar8 = piStack_38;\n      }\n      iVar6 = param_2[0xc];\n      *(int *)((int)ppiVar9 + 0x1c) = param_2[0xd];\n      *(int *)((int)ppiVar9 + 0x18) = iVar6;\n      auStack_40 = (undefined1  [8])uVar12;\n      if ((*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10)) == 0xffffffff) {\n        *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0x1c);\n        *(undefined4 *)((int)ppiVar9 + -0x14) = *(undefined4 *)((int)ppiVar9 + 0x18);\n        *(int **)((int)ppiVar9 + -0x18) = piVar8;\n        *(int **)((int)ppiVar9 + -0x1c) = piVar5;\n        *(undefined4 *)((int)ppiVar9 + -0x20) = *(undefined4 *)((int)ppiVar9 + 0xc);\n        *(undefined **)((int)ppiVar9 + -0x24) = &UNK_0017c717;\n        uVar7 = FUN_000f5920();\n      }\n      else if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n        pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);\n        if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }\n        uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);\n      }\n      else {\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }\n      break;\n    }" case (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) : (if_statement "if ((bVar3 & 7) != 0) {\n      piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/symtab.h",0xaa,"shndx");\n    }" if (parenthesized_expression "((bVar3 & 7) != 0)" ( (binary_expression "(bVar3 & 7) != 0" (parenthesized_expression "(bVar3 & 7)" ( (binary_expression "bVar3 & 7" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/symtab.h",0xaa,"shndx");\n    }" { (expression_statement "piStack_50 = piVar5;" (assignment_expression "piStack_50 = piVar5" identifier = identifier) ;) comment (expression_statement "FUN_00069d00("../../gold/symtab.h",0xaa,"shndx");" (call_expression "FUN_00069d00("../../gold/symtab.h",0xaa,"shndx")" identifier (argument_list "("../../gold/symtab.h",0xaa,"shndx")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""shndx"" " string_content ") ))) ;) })) (expression_statement "auStack_40._0_4_ = param_2[3];" (assignment_expression "auStack_40._0_4_ = param_2[3]" (field_expression "auStack_40._0_4_" identifier . field_identifier) = (subscript_expression "param_2[3]" identifier [ number_literal ])) ;) (expression_statement "bVar3 = *(byte *)((int)param_2 + 0x2b) >> 5 & 1;" (assignment_expression "bVar3 = *(byte *)((int)param_2 + 0x2b) >> 5 & 1" identifier = (binary_expression "*(byte *)((int)param_2 + 0x2b) >> 5 & 1" (binary_expression "*(byte *)((int)param_2 + 0x2b) >> 5" (pointer_expression "*(byte *)((int)param_2 + 0x2b)" * (cast_expression "(byte *)((int)param_2 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x2b)" ( (binary_expression "(int)param_2 + 0x2b" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) & number_literal)) ;) (if_statement "if (((int *)auStack_40._0_4_ != (int *)0xfff1) && (bVar3 == 0)) {\n      piVar5 = (int *)FUN_00177470(auStack_40._0_4_);\n      if ((char)piVar5 == '\0') {\n        *param_3 = 1;\n        return 0;\n      }\n      if ((*(byte *)((int)param_2 + 0x2a) & 7) != 0) {\n        piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/symtab.h",0xa1,"object");\n      }\n    }" if (parenthesized_expression "(((int *)auStack_40._0_4_ != (int *)0xfff1) && (bVar3 == 0))" ( (binary_expression "((int *)auStack_40._0_4_ != (int *)0xfff1) && (bVar3 == 0)" (parenthesized_expression "((int *)auStack_40._0_4_ != (int *)0xfff1)" ( (binary_expression "(int *)auStack_40._0_4_ != (int *)0xfff1" (cast_expression "(int *)auStack_40._0_4_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_40._0_4_" identifier . field_identifier)) != (cast_expression "(int *)0xfff1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(bVar3 == 0)" ( (binary_expression "bVar3 == 0" identifier == number_literal) ))) )) (compound_statement "{\n      piVar5 = (int *)FUN_00177470(auStack_40._0_4_);\n      if ((char)piVar5 == '\0') {\n        *param_3 = 1;\n        return 0;\n      }\n      if ((*(byte *)((int)param_2 + 0x2a) & 7) != 0) {\n        piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/symtab.h",0xa1,"object");\n      }\n    }" { (expression_statement "piVar5 = (int *)FUN_00177470(auStack_40._0_4_);" (assignment_expression "piVar5 = (int *)FUN_00177470(auStack_40._0_4_)" identifier = (cast_expression "(int *)FUN_00177470(auStack_40._0_4_)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00177470(auStack_40._0_4_)" identifier (argument_list "(auStack_40._0_4_)" ( (field_expression "auStack_40._0_4_" identifier . field_identifier) ))))) ;) (if_statement "if ((char)piVar5 == '\0') {\n        *param_3 = 1;\n        return 0;\n      }" if (parenthesized_expression "((char)piVar5 == '\0')" ( (binary_expression "(char)piVar5 == '\0'" (cast_expression "(char)piVar5" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        *param_3 = 1;\n        return 0;\n      }" { (expression_statement "*param_3 = 1;" (assignment_expression "*param_3 = 1" (pointer_expression "*param_3" * identifier) = number_literal) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if ((*(byte *)((int)param_2 + 0x2a) & 7) != 0) {\n        piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/symtab.h",0xa1,"object");\n      }" if (parenthesized_expression "((*(byte *)((int)param_2 + 0x2a) & 7) != 0)" ( (binary_expression "(*(byte *)((int)param_2 + 0x2a) & 7) != 0" (parenthesized_expression "(*(byte *)((int)param_2 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)param_2 + 0x2a) & 7" (pointer_expression "*(byte *)((int)param_2 + 0x2a)" * (cast_expression "(byte *)((int)param_2 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x2a)" ( (binary_expression "(int)param_2 + 0x2a" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/symtab.h",0xa1,"object");\n      }" { (expression_statement "piStack_50 = piVar5;" (assignment_expression "piStack_50 = piVar5" identifier = identifier) ;) comment (expression_statement "FUN_00069d00("../../gold/symtab.h",0xa1,"object");" (call_expression "FUN_00069d00("../../gold/symtab.h",0xa1,"object")" identifier (argument_list "("../../gold/symtab.h",0xa1,"object")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""object"" " string_content ") ))) ;) })) })) (expression_statement "ppiVar10 = (int **)auStack_4c;" (assignment_expression "ppiVar10 = (int **)auStack_4c" identifier = (cast_expression "(int **)auStack_4c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "ppiVar9 = (int **)auStack_4c;" (assignment_expression "ppiVar9 = (int **)auStack_4c" identifier = (cast_expression "(int **)auStack_4c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "piVar5 = (int *)param_2[2];" (assignment_expression "piVar5 = (int *)param_2[2]" identifier = (cast_expression "(int *)param_2[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[2]" identifier [ number_literal ]))) ;) (if_statement "if ((((*(byte *)(piVar5 + 0xb) & 1) != 0) ||\n        (iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0)) ||\n       ((int *)auStack_40._0_4_ == (int *)0x0)) goto code_r0x0017c290;" if (parenthesized_expression "((((*(byte *)(piVar5 + 0xb) & 1) != 0) ||\n        (iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0)) ||\n       ((int *)auStack_40._0_4_ == (int *)0x0))" ( (binary_expression "(((*(byte *)(piVar5 + 0xb) & 1) != 0) ||\n        (iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0)) ||\n       ((int *)auStack_40._0_4_ == (int *)0x0)" (parenthesized_expression "(((*(byte *)(piVar5 + 0xb) & 1) != 0) ||\n        (iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0))" ( (binary_expression "((*(byte *)(piVar5 + 0xb) & 1) != 0) ||\n        (iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0)" (parenthesized_expression "((*(byte *)(piVar5 + 0xb) & 1) != 0)" ( (binary_expression "(*(byte *)(piVar5 + 0xb) & 1) != 0" (parenthesized_expression "(*(byte *)(piVar5 + 0xb) & 1)" ( (binary_expression "*(byte *)(piVar5 + 0xb) & 1" (pointer_expression "*(byte *)(piVar5 + 0xb)" * (cast_expression "(byte *)(piVar5 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 0xb)" ( (binary_expression "piVar5 + 0xb" identifier + number_literal) )))) & number_literal) )) != number_literal) )) || (parenthesized_expression "(iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0)" ( (comma_expression "iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0" (assignment_expression "iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5)" identifier = (call_expression "(**(code **)(*piVar5 + 0x14))(piVar5)" (parenthesized_expression "(**(code **)(*piVar5 + 0x14))" ( (pointer_expression "**(code **)(*piVar5 + 0x14)" * (pointer_expression "*(code **)(*piVar5 + 0x14)" * (cast_expression "(code **)(*piVar5 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar5 + 0x14)" ( (binary_expression "*piVar5 + 0x14" (pointer_expression "*piVar5" * identifier) + number_literal) ))))) )) (argument_list "(piVar5)" ( identifier )))) , (binary_expression "iVar6 != 0" identifier != number_literal)) ))) )) || (parenthesized_expression "((int *)auStack_40._0_4_ == (int *)0x0)" ( (binary_expression "(int *)auStack_40._0_4_ == (int *)0x0" (cast_expression "(int *)auStack_40._0_4_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_40._0_4_" identifier . field_identifier)) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (goto_statement "goto code_r0x0017c290;" goto statement_identifier ;)) (if_statement "if ((bVar3 != 0) ||\n       (((int *)auStack_40._0_4_ != (int *)0xfff1 &&\n        (cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0')))) {\n      if (*(code **)(*piVar5 + 0x60) == FUN_0003bac0) {\n        piVar8 = (int *)(piVar5[0xf] - piVar5[0xe] >> 2);\n        if (piVar8 <= (uint)auStack_40._0_4_) goto code_r0x0017c850;\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = *(int *)(piVar5[0xe] + auStack_40._0_4_ * 4);\n      }\n      else {\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_);\n      }\n      cVar4 = FUN_00177870(param_1,piVar5,auStack_40._4_4_);\n      if (cVar4 == '\0') {\n        piStack_34 = (int *)auStack_40._4_4_;\n        uVar13 = (**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_);\n        auStack_40._4_4_ = (int)uVar13;\n        uVar12 = CONCAT44((int)uVar13,auStack_40._0_4_);\n        piStack_38 = (int *)((ulonglong)uVar13 >> 0x20);\n        piVar8 = piStack_34;\n        if (auStack_40._0_4_ == 0) {\n          unique0x100005d7 = uVar13;\n          if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }\n          if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }\n          *param_3 = 2;\n          return 0;\n        }\n      }\n      else {\n        if (auStack_40._0_4_ != 0) {\n          piStack_50 = param_2;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        piStack_50 = (int *)auStack_40._4_4_;\n        FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5);\n        piVar5 = uStack_2c._4_4_;\n        auStack_40._0_4_ = apiStack_24[0];\n        ppiVar10 = &piStack_50;\n        if (uStack_2c._4_4_ == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }\n        if (*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0) {\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }\n        else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }\n        ppiVar9 = &piStack_50;\n        if (iStack_44 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }\n        piStack_38 = apiStack_24[0];\n        uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_);\n        auStack_40 = (undefined1  [8])uVar12;\n        piVar8 = piStack_38;\n      }\n      iVar6 = param_2[0xc];\n      *(int *)((int)ppiVar9 + 0x1c) = param_2[0xd];\n      *(int *)((int)ppiVar9 + 0x18) = iVar6;\n      auStack_40 = (undefined1  [8])uVar12;\n      if ((*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10)) == 0xffffffff) {\n        *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0x1c);\n        *(undefined4 *)((int)ppiVar9 + -0x14) = *(undefined4 *)((int)ppiVar9 + 0x18);\n        *(int **)((int)ppiVar9 + -0x18) = piVar8;\n        *(int **)((int)ppiVar9 + -0x1c) = piVar5;\n        *(undefined4 *)((int)ppiVar9 + -0x20) = *(undefined4 *)((int)ppiVar9 + 0xc);\n        *(undefined **)((int)ppiVar9 + -0x24) = &UNK_0017c717;\n        uVar7 = FUN_000f5920();\n      }\n      else if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n        pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);\n        if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }\n        uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);\n      }\n      else {\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }\n      break;\n    }" if (parenthesized_expression "((bVar3 != 0) ||\n       (((int *)auStack_40._0_4_ != (int *)0xfff1 &&\n        (cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0'))))" ( (binary_expression "(bVar3 != 0) ||\n       (((int *)auStack_40._0_4_ != (int *)0xfff1 &&\n        (cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0')))" (parenthesized_expression "(bVar3 != 0)" ( (binary_expression "bVar3 != 0" identifier != number_literal) )) || (parenthesized_expression "(((int *)auStack_40._0_4_ != (int *)0xfff1 &&\n        (cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0')))" ( (parenthesized_expression "((int *)auStack_40._0_4_ != (int *)0xfff1 &&\n        (cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0'))" ( (binary_expression "(int *)auStack_40._0_4_ != (int *)0xfff1 &&\n        (cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0')" (binary_expression "(int *)auStack_40._0_4_ != (int *)0xfff1" (cast_expression "(int *)auStack_40._0_4_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_40._0_4_" identifier . field_identifier)) != (cast_expression "(int *)0xfff1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "(cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0')" ( (comma_expression "cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0'" (assignment_expression "cVar4 = FUN_00177470(auStack_40._0_4_)" identifier = (call_expression "FUN_00177470(auStack_40._0_4_)" identifier (argument_list "(auStack_40._0_4_)" ( (field_expression "auStack_40._0_4_" identifier . field_identifier) )))) , (binary_expression "cVar4 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ))) )) ))) )) (compound_statement "{\n      if (*(code **)(*piVar5 + 0x60) == FUN_0003bac0) {\n        piVar8 = (int *)(piVar5[0xf] - piVar5[0xe] >> 2);\n        if (piVar8 <= (uint)auStack_40._0_4_) goto code_r0x0017c850;\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = *(int *)(piVar5[0xe] + auStack_40._0_4_ * 4);\n      }\n      else {\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_);\n      }\n      cVar4 = FUN_00177870(param_1,piVar5,auStack_40._4_4_);\n      if (cVar4 == '\0') {\n        piStack_34 = (int *)auStack_40._4_4_;\n        uVar13 = (**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_);\n        auStack_40._4_4_ = (int)uVar13;\n        uVar12 = CONCAT44((int)uVar13,auStack_40._0_4_);\n        piStack_38 = (int *)((ulonglong)uVar13 >> 0x20);\n        piVar8 = piStack_34;\n        if (auStack_40._0_4_ == 0) {\n          unique0x100005d7 = uVar13;\n          if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }\n          if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }\n          *param_3 = 2;\n          return 0;\n        }\n      }\n      else {\n        if (auStack_40._0_4_ != 0) {\n          piStack_50 = param_2;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        piStack_50 = (int *)auStack_40._4_4_;\n        FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5);\n        piVar5 = uStack_2c._4_4_;\n        auStack_40._0_4_ = apiStack_24[0];\n        ppiVar10 = &piStack_50;\n        if (uStack_2c._4_4_ == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }\n        if (*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0) {\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }\n        else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }\n        ppiVar9 = &piStack_50;\n        if (iStack_44 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }\n        piStack_38 = apiStack_24[0];\n        uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_);\n        auStack_40 = (undefined1  [8])uVar12;\n        piVar8 = piStack_38;\n      }\n      iVar6 = param_2[0xc];\n      *(int *)((int)ppiVar9 + 0x1c) = param_2[0xd];\n      *(int *)((int)ppiVar9 + 0x18) = iVar6;\n      auStack_40 = (undefined1  [8])uVar12;\n      if ((*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10)) == 0xffffffff) {\n        *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0x1c);\n        *(undefined4 *)((int)ppiVar9 + -0x14) = *(undefined4 *)((int)ppiVar9 + 0x18);\n        *(int **)((int)ppiVar9 + -0x18) = piVar8;\n        *(int **)((int)ppiVar9 + -0x1c) = piVar5;\n        *(undefined4 *)((int)ppiVar9 + -0x20) = *(undefined4 *)((int)ppiVar9 + 0xc);\n        *(undefined **)((int)ppiVar9 + -0x24) = &UNK_0017c717;\n        uVar7 = FUN_000f5920();\n      }\n      else if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n        pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);\n        if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }\n        uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);\n      }\n      else {\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }\n      break;\n    }" { (if_statement "if (*(code **)(*piVar5 + 0x60) == FUN_0003bac0) {\n        piVar8 = (int *)(piVar5[0xf] - piVar5[0xe] >> 2);\n        if (piVar8 <= (uint)auStack_40._0_4_) goto code_r0x0017c850;\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = *(int *)(piVar5[0xe] + auStack_40._0_4_ * 4);\n      }\n      else {\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_);\n      }" if (parenthesized_expression "(*(code **)(*piVar5 + 0x60) == FUN_0003bac0)" ( (binary_expression "*(code **)(*piVar5 + 0x60) == FUN_0003bac0" (pointer_expression "*(code **)(*piVar5 + 0x60)" * (cast_expression "(code **)(*piVar5 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar5 + 0x60)" ( (binary_expression "*piVar5 + 0x60" (pointer_expression "*piVar5" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n        piVar8 = (int *)(piVar5[0xf] - piVar5[0xe] >> 2);\n        if (piVar8 <= (uint)auStack_40._0_4_) goto code_r0x0017c850;\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = *(int *)(piVar5[0xe] + auStack_40._0_4_ * 4);\n      }" { (expression_statement "piVar8 = (int *)(piVar5[0xf] - piVar5[0xe] >> 2);" (assignment_expression "piVar8 = (int *)(piVar5[0xf] - piVar5[0xe] >> 2)" identifier = (cast_expression "(int *)(piVar5[0xf] - piVar5[0xe] >> 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5[0xf] - piVar5[0xe] >> 2)" ( (binary_expression "piVar5[0xf] - piVar5[0xe] >> 2" (binary_expression "piVar5[0xf] - piVar5[0xe]" (subscript_expression "piVar5[0xf]" identifier [ number_literal ]) - (subscript_expression "piVar5[0xe]" identifier [ number_literal ])) >> number_literal) )))) ;) (if_statement "if (piVar8 <= (uint)auStack_40._0_4_) goto code_r0x0017c850;" if (parenthesized_expression "(piVar8 <= (uint)auStack_40._0_4_)" ( (binary_expression "piVar8 <= (uint)auStack_40._0_4_" identifier <= (cast_expression "(uint)auStack_40._0_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "auStack_40._0_4_" identifier . field_identifier))) )) (goto_statement "goto code_r0x0017c850;" goto statement_identifier ;)) (expression_statement "auStack_40._4_4_ = auStack_40._0_4_;" (assignment_expression "auStack_40._4_4_ = auStack_40._0_4_" (field_expression "auStack_40._4_4_" identifier . field_identifier) = (field_expression "auStack_40._0_4_" identifier . field_identifier)) ;) (expression_statement "auStack_40._0_4_ = *(int *)(piVar5[0xe] + auStack_40._0_4_ * 4);" (assignment_expression "auStack_40._0_4_ = *(int *)(piVar5[0xe] + auStack_40._0_4_ * 4)" (field_expression "auStack_40._0_4_" identifier . field_identifier) = (pointer_expression "*(int *)(piVar5[0xe] + auStack_40._0_4_ * 4)" * (cast_expression "(int *)(piVar5[0xe] + auStack_40._0_4_ * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5[0xe] + auStack_40._0_4_ * 4)" ( (binary_expression "piVar5[0xe] + auStack_40._0_4_ * 4" (subscript_expression "piVar5[0xe]" identifier [ number_literal ]) + (binary_expression "auStack_40._0_4_ * 4" (field_expression "auStack_40._0_4_" identifier . field_identifier) * number_literal)) ))))) ;) }) (else_clause "else {\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_);\n      }" else (compound_statement "{\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_);\n      }" { (expression_statement "auStack_40._4_4_ = auStack_40._0_4_;" (assignment_expression "auStack_40._4_4_ = auStack_40._0_4_" (field_expression "auStack_40._4_4_" identifier . field_identifier) = (field_expression "auStack_40._0_4_" identifier . field_identifier)) ;) (expression_statement "auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_);" (assignment_expression "auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_)" (field_expression "auStack_40._0_4_" identifier . field_identifier) = (call_expression "(**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_)" (parenthesized_expression "(**(code **)(*piVar5 + 0x60))" ( (pointer_expression "**(code **)(*piVar5 + 0x60)" * (pointer_expression "*(code **)(*piVar5 + 0x60)" * (cast_expression "(code **)(*piVar5 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar5 + 0x60)" ( (binary_expression "*piVar5 + 0x60" (pointer_expression "*piVar5" * identifier) + number_literal) ))))) )) (argument_list "(piVar5,auStack_40._0_4_)" ( identifier , (field_expression "auStack_40._0_4_" identifier . field_identifier) )))) ;) }))) (expression_statement "cVar4 = FUN_00177870(param_1,piVar5,auStack_40._4_4_);" (assignment_expression "cVar4 = FUN_00177870(param_1,piVar5,auStack_40._4_4_)" identifier = (call_expression "FUN_00177870(param_1,piVar5,auStack_40._4_4_)" identifier (argument_list "(param_1,piVar5,auStack_40._4_4_)" ( identifier , identifier , (field_expression "auStack_40._4_4_" identifier . field_identifier) )))) ;) (if_statement "if (cVar4 == '\0') {\n        piStack_34 = (int *)auStack_40._4_4_;\n        uVar13 = (**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_);\n        auStack_40._4_4_ = (int)uVar13;\n        uVar12 = CONCAT44((int)uVar13,auStack_40._0_4_);\n        piStack_38 = (int *)((ulonglong)uVar13 >> 0x20);\n        piVar8 = piStack_34;\n        if (auStack_40._0_4_ == 0) {\n          unique0x100005d7 = uVar13;\n          if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }\n          if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }\n          *param_3 = 2;\n          return 0;\n        }\n      }\n      else {\n        if (auStack_40._0_4_ != 0) {\n          piStack_50 = param_2;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        piStack_50 = (int *)auStack_40._4_4_;\n        FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5);\n        piVar5 = uStack_2c._4_4_;\n        auStack_40._0_4_ = apiStack_24[0];\n        ppiVar10 = &piStack_50;\n        if (uStack_2c._4_4_ == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }\n        if (*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0) {\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }\n        else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }\n        ppiVar9 = &piStack_50;\n        if (iStack_44 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }\n        piStack_38 = apiStack_24[0];\n        uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_);\n        auStack_40 = (undefined1  [8])uVar12;\n        piVar8 = piStack_38;\n      }" if (parenthesized_expression "(cVar4 == '\0')" ( (binary_expression "cVar4 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        piStack_34 = (int *)auStack_40._4_4_;\n        uVar13 = (**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_);\n        auStack_40._4_4_ = (int)uVar13;\n        uVar12 = CONCAT44((int)uVar13,auStack_40._0_4_);\n        piStack_38 = (int *)((ulonglong)uVar13 >> 0x20);\n        piVar8 = piStack_34;\n        if (auStack_40._0_4_ == 0) {\n          unique0x100005d7 = uVar13;\n          if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }\n          if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }\n          *param_3 = 2;\n          return 0;\n        }\n      }" { (expression_statement "piStack_34 = (int *)auStack_40._4_4_;" (assignment_expression "piStack_34 = (int *)auStack_40._4_4_" identifier = (cast_expression "(int *)auStack_40._4_4_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_40._4_4_" identifier . field_identifier))) ;) (expression_statement "uVar13 = (**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_);" (assignment_expression "uVar13 = (**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_)" identifier = (call_expression "(**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_)" (parenthesized_expression "(**(code **)(*piVar5 + 0x68))" ( (pointer_expression "**(code **)(*piVar5 + 0x68)" * (pointer_expression "*(code **)(*piVar5 + 0x68)" * (cast_expression "(code **)(*piVar5 + 0x68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar5 + 0x68)" ( (binary_expression "*piVar5 + 0x68" (pointer_expression "*piVar5" * identifier) + number_literal) ))))) )) (argument_list "(piVar5,auStack_40._4_4_)" ( identifier , (field_expression "auStack_40._4_4_" identifier . field_identifier) )))) ;) (expression_statement "auStack_40._4_4_ = (int)uVar13;" (assignment_expression "auStack_40._4_4_ = (int)uVar13" (field_expression "auStack_40._4_4_" identifier . field_identifier) = (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar12 = CONCAT44((int)uVar13,auStack_40._0_4_);" (assignment_expression "uVar12 = CONCAT44((int)uVar13,auStack_40._0_4_)" identifier = (call_expression "CONCAT44((int)uVar13,auStack_40._0_4_)" identifier (argument_list "((int)uVar13,auStack_40._0_4_)" ( (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) , (field_expression "auStack_40._0_4_" identifier . field_identifier) )))) ;) (expression_statement "piStack_38 = (int *)((ulonglong)uVar13 >> 0x20);" (assignment_expression "piStack_38 = (int *)((ulonglong)uVar13 >> 0x20)" identifier = (cast_expression "(int *)((ulonglong)uVar13 >> 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar13 >> 0x20)" ( (binary_expression "(ulonglong)uVar13 >> 0x20" (cast_expression "(ulonglong)uVar13" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "piVar8 = piStack_34;" (assignment_expression "piVar8 = piStack_34" identifier = identifier) ;) (if_statement "if (auStack_40._0_4_ == 0) {\n          unique0x100005d7 = uVar13;\n          if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }\n          if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }\n          *param_3 = 2;\n          return 0;\n        }" if (parenthesized_expression "(auStack_40._0_4_ == 0)" ( (binary_expression "auStack_40._0_4_ == 0" (field_expression "auStack_40._0_4_" identifier . field_identifier) == number_literal) )) (compound_statement "{\n          unique0x100005d7 = uVar13;\n          if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }\n          if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }\n          *param_3 = 2;\n          return 0;\n        }" { (expression_statement "unique0x100005d7 = uVar13;" (assignment_expression "unique0x100005d7 = uVar13" identifier = identifier) ;) (if_statement "if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }" if (parenthesized_expression "(*(char *)(DAT_0038f378 + 0x10) == '\0')" ( (binary_expression "*(char *)(DAT_0038f378 + 0x10) == '\0'" (pointer_expression "*(char *)(DAT_0038f378 + 0x10)" * (cast_expression "(char *)(DAT_0038f378 + 0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 0x10)" ( (binary_expression "DAT_0038f378 + 0x10" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }" { (expression_statement "piStack_50 = (int *)&UNK_0017c81c;" (assignment_expression "piStack_50 = (int *)&UNK_0017c81c" identifier = (cast_expression "(int *)&UNK_0017c81c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&UNK_0017c81c" & identifier))) ;) (expression_statement "piStack_50 = (int *)FUN_00176fe0();" (assignment_expression "piStack_50 = (int *)FUN_00176fe0()" identifier = (cast_expression "(int *)FUN_00176fe0()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00176fe0()" identifier (argument_list "()" ( ))))) ;) (labeled_statement "code_r0x0017c81c:\n                    /* WARNING: Subroutine does not return */\n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");" statement_identifier : comment (expression_statement "FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");" (call_expression "FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value")" identifier (argument_list "("../../gold/symtab.cc",0xb21,"compute_final_value")" ( (string_literal ""../../gold/symtab.cc"" " string_content ") , number_literal , (string_literal ""compute_final_value"" " string_content ") ))) ;)) })) (if_statement "if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }" if (parenthesized_expression "(*(char *)(DAT_0038f378 + 0x11) == '\0')" ( (binary_expression "*(char *)(DAT_0038f378 + 0x11) == '\0'" (pointer_expression "*(char *)(DAT_0038f378 + 0x11)" * (cast_expression "(char *)(DAT_0038f378 + 0x11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 0x11)" ( (binary_expression "DAT_0038f378 + 0x11" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }" { (expression_statement "piStack_50 = *(int **)(DAT_0038f378 + 8);" (assignment_expression "piStack_50 = *(int **)(DAT_0038f378 + 8)" identifier = (pointer_expression "*(int **)(DAT_0038f378 + 8)" * (cast_expression "(int **)(DAT_0038f378 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) ))))) ;) (if_statement "if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }" if (parenthesized_expression "(piStack_50 == (int *)0x0)" ( (binary_expression "piStack_50 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\ncode_r0x0017c83a:\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }" { (labeled_statement "code_r0x0017c83a:\n                    /* WARNING: Subroutine does not return */\n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");" statement_identifier : comment (expression_statement "FUN_00069d00("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_00069d00("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;)) })) (if_statement "if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }" if (parenthesized_expression "(*(char *)((int)piStack_50 + 0x318d) == '\0')" ( (binary_expression "*(char *)((int)piStack_50 + 0x318d) == '\0'" (pointer_expression "*(char *)((int)piStack_50 + 0x318d)" * (cast_expression "(char *)((int)piStack_50 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piStack_50 + 0x318d)" ( (binary_expression "(int)piStack_50 + 0x318d" (cast_expression "(int)piStack_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }" { (expression_statement "piStack_50 = (int *)param_2[5];" (assignment_expression "piStack_50 = (int *)param_2[5]" identifier = (cast_expression "(int *)param_2[5]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) ;) (if_statement "if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }" if (parenthesized_expression "(piStack_50 == (int *)0x0)" ( (binary_expression "piStack_50 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }" { (expression_statement "piStack_50 = (int *)&UNK_0017c83a;" (assignment_expression "piStack_50 = (int *)&UNK_0017c83a" identifier = (cast_expression "(int *)&UNK_0017c83a" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&UNK_0017c83a" & identifier))) ;) (expression_statement "piStack_50 = (int *)FUN_00177010();" (assignment_expression "piStack_50 = (int *)FUN_00177010()" identifier = (cast_expression "(int *)FUN_00177010()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00177010()" identifier (argument_list "()" ( ))))) ;) (goto_statement "goto code_r0x0017c83a;" goto statement_identifier ;) })) (if_statement "if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;" if (parenthesized_expression "(piStack_50 != (int *)0xffffffff)" ( (binary_expression "piStack_50 != (int *)0xffffffff" identifier != (cast_expression "(int *)0xffffffff" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto code_r0x0017c81c;" goto statement_identifier ;)) })) })) (expression_statement "*param_3 = 2;" (assignment_expression "*param_3 = 2" (pointer_expression "*param_3" * identifier) = number_literal) ;) (return_statement "return 0;" return number_literal ;) })) }) (else_clause "else {\n        if (auStack_40._0_4_ != 0) {\n          piStack_50 = param_2;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        piStack_50 = (int *)auStack_40._4_4_;\n        FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5);\n        piVar5 = uStack_2c._4_4_;\n        auStack_40._0_4_ = apiStack_24[0];\n        ppiVar10 = &piStack_50;\n        if (uStack_2c._4_4_ == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }\n        if (*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0) {\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }\n        else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }\n        ppiVar9 = &piStack_50;\n        if (iStack_44 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }\n        piStack_38 = apiStack_24[0];\n        uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_);\n        auStack_40 = (undefined1  [8])uVar12;\n        piVar8 = piStack_38;\n      }" else (compound_statement "{\n        if (auStack_40._0_4_ != 0) {\n          piStack_50 = param_2;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        piStack_50 = (int *)auStack_40._4_4_;\n        FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5);\n        piVar5 = uStack_2c._4_4_;\n        auStack_40._0_4_ = apiStack_24[0];\n        ppiVar10 = &piStack_50;\n        if (uStack_2c._4_4_ == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }\n        if (*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0) {\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }\n        else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }\n        ppiVar9 = &piStack_50;\n        if (iStack_44 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }\n        piStack_38 = apiStack_24[0];\n        uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_);\n        auStack_40 = (undefined1  [8])uVar12;\n        piVar8 = piStack_38;\n      }" { (if_statement "if (auStack_40._0_4_ != 0) {\n          piStack_50 = param_2;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }" if (parenthesized_expression "(auStack_40._0_4_ != 0)" ( (binary_expression "auStack_40._0_4_ != 0" (field_expression "auStack_40._0_4_" identifier . field_identifier) != number_literal) )) (compound_statement "{\n          piStack_50 = param_2;\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }" { (expression_statement "piStack_50 = param_2;" (assignment_expression "piStack_50 = param_2" identifier = identifier) ;) comment (expression_statement "FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");" (call_expression "FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value")" identifier (argument_list "("../../gold/symtab.cc",0xb0c,"compute_final_value")" ( (string_literal ""../../gold/symtab.cc"" " string_content ") , number_literal , (string_literal ""compute_final_value"" " string_content ") ))) ;) })) (expression_statement "piStack_50 = (int *)auStack_40._4_4_;" (assignment_expression "piStack_50 = (int *)auStack_40._4_4_" identifier = (cast_expression "(int *)auStack_40._4_4_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_40._4_4_" identifier . field_identifier))) ;) (expression_statement "FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5);" (call_expression "FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5)" identifier (argument_list "(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5)" ( identifier , (pointer_expression "*(undefined4 *)(param_1 + 0x15c)" * (cast_expression "(undefined4 *)(param_1 + 0x15c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x15c)" ( (binary_expression "param_1 + 0x15c" identifier + number_literal) )))) , identifier ))) ;) (expression_statement "piVar5 = uStack_2c._4_4_;" (assignment_expression "piVar5 = uStack_2c._4_4_" identifier = (field_expression "uStack_2c._4_4_" identifier . field_identifier)) ;) (expression_statement "auStack_40._0_4_ = apiStack_24[0];" (assignment_expression "auStack_40._0_4_ = apiStack_24[0]" (field_expression "auStack_40._0_4_" identifier . field_identifier) = (subscript_expression "apiStack_24[0]" identifier [ number_literal ])) ;) (expression_statement "ppiVar10 = &piStack_50;" (assignment_expression "ppiVar10 = &piStack_50" identifier = (pointer_expression "&piStack_50" & identifier)) ;) (if_statement "if (uStack_2c._4_4_ == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }" if (parenthesized_expression "(uStack_2c._4_4_ == (int *)0x0)" ( (binary_expression "uStack_2c._4_4_ == (int *)0x0" (field_expression "uStack_2c._4_4_" identifier . field_identifier) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }" { comment (expression_statement "FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);" (call_expression "FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX)" identifier (argument_list "("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX)" ( (string_literal ""../../gold/symtab.cc"" " string_content ") , number_literal , (string_literal ""compute_final_value"" " string_content ") , identifier ))) ;) })) (if_statement "if (*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0) {\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }\n        else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }" if (parenthesized_expression "(*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0)" ( (binary_expression "*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0" (pointer_expression "*(code **)(*uStack_2c._4_4_ + 0x60)" * (cast_expression "(code **)(*uStack_2c._4_4_ + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*uStack_2c._4_4_ + 0x60)" ( (binary_expression "*uStack_2c._4_4_ + 0x60" (pointer_expression "*uStack_2c._4_4_" * (field_expression "uStack_2c._4_4_" identifier . field_identifier)) + number_literal) )))) == identifier) )) (compound_statement "{\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }" { (expression_statement "piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);" (assignment_expression "piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2)" identifier = (cast_expression "(int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2)" ( (binary_expression "uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2" (binary_expression "uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe]" (subscript_expression "uStack_2c._4_4_[0xf]" (field_expression "uStack_2c._4_4_" identifier . field_identifier) [ number_literal ]) - (subscript_expression "uStack_2c._4_4_[0xe]" (field_expression "uStack_2c._4_4_" identifier . field_identifier) [ number_literal ])) >> number_literal) )))) ;) (if_statement "if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }" if (parenthesized_expression "(piVar8 <= apiStack_24[0])" ( (binary_expression "piVar8 <= apiStack_24[0]" identifier <= (subscript_expression "apiStack_24[0]" identifier [ number_literal ])) )) (compound_statement "{\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    /* WARNING: Subroutine does not return */\n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }" { (labeled_statement "code_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;" statement_identifier : (expression_statement "*(int **)((int)ppiVar10 + -4) = piVar8;" (assignment_expression "*(int **)((int)ppiVar10 + -4) = piVar8" (pointer_expression "*(int **)((int)ppiVar10 + -4)" * (cast_expression "(int **)((int)ppiVar10 + -4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar10 + -4)" ( (binary_expression "(int)ppiVar10 + -4" (cast_expression "(int)ppiVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(char **)((int)ppiVar10 + -8) = "do_output_section";" (assignment_expression "*(char **)((int)ppiVar10 + -8) = "do_output_section"" (pointer_expression "*(char **)((int)ppiVar10 + -8)" * (cast_expression "(char **)((int)ppiVar10 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar10 + -8)" ( (binary_expression "(int)ppiVar10 + -8" (cast_expression "(int)ppiVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""do_output_section"" " string_content ")) ;) (expression_statement "*(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;" (assignment_expression "*(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8" (pointer_expression "*(undefined4 *)((int)ppiVar10 + -0xc)" * (cast_expression "(undefined4 *)((int)ppiVar10 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar10 + -0xc)" ( (binary_expression "(int)ppiVar10 + -0xc" (cast_expression "(int)ppiVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";" (assignment_expression "*(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h"" (pointer_expression "*(char **)((int)ppiVar10 + -0x10)" * (cast_expression "(char **)((int)ppiVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar10 + -0x10)" ( (binary_expression "(int)ppiVar10 + -0x10" (cast_expression "(int)ppiVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""../../gold/object.h"" " string_content ")) ;) comment (expression_statement "*(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;" (assignment_expression "*(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869" (pointer_expression "*(undefined **)((int)ppiVar10 + -0x14)" * (cast_expression "(undefined **)((int)ppiVar10 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar10 + -0x14)" ( (binary_expression "(int)ppiVar10 + -0x14" (cast_expression "(int)ppiVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&UNK_0017c869" & identifier)) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);" (assignment_expression "iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4)" identifier = (pointer_expression "*(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4)" * (cast_expression "(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4)" ( (binary_expression "uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4" (subscript_expression "uStack_2c._4_4_[0xe]" (field_expression "uStack_2c._4_4_" identifier . field_identifier) [ number_literal ]) + (binary_expression "(int)apiStack_24[0] * 4" (cast_expression "(int)apiStack_24[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "apiStack_24[0]" identifier [ number_literal ])) * number_literal)) ))))) ;) (expression_statement "piVar8 = uStack_2c._4_4_;" (assignment_expression "piVar8 = uStack_2c._4_4_" identifier = (field_expression "uStack_2c._4_4_" identifier . field_identifier)) ;) }) (else_clause "else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }" else (compound_statement "{\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }" { (expression_statement "piStack_30 = uStack_2c._4_4_;" (assignment_expression "piStack_30 = uStack_2c._4_4_" identifier = (field_expression "uStack_2c._4_4_" identifier . field_identifier)) ;) (expression_statement "piStack_38 = apiStack_24[0];" (assignment_expression "piStack_38 = apiStack_24[0]" identifier = (subscript_expression "apiStack_24[0]" identifier [ number_literal ])) ;) (expression_statement "iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);" (assignment_expression "iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_)" identifier = (call_expression "(**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_)" (parenthesized_expression "(**(code **)(*uStack_2c._4_4_ + 0x60))" ( (pointer_expression "**(code **)(*uStack_2c._4_4_ + 0x60)" * (pointer_expression "*(code **)(*uStack_2c._4_4_ + 0x60)" * (cast_expression "(code **)(*uStack_2c._4_4_ + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*uStack_2c._4_4_ + 0x60)" ( (binary_expression "*uStack_2c._4_4_ + 0x60" (pointer_expression "*uStack_2c._4_4_" * (field_expression "uStack_2c._4_4_" identifier . field_identifier)) + number_literal) ))))) )) (argument_list "(uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_)" ( (field_expression "uStack_2c._4_4_" identifier . field_identifier) , (subscript_expression "apiStack_24[0]" identifier [ number_literal ]) , (field_expression "uStack_2c._4_4_" identifier . field_identifier) , (field_expression "uStack_2c._4_4_" identifier . field_identifier) )))) ;) (expression_statement "apiStack_24[0] = piStack_38;" (assignment_expression "apiStack_24[0] = piStack_38" (subscript_expression "apiStack_24[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar8 = piStack_30;" (assignment_expression "piVar8 = piStack_30" identifier = identifier) ;) }))) (expression_statement "ppiVar9 = &piStack_50;" (assignment_expression "ppiVar9 = &piStack_50" identifier = (pointer_expression "&piStack_50" & identifier)) ;) (if_statement "if (iStack_44 == 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }" if (parenthesized_expression "(iStack_44 == 0)" ( (binary_expression "iStack_44 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }" { comment (expression_statement "FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);" (call_expression "FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0)" identifier (argument_list "("../../gold/symtab.cc",0xb15,"compute_final_value",0)" ( (string_literal ""../../gold/symtab.cc"" " string_content ") , number_literal , (string_literal ""compute_final_value"" " string_content ") , number_literal ))) ;) })) (expression_statement "piStack_38 = apiStack_24[0];" (assignment_expression "piStack_38 = apiStack_24[0]" identifier = (subscript_expression "apiStack_24[0]" identifier [ number_literal ])) ;) (expression_statement "uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_);" (assignment_expression "uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_)" identifier = (call_expression "(**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_)" (parenthesized_expression "(**(code **)(*piVar8 + 0x68))" ( (pointer_expression "**(code **)(*piVar8 + 0x68)" * (pointer_expression "*(code **)(*piVar8 + 0x68)" * (cast_expression "(code **)(*piVar8 + 0x68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 0x68)" ( (binary_expression "*piVar8 + 0x68" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) )) (argument_list "(piVar8,auStack_40._0_4_)" ( identifier , (field_expression "auStack_40._0_4_" identifier . field_identifier) )))) ;) (expression_statement "auStack_40 = (undefined1  [8])uVar12;" (assignment_expression "auStack_40 = (undefined1  [8])uVar12" identifier = (cast_expression "(undefined1  [8])uVar12" ( (type_descriptor "undefined1  [8]" type_identifier (abstract_array_declarator "[8]" [ number_literal ])) ) identifier)) ;) (expression_statement "piVar8 = piStack_38;" (assignment_expression "piVar8 = piStack_38" identifier = identifier) ;) }))) (expression_statement "iVar6 = param_2[0xc];" (assignment_expression "iVar6 = param_2[0xc]" identifier = (subscript_expression "param_2[0xc]" identifier [ number_literal ])) ;) (expression_statement "*(int *)((int)ppiVar9 + 0x1c) = param_2[0xd];" (assignment_expression "*(int *)((int)ppiVar9 + 0x1c) = param_2[0xd]" (pointer_expression "*(int *)((int)ppiVar9 + 0x1c)" * (cast_expression "(int *)((int)ppiVar9 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + 0x1c)" ( (binary_expression "(int)ppiVar9 + 0x1c" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "param_2[0xd]" identifier [ number_literal ])) ;) (expression_statement "*(int *)((int)ppiVar9 + 0x18) = iVar6;" (assignment_expression "*(int *)((int)ppiVar9 + 0x18) = iVar6" (pointer_expression "*(int *)((int)ppiVar9 + 0x18)" * (cast_expression "(int *)((int)ppiVar9 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + 0x18)" ( (binary_expression "(int)ppiVar9 + 0x18" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "auStack_40 = (undefined1  [8])uVar12;" (assignment_expression "auStack_40 = (undefined1  [8])uVar12" identifier = (cast_expression "(undefined1  [8])uVar12" ( (type_descriptor "undefined1  [8]" type_identifier (abstract_array_declarator "[8]" [ number_literal ])) ) identifier)) ;) (if_statement "if ((*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10)) == 0xffffffff) {\n        *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0x1c);\n        *(undefined4 *)((int)ppiVar9 + -0x14) = *(undefined4 *)((int)ppiVar9 + 0x18);\n        *(int **)((int)ppiVar9 + -0x18) = piVar8;\n        *(int **)((int)ppiVar9 + -0x1c) = piVar5;\n        *(undefined4 *)((int)ppiVar9 + -0x20) = *(undefined4 *)((int)ppiVar9 + 0xc);\n        *(undefined **)((int)ppiVar9 + -0x24) = &UNK_0017c717;\n        uVar7 = FUN_000f5920();\n      }\n      else if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n        pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);\n        if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }\n        uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);\n      }\n      else {\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }" if (parenthesized_expression "((*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10)) == 0xffffffff)" ( (binary_expression "(*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10)) == 0xffffffff" (parenthesized_expression "(*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10))" ( (binary_expression "*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10)" (pointer_expression "*(uint *)((int)ppiVar9 + 0x14)" * (cast_expression "(uint *)((int)ppiVar9 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + 0x14)" ( (binary_expression "(int)ppiVar9 + 0x14" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & (pointer_expression "*(uint *)((int)ppiVar9 + 0x10)" * (cast_expression "(uint *)((int)ppiVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + 0x10)" ( (binary_expression "(int)ppiVar9 + 0x10" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) == number_literal) )) (compound_statement "{\n        *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0x1c);\n        *(undefined4 *)((int)ppiVar9 + -0x14) = *(undefined4 *)((int)ppiVar9 + 0x18);\n        *(int **)((int)ppiVar9 + -0x18) = piVar8;\n        *(int **)((int)ppiVar9 + -0x1c) = piVar5;\n        *(undefined4 *)((int)ppiVar9 + -0x20) = *(undefined4 *)((int)ppiVar9 + 0xc);\n        *(undefined **)((int)ppiVar9 + -0x24) = &UNK_0017c717;\n        uVar7 = FUN_000f5920();\n      }" { (expression_statement "*(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0x1c);" (assignment_expression "*(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0x1c)" (pointer_expression "*(undefined4 *)((int)ppiVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)ppiVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + -0x10)" ( (binary_expression "(int)ppiVar9 + -0x10" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)ppiVar9 + 0x1c)" * (cast_expression "(undefined4 *)((int)ppiVar9 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + 0x1c)" ( (binary_expression "(int)ppiVar9 + 0x1c" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)ppiVar9 + -0x14) = *(undefined4 *)((int)ppiVar9 + 0x18);" (assignment_expression "*(undefined4 *)((int)ppiVar9 + -0x14) = *(undefined4 *)((int)ppiVar9 + 0x18)" (pointer_expression "*(undefined4 *)((int)ppiVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + -0x14)" ( (binary_expression "(int)ppiVar9 + -0x14" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)ppiVar9 + 0x18)" * (cast_expression "(undefined4 *)((int)ppiVar9 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + 0x18)" ( (binary_expression "(int)ppiVar9 + 0x18" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(int **)((int)ppiVar9 + -0x18) = piVar8;" (assignment_expression "*(int **)((int)ppiVar9 + -0x18) = piVar8" (pointer_expression "*(int **)((int)ppiVar9 + -0x18)" * (cast_expression "(int **)((int)ppiVar9 + -0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar9 + -0x18)" ( (binary_expression "(int)ppiVar9 + -0x18" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int **)((int)ppiVar9 + -0x1c) = piVar5;" (assignment_expression "*(int **)((int)ppiVar9 + -0x1c) = piVar5" (pointer_expression "*(int **)((int)ppiVar9 + -0x1c)" * (cast_expression "(int **)((int)ppiVar9 + -0x1c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar9 + -0x1c)" ( (binary_expression "(int)ppiVar9 + -0x1c" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppiVar9 + -0x20) = *(undefined4 *)((int)ppiVar9 + 0xc);" (assignment_expression "*(undefined4 *)((int)ppiVar9 + -0x20) = *(undefined4 *)((int)ppiVar9 + 0xc)" (pointer_expression "*(undefined4 *)((int)ppiVar9 + -0x20)" * (cast_expression "(undefined4 *)((int)ppiVar9 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + -0x20)" ( (binary_expression "(int)ppiVar9 + -0x20" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)ppiVar9 + 0xc)" * (cast_expression "(undefined4 *)((int)ppiVar9 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + 0xc)" ( (binary_expression "(int)ppiVar9 + 0xc" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined **)((int)ppiVar9 + -0x24) = &UNK_0017c717;" (assignment_expression "*(undefined **)((int)ppiVar9 + -0x24) = &UNK_0017c717" (pointer_expression "*(undefined **)((int)ppiVar9 + -0x24)" * (cast_expression "(undefined **)((int)ppiVar9 + -0x24)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar9 + -0x24)" ( (binary_expression "(int)ppiVar9 + -0x24" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&UNK_0017c717" & identifier)) ;) (expression_statement "uVar7 = FUN_000f5920();" (assignment_expression "uVar7 = FUN_000f5920()" identifier = (call_expression "FUN_000f5920()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n        pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);\n        if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }\n        uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);\n      }\n      else {\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }" else (if_statement "if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n        pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);\n        if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }\n        uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);\n      }\n      else {\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }" if (parenthesized_expression "((*(byte *)(param_2 + 10) & 0xf) == 6)" ( (binary_expression "(*(byte *)(param_2 + 10) & 0xf) == 6" (parenthesized_expression "(*(byte *)(param_2 + 10) & 0xf)" ( (binary_expression "*(byte *)(param_2 + 10) & 0xf" (pointer_expression "*(byte *)(param_2 + 10)" * (cast_expression "(byte *)(param_2 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 10)" ( (binary_expression "param_2 + 10" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n        pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);\n        if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }\n        uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);\n      }" { (expression_statement "pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);" (assignment_expression "pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48)" identifier = (pointer_expression "*(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48)" * (cast_expression "(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)((int)ppiVar9 + 0xc) + 0x48)" ( (binary_expression "**(int **)((int)ppiVar9 + 0xc) + 0x48" (pointer_expression "**(int **)((int)ppiVar9 + 0xc)" * (pointer_expression "*(int **)((int)ppiVar9 + 0xc)" * (cast_expression "(int **)((int)ppiVar9 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar9 + 0xc)" ( (binary_expression "(int)ppiVar9 + 0xc" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) + number_literal) ))))) ;) (if_statement "if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }" if (parenthesized_expression "(pcVar2 == FUN_000b3000)" ( (binary_expression "pcVar2 == FUN_000b3000" identifier == identifier) )) (compound_statement "{\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }" { (expression_statement "iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];" (assignment_expression "iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25]" identifier = (subscript_expression "(*(int **)((int)ppiVar9 + 0xc))[0x25]" (parenthesized_expression "(*(int **)((int)ppiVar9 + 0xc))" ( (pointer_expression "*(int **)((int)ppiVar9 + 0xc)" * (cast_expression "(int **)((int)ppiVar9 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar9 + 0xc)" ( (binary_expression "(int)ppiVar9 + 0xc" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )) [ number_literal ])) ;) }) (else_clause "else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }" else (compound_statement "{\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }" { (expression_statement "*(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);" (assignment_expression "*(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc)" (pointer_expression "*(undefined4 *)((int)ppiVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)ppiVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + -0x10)" ( (binary_expression "(int)ppiVar9 + -0x10" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)ppiVar9 + 0xc)" * (cast_expression "(undefined4 *)((int)ppiVar9 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + 0xc)" ( (binary_expression "(int)ppiVar9 + 0xc" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;" (assignment_expression "*(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763" (pointer_expression "*(undefined **)((int)ppiVar9 + -0x14)" * (cast_expression "(undefined **)((int)ppiVar9 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar9 + -0x14)" ( (binary_expression "(int)ppiVar9 + -0x14" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&UNK_0017c763" & identifier)) ;) (expression_statement "iVar6 = (*pcVar2)();" (assignment_expression "iVar6 = (*pcVar2)()" identifier = (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( )))) ;) }))) (expression_statement "uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);" (assignment_expression "uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10)" identifier = (binary_expression "iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10)" (binary_expression "iVar6 + *(int *)((int)ppiVar9 + 0x18)" identifier + (pointer_expression "*(int *)((int)ppiVar9 + 0x18)" * (cast_expression "(int *)((int)ppiVar9 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + 0x18)" ( (binary_expression "(int)ppiVar9 + 0x18" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) + (pointer_expression "*(int *)((int)ppiVar9 + 0x10)" * (cast_expression "(int *)((int)ppiVar9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + 0x10)" ( (binary_expression "(int)ppiVar9 + 0x10" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))) ;) }) (else_clause "else {\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }" else (compound_statement "{\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }" { (expression_statement "uVar7 = *(uint *)((int)ppiVar9 + 0xc);" (assignment_expression "uVar7 = *(uint *)((int)ppiVar9 + 0xc)" identifier = (pointer_expression "*(uint *)((int)ppiVar9 + 0xc)" * (cast_expression "(uint *)((int)ppiVar9 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + 0xc)" ( (binary_expression "(int)ppiVar9 + 0xc" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;" if (parenthesized_expression "((*(byte *)(uVar7 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(uVar7 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(uVar7 + 0x1c) & 1)" ( (binary_expression "*(byte *)(uVar7 + 0x1c) & 1" (pointer_expression "*(byte *)(uVar7 + 0x1c)" * (cast_expression "(byte *)(uVar7 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar7 + 0x1c)" ( (binary_expression "uVar7 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto code_r0x0017c7b3;" goto statement_identifier ;)) (expression_statement "uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);" (assignment_expression "uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4)" identifier = (binary_expression "*(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4)" (binary_expression "*(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10)" (pointer_expression "*(int *)((int)ppiVar9 + 0x18)" * (cast_expression "(int *)((int)ppiVar9 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + 0x18)" ( (binary_expression "(int)ppiVar9 + 0x18" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + (pointer_expression "*(int *)((int)ppiVar9 + 0x10)" * (cast_expression "(int *)((int)ppiVar9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + 0x10)" ( (binary_expression "(int)ppiVar9 + 0x10" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) + (pointer_expression "*(int *)(*(int *)((int)ppiVar9 + 0xc) + 4)" * (cast_expression "(int *)(*(int *)((int)ppiVar9 + 0xc) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)ppiVar9 + 0xc) + 4)" ( (binary_expression "*(int *)((int)ppiVar9 + 0xc) + 4" (pointer_expression "*(int *)((int)ppiVar9 + 0xc)" * (cast_expression "(int *)((int)ppiVar9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + 0xc)" ( (binary_expression "(int)ppiVar9 + 0xc" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) )))))) ;) }))))) (break_statement "break;" break ;) }))) (case_statement "case (int *)0x3:\n    uVar7 = param_2[0xc];\n    ppiVar9 = (int **)auStack_4c;\n    break;" case (cast_expression "(int *)0x3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "uVar7 = param_2[0xc];" (assignment_expression "uVar7 = param_2[0xc]" identifier = (subscript_expression "param_2[0xc]" identifier [ number_literal ])) ;) (expression_statement "ppiVar9 = (int **)auStack_4c;" (assignment_expression "ppiVar9 = (int **)auStack_4c" identifier = (cast_expression "(int **)auStack_4c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (break_statement "break;" break ;)) (case_statement "case (int *)0x1:\n    if ((bVar3 & 7) != 1) {\n      piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/symtab.h",0xb5,"output_data");\n    }\n    auStack_40._0_4_ = param_2[2];\n    iVar6 = param_2[0xc];\n    piVar5 = (int *)param_2[0xd];\n    if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n      piStack_34 = (int *)(**(code **)(*(int *)auStack_40._0_4_ + 0x24))(auStack_40._0_4_);\n      if (piStack_34 == (int *)0x0) {\n        piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }\n      if (*(code **)(*piStack_34 + 0x48) == FUN_000b3000) {\n        uStack_2c = *(undefined8 *)(piStack_34 + 0x25);\n      }\n      else {\n        uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34);\n      }\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if (((bVar3 & 1) == 0) ||\n         (uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0)\n         ) goto code_r0x0017c7b3;\n      uVar7 = (int)uStack_2c + ((iVar6 + uVar7) - piStack_34[1]);\n      piStack_50 = (int *)(*(byte *)((int)param_2 + 0x2a) & 7);\n      if ((char)piStack_50 != '\x01') {\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }\n    }\n    else {\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if ((bVar3 & 1) == 0) {\ncode_r0x0017c7b3:\n        *(uint *)((int)ppiVar9 + -4) = uVar7;\n        *(char **)((int)ppiVar9 + -8) = "address";\n        *(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5;\n        *(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h";\n                    /* WARNING: Subroutine does not return */\n        *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc;\n        auStack_40 = (undefined1  [8])uVar12;\n        FUN_00069d00();\n      }\n      uVar7 = iVar6 + *(int *)(auStack_40._0_4_ + 4);\n    }\n    ppiVar9 = (int **)auStack_4c;\n    if ((char)param_2[3] != '\0') {\n      if ((auStack_40._4_4_ & 2) == 0) {\n        piStack_50 = param_2;\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar7 = uVar7 + *(int *)(auStack_40._0_4_ + 0xc);\n      ppiVar9 = (int **)auStack_4c;\n    }\n    break;" case (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) : (if_statement "if ((bVar3 & 7) != 1) {\n      piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/symtab.h",0xb5,"output_data");\n    }" if (parenthesized_expression "((bVar3 & 7) != 1)" ( (binary_expression "(bVar3 & 7) != 1" (parenthesized_expression "(bVar3 & 7)" ( (binary_expression "bVar3 & 7" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/symtab.h",0xb5,"output_data");\n    }" { (expression_statement "piStack_50 = piVar5;" (assignment_expression "piStack_50 = piVar5" identifier = identifier) ;) comment (expression_statement "FUN_00069d00("../../gold/symtab.h",0xb5,"output_data");" (call_expression "FUN_00069d00("../../gold/symtab.h",0xb5,"output_data")" identifier (argument_list "("../../gold/symtab.h",0xb5,"output_data")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""output_data"" " string_content ") ))) ;) })) (expression_statement "auStack_40._0_4_ = param_2[2];" (assignment_expression "auStack_40._0_4_ = param_2[2]" (field_expression "auStack_40._0_4_" identifier . field_identifier) = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) (expression_statement "iVar6 = param_2[0xc];" (assignment_expression "iVar6 = param_2[0xc]" identifier = (subscript_expression "param_2[0xc]" identifier [ number_literal ])) ;) (expression_statement "piVar5 = (int *)param_2[0xd];" (assignment_expression "piVar5 = (int *)param_2[0xd]" identifier = (cast_expression "(int *)param_2[0xd]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[0xd]" identifier [ number_literal ]))) ;) (if_statement "if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n      piStack_34 = (int *)(**(code **)(*(int *)auStack_40._0_4_ + 0x24))(auStack_40._0_4_);\n      if (piStack_34 == (int *)0x0) {\n        piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }\n      if (*(code **)(*piStack_34 + 0x48) == FUN_000b3000) {\n        uStack_2c = *(undefined8 *)(piStack_34 + 0x25);\n      }\n      else {\n        uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34);\n      }\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if (((bVar3 & 1) == 0) ||\n         (uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0)\n         ) goto code_r0x0017c7b3;\n      uVar7 = (int)uStack_2c + ((iVar6 + uVar7) - piStack_34[1]);\n      piStack_50 = (int *)(*(byte *)((int)param_2 + 0x2a) & 7);\n      if ((char)piStack_50 != '\x01') {\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }\n    }\n    else {\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if ((bVar3 & 1) == 0) {\ncode_r0x0017c7b3:\n        *(uint *)((int)ppiVar9 + -4) = uVar7;\n        *(char **)((int)ppiVar9 + -8) = "address";\n        *(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5;\n        *(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h";\n                    /* WARNING: Subroutine does not return */\n        *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc;\n        auStack_40 = (undefined1  [8])uVar12;\n        FUN_00069d00();\n      }\n      uVar7 = iVar6 + *(int *)(auStack_40._0_4_ + 4);\n    }" if (parenthesized_expression "((*(byte *)(param_2 + 10) & 0xf) == 6)" ( (binary_expression "(*(byte *)(param_2 + 10) & 0xf) == 6" (parenthesized_expression "(*(byte *)(param_2 + 10) & 0xf)" ( (binary_expression "*(byte *)(param_2 + 10) & 0xf" (pointer_expression "*(byte *)(param_2 + 10)" * (cast_expression "(byte *)(param_2 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 10)" ( (binary_expression "param_2 + 10" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      piStack_34 = (int *)(**(code **)(*(int *)auStack_40._0_4_ + 0x24))(auStack_40._0_4_);\n      if (piStack_34 == (int *)0x0) {\n        piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }\n      if (*(code **)(*piStack_34 + 0x48) == FUN_000b3000) {\n        uStack_2c = *(undefined8 *)(piStack_34 + 0x25);\n      }\n      else {\n        uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34);\n      }\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if (((bVar3 & 1) == 0) ||\n         (uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0)\n         ) goto code_r0x0017c7b3;\n      uVar7 = (int)uStack_2c + ((iVar6 + uVar7) - piStack_34[1]);\n      piStack_50 = (int *)(*(byte *)((int)param_2 + 0x2a) & 7);\n      if ((char)piStack_50 != '\x01') {\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }\n    }" { (expression_statement "piStack_34 = (int *)(**(code **)(*(int *)auStack_40._0_4_ + 0x24))(auStack_40._0_4_);" (assignment_expression "piStack_34 = (int *)(**(code **)(*(int *)auStack_40._0_4_ + 0x24))(auStack_40._0_4_)" identifier = (cast_expression "(int *)(**(code **)(*(int *)auStack_40._0_4_ + 0x24))(auStack_40._0_4_)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*(int *)auStack_40._0_4_ + 0x24))(auStack_40._0_4_)" (parenthesized_expression "(**(code **)(*(int *)auStack_40._0_4_ + 0x24))" ( (pointer_expression "**(code **)(*(int *)auStack_40._0_4_ + 0x24)" * (pointer_expression "*(code **)(*(int *)auStack_40._0_4_ + 0x24)" * (cast_expression "(code **)(*(int *)auStack_40._0_4_ + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)auStack_40._0_4_ + 0x24)" ( (binary_expression "*(int *)auStack_40._0_4_ + 0x24" (pointer_expression "*(int *)auStack_40._0_4_" * (cast_expression "(int *)auStack_40._0_4_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_40._0_4_" identifier . field_identifier))) + number_literal) ))))) )) (argument_list "(auStack_40._0_4_)" ( (field_expression "auStack_40._0_4_" identifier . field_identifier) ))))) ;) (if_statement "if (piStack_34 == (int *)0x0) {\n        piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }" if (parenthesized_expression "(piStack_34 == (int *)0x0)" ( (binary_expression "piStack_34 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }" { (expression_statement "piStack_50 = piVar5;" (assignment_expression "piStack_50 = piVar5" identifier = identifier) ;) comment (expression_statement "FUN_00069d00("../../gold/symtab.cc",0xb43,"compute_final_value");" (call_expression "FUN_00069d00("../../gold/symtab.cc",0xb43,"compute_final_value")" identifier (argument_list "("../../gold/symtab.cc",0xb43,"compute_final_value")" ( (string_literal ""../../gold/symtab.cc"" " string_content ") , number_literal , (string_literal ""compute_final_value"" " string_content ") ))) ;) })) (if_statement "if (*(code **)(*piStack_34 + 0x48) == FUN_000b3000) {\n        uStack_2c = *(undefined8 *)(piStack_34 + 0x25);\n      }\n      else {\n        uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34);\n      }" if (parenthesized_expression "(*(code **)(*piStack_34 + 0x48) == FUN_000b3000)" ( (binary_expression "*(code **)(*piStack_34 + 0x48) == FUN_000b3000" (pointer_expression "*(code **)(*piStack_34 + 0x48)" * (cast_expression "(code **)(*piStack_34 + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piStack_34 + 0x48)" ( (binary_expression "*piStack_34 + 0x48" (pointer_expression "*piStack_34" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n        uStack_2c = *(undefined8 *)(piStack_34 + 0x25);\n      }" { (expression_statement "uStack_2c = *(undefined8 *)(piStack_34 + 0x25);" (assignment_expression "uStack_2c = *(undefined8 *)(piStack_34 + 0x25)" identifier = (pointer_expression "*(undefined8 *)(piStack_34 + 0x25)" * (cast_expression "(undefined8 *)(piStack_34 + 0x25)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piStack_34 + 0x25)" ( (binary_expression "piStack_34 + 0x25" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34);\n      }" else (compound_statement "{\n        uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34);\n      }" { (expression_statement "uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34);" (assignment_expression "uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34)" identifier = (call_expression "(**(code **)(*piStack_34 + 0x48))(piStack_34)" (parenthesized_expression "(**(code **)(*piStack_34 + 0x48))" ( (pointer_expression "**(code **)(*piStack_34 + 0x48)" * (pointer_expression "*(code **)(*piStack_34 + 0x48)" * (cast_expression "(code **)(*piStack_34 + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piStack_34 + 0x48)" ( (binary_expression "*piStack_34 + 0x48" (pointer_expression "*piStack_34" * identifier) + number_literal) ))))) )) (argument_list "(piStack_34)" ( identifier )))) ;) }))) (expression_statement "bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);" (assignment_expression "bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c)" identifier = (pointer_expression "*(byte *)(auStack_40._0_4_ + 0x1c)" * (cast_expression "(byte *)(auStack_40._0_4_ + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_40._0_4_ + 0x1c)" ( (binary_expression "auStack_40._0_4_ + 0x1c" (field_expression "auStack_40._0_4_" identifier . field_identifier) + number_literal) ))))) ;) (expression_statement "uVar7 = (uint)bVar3;" (assignment_expression "uVar7 = (uint)bVar3" identifier = (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "auStack_40[4] = bVar3;" (assignment_expression "auStack_40[4] = bVar3" (subscript_expression "auStack_40[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppiVar9 = (int **)auStack_4c;" (assignment_expression "ppiVar9 = (int **)auStack_4c" identifier = (cast_expression "(int **)auStack_4c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);" (assignment_expression "uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_)" identifier = (call_expression "CONCAT44(auStack_40._4_4_,auStack_40._0_4_)" identifier (argument_list "(auStack_40._4_4_,auStack_40._0_4_)" ( (field_expression "auStack_40._4_4_" identifier . field_identifier) , (field_expression "auStack_40._0_4_" identifier . field_identifier) )))) ;) (if_statement "if (((bVar3 & 1) == 0) ||\n         (uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0)\n         ) goto code_r0x0017c7b3;" if (parenthesized_expression "(((bVar3 & 1) == 0) ||\n         (uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0)\n         )" ( (binary_expression "((bVar3 & 1) == 0) ||\n         (uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0)" (parenthesized_expression "((bVar3 & 1) == 0)" ( (binary_expression "(bVar3 & 1) == 0" (parenthesized_expression "(bVar3 & 1)" ( (binary_expression "bVar3 & 1" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "(uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0)" ( (comma_expression "uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0" (assignment_expression "uVar7 = *(uint *)(auStack_40._0_4_ + 4)" identifier = (pointer_expression "*(uint *)(auStack_40._0_4_ + 4)" * (cast_expression "(uint *)(auStack_40._0_4_ + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_40._0_4_ + 4)" ( (binary_expression "auStack_40._0_4_ + 4" (field_expression "auStack_40._0_4_" identifier . field_identifier) + number_literal) ))))) , (comma_expression "ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0" (assignment_expression "ppiVar9 = (int **)auStack_4c" identifier = (cast_expression "(int **)auStack_4c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , (comma_expression "uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0" (assignment_expression "uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_)" identifier = (call_expression "CONCAT44(auStack_40._4_4_,auStack_40._0_4_)" identifier (argument_list "(auStack_40._4_4_,auStack_40._0_4_)" ( (field_expression "auStack_40._4_4_" identifier . field_identifier) , (field_expression "auStack_40._0_4_" identifier . field_identifier) )))) , (binary_expression "(*(byte *)(piStack_34 + 7) & 1) == 0" (parenthesized_expression "(*(byte *)(piStack_34 + 7) & 1)" ( (binary_expression "*(byte *)(piStack_34 + 7) & 1" (pointer_expression "*(byte *)(piStack_34 + 7)" * (cast_expression "(byte *)(piStack_34 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piStack_34 + 7)" ( (binary_expression "piStack_34 + 7" identifier + number_literal) )))) & number_literal) )) == number_literal)))) ))) )) (goto_statement "goto code_r0x0017c7b3;" goto statement_identifier ;)) (expression_statement "uVar7 = (int)uStack_2c + ((iVar6 + uVar7) - piStack_34[1]);" (assignment_expression "uVar7 = (int)uStack_2c + ((iVar6 + uVar7) - piStack_34[1])" identifier = (binary_expression "(int)uStack_2c + ((iVar6 + uVar7) - piStack_34[1])" (cast_expression "(int)uStack_2c" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((iVar6 + uVar7) - piStack_34[1])" ( (binary_expression "(iVar6 + uVar7) - piStack_34[1]" (parenthesized_expression "(iVar6 + uVar7)" ( (binary_expression "iVar6 + uVar7" identifier + identifier) )) - (subscript_expression "piStack_34[1]" identifier [ number_literal ])) )))) ;) (expression_statement "piStack_50 = (int *)(*(byte *)((int)param_2 + 0x2a) & 7);" (assignment_expression "piStack_50 = (int *)(*(byte *)((int)param_2 + 0x2a) & 7)" identifier = (cast_expression "(int *)(*(byte *)((int)param_2 + 0x2a) & 7)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(byte *)((int)param_2 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)param_2 + 0x2a) & 7" (pointer_expression "*(byte *)((int)param_2 + 0x2a)" * (cast_expression "(byte *)((int)param_2 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x2a)" ( (binary_expression "(int)param_2 + 0x2a" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )))) ;) (if_statement "if ((char)piStack_50 != '\x01') {\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }" if (parenthesized_expression "((char)piStack_50 != '\x01')" ( (binary_expression "(char)piStack_50 != '\x01'" (cast_expression "(char)piStack_50" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }" { comment (expression_statement "FUN_00069d00("../../gold/symtab.h",0xbe,"offset_is_from_end");" (call_expression "FUN_00069d00("../../gold/symtab.h",0xbe,"offset_is_from_end")" identifier (argument_list "("../../gold/symtab.h",0xbe,"offset_is_from_end")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""offset_is_from_end"" " string_content ") ))) ;) })) }) (else_clause "else {\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if ((bVar3 & 1) == 0) {\ncode_r0x0017c7b3:\n        *(uint *)((int)ppiVar9 + -4) = uVar7;\n        *(char **)((int)ppiVar9 + -8) = "address";\n        *(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5;\n        *(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h";\n                    /* WARNING: Subroutine does not return */\n        *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc;\n        auStack_40 = (undefined1  [8])uVar12;\n        FUN_00069d00();\n      }\n      uVar7 = iVar6 + *(int *)(auStack_40._0_4_ + 4);\n    }" else (compound_statement "{\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if ((bVar3 & 1) == 0) {\ncode_r0x0017c7b3:\n        *(uint *)((int)ppiVar9 + -4) = uVar7;\n        *(char **)((int)ppiVar9 + -8) = "address";\n        *(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5;\n        *(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h";\n                    /* WARNING: Subroutine does not return */\n        *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc;\n        auStack_40 = (undefined1  [8])uVar12;\n        FUN_00069d00();\n      }\n      uVar7 = iVar6 + *(int *)(auStack_40._0_4_ + 4);\n    }" { (expression_statement "bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);" (assignment_expression "bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c)" identifier = (pointer_expression "*(byte *)(auStack_40._0_4_ + 0x1c)" * (cast_expression "(byte *)(auStack_40._0_4_ + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_40._0_4_ + 0x1c)" ( (binary_expression "auStack_40._0_4_ + 0x1c" (field_expression "auStack_40._0_4_" identifier . field_identifier) + number_literal) ))))) ;) (expression_statement "uVar7 = (uint)bVar3;" (assignment_expression "uVar7 = (uint)bVar3" identifier = (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "auStack_40[4] = bVar3;" (assignment_expression "auStack_40[4] = bVar3" (subscript_expression "auStack_40[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppiVar9 = (int **)auStack_4c;" (assignment_expression "ppiVar9 = (int **)auStack_4c" identifier = (cast_expression "(int **)auStack_4c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);" (assignment_expression "uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_)" identifier = (call_expression "CONCAT44(auStack_40._4_4_,auStack_40._0_4_)" identifier (argument_list "(auStack_40._4_4_,auStack_40._0_4_)" ( (field_expression "auStack_40._4_4_" identifier . field_identifier) , (field_expression "auStack_40._0_4_" identifier . field_identifier) )))) ;) (if_statement "if ((bVar3 & 1) == 0) {\ncode_r0x0017c7b3:\n        *(uint *)((int)ppiVar9 + -4) = uVar7;\n        *(char **)((int)ppiVar9 + -8) = "address";\n        *(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5;\n        *(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h";\n                    /* WARNING: Subroutine does not return */\n        *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc;\n        auStack_40 = (undefined1  [8])uVar12;\n        FUN_00069d00();\n      }" if (parenthesized_expression "((bVar3 & 1) == 0)" ( (binary_expression "(bVar3 & 1) == 0" (parenthesized_expression "(bVar3 & 1)" ( (binary_expression "bVar3 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\ncode_r0x0017c7b3:\n        *(uint *)((int)ppiVar9 + -4) = uVar7;\n        *(char **)((int)ppiVar9 + -8) = "address";\n        *(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5;\n        *(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h";\n                    /* WARNING: Subroutine does not return */\n        *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc;\n        auStack_40 = (undefined1  [8])uVar12;\n        FUN_00069d00();\n      }" { (labeled_statement "code_r0x0017c7b3:\n        *(uint *)((int)ppiVar9 + -4) = uVar7;" statement_identifier : (expression_statement "*(uint *)((int)ppiVar9 + -4) = uVar7;" (assignment_expression "*(uint *)((int)ppiVar9 + -4) = uVar7" (pointer_expression "*(uint *)((int)ppiVar9 + -4)" * (cast_expression "(uint *)((int)ppiVar9 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + -4)" ( (binary_expression "(int)ppiVar9 + -4" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(char **)((int)ppiVar9 + -8) = "address";" (assignment_expression "*(char **)((int)ppiVar9 + -8) = "address"" (pointer_expression "*(char **)((int)ppiVar9 + -8)" * (cast_expression "(char **)((int)ppiVar9 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar9 + -8)" ( (binary_expression "(int)ppiVar9 + -8" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""address"" " string_content ")) ;) (expression_statement "*(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)((int)ppiVar9 + -0xc)" * (cast_expression "(undefined4 *)((int)ppiVar9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + -0xc)" ( (binary_expression "(int)ppiVar9 + -0xc" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h";" (assignment_expression "*(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h"" (pointer_expression "*(char **)((int)ppiVar9 + -0x10)" * (cast_expression "(char **)((int)ppiVar9 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar9 + -0x10)" ( (binary_expression "(int)ppiVar9 + -0x10" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""../../gold/output.h"" " string_content ")) ;) comment (expression_statement "*(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc;" (assignment_expression "*(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc" (pointer_expression "*(undefined **)((int)ppiVar9 + -0x14)" * (cast_expression "(undefined **)((int)ppiVar9 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar9 + -0x14)" ( (binary_expression "(int)ppiVar9 + -0x14" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&UNK_0017c7cc" & identifier)) ;) (expression_statement "auStack_40 = (undefined1  [8])uVar12;" (assignment_expression "auStack_40 = (undefined1  [8])uVar12" identifier = (cast_expression "(undefined1  [8])uVar12" ( (type_descriptor "undefined1  [8]" type_identifier (abstract_array_declarator "[8]" [ number_literal ])) ) identifier)) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar7 = iVar6 + *(int *)(auStack_40._0_4_ + 4);" (assignment_expression "uVar7 = iVar6 + *(int *)(auStack_40._0_4_ + 4)" identifier = (binary_expression "iVar6 + *(int *)(auStack_40._0_4_ + 4)" identifier + (pointer_expression "*(int *)(auStack_40._0_4_ + 4)" * (cast_expression "(int *)(auStack_40._0_4_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_40._0_4_ + 4)" ( (binary_expression "auStack_40._0_4_ + 4" (field_expression "auStack_40._0_4_" identifier . field_identifier) + number_literal) )))))) ;) }))) (expression_statement "ppiVar9 = (int **)auStack_4c;" (assignment_expression "ppiVar9 = (int **)auStack_4c" identifier = (cast_expression "(int **)auStack_4c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (if_statement "if ((char)param_2[3] != '\0') {\n      if ((auStack_40._4_4_ & 2) == 0) {\n        piStack_50 = param_2;\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar7 = uVar7 + *(int *)(auStack_40._0_4_ + 0xc);\n      ppiVar9 = (int **)auStack_4c;\n    }" if (parenthesized_expression "((char)param_2[3] != '\0')" ( (binary_expression "(char)param_2[3] != '\0'" (cast_expression "(char)param_2[3]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_2[3]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      if ((auStack_40._4_4_ & 2) == 0) {\n        piStack_50 = param_2;\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar7 = uVar7 + *(int *)(auStack_40._0_4_ + 0xc);\n      ppiVar9 = (int **)auStack_4c;\n    }" { (if_statement "if ((auStack_40._4_4_ & 2) == 0) {\n        piStack_50 = param_2;\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n      }" if (parenthesized_expression "((auStack_40._4_4_ & 2) == 0)" ( (binary_expression "(auStack_40._4_4_ & 2) == 0" (parenthesized_expression "(auStack_40._4_4_ & 2)" ( (binary_expression "auStack_40._4_4_ & 2" (field_expression "auStack_40._4_4_" identifier . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n        piStack_50 = param_2;\n                    /* WARNING: Subroutine does not return */\n        FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n      }" { (expression_statement "piStack_50 = param_2;" (assignment_expression "piStack_50 = param_2" identifier = identifier) ;) comment (expression_statement "FUN_00069d00("../../gold/output.h",0xcf,"data_size");" (call_expression "FUN_00069d00("../../gold/output.h",0xcf,"data_size")" identifier (argument_list "("../../gold/output.h",0xcf,"data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""data_size"" " string_content ") ))) ;) })) (expression_statement "uVar7 = uVar7 + *(int *)(auStack_40._0_4_ + 0xc);" (assignment_expression "uVar7 = uVar7 + *(int *)(auStack_40._0_4_ + 0xc)" identifier = (binary_expression "uVar7 + *(int *)(auStack_40._0_4_ + 0xc)" identifier + (pointer_expression "*(int *)(auStack_40._0_4_ + 0xc)" * (cast_expression "(int *)(auStack_40._0_4_ + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_40._0_4_ + 0xc)" ( (binary_expression "auStack_40._0_4_ + 0xc" (field_expression "auStack_40._0_4_" identifier . field_identifier) + number_literal) )))))) ;) (expression_statement "ppiVar9 = (int **)auStack_4c;" (assignment_expression "ppiVar9 = (int **)auStack_4c" identifier = (cast_expression "(int **)auStack_4c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) })) (break_statement "break;" break ;)) (case_statement "case (int *)0x2:\n    if ((bVar3 & 7) != 2) {\n      piStack_50 = in_ECX;\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/symtab.h",200,"output_segment");\n    }\n    iVar6 = param_2[2];\n    uVar7 = param_2[0xc];\n    piStack_50 = (int *)param_2[0xd];\n    if ((*(byte *)(param_2 + 10) & 0xf) != 6) {\n      bVar11 = CARRY4(uVar7,*(uint *)(iVar6 + 0x15c));\n      uVar7 = uVar7 + *(uint *)(iVar6 + 0x15c);\n      piStack_50 = (int *)((int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160));\n    }\n    iVar1 = param_2[3];\n    if (iVar1 == 1) {\n      uVar7 = uVar7 + *(int *)(iVar6 + 0x16c);\n      ppiVar9 = (int **)auStack_4c;\n    }\n    else {\n      ppiVar9 = (int **)auStack_4c;\n      if (iVar1 != 0) {\n        if (iVar1 != 2) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }\n        uVar7 = uVar7 + *(int *)(iVar6 + 0x18c);\n        ppiVar9 = (int **)auStack_4c;\n      }\n    }\n    break;" case (cast_expression "(int *)0x2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) : (if_statement "if ((bVar3 & 7) != 2) {\n      piStack_50 = in_ECX;\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/symtab.h",200,"output_segment");\n    }" if (parenthesized_expression "((bVar3 & 7) != 2)" ( (binary_expression "(bVar3 & 7) != 2" (parenthesized_expression "(bVar3 & 7)" ( (binary_expression "bVar3 & 7" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      piStack_50 = in_ECX;\n                    /* WARNING: Subroutine does not return */\n      FUN_00069d00("../../gold/symtab.h",200,"output_segment");\n    }" { (expression_statement "piStack_50 = in_ECX;" (assignment_expression "piStack_50 = in_ECX" identifier = identifier) ;) comment (expression_statement "FUN_00069d00("../../gold/symtab.h",200,"output_segment");" (call_expression "FUN_00069d00("../../gold/symtab.h",200,"output_segment")" identifier (argument_list "("../../gold/symtab.h",200,"output_segment")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""output_segment"" " string_content ") ))) ;) })) (expression_statement "iVar6 = param_2[2];" (assignment_expression "iVar6 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = param_2[0xc];" (assignment_expression "uVar7 = param_2[0xc]" identifier = (subscript_expression "param_2[0xc]" identifier [ number_literal ])) ;) (expression_statement "piStack_50 = (int *)param_2[0xd];" (assignment_expression "piStack_50 = (int *)param_2[0xd]" identifier = (cast_expression "(int *)param_2[0xd]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[0xd]" identifier [ number_literal ]))) ;) (if_statement "if ((*(byte *)(param_2 + 10) & 0xf) != 6) {\n      bVar11 = CARRY4(uVar7,*(uint *)(iVar6 + 0x15c));\n      uVar7 = uVar7 + *(uint *)(iVar6 + 0x15c);\n      piStack_50 = (int *)((int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160));\n    }" if (parenthesized_expression "((*(byte *)(param_2 + 10) & 0xf) != 6)" ( (binary_expression "(*(byte *)(param_2 + 10) & 0xf) != 6" (parenthesized_expression "(*(byte *)(param_2 + 10) & 0xf)" ( (binary_expression "*(byte *)(param_2 + 10) & 0xf" (pointer_expression "*(byte *)(param_2 + 10)" * (cast_expression "(byte *)(param_2 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 10)" ( (binary_expression "param_2 + 10" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n      bVar11 = CARRY4(uVar7,*(uint *)(iVar6 + 0x15c));\n      uVar7 = uVar7 + *(uint *)(iVar6 + 0x15c);\n      piStack_50 = (int *)((int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160));\n    }" { (expression_statement "bVar11 = CARRY4(uVar7,*(uint *)(iVar6 + 0x15c));" (assignment_expression "bVar11 = CARRY4(uVar7,*(uint *)(iVar6 + 0x15c))" identifier = (call_expression "CARRY4(uVar7,*(uint *)(iVar6 + 0x15c))" identifier (argument_list "(uVar7,*(uint *)(iVar6 + 0x15c))" ( identifier , (pointer_expression "*(uint *)(iVar6 + 0x15c)" * (cast_expression "(uint *)(iVar6 + 0x15c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x15c)" ( (binary_expression "iVar6 + 0x15c" identifier + number_literal) )))) )))) ;) (expression_statement "uVar7 = uVar7 + *(uint *)(iVar6 + 0x15c);" (assignment_expression "uVar7 = uVar7 + *(uint *)(iVar6 + 0x15c)" identifier = (binary_expression "uVar7 + *(uint *)(iVar6 + 0x15c)" identifier + (pointer_expression "*(uint *)(iVar6 + 0x15c)" * (cast_expression "(uint *)(iVar6 + 0x15c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x15c)" ( (binary_expression "iVar6 + 0x15c" identifier + number_literal) )))))) ;) (expression_statement "piStack_50 = (int *)((int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160));" (assignment_expression "piStack_50 = (int *)((int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160))" identifier = (cast_expression "(int *)((int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160))" ( (binary_expression "(int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160)" (binary_expression "(int)piStack_50 + (uint)bVar11" (cast_expression "(int)piStack_50" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(uint)bVar11" ( (type_descriptor "uint" type_identifier) ) identifier)) + (pointer_expression "*(int *)(iVar6 + 0x160)" * (cast_expression "(int *)(iVar6 + 0x160)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x160)" ( (binary_expression "iVar6 + 0x160" identifier + number_literal) ))))) )))) ;) })) (expression_statement "iVar1 = param_2[3];" (assignment_expression "iVar1 = param_2[3]" identifier = (subscript_expression "param_2[3]" identifier [ number_literal ])) ;) (if_statement "if (iVar1 == 1) {\n      uVar7 = uVar7 + *(int *)(iVar6 + 0x16c);\n      ppiVar9 = (int **)auStack_4c;\n    }\n    else {\n      ppiVar9 = (int **)auStack_4c;\n      if (iVar1 != 0) {\n        if (iVar1 != 2) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }\n        uVar7 = uVar7 + *(int *)(iVar6 + 0x18c);\n        ppiVar9 = (int **)auStack_4c;\n      }\n    }" if (parenthesized_expression "(iVar1 == 1)" ( (binary_expression "iVar1 == 1" identifier == number_literal) )) (compound_statement "{\n      uVar7 = uVar7 + *(int *)(iVar6 + 0x16c);\n      ppiVar9 = (int **)auStack_4c;\n    }" { (expression_statement "uVar7 = uVar7 + *(int *)(iVar6 + 0x16c);" (assignment_expression "uVar7 = uVar7 + *(int *)(iVar6 + 0x16c)" identifier = (binary_expression "uVar7 + *(int *)(iVar6 + 0x16c)" identifier + (pointer_expression "*(int *)(iVar6 + 0x16c)" * (cast_expression "(int *)(iVar6 + 0x16c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x16c)" ( (binary_expression "iVar6 + 0x16c" identifier + number_literal) )))))) ;) (expression_statement "ppiVar9 = (int **)auStack_4c;" (assignment_expression "ppiVar9 = (int **)auStack_4c" identifier = (cast_expression "(int **)auStack_4c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) }) (else_clause "else {\n      ppiVar9 = (int **)auStack_4c;\n      if (iVar1 != 0) {\n        if (iVar1 != 2) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }\n        uVar7 = uVar7 + *(int *)(iVar6 + 0x18c);\n        ppiVar9 = (int **)auStack_4c;\n      }\n    }" else (compound_statement "{\n      ppiVar9 = (int **)auStack_4c;\n      if (iVar1 != 0) {\n        if (iVar1 != 2) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }\n        uVar7 = uVar7 + *(int *)(iVar6 + 0x18c);\n        ppiVar9 = (int **)auStack_4c;\n      }\n    }" { (expression_statement "ppiVar9 = (int **)auStack_4c;" (assignment_expression "ppiVar9 = (int **)auStack_4c" identifier = (cast_expression "(int **)auStack_4c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (if_statement "if (iVar1 != 0) {\n        if (iVar1 != 2) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }\n        uVar7 = uVar7 + *(int *)(iVar6 + 0x18c);\n        ppiVar9 = (int **)auStack_4c;\n      }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n        if (iVar1 != 2) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }\n        uVar7 = uVar7 + *(int *)(iVar6 + 0x18c);\n        ppiVar9 = (int **)auStack_4c;\n      }" { (if_statement "if (iVar1 != 2) {\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }" if (parenthesized_expression "(iVar1 != 2)" ( (binary_expression "iVar1 != 2" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }" { comment (expression_statement "FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");" (call_expression "FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value")" identifier (argument_list "("../../gold/symtab.cc",0xb5c,"compute_final_value")" ( (string_literal ""../../gold/symtab.cc"" " string_content ") , number_literal , (string_literal ""compute_final_value"" " string_content ") ))) ;) })) (expression_statement "uVar7 = uVar7 + *(int *)(iVar6 + 0x18c);" (assignment_expression "uVar7 = uVar7 + *(int *)(iVar6 + 0x18c)" identifier = (binary_expression "uVar7 + *(int *)(iVar6 + 0x18c)" identifier + (pointer_expression "*(int *)(iVar6 + 0x18c)" * (cast_expression "(int *)(iVar6 + 0x18c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x18c)" ( (binary_expression "iVar6 + 0x18c" identifier + number_literal) )))))) ;) (expression_statement "ppiVar9 = (int **)auStack_4c;" (assignment_expression "ppiVar9 = (int **)auStack_4c" identifier = (cast_expression "(int **)auStack_4c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) })) }))) (break_statement "break;" break ;)) (case_statement "case (int *)0x4:\ncode_r0x0017c290:\n    uVar7 = 0;\n    ppiVar9 = (int **)auStack_4c;\n    break;" case (cast_expression "(int *)0x4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "code_r0x0017c290:\n    uVar7 = 0;" statement_identifier : (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;)) (expression_statement "ppiVar9 = (int **)auStack_4c;" (assignment_expression "ppiVar9 = (int **)auStack_4c" identifier = (cast_expression "(int **)auStack_4c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (break_statement "break;" break ;)) (case_statement "default:\n    piStack_50 = piVar5;\n                    /* WARNING: Subroutine does not return */\n    FUN_00069d00("../../gold/symtab.cc",0xb6a,"compute_final_value");" default : (expression_statement "piStack_50 = piVar5;" (assignment_expression "piStack_50 = piVar5" identifier = identifier) ;) comment (expression_statement "FUN_00069d00("../../gold/symtab.cc",0xb6a,"compute_final_value");" (call_expression "FUN_00069d00("../../gold/symtab.cc",0xb6a,"compute_final_value")" identifier (argument_list "("../../gold/symtab.cc",0xb6a,"compute_final_value")" ( (string_literal ""../../gold/symtab.cc"" " string_content ") , number_literal , (string_literal ""compute_final_value"" " string_content ") ))) ;)) })) (expression_statement "**(undefined4 **)((int)ppiVar9 + 0x58) = 0;" (assignment_expression "**(undefined4 **)((int)ppiVar9 + 0x58) = 0" (pointer_expression "**(undefined4 **)((int)ppiVar9 + 0x58)" * (pointer_expression "*(undefined4 **)((int)ppiVar9 + 0x58)" * (cast_expression "(undefined4 **)((int)ppiVar9 + 0x58)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar9 + 0x58)" ( (binary_expression "(int)ppiVar9 + 0x58" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) = number_literal) ;) (return_statement "return uVar7;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Type propagation algorithm not settling */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original prototype: Value_type compute_final_value<64>(Symbol_table * this,\n   Sized_symbol<64> * sym, Compute_final_value_status * pstatus) */\n\nValue_type __thiscall\ngold::Symbol_table::compute_final_value<64>\n          (Symbol_table *this,Sized_symbol<64> *sym,Compute_final_value_status *pstatus)\n\n{\n  pointer *pppOVar1;\n  uint64_t *puVar2;\n  pointer ppOVar3;\n  _func_int_varargs *p_Var4;\n  pointer ppOVar5;\n  byte bVar6;\n  uint uVar7;\n  int *piVar8;\n  int iVar9;\n  uint extraout_EDX;\n  uint extraout_EDX_00;\n  int iVar10;\n  int extraout_EDX_01;\n  Output_segment *pOVar11;\n  uint uVar12;\n  bool bVar13;\n  longlong lVar14;\n  Value_type VVar15;\n  Symbol *in_stack_ffffffb4;\n  Parameters *in_stack_ffffffb8;\n  Output_section *local_40;\n  uint local_3c;\n  uint local_38;\n  Output_segment *local_24;\n  uint uStack_20;\n  \n  bVar6 = (sym->super_Symbol).field_0x2a;\n  switch(bVar6 & 7) {\n  case 0:\n    if ((bVar6 & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n    }\n    uVar7 = (sym->super_Symbol).u2_.shndx;\n    bVar6 = (byte)(sym->super_Symbol).field_0x2b >> 5 & 1;\n    if ((uVar7 != 0xfff1) && (bVar6 == 0)) {\n      bVar13 = Symbol::is_common_shndx(uVar7);\n      if (!bVar13) {\n        *pstatus = CFVS_UNSUPPORTED_SYMBOL_SECTION;\n        return 0;\n      }\n      if (((sym->super_Symbol).field_0x2a & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n      }\n    }\n    pOVar11 = (sym->super_Symbol).u1_.output_segment;\n    if ((((((Object *)pOVar11->output_lists_)->field_0x2c & 1) != 0) ||\n        (iVar9 = (*((Object *)pOVar11->output_lists_)->_vptr_Object[5])(pOVar11), iVar9 != 0)) ||\n       (uVar7 == 0)) goto _L737;\n    if ((bVar6 != 0) || ((uVar7 != 0xfff1 && (bVar13 = Symbol::is_common_shndx(uVar7), !bVar13)))) {\n      p_Var4 = ((Object *)pOVar11->output_lists_)->_vptr_Object[0x18];\n      if (p_Var4 == Relobj::do_output_section) {\n        ppOVar5 = (((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)\n                  ._M_impl._M_start;\n        if ((uint)((int)(((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        )._M_impl._M_finish - (int)ppOVar5 >> 2) <= uVar7) goto LAB_0017c850;\n        local_40 = ppOVar5[uVar7];\n      }\n      else {\n        local_40 = (Output_section *)(*p_Var4)(pOVar11,uVar7);\n      }\n      bVar13 = is_section_folded(this,(Relobj *)pOVar11,uVar7);\n      if (bVar13) {\n        if (local_40 != (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        Icf::get_folded_section(this->icf_,(Relobj *)pOVar11,uVar7);\n        if (local_24 == (Output_segment *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.cc",0xb10,"compute_final_value");\n        }\n        p_Var4 = ((Object *)local_24->output_lists_)->_vptr_Object[0x18];\n        if (p_Var4 == Relobj::do_output_section) {\n          ppOVar5 = (((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    )._M_impl._M_start;\n          if ((uint)((int)(((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          )._M_impl._M_finish - (int)ppOVar5 >> 2) <= uStack_20) {\nLAB_0017c850:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          local_40 = ppOVar5[uStack_20];\n        }\n        else {\n          local_40 = (Output_section *)(*p_Var4)(local_24,uStack_20,local_24,local_24);\n        }\n        if (local_40 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.cc",0xb15,"compute_final_value");\n        }\n        local_3c = (*((Object *)local_24->output_lists_)->_vptr_Object[0x1a])(local_24,uStack_20);\n        uVar7 = uStack_20;\n        pOVar11 = local_24;\n        local_38 = extraout_EDX;\n      }\n      else {\n        local_3c = (*((Object *)pOVar11->output_lists_)->_vptr_Object[0x1a])(pOVar11,uVar7);\n        local_38 = extraout_EDX_00;\n        if (local_40 == (Output_section *)0x0) {\n          if (parameters->doing_static_link_valid_ == false) {\n                    /* WARNING: Subroutine does not return */\n            Parameters::doing_static_link((Parameters *)in_stack_ffffffb4,in_stack_ffffffb8);\n          }\n          if (parameters->doing_static_link_ == false) {\n            if (parameters->options_ == (General_options *)0x0) {\nLAB_0017c83a:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->relocatable_).value == false) {\n              uVar7 = (sym->super_Symbol).dynsym_index_;\n              if (uVar7 == 0) {\n                Symbol::dynsym_index(in_stack_ffffffb4);\n                goto LAB_0017c83a;\n              }\n              if (uVar7 != 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.cc",0xb21,"compute_final_value");\n              }\n            }\n          }\n          *pstatus = CFVS_NO_OUTPUT_SECTION;\n          return 0;\n        }\n      }\n      iVar9 = *(int *)((int)&sym->value_ + 4);\n      uVar12 = (uint)sym->value_;\n      if ((local_38 & local_3c) == 0xffffffff) {\n        VVar15 = Output_section::output_address(local_40,(Relobj *)pOVar11,uVar7,sym->value_);\n      }\n      else if (((sym->super_Symbol).field_0x28 & 0xf) == 6) {\n        p_Var4 = (local_40->super_Output_data)._vptr_Output_data[0x12];\n        if (p_Var4 == Output_section::do_tls_offset) {\n          uVar7 = (uint)local_40->tls_offset_;\n          iVar10 = *(int *)((int)&local_40->tls_offset_ + 4);\n        }\n        else {\n          uVar7 = (*p_Var4)(local_40);\n          iVar10 = extraout_EDX_01;\n        }\n        VVar15 = CONCAT44(iVar10 + iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +\n                          (uint)CARRY4(uVar7,uVar12 + local_3c),uVar7 + uVar12 + local_3c);\n      }\n      else {\n        if (((local_40->super_Output_data).field_0x1c & 1) == 0) goto LAB_0017c7b3;\n        puVar2 = &(local_40->super_Output_data).address_;\n        VVar15 = CONCAT44(iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +\n                          *(int *)((int)&(local_40->super_Output_data).address_ + 4) +\n                          (uint)CARRY4(uVar12 + local_3c,(uint)*puVar2),\n                          uVar12 + local_3c + (int)*puVar2);\n      }\n      break;\n    }\n  case 3:\n    VVar15 = sym->value_;\n    break;\n  case 1:\n    if ((bVar6 & 7) != 1) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/symtab.h",0xb5,"output_data");\n    }\n    pOVar11 = (sym->super_Symbol).u1_.output_segment;\n    uVar7 = (uint)sym->value_;\n    iVar9 = *(int *)((int)&sym->value_ + 4);\n    if (((sym->super_Symbol).field_0x28 & 0xf) == 6) {\n      piVar8 = (int *)(*(code *)pOVar11->output_lists_[0].\n                                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                ._M_impl._M_start[9])(pOVar11);\n      if (piVar8 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }\n      if (*(code **)(*piVar8 + 0x48) == Output_section::do_tls_offset) {\n        lVar14 = *(longlong *)(piVar8 + 0x25);\n      }\n      else {\n        lVar14 = (**(code **)(*piVar8 + 0x48))(piVar8);\n      }\n      bVar6 = *(byte *)&pOVar11->output_lists_[2].\n                        super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                        _M_impl._M_finish;\n      if ((bVar6 & 1) == 0) {\nLAB_0017c7b3:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/output.h",0xc5,"address");\n      }\n      ppOVar3 = pOVar11->output_lists_[0].\n                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.\n                _M_finish;\n      if ((*(byte *)(piVar8 + 7) & 1) == 0) goto LAB_0017c7b3;\n      uVar12 = uVar7 + (int)ppOVar3;\n      VVar15 = lVar14 + CONCAT44((int)pOVar11->output_lists_[0].\n                                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                      ._M_impl._M_end_of_storage +\n                                 ((((uint)CARRY4(uVar7,(uint)ppOVar3) + iVar9) - piVar8[2]) -\n                                 (uint)(uVar12 < (uint)piVar8[1])),uVar12 - piVar8[1]);\n      if (((sym->super_Symbol).field_0x2a & 7) != 1) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }\n    }\n    else {\n      bVar6 = *(byte *)&pOVar11->output_lists_[2].\n                        super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                        _M_impl._M_finish;\n      if ((bVar6 & 1) == 0) goto LAB_0017c7b3;\n      pppOVar1 = &pOVar11->output_lists_[0].\n                  super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                  _M_impl._M_finish;\n      VVar15 = CONCAT44((int)pOVar11->output_lists_[0].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage +\n                        (uint)CARRY4(uVar7,(uint)*pppOVar1) + iVar9,uVar7 + (int)*pppOVar1);\n    }\n    if ((sym->super_Symbol).u2_.offset_is_from_end != false) {\n      if ((bVar6 & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n      }\n      VVar15 = CONCAT44((int)pOVar11->output_lists_[1].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_finish +\n                        (uint)CARRY4((uint)VVar15,\n                                     (uint)pOVar11->output_lists_[1].\n                                           super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                           ._M_impl._M_start) + (int)(VVar15 >> 0x20),\n                        (uint)VVar15 +\n                        (int)pOVar11->output_lists_[1].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_start);\n    }\n    break;\n  case 2:\n    if ((bVar6 & 7) != 2) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/symtab.h",200,"output_segment");\n    }\n    pOVar11 = (sym->super_Symbol).u1_.output_segment;\n    uVar7 = (uint)sym->value_;\n    iVar9 = *(int *)((int)&sym->value_ + 4);\n    if (((sym->super_Symbol).field_0x28 & 0xf) != 6) {\n      bVar13 = CARRY4(uVar7,(uint)pOVar11->vaddr_);\n      uVar7 = uVar7 + (int)pOVar11->vaddr_;\n      iVar9 = iVar9 + *(int *)((int)&pOVar11->vaddr_ + 4) + (uint)bVar13;\n    }\n    VVar15 = CONCAT44(iVar9,uVar7);\n    uVar12 = (sym->super_Symbol).u2_.shndx;\n    if (uVar12 == 1) {\n      VVar15 = CONCAT44(iVar9 + *(int *)((int)&pOVar11->memsz_ + 4) +\n                        (uint)CARRY4(uVar7,(uint)pOVar11->memsz_),uVar7 + (int)pOVar11->memsz_);\n    }\n    else if (uVar12 != 0) {\n      if (uVar12 != 2) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xb5c,"compute_final_value");\n      }\n      VVar15 = CONCAT44(iVar9 + *(int *)((int)&pOVar11->filesz_ + 4) +\n                        (uint)CARRY4(uVar7,(uint)pOVar11->filesz_),uVar7 + (int)pOVar11->filesz_);\n    }\n    break;\n  case 4:\n_L737:\n    VVar15 = 0;\n    break;\n  default:\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/symtab.cc",0xb6a,"compute_final_value");\n  }\n  *pstatus = CFVS_OK;\n  return VVar15;\n}\n\n" comment comment comment comment (function_definition "Value_type __thiscall\ngold::Symbol_table::compute_final_value<64>\n          (Symbol_table *this,Sized_symbol<64> *sym,Compute_final_value_status *pstatus)\n\n{\n  pointer *pppOVar1;\n  uint64_t *puVar2;\n  pointer ppOVar3;\n  _func_int_varargs *p_Var4;\n  pointer ppOVar5;\n  byte bVar6;\n  uint uVar7;\n  int *piVar8;\n  int iVar9;\n  uint extraout_EDX;\n  uint extraout_EDX_00;\n  int iVar10;\n  int extraout_EDX_01;\n  Output_segment *pOVar11;\n  uint uVar12;\n  bool bVar13;\n  longlong lVar14;\n  Value_type VVar15;\n  Symbol *in_stack_ffffffb4;\n  Parameters *in_stack_ffffffb8;\n  Output_section *local_40;\n  uint local_3c;\n  uint local_38;\n  Output_segment *local_24;\n  uint uStack_20;\n  \n  bVar6 = (sym->super_Symbol).field_0x2a;\n  switch(bVar6 & 7) {\n  case 0:\n    if ((bVar6 & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n    }\n    uVar7 = (sym->super_Symbol).u2_.shndx;\n    bVar6 = (byte)(sym->super_Symbol).field_0x2b >> 5 & 1;\n    if ((uVar7 != 0xfff1) && (bVar6 == 0)) {\n      bVar13 = Symbol::is_common_shndx(uVar7);\n      if (!bVar13) {\n        *pstatus = CFVS_UNSUPPORTED_SYMBOL_SECTION;\n        return 0;\n      }\n      if (((sym->super_Symbol).field_0x2a & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n      }\n    }\n    pOVar11 = (sym->super_Symbol).u1_.output_segment;\n    if ((((((Object *)pOVar11->output_lists_)->field_0x2c & 1) != 0) ||\n        (iVar9 = (*((Object *)pOVar11->output_lists_)->_vptr_Object[5])(pOVar11), iVar9 != 0)) ||\n       (uVar7 == 0)) goto _L737;\n    if ((bVar6 != 0) || ((uVar7 != 0xfff1 && (bVar13 = Symbol::is_common_shndx(uVar7), !bVar13)))) {\n      p_Var4 = ((Object *)pOVar11->output_lists_)->_vptr_Object[0x18];\n      if (p_Var4 == Relobj::do_output_section) {\n        ppOVar5 = (((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)\n                  ._M_impl._M_start;\n        if ((uint)((int)(((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        )._M_impl._M_finish - (int)ppOVar5 >> 2) <= uVar7) goto LAB_0017c850;\n        local_40 = ppOVar5[uVar7];\n      }\n      else {\n        local_40 = (Output_section *)(*p_Var4)(pOVar11,uVar7);\n      }\n      bVar13 = is_section_folded(this,(Relobj *)pOVar11,uVar7);\n      if (bVar13) {\n        if (local_40 != (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        Icf::get_folded_section(this->icf_,(Relobj *)pOVar11,uVar7);\n        if (local_24 == (Output_segment *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.cc",0xb10,"compute_final_value");\n        }\n        p_Var4 = ((Object *)local_24->output_lists_)->_vptr_Object[0x18];\n        if (p_Var4 == Relobj::do_output_section) {\n          ppOVar5 = (((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    )._M_impl._M_start;\n          if ((uint)((int)(((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          )._M_impl._M_finish - (int)ppOVar5 >> 2) <= uStack_20) {\nLAB_0017c850:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          local_40 = ppOVar5[uStack_20];\n        }\n        else {\n          local_40 = (Output_section *)(*p_Var4)(local_24,uStack_20,local_24,local_24);\n        }\n        if (local_40 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.cc",0xb15,"compute_final_value");\n        }\n        local_3c = (*((Object *)local_24->output_lists_)->_vptr_Object[0x1a])(local_24,uStack_20);\n        uVar7 = uStack_20;\n        pOVar11 = local_24;\n        local_38 = extraout_EDX;\n      }\n      else {\n        local_3c = (*((Object *)pOVar11->output_lists_)->_vptr_Object[0x1a])(pOVar11,uVar7);\n        local_38 = extraout_EDX_00;\n        if (local_40 == (Output_section *)0x0) {\n          if (parameters->doing_static_link_valid_ == false) {\n                    /* WARNING: Subroutine does not return */\n            Parameters::doing_static_link((Parameters *)in_stack_ffffffb4,in_stack_ffffffb8);\n          }\n          if (parameters->doing_static_link_ == false) {\n            if (parameters->options_ == (General_options *)0x0) {\nLAB_0017c83a:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->relocatable_).value == false) {\n              uVar7 = (sym->super_Symbol).dynsym_index_;\n              if (uVar7 == 0) {\n                Symbol::dynsym_index(in_stack_ffffffb4);\n                goto LAB_0017c83a;\n              }\n              if (uVar7 != 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.cc",0xb21,"compute_final_value");\n              }\n            }\n          }\n          *pstatus = CFVS_NO_OUTPUT_SECTION;\n          return 0;\n        }\n      }\n      iVar9 = *(int *)((int)&sym->value_ + 4);\n      uVar12 = (uint)sym->value_;\n      if ((local_38 & local_3c) == 0xffffffff) {\n        VVar15 = Output_section::output_address(local_40,(Relobj *)pOVar11,uVar7,sym->value_);\n      }\n      else if (((sym->super_Symbol).field_0x28 & 0xf) == 6) {\n        p_Var4 = (local_40->super_Output_data)._vptr_Output_data[0x12];\n        if (p_Var4 == Output_section::do_tls_offset) {\n          uVar7 = (uint)local_40->tls_offset_;\n          iVar10 = *(int *)((int)&local_40->tls_offset_ + 4);\n        }\n        else {\n          uVar7 = (*p_Var4)(local_40);\n          iVar10 = extraout_EDX_01;\n        }\n        VVar15 = CONCAT44(iVar10 + iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +\n                          (uint)CARRY4(uVar7,uVar12 + local_3c),uVar7 + uVar12 + local_3c);\n      }\n      else {\n        if (((local_40->super_Output_data).field_0x1c & 1) == 0) goto LAB_0017c7b3;\n        puVar2 = &(local_40->super_Output_data).address_;\n        VVar15 = CONCAT44(iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +\n                          *(int *)((int)&(local_40->super_Output_data).address_ + 4) +\n                          (uint)CARRY4(uVar12 + local_3c,(uint)*puVar2),\n                          uVar12 + local_3c + (int)*puVar2);\n      }\n      break;\n    }\n  case 3:\n    VVar15 = sym->value_;\n    break;\n  case 1:\n    if ((bVar6 & 7) != 1) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/symtab.h",0xb5,"output_data");\n    }\n    pOVar11 = (sym->super_Symbol).u1_.output_segment;\n    uVar7 = (uint)sym->value_;\n    iVar9 = *(int *)((int)&sym->value_ + 4);\n    if (((sym->super_Symbol).field_0x28 & 0xf) == 6) {\n      piVar8 = (int *)(*(code *)pOVar11->output_lists_[0].\n                                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                ._M_impl._M_start[9])(pOVar11);\n      if (piVar8 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }\n      if (*(code **)(*piVar8 + 0x48) == Output_section::do_tls_offset) {\n        lVar14 = *(longlong *)(piVar8 + 0x25);\n      }\n      else {\n        lVar14 = (**(code **)(*piVar8 + 0x48))(piVar8);\n      }\n      bVar6 = *(byte *)&pOVar11->output_lists_[2].\n                        super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                        _M_impl._M_finish;\n      if ((bVar6 & 1) == 0) {\nLAB_0017c7b3:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/output.h",0xc5,"address");\n      }\n      ppOVar3 = pOVar11->output_lists_[0].\n                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.\n                _M_finish;\n      if ((*(byte *)(piVar8 + 7) & 1) == 0) goto LAB_0017c7b3;\n      uVar12 = uVar7 + (int)ppOVar3;\n      VVar15 = lVar14 + CONCAT44((int)pOVar11->output_lists_[0].\n                                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                      ._M_impl._M_end_of_storage +\n                                 ((((uint)CARRY4(uVar7,(uint)ppOVar3) + iVar9) - piVar8[2]) -\n                                 (uint)(uVar12 < (uint)piVar8[1])),uVar12 - piVar8[1]);\n      if (((sym->super_Symbol).field_0x2a & 7) != 1) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }\n    }\n    else {\n      bVar6 = *(byte *)&pOVar11->output_lists_[2].\n                        super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                        _M_impl._M_finish;\n      if ((bVar6 & 1) == 0) goto LAB_0017c7b3;\n      pppOVar1 = &pOVar11->output_lists_[0].\n                  super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                  _M_impl._M_finish;\n      VVar15 = CONCAT44((int)pOVar11->output_lists_[0].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage +\n                        (uint)CARRY4(uVar7,(uint)*pppOVar1) + iVar9,uVar7 + (int)*pppOVar1);\n    }\n    if ((sym->super_Symbol).u2_.offset_is_from_end != false) {\n      if ((bVar6 & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n      }\n      VVar15 = CONCAT44((int)pOVar11->output_lists_[1].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_finish +\n                        (uint)CARRY4((uint)VVar15,\n                                     (uint)pOVar11->output_lists_[1].\n                                           super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                           ._M_impl._M_start) + (int)(VVar15 >> 0x20),\n                        (uint)VVar15 +\n                        (int)pOVar11->output_lists_[1].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_start);\n    }\n    break;\n  case 2:\n    if ((bVar6 & 7) != 2) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/symtab.h",200,"output_segment");\n    }\n    pOVar11 = (sym->super_Symbol).u1_.output_segment;\n    uVar7 = (uint)sym->value_;\n    iVar9 = *(int *)((int)&sym->value_ + 4);\n    if (((sym->super_Symbol).field_0x28 & 0xf) != 6) {\n      bVar13 = CARRY4(uVar7,(uint)pOVar11->vaddr_);\n      uVar7 = uVar7 + (int)pOVar11->vaddr_;\n      iVar9 = iVar9 + *(int *)((int)&pOVar11->vaddr_ + 4) + (uint)bVar13;\n    }\n    VVar15 = CONCAT44(iVar9,uVar7);\n    uVar12 = (sym->super_Symbol).u2_.shndx;\n    if (uVar12 == 1) {\n      VVar15 = CONCAT44(iVar9 + *(int *)((int)&pOVar11->memsz_ + 4) +\n                        (uint)CARRY4(uVar7,(uint)pOVar11->memsz_),uVar7 + (int)pOVar11->memsz_);\n    }\n    else if (uVar12 != 0) {\n      if (uVar12 != 2) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xb5c,"compute_final_value");\n      }\n      VVar15 = CONCAT44(iVar9 + *(int *)((int)&pOVar11->filesz_ + 4) +\n                        (uint)CARRY4(uVar7,(uint)pOVar11->filesz_),uVar7 + (int)pOVar11->filesz_);\n    }\n    break;\n  case 4:\n_L737:\n    VVar15 = 0;\n    break;\n  default:\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/symtab.cc",0xb6a,"compute_final_value");\n  }\n  *pstatus = CFVS_OK;\n  return VVar15;\n}" type_identifier (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Symbol_table::" identifier : : identifier : :) (function_declarator "compute_final_value<64>\n          (Symbol_table *this,Sized_symbol<64> *sym,Compute_final_value_status *pstatus)" identifier (ERROR "<64>" < number_literal >) (parameter_list "(Symbol_table *this,Sized_symbol<64> *sym,Compute_final_value_status *pstatus)" ( (parameter_declaration "Symbol_table *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Sized_symbol<64> *sym" type_identifier (ERROR "<64>" < number_literal >) (pointer_declarator "*sym" * identifier)) , (parameter_declaration "Compute_final_value_status *pstatus" type_identifier (pointer_declarator "*pstatus" * identifier)) ))) (compound_statement "{\n  pointer *pppOVar1;\n  uint64_t *puVar2;\n  pointer ppOVar3;\n  _func_int_varargs *p_Var4;\n  pointer ppOVar5;\n  byte bVar6;\n  uint uVar7;\n  int *piVar8;\n  int iVar9;\n  uint extraout_EDX;\n  uint extraout_EDX_00;\n  int iVar10;\n  int extraout_EDX_01;\n  Output_segment *pOVar11;\n  uint uVar12;\n  bool bVar13;\n  longlong lVar14;\n  Value_type VVar15;\n  Symbol *in_stack_ffffffb4;\n  Parameters *in_stack_ffffffb8;\n  Output_section *local_40;\n  uint local_3c;\n  uint local_38;\n  Output_segment *local_24;\n  uint uStack_20;\n  \n  bVar6 = (sym->super_Symbol).field_0x2a;\n  switch(bVar6 & 7) {\n  case 0:\n    if ((bVar6 & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n    }\n    uVar7 = (sym->super_Symbol).u2_.shndx;\n    bVar6 = (byte)(sym->super_Symbol).field_0x2b >> 5 & 1;\n    if ((uVar7 != 0xfff1) && (bVar6 == 0)) {\n      bVar13 = Symbol::is_common_shndx(uVar7);\n      if (!bVar13) {\n        *pstatus = CFVS_UNSUPPORTED_SYMBOL_SECTION;\n        return 0;\n      }\n      if (((sym->super_Symbol).field_0x2a & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n      }\n    }\n    pOVar11 = (sym->super_Symbol).u1_.output_segment;\n    if ((((((Object *)pOVar11->output_lists_)->field_0x2c & 1) != 0) ||\n        (iVar9 = (*((Object *)pOVar11->output_lists_)->_vptr_Object[5])(pOVar11), iVar9 != 0)) ||\n       (uVar7 == 0)) goto _L737;\n    if ((bVar6 != 0) || ((uVar7 != 0xfff1 && (bVar13 = Symbol::is_common_shndx(uVar7), !bVar13)))) {\n      p_Var4 = ((Object *)pOVar11->output_lists_)->_vptr_Object[0x18];\n      if (p_Var4 == Relobj::do_output_section) {\n        ppOVar5 = (((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)\n                  ._M_impl._M_start;\n        if ((uint)((int)(((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        )._M_impl._M_finish - (int)ppOVar5 >> 2) <= uVar7) goto LAB_0017c850;\n        local_40 = ppOVar5[uVar7];\n      }\n      else {\n        local_40 = (Output_section *)(*p_Var4)(pOVar11,uVar7);\n      }\n      bVar13 = is_section_folded(this,(Relobj *)pOVar11,uVar7);\n      if (bVar13) {\n        if (local_40 != (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        Icf::get_folded_section(this->icf_,(Relobj *)pOVar11,uVar7);\n        if (local_24 == (Output_segment *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.cc",0xb10,"compute_final_value");\n        }\n        p_Var4 = ((Object *)local_24->output_lists_)->_vptr_Object[0x18];\n        if (p_Var4 == Relobj::do_output_section) {\n          ppOVar5 = (((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    )._M_impl._M_start;\n          if ((uint)((int)(((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          )._M_impl._M_finish - (int)ppOVar5 >> 2) <= uStack_20) {\nLAB_0017c850:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          local_40 = ppOVar5[uStack_20];\n        }\n        else {\n          local_40 = (Output_section *)(*p_Var4)(local_24,uStack_20,local_24,local_24);\n        }\n        if (local_40 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.cc",0xb15,"compute_final_value");\n        }\n        local_3c = (*((Object *)local_24->output_lists_)->_vptr_Object[0x1a])(local_24,uStack_20);\n        uVar7 = uStack_20;\n        pOVar11 = local_24;\n        local_38 = extraout_EDX;\n      }\n      else {\n        local_3c = (*((Object *)pOVar11->output_lists_)->_vptr_Object[0x1a])(pOVar11,uVar7);\n        local_38 = extraout_EDX_00;\n        if (local_40 == (Output_section *)0x0) {\n          if (parameters->doing_static_link_valid_ == false) {\n                    /* WARNING: Subroutine does not return */\n            Parameters::doing_static_link((Parameters *)in_stack_ffffffb4,in_stack_ffffffb8);\n          }\n          if (parameters->doing_static_link_ == false) {\n            if (parameters->options_ == (General_options *)0x0) {\nLAB_0017c83a:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->relocatable_).value == false) {\n              uVar7 = (sym->super_Symbol).dynsym_index_;\n              if (uVar7 == 0) {\n                Symbol::dynsym_index(in_stack_ffffffb4);\n                goto LAB_0017c83a;\n              }\n              if (uVar7 != 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.cc",0xb21,"compute_final_value");\n              }\n            }\n          }\n          *pstatus = CFVS_NO_OUTPUT_SECTION;\n          return 0;\n        }\n      }\n      iVar9 = *(int *)((int)&sym->value_ + 4);\n      uVar12 = (uint)sym->value_;\n      if ((local_38 & local_3c) == 0xffffffff) {\n        VVar15 = Output_section::output_address(local_40,(Relobj *)pOVar11,uVar7,sym->value_);\n      }\n      else if (((sym->super_Symbol).field_0x28 & 0xf) == 6) {\n        p_Var4 = (local_40->super_Output_data)._vptr_Output_data[0x12];\n        if (p_Var4 == Output_section::do_tls_offset) {\n          uVar7 = (uint)local_40->tls_offset_;\n          iVar10 = *(int *)((int)&local_40->tls_offset_ + 4);\n        }\n        else {\n          uVar7 = (*p_Var4)(local_40);\n          iVar10 = extraout_EDX_01;\n        }\n        VVar15 = CONCAT44(iVar10 + iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +\n                          (uint)CARRY4(uVar7,uVar12 + local_3c),uVar7 + uVar12 + local_3c);\n      }\n      else {\n        if (((local_40->super_Output_data).field_0x1c & 1) == 0) goto LAB_0017c7b3;\n        puVar2 = &(local_40->super_Output_data).address_;\n        VVar15 = CONCAT44(iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +\n                          *(int *)((int)&(local_40->super_Output_data).address_ + 4) +\n                          (uint)CARRY4(uVar12 + local_3c,(uint)*puVar2),\n                          uVar12 + local_3c + (int)*puVar2);\n      }\n      break;\n    }\n  case 3:\n    VVar15 = sym->value_;\n    break;\n  case 1:\n    if ((bVar6 & 7) != 1) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/symtab.h",0xb5,"output_data");\n    }\n    pOVar11 = (sym->super_Symbol).u1_.output_segment;\n    uVar7 = (uint)sym->value_;\n    iVar9 = *(int *)((int)&sym->value_ + 4);\n    if (((sym->super_Symbol).field_0x28 & 0xf) == 6) {\n      piVar8 = (int *)(*(code *)pOVar11->output_lists_[0].\n                                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                ._M_impl._M_start[9])(pOVar11);\n      if (piVar8 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }\n      if (*(code **)(*piVar8 + 0x48) == Output_section::do_tls_offset) {\n        lVar14 = *(longlong *)(piVar8 + 0x25);\n      }\n      else {\n        lVar14 = (**(code **)(*piVar8 + 0x48))(piVar8);\n      }\n      bVar6 = *(byte *)&pOVar11->output_lists_[2].\n                        super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                        _M_impl._M_finish;\n      if ((bVar6 & 1) == 0) {\nLAB_0017c7b3:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/output.h",0xc5,"address");\n      }\n      ppOVar3 = pOVar11->output_lists_[0].\n                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.\n                _M_finish;\n      if ((*(byte *)(piVar8 + 7) & 1) == 0) goto LAB_0017c7b3;\n      uVar12 = uVar7 + (int)ppOVar3;\n      VVar15 = lVar14 + CONCAT44((int)pOVar11->output_lists_[0].\n                                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                      ._M_impl._M_end_of_storage +\n                                 ((((uint)CARRY4(uVar7,(uint)ppOVar3) + iVar9) - piVar8[2]) -\n                                 (uint)(uVar12 < (uint)piVar8[1])),uVar12 - piVar8[1]);\n      if (((sym->super_Symbol).field_0x2a & 7) != 1) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }\n    }\n    else {\n      bVar6 = *(byte *)&pOVar11->output_lists_[2].\n                        super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                        _M_impl._M_finish;\n      if ((bVar6 & 1) == 0) goto LAB_0017c7b3;\n      pppOVar1 = &pOVar11->output_lists_[0].\n                  super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                  _M_impl._M_finish;\n      VVar15 = CONCAT44((int)pOVar11->output_lists_[0].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage +\n                        (uint)CARRY4(uVar7,(uint)*pppOVar1) + iVar9,uVar7 + (int)*pppOVar1);\n    }\n    if ((sym->super_Symbol).u2_.offset_is_from_end != false) {\n      if ((bVar6 & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n      }\n      VVar15 = CONCAT44((int)pOVar11->output_lists_[1].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_finish +\n                        (uint)CARRY4((uint)VVar15,\n                                     (uint)pOVar11->output_lists_[1].\n                                           super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                           ._M_impl._M_start) + (int)(VVar15 >> 0x20),\n                        (uint)VVar15 +\n                        (int)pOVar11->output_lists_[1].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_start);\n    }\n    break;\n  case 2:\n    if ((bVar6 & 7) != 2) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/symtab.h",200,"output_segment");\n    }\n    pOVar11 = (sym->super_Symbol).u1_.output_segment;\n    uVar7 = (uint)sym->value_;\n    iVar9 = *(int *)((int)&sym->value_ + 4);\n    if (((sym->super_Symbol).field_0x28 & 0xf) != 6) {\n      bVar13 = CARRY4(uVar7,(uint)pOVar11->vaddr_);\n      uVar7 = uVar7 + (int)pOVar11->vaddr_;\n      iVar9 = iVar9 + *(int *)((int)&pOVar11->vaddr_ + 4) + (uint)bVar13;\n    }\n    VVar15 = CONCAT44(iVar9,uVar7);\n    uVar12 = (sym->super_Symbol).u2_.shndx;\n    if (uVar12 == 1) {\n      VVar15 = CONCAT44(iVar9 + *(int *)((int)&pOVar11->memsz_ + 4) +\n                        (uint)CARRY4(uVar7,(uint)pOVar11->memsz_),uVar7 + (int)pOVar11->memsz_);\n    }\n    else if (uVar12 != 0) {\n      if (uVar12 != 2) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xb5c,"compute_final_value");\n      }\n      VVar15 = CONCAT44(iVar9 + *(int *)((int)&pOVar11->filesz_ + 4) +\n                        (uint)CARRY4(uVar7,(uint)pOVar11->filesz_),uVar7 + (int)pOVar11->filesz_);\n    }\n    break;\n  case 4:\n_L737:\n    VVar15 = 0;\n    break;\n  default:\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/symtab.cc",0xb6a,"compute_final_value");\n  }\n  *pstatus = CFVS_OK;\n  return VVar15;\n}" { (declaration "pointer *pppOVar1;" type_identifier (pointer_declarator "*pppOVar1" * identifier) ;) (declaration "uint64_t *puVar2;" primitive_type (pointer_declarator "*puVar2" * identifier) ;) (declaration "pointer ppOVar3;" type_identifier identifier ;) (declaration "_func_int_varargs *p_Var4;" type_identifier (pointer_declarator "*p_Var4" * identifier) ;) (declaration "pointer ppOVar5;" type_identifier identifier ;) (declaration "byte bVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int iVar9;" primitive_type identifier ;) (declaration "uint extraout_EDX;" type_identifier identifier ;) (declaration "uint extraout_EDX_00;" type_identifier identifier ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int extraout_EDX_01;" primitive_type identifier ;) (declaration "Output_segment *pOVar11;" type_identifier (pointer_declarator "*pOVar11" * identifier) ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "bool bVar13;" primitive_type identifier ;) (declaration "longlong lVar14;" type_identifier identifier ;) (declaration "Value_type VVar15;" type_identifier identifier ;) (declaration "Symbol *in_stack_ffffffb4;" type_identifier (pointer_declarator "*in_stack_ffffffb4" * identifier) ;) (declaration "Parameters *in_stack_ffffffb8;" type_identifier (pointer_declarator "*in_stack_ffffffb8" * identifier) ;) (declaration "Output_section *local_40;" type_identifier (pointer_declarator "*local_40" * identifier) ;) (declaration "uint local_3c;" type_identifier identifier ;) (declaration "uint local_38;" type_identifier identifier ;) (declaration "Output_segment *local_24;" type_identifier (pointer_declarator "*local_24" * identifier) ;) (declaration "uint uStack_20;" type_identifier identifier ;) (expression_statement "bVar6 = (sym->super_Symbol).field_0x2a;" (assignment_expression "bVar6 = (sym->super_Symbol).field_0x2a" identifier = (field_expression "(sym->super_Symbol).field_0x2a" (parenthesized_expression "(sym->super_Symbol)" ( (field_expression "sym->super_Symbol" identifier -> field_identifier) )) . field_identifier)) ;) (switch_statement "switch(bVar6 & 7) {\n  case 0:\n    if ((bVar6 & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n    }\n    uVar7 = (sym->super_Symbol).u2_.shndx;\n    bVar6 = (byte)(sym->super_Symbol).field_0x2b >> 5 & 1;\n    if ((uVar7 != 0xfff1) && (bVar6 == 0)) {\n      bVar13 = Symbol::is_common_shndx(uVar7);\n      if (!bVar13) {\n        *pstatus = CFVS_UNSUPPORTED_SYMBOL_SECTION;\n        return 0;\n      }\n      if (((sym->super_Symbol).field_0x2a & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n      }\n    }\n    pOVar11 = (sym->super_Symbol).u1_.output_segment;\n    if ((((((Object *)pOVar11->output_lists_)->field_0x2c & 1) != 0) ||\n        (iVar9 = (*((Object *)pOVar11->output_lists_)->_vptr_Object[5])(pOVar11), iVar9 != 0)) ||\n       (uVar7 == 0)) goto _L737;\n    if ((bVar6 != 0) || ((uVar7 != 0xfff1 && (bVar13 = Symbol::is_common_shndx(uVar7), !bVar13)))) {\n      p_Var4 = ((Object *)pOVar11->output_lists_)->_vptr_Object[0x18];\n      if (p_Var4 == Relobj::do_output_section) {\n        ppOVar5 = (((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)\n                  ._M_impl._M_start;\n        if ((uint)((int)(((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        )._M_impl._M_finish - (int)ppOVar5 >> 2) <= uVar7) goto LAB_0017c850;\n        local_40 = ppOVar5[uVar7];\n      }\n      else {\n        local_40 = (Output_section *)(*p_Var4)(pOVar11,uVar7);\n      }\n      bVar13 = is_section_folded(this,(Relobj *)pOVar11,uVar7);\n      if (bVar13) {\n        if (local_40 != (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        Icf::get_folded_section(this->icf_,(Relobj *)pOVar11,uVar7);\n        if (local_24 == (Output_segment *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.cc",0xb10,"compute_final_value");\n        }\n        p_Var4 = ((Object *)local_24->output_lists_)->_vptr_Object[0x18];\n        if (p_Var4 == Relobj::do_output_section) {\n          ppOVar5 = (((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    )._M_impl._M_start;\n          if ((uint)((int)(((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          )._M_impl._M_finish - (int)ppOVar5 >> 2) <= uStack_20) {\nLAB_0017c850:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          local_40 = ppOVar5[uStack_20];\n        }\n        else {\n          local_40 = (Output_section *)(*p_Var4)(local_24,uStack_20,local_24,local_24);\n        }\n        if (local_40 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.cc",0xb15,"compute_final_value");\n        }\n        local_3c = (*((Object *)local_24->output_lists_)->_vptr_Object[0x1a])(local_24,uStack_20);\n        uVar7 = uStack_20;\n        pOVar11 = local_24;\n        local_38 = extraout_EDX;\n      }\n      else {\n        local_3c = (*((Object *)pOVar11->output_lists_)->_vptr_Object[0x1a])(pOVar11,uVar7);\n        local_38 = extraout_EDX_00;\n        if (local_40 == (Output_section *)0x0) {\n          if (parameters->doing_static_link_valid_ == false) {\n                    /* WARNING: Subroutine does not return */\n            Parameters::doing_static_link((Parameters *)in_stack_ffffffb4,in_stack_ffffffb8);\n          }\n          if (parameters->doing_static_link_ == false) {\n            if (parameters->options_ == (General_options *)0x0) {\nLAB_0017c83a:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->relocatable_).value == false) {\n              uVar7 = (sym->super_Symbol).dynsym_index_;\n              if (uVar7 == 0) {\n                Symbol::dynsym_index(in_stack_ffffffb4);\n                goto LAB_0017c83a;\n              }\n              if (uVar7 != 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.cc",0xb21,"compute_final_value");\n              }\n            }\n          }\n          *pstatus = CFVS_NO_OUTPUT_SECTION;\n          return 0;\n        }\n      }\n      iVar9 = *(int *)((int)&sym->value_ + 4);\n      uVar12 = (uint)sym->value_;\n      if ((local_38 & local_3c) == 0xffffffff) {\n        VVar15 = Output_section::output_address(local_40,(Relobj *)pOVar11,uVar7,sym->value_);\n      }\n      else if (((sym->super_Symbol).field_0x28 & 0xf) == 6) {\n        p_Var4 = (local_40->super_Output_data)._vptr_Output_data[0x12];\n        if (p_Var4 == Output_section::do_tls_offset) {\n          uVar7 = (uint)local_40->tls_offset_;\n          iVar10 = *(int *)((int)&local_40->tls_offset_ + 4);\n        }\n        else {\n          uVar7 = (*p_Var4)(local_40);\n          iVar10 = extraout_EDX_01;\n        }\n        VVar15 = CONCAT44(iVar10 + iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +\n                          (uint)CARRY4(uVar7,uVar12 + local_3c),uVar7 + uVar12 + local_3c);\n      }\n      else {\n        if (((local_40->super_Output_data).field_0x1c & 1) == 0) goto LAB_0017c7b3;\n        puVar2 = &(local_40->super_Output_data).address_;\n        VVar15 = CONCAT44(iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +\n                          *(int *)((int)&(local_40->super_Output_data).address_ + 4) +\n                          (uint)CARRY4(uVar12 + local_3c,(uint)*puVar2),\n                          uVar12 + local_3c + (int)*puVar2);\n      }\n      break;\n    }\n  case 3:\n    VVar15 = sym->value_;\n    break;\n  case 1:\n    if ((bVar6 & 7) != 1) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/symtab.h",0xb5,"output_data");\n    }\n    pOVar11 = (sym->super_Symbol).u1_.output_segment;\n    uVar7 = (uint)sym->value_;\n    iVar9 = *(int *)((int)&sym->value_ + 4);\n    if (((sym->super_Symbol).field_0x28 & 0xf) == 6) {\n      piVar8 = (int *)(*(code *)pOVar11->output_lists_[0].\n                                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                ._M_impl._M_start[9])(pOVar11);\n      if (piVar8 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }\n      if (*(code **)(*piVar8 + 0x48) == Output_section::do_tls_offset) {\n        lVar14 = *(longlong *)(piVar8 + 0x25);\n      }\n      else {\n        lVar14 = (**(code **)(*piVar8 + 0x48))(piVar8);\n      }\n      bVar6 = *(byte *)&pOVar11->output_lists_[2].\n                        super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                        _M_impl._M_finish;\n      if ((bVar6 & 1) == 0) {\nLAB_0017c7b3:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/output.h",0xc5,"address");\n      }\n      ppOVar3 = pOVar11->output_lists_[0].\n                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.\n                _M_finish;\n      if ((*(byte *)(piVar8 + 7) & 1) == 0) goto LAB_0017c7b3;\n      uVar12 = uVar7 + (int)ppOVar3;\n      VVar15 = lVar14 + CONCAT44((int)pOVar11->output_lists_[0].\n                                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                      ._M_impl._M_end_of_storage +\n                                 ((((uint)CARRY4(uVar7,(uint)ppOVar3) + iVar9) - piVar8[2]) -\n                                 (uint)(uVar12 < (uint)piVar8[1])),uVar12 - piVar8[1]);\n      if (((sym->super_Symbol).field_0x2a & 7) != 1) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }\n    }\n    else {\n      bVar6 = *(byte *)&pOVar11->output_lists_[2].\n                        super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                        _M_impl._M_finish;\n      if ((bVar6 & 1) == 0) goto LAB_0017c7b3;\n      pppOVar1 = &pOVar11->output_lists_[0].\n                  super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                  _M_impl._M_finish;\n      VVar15 = CONCAT44((int)pOVar11->output_lists_[0].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage +\n                        (uint)CARRY4(uVar7,(uint)*pppOVar1) + iVar9,uVar7 + (int)*pppOVar1);\n    }\n    if ((sym->super_Symbol).u2_.offset_is_from_end != false) {\n      if ((bVar6 & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n      }\n      VVar15 = CONCAT44((int)pOVar11->output_lists_[1].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_finish +\n                        (uint)CARRY4((uint)VVar15,\n                                     (uint)pOVar11->output_lists_[1].\n                                           super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                           ._M_impl._M_start) + (int)(VVar15 >> 0x20),\n                        (uint)VVar15 +\n                        (int)pOVar11->output_lists_[1].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_start);\n    }\n    break;\n  case 2:\n    if ((bVar6 & 7) != 2) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/symtab.h",200,"output_segment");\n    }\n    pOVar11 = (sym->super_Symbol).u1_.output_segment;\n    uVar7 = (uint)sym->value_;\n    iVar9 = *(int *)((int)&sym->value_ + 4);\n    if (((sym->super_Symbol).field_0x28 & 0xf) != 6) {\n      bVar13 = CARRY4(uVar7,(uint)pOVar11->vaddr_);\n      uVar7 = uVar7 + (int)pOVar11->vaddr_;\n      iVar9 = iVar9 + *(int *)((int)&pOVar11->vaddr_ + 4) + (uint)bVar13;\n    }\n    VVar15 = CONCAT44(iVar9,uVar7);\n    uVar12 = (sym->super_Symbol).u2_.shndx;\n    if (uVar12 == 1) {\n      VVar15 = CONCAT44(iVar9 + *(int *)((int)&pOVar11->memsz_ + 4) +\n                        (uint)CARRY4(uVar7,(uint)pOVar11->memsz_),uVar7 + (int)pOVar11->memsz_);\n    }\n    else if (uVar12 != 0) {\n      if (uVar12 != 2) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xb5c,"compute_final_value");\n      }\n      VVar15 = CONCAT44(iVar9 + *(int *)((int)&pOVar11->filesz_ + 4) +\n                        (uint)CARRY4(uVar7,(uint)pOVar11->filesz_),uVar7 + (int)pOVar11->filesz_);\n    }\n    break;\n  case 4:\n_L737:\n    VVar15 = 0;\n    break;\n  default:\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/symtab.cc",0xb6a,"compute_final_value");\n  }" switch (parenthesized_expression "(bVar6 & 7)" ( (binary_expression "bVar6 & 7" identifier & number_literal) )) (compound_statement "{\n  case 0:\n    if ((bVar6 & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n    }\n    uVar7 = (sym->super_Symbol).u2_.shndx;\n    bVar6 = (byte)(sym->super_Symbol).field_0x2b >> 5 & 1;\n    if ((uVar7 != 0xfff1) && (bVar6 == 0)) {\n      bVar13 = Symbol::is_common_shndx(uVar7);\n      if (!bVar13) {\n        *pstatus = CFVS_UNSUPPORTED_SYMBOL_SECTION;\n        return 0;\n      }\n      if (((sym->super_Symbol).field_0x2a & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n      }\n    }\n    pOVar11 = (sym->super_Symbol).u1_.output_segment;\n    if ((((((Object *)pOVar11->output_lists_)->field_0x2c & 1) != 0) ||\n        (iVar9 = (*((Object *)pOVar11->output_lists_)->_vptr_Object[5])(pOVar11), iVar9 != 0)) ||\n       (uVar7 == 0)) goto _L737;\n    if ((bVar6 != 0) || ((uVar7 != 0xfff1 && (bVar13 = Symbol::is_common_shndx(uVar7), !bVar13)))) {\n      p_Var4 = ((Object *)pOVar11->output_lists_)->_vptr_Object[0x18];\n      if (p_Var4 == Relobj::do_output_section) {\n        ppOVar5 = (((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)\n                  ._M_impl._M_start;\n        if ((uint)((int)(((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        )._M_impl._M_finish - (int)ppOVar5 >> 2) <= uVar7) goto LAB_0017c850;\n        local_40 = ppOVar5[uVar7];\n      }\n      else {\n        local_40 = (Output_section *)(*p_Var4)(pOVar11,uVar7);\n      }\n      bVar13 = is_section_folded(this,(Relobj *)pOVar11,uVar7);\n      if (bVar13) {\n        if (local_40 != (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        Icf::get_folded_section(this->icf_,(Relobj *)pOVar11,uVar7);\n        if (local_24 == (Output_segment *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.cc",0xb10,"compute_final_value");\n        }\n        p_Var4 = ((Object *)local_24->output_lists_)->_vptr_Object[0x18];\n        if (p_Var4 == Relobj::do_output_section) {\n          ppOVar5 = (((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    )._M_impl._M_start;\n          if ((uint)((int)(((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          )._M_impl._M_finish - (int)ppOVar5 >> 2) <= uStack_20) {\nLAB_0017c850:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          local_40 = ppOVar5[uStack_20];\n        }\n        else {\n          local_40 = (Output_section *)(*p_Var4)(local_24,uStack_20,local_24,local_24);\n        }\n        if (local_40 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.cc",0xb15,"compute_final_value");\n        }\n        local_3c = (*((Object *)local_24->output_lists_)->_vptr_Object[0x1a])(local_24,uStack_20);\n        uVar7 = uStack_20;\n        pOVar11 = local_24;\n        local_38 = extraout_EDX;\n      }\n      else {\n        local_3c = (*((Object *)pOVar11->output_lists_)->_vptr_Object[0x1a])(pOVar11,uVar7);\n        local_38 = extraout_EDX_00;\n        if (local_40 == (Output_section *)0x0) {\n          if (parameters->doing_static_link_valid_ == false) {\n                    /* WARNING: Subroutine does not return */\n            Parameters::doing_static_link((Parameters *)in_stack_ffffffb4,in_stack_ffffffb8);\n          }\n          if (parameters->doing_static_link_ == false) {\n            if (parameters->options_ == (General_options *)0x0) {\nLAB_0017c83a:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->relocatable_).value == false) {\n              uVar7 = (sym->super_Symbol).dynsym_index_;\n              if (uVar7 == 0) {\n                Symbol::dynsym_index(in_stack_ffffffb4);\n                goto LAB_0017c83a;\n              }\n              if (uVar7 != 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.cc",0xb21,"compute_final_value");\n              }\n            }\n          }\n          *pstatus = CFVS_NO_OUTPUT_SECTION;\n          return 0;\n        }\n      }\n      iVar9 = *(int *)((int)&sym->value_ + 4);\n      uVar12 = (uint)sym->value_;\n      if ((local_38 & local_3c) == 0xffffffff) {\n        VVar15 = Output_section::output_address(local_40,(Relobj *)pOVar11,uVar7,sym->value_);\n      }\n      else if (((sym->super_Symbol).field_0x28 & 0xf) == 6) {\n        p_Var4 = (local_40->super_Output_data)._vptr_Output_data[0x12];\n        if (p_Var4 == Output_section::do_tls_offset) {\n          uVar7 = (uint)local_40->tls_offset_;\n          iVar10 = *(int *)((int)&local_40->tls_offset_ + 4);\n        }\n        else {\n          uVar7 = (*p_Var4)(local_40);\n          iVar10 = extraout_EDX_01;\n        }\n        VVar15 = CONCAT44(iVar10 + iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +\n                          (uint)CARRY4(uVar7,uVar12 + local_3c),uVar7 + uVar12 + local_3c);\n      }\n      else {\n        if (((local_40->super_Output_data).field_0x1c & 1) == 0) goto LAB_0017c7b3;\n        puVar2 = &(local_40->super_Output_data).address_;\n        VVar15 = CONCAT44(iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +\n                          *(int *)((int)&(local_40->super_Output_data).address_ + 4) +\n                          (uint)CARRY4(uVar12 + local_3c,(uint)*puVar2),\n                          uVar12 + local_3c + (int)*puVar2);\n      }\n      break;\n    }\n  case 3:\n    VVar15 = sym->value_;\n    break;\n  case 1:\n    if ((bVar6 & 7) != 1) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/symtab.h",0xb5,"output_data");\n    }\n    pOVar11 = (sym->super_Symbol).u1_.output_segment;\n    uVar7 = (uint)sym->value_;\n    iVar9 = *(int *)((int)&sym->value_ + 4);\n    if (((sym->super_Symbol).field_0x28 & 0xf) == 6) {\n      piVar8 = (int *)(*(code *)pOVar11->output_lists_[0].\n                                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                ._M_impl._M_start[9])(pOVar11);\n      if (piVar8 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }\n      if (*(code **)(*piVar8 + 0x48) == Output_section::do_tls_offset) {\n        lVar14 = *(longlong *)(piVar8 + 0x25);\n      }\n      else {\n        lVar14 = (**(code **)(*piVar8 + 0x48))(piVar8);\n      }\n      bVar6 = *(byte *)&pOVar11->output_lists_[2].\n                        super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                        _M_impl._M_finish;\n      if ((bVar6 & 1) == 0) {\nLAB_0017c7b3:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/output.h",0xc5,"address");\n      }\n      ppOVar3 = pOVar11->output_lists_[0].\n                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.\n                _M_finish;\n      if ((*(byte *)(piVar8 + 7) & 1) == 0) goto LAB_0017c7b3;\n      uVar12 = uVar7 + (int)ppOVar3;\n      VVar15 = lVar14 + CONCAT44((int)pOVar11->output_lists_[0].\n                                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                      ._M_impl._M_end_of_storage +\n                                 ((((uint)CARRY4(uVar7,(uint)ppOVar3) + iVar9) - piVar8[2]) -\n                                 (uint)(uVar12 < (uint)piVar8[1])),uVar12 - piVar8[1]);\n      if (((sym->super_Symbol).field_0x2a & 7) != 1) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }\n    }\n    else {\n      bVar6 = *(byte *)&pOVar11->output_lists_[2].\n                        super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                        _M_impl._M_finish;\n      if ((bVar6 & 1) == 0) goto LAB_0017c7b3;\n      pppOVar1 = &pOVar11->output_lists_[0].\n                  super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                  _M_impl._M_finish;\n      VVar15 = CONCAT44((int)pOVar11->output_lists_[0].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage +\n                        (uint)CARRY4(uVar7,(uint)*pppOVar1) + iVar9,uVar7 + (int)*pppOVar1);\n    }\n    if ((sym->super_Symbol).u2_.offset_is_from_end != false) {\n      if ((bVar6 & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n      }\n      VVar15 = CONCAT44((int)pOVar11->output_lists_[1].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_finish +\n                        (uint)CARRY4((uint)VVar15,\n                                     (uint)pOVar11->output_lists_[1].\n                                           super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                           ._M_impl._M_start) + (int)(VVar15 >> 0x20),\n                        (uint)VVar15 +\n                        (int)pOVar11->output_lists_[1].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_start);\n    }\n    break;\n  case 2:\n    if ((bVar6 & 7) != 2) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/symtab.h",200,"output_segment");\n    }\n    pOVar11 = (sym->super_Symbol).u1_.output_segment;\n    uVar7 = (uint)sym->value_;\n    iVar9 = *(int *)((int)&sym->value_ + 4);\n    if (((sym->super_Symbol).field_0x28 & 0xf) != 6) {\n      bVar13 = CARRY4(uVar7,(uint)pOVar11->vaddr_);\n      uVar7 = uVar7 + (int)pOVar11->vaddr_;\n      iVar9 = iVar9 + *(int *)((int)&pOVar11->vaddr_ + 4) + (uint)bVar13;\n    }\n    VVar15 = CONCAT44(iVar9,uVar7);\n    uVar12 = (sym->super_Symbol).u2_.shndx;\n    if (uVar12 == 1) {\n      VVar15 = CONCAT44(iVar9 + *(int *)((int)&pOVar11->memsz_ + 4) +\n                        (uint)CARRY4(uVar7,(uint)pOVar11->memsz_),uVar7 + (int)pOVar11->memsz_);\n    }\n    else if (uVar12 != 0) {\n      if (uVar12 != 2) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xb5c,"compute_final_value");\n      }\n      VVar15 = CONCAT44(iVar9 + *(int *)((int)&pOVar11->filesz_ + 4) +\n                        (uint)CARRY4(uVar7,(uint)pOVar11->filesz_),uVar7 + (int)pOVar11->filesz_);\n    }\n    break;\n  case 4:\n_L737:\n    VVar15 = 0;\n    break;\n  default:\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/symtab.cc",0xb6a,"compute_final_value");\n  }" { (case_statement "case 0:\n    if ((bVar6 & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n    }\n    uVar7 = (sym->super_Symbol).u2_.shndx;\n    bVar6 = (byte)(sym->super_Symbol).field_0x2b >> 5 & 1;\n    if ((uVar7 != 0xfff1) && (bVar6 == 0)) {\n      bVar13 = Symbol::is_common_shndx(uVar7);\n      if (!bVar13) {\n        *pstatus = CFVS_UNSUPPORTED_SYMBOL_SECTION;\n        return 0;\n      }\n      if (((sym->super_Symbol).field_0x2a & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n      }\n    }\n    pOVar11 = (sym->super_Symbol).u1_.output_segment;\n    if ((((((Object *)pOVar11->output_lists_)->field_0x2c & 1) != 0) ||\n        (iVar9 = (*((Object *)pOVar11->output_lists_)->_vptr_Object[5])(pOVar11), iVar9 != 0)) ||\n       (uVar7 == 0)) goto _L737;\n    if ((bVar6 != 0) || ((uVar7 != 0xfff1 && (bVar13 = Symbol::is_common_shndx(uVar7), !bVar13)))) {\n      p_Var4 = ((Object *)pOVar11->output_lists_)->_vptr_Object[0x18];\n      if (p_Var4 == Relobj::do_output_section) {\n        ppOVar5 = (((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)\n                  ._M_impl._M_start;\n        if ((uint)((int)(((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        )._M_impl._M_finish - (int)ppOVar5 >> 2) <= uVar7) goto LAB_0017c850;\n        local_40 = ppOVar5[uVar7];\n      }\n      else {\n        local_40 = (Output_section *)(*p_Var4)(pOVar11,uVar7);\n      }\n      bVar13 = is_section_folded(this,(Relobj *)pOVar11,uVar7);\n      if (bVar13) {\n        if (local_40 != (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        Icf::get_folded_section(this->icf_,(Relobj *)pOVar11,uVar7);\n        if (local_24 == (Output_segment *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.cc",0xb10,"compute_final_value");\n        }\n        p_Var4 = ((Object *)local_24->output_lists_)->_vptr_Object[0x18];\n        if (p_Var4 == Relobj::do_output_section) {\n          ppOVar5 = (((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    )._M_impl._M_start;\n          if ((uint)((int)(((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          )._M_impl._M_finish - (int)ppOVar5 >> 2) <= uStack_20) {\nLAB_0017c850:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          local_40 = ppOVar5[uStack_20];\n        }\n        else {\n          local_40 = (Output_section *)(*p_Var4)(local_24,uStack_20,local_24,local_24);\n        }\n        if (local_40 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.cc",0xb15,"compute_final_value");\n        }\n        local_3c = (*((Object *)local_24->output_lists_)->_vptr_Object[0x1a])(local_24,uStack_20);\n        uVar7 = uStack_20;\n        pOVar11 = local_24;\n        local_38 = extraout_EDX;\n      }\n      else {\n        local_3c = (*((Object *)pOVar11->output_lists_)->_vptr_Object[0x1a])(pOVar11,uVar7);\n        local_38 = extraout_EDX_00;\n        if (local_40 == (Output_section *)0x0) {\n          if (parameters->doing_static_link_valid_ == false) {\n                    /* WARNING: Subroutine does not return */\n            Parameters::doing_static_link((Parameters *)in_stack_ffffffb4,in_stack_ffffffb8);\n          }\n          if (parameters->doing_static_link_ == false) {\n            if (parameters->options_ == (General_options *)0x0) {\nLAB_0017c83a:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->relocatable_).value == false) {\n              uVar7 = (sym->super_Symbol).dynsym_index_;\n              if (uVar7 == 0) {\n                Symbol::dynsym_index(in_stack_ffffffb4);\n                goto LAB_0017c83a;\n              }\n              if (uVar7 != 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.cc",0xb21,"compute_final_value");\n              }\n            }\n          }\n          *pstatus = CFVS_NO_OUTPUT_SECTION;\n          return 0;\n        }\n      }\n      iVar9 = *(int *)((int)&sym->value_ + 4);\n      uVar12 = (uint)sym->value_;\n      if ((local_38 & local_3c) == 0xffffffff) {\n        VVar15 = Output_section::output_address(local_40,(Relobj *)pOVar11,uVar7,sym->value_);\n      }\n      else if (((sym->super_Symbol).field_0x28 & 0xf) == 6) {\n        p_Var4 = (local_40->super_Output_data)._vptr_Output_data[0x12];\n        if (p_Var4 == Output_section::do_tls_offset) {\n          uVar7 = (uint)local_40->tls_offset_;\n          iVar10 = *(int *)((int)&local_40->tls_offset_ + 4);\n        }\n        else {\n          uVar7 = (*p_Var4)(local_40);\n          iVar10 = extraout_EDX_01;\n        }\n        VVar15 = CONCAT44(iVar10 + iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +\n                          (uint)CARRY4(uVar7,uVar12 + local_3c),uVar7 + uVar12 + local_3c);\n      }\n      else {\n        if (((local_40->super_Output_data).field_0x1c & 1) == 0) goto LAB_0017c7b3;\n        puVar2 = &(local_40->super_Output_data).address_;\n        VVar15 = CONCAT44(iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +\n                          *(int *)((int)&(local_40->super_Output_data).address_ + 4) +\n                          (uint)CARRY4(uVar12 + local_3c,(uint)*puVar2),\n                          uVar12 + local_3c + (int)*puVar2);\n      }\n      break;\n    }" case number_literal : (if_statement "if ((bVar6 & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n    }" if (parenthesized_expression "((bVar6 & 7) != 0)" ( (binary_expression "(bVar6 & 7) != 0" (parenthesized_expression "(bVar6 & 7)" ( (binary_expression "bVar6 & 7" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");\n    }" { comment (expression_statement "do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx");" (call_expression "do_gold_unreachable("../../gold/symtab.h",0xaa,"shndx")" identifier (argument_list "("../../gold/symtab.h",0xaa,"shndx")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""shndx"" " string_content ") ))) ;) })) (expression_statement "uVar7 = (sym->super_Symbol).u2_.shndx;" (assignment_expression "uVar7 = (sym->super_Symbol).u2_.shndx" identifier = (field_expression "(sym->super_Symbol).u2_.shndx" (field_expression "(sym->super_Symbol).u2_" (parenthesized_expression "(sym->super_Symbol)" ( (field_expression "sym->super_Symbol" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "bVar6 = (byte)(sym->super_Symbol).field_0x2b >> 5 & 1;" (assignment_expression "bVar6 = (byte)(sym->super_Symbol).field_0x2b >> 5 & 1" identifier = (binary_expression "(byte)(sym->super_Symbol).field_0x2b >> 5 & 1" (binary_expression "(byte)(sym->super_Symbol).field_0x2b >> 5" (field_expression "(byte)(sym->super_Symbol).field_0x2b" (call_expression "(byte)(sym->super_Symbol)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(sym->super_Symbol)" ( (field_expression "sym->super_Symbol" identifier -> field_identifier) ))) . field_identifier) >> number_literal) & number_literal)) ;) (if_statement "if ((uVar7 != 0xfff1) && (bVar6 == 0)) {\n      bVar13 = Symbol::is_common_shndx(uVar7);\n      if (!bVar13) {\n        *pstatus = CFVS_UNSUPPORTED_SYMBOL_SECTION;\n        return 0;\n      }\n      if (((sym->super_Symbol).field_0x2a & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n      }\n    }" if (parenthesized_expression "((uVar7 != 0xfff1) && (bVar6 == 0))" ( (binary_expression "(uVar7 != 0xfff1) && (bVar6 == 0)" (parenthesized_expression "(uVar7 != 0xfff1)" ( (binary_expression "uVar7 != 0xfff1" identifier != number_literal) )) && (parenthesized_expression "(bVar6 == 0)" ( (binary_expression "bVar6 == 0" identifier == number_literal) ))) )) (compound_statement "{\n      bVar13 = Symbol::is_common_shndx(uVar7);\n      if (!bVar13) {\n        *pstatus = CFVS_UNSUPPORTED_SYMBOL_SECTION;\n        return 0;\n      }\n      if (((sym->super_Symbol).field_0x2a & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n      }\n    }" { (ERROR "bVar13 = Symbol::" (assignment_expression "bVar13 = Symbol" identifier = identifier) : :) (expression_statement "is_common_shndx(uVar7);" (call_expression "is_common_shndx(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) ;) (if_statement "if (!bVar13) {\n        *pstatus = CFVS_UNSUPPORTED_SYMBOL_SECTION;\n        return 0;\n      }" if (parenthesized_expression "(!bVar13)" ( (unary_expression "!bVar13" ! identifier) )) (compound_statement "{\n        *pstatus = CFVS_UNSUPPORTED_SYMBOL_SECTION;\n        return 0;\n      }" { (expression_statement "*pstatus = CFVS_UNSUPPORTED_SYMBOL_SECTION;" (assignment_expression "*pstatus = CFVS_UNSUPPORTED_SYMBOL_SECTION" (pointer_expression "*pstatus" * identifier) = identifier) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if (((sym->super_Symbol).field_0x2a & 7) != 0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n      }" if (parenthesized_expression "(((sym->super_Symbol).field_0x2a & 7) != 0)" ( (binary_expression "((sym->super_Symbol).field_0x2a & 7) != 0" (parenthesized_expression "((sym->super_Symbol).field_0x2a & 7)" ( (binary_expression "(sym->super_Symbol).field_0x2a & 7" (field_expression "(sym->super_Symbol).field_0x2a" (parenthesized_expression "(sym->super_Symbol)" ( (field_expression "sym->super_Symbol" identifier -> field_identifier) )) . field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.h",0xa1,"object");\n      }" { comment (expression_statement "do_gold_unreachable("../../gold/symtab.h",0xa1,"object");" (call_expression "do_gold_unreachable("../../gold/symtab.h",0xa1,"object")" identifier (argument_list "("../../gold/symtab.h",0xa1,"object")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""object"" " string_content ") ))) ;) })) })) (expression_statement "pOVar11 = (sym->super_Symbol).u1_.output_segment;" (assignment_expression "pOVar11 = (sym->super_Symbol).u1_.output_segment" identifier = (field_expression "(sym->super_Symbol).u1_.output_segment" (field_expression "(sym->super_Symbol).u1_" (parenthesized_expression "(sym->super_Symbol)" ( (field_expression "sym->super_Symbol" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if ((((((Object *)pOVar11->output_lists_)->field_0x2c & 1) != 0) ||\n        (iVar9 = (*((Object *)pOVar11->output_lists_)->_vptr_Object[5])(pOVar11), iVar9 != 0)) ||\n       (uVar7 == 0)) goto _L737;" if (parenthesized_expression "((((((Object *)pOVar11->output_lists_)->field_0x2c & 1) != 0) ||\n        (iVar9 = (*((Object *)pOVar11->output_lists_)->_vptr_Object[5])(pOVar11), iVar9 != 0)) ||\n       (uVar7 == 0))" ( (binary_expression "(((((Object *)pOVar11->output_lists_)->field_0x2c & 1) != 0) ||\n        (iVar9 = (*((Object *)pOVar11->output_lists_)->_vptr_Object[5])(pOVar11), iVar9 != 0)) ||\n       (uVar7 == 0)" (parenthesized_expression "(((((Object *)pOVar11->output_lists_)->field_0x2c & 1) != 0) ||\n        (iVar9 = (*((Object *)pOVar11->output_lists_)->_vptr_Object[5])(pOVar11), iVar9 != 0))" ( (binary_expression "((((Object *)pOVar11->output_lists_)->field_0x2c & 1) != 0) ||\n        (iVar9 = (*((Object *)pOVar11->output_lists_)->_vptr_Object[5])(pOVar11), iVar9 != 0)" (parenthesized_expression "((((Object *)pOVar11->output_lists_)->field_0x2c & 1) != 0)" ( (binary_expression "(((Object *)pOVar11->output_lists_)->field_0x2c & 1) != 0" (parenthesized_expression "(((Object *)pOVar11->output_lists_)->field_0x2c & 1)" ( (binary_expression "((Object *)pOVar11->output_lists_)->field_0x2c & 1" (field_expression "((Object *)pOVar11->output_lists_)->field_0x2c" (parenthesized_expression "((Object *)pOVar11->output_lists_)" ( (cast_expression "(Object *)pOVar11->output_lists_" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar11->output_lists_" identifier -> field_identifier)) )) -> field_identifier) & number_literal) )) != number_literal) )) || (parenthesized_expression "(iVar9 = (*((Object *)pOVar11->output_lists_)->_vptr_Object[5])(pOVar11), iVar9 != 0)" ( (comma_expression "iVar9 = (*((Object *)pOVar11->output_lists_)->_vptr_Object[5])(pOVar11), iVar9 != 0" (assignment_expression "iVar9 = (*((Object *)pOVar11->output_lists_)->_vptr_Object[5])(pOVar11)" identifier = (call_expression "(*((Object *)pOVar11->output_lists_)->_vptr_Object[5])(pOVar11)" (parenthesized_expression "(*((Object *)pOVar11->output_lists_)->_vptr_Object[5])" ( (pointer_expression "*((Object *)pOVar11->output_lists_)->_vptr_Object[5]" * (subscript_expression "((Object *)pOVar11->output_lists_)->_vptr_Object[5]" (field_expression "((Object *)pOVar11->output_lists_)->_vptr_Object" (parenthesized_expression "((Object *)pOVar11->output_lists_)" ( (cast_expression "(Object *)pOVar11->output_lists_" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar11->output_lists_" identifier -> field_identifier)) )) -> field_identifier) [ number_literal ])) )) (argument_list "(pOVar11)" ( identifier )))) , (binary_expression "iVar9 != 0" identifier != number_literal)) ))) )) || (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) ))) )) (goto_statement "goto _L737;" goto statement_identifier ;)) (if_statement "if ((bVar6 != 0) || ((uVar7 != 0xfff1 && (bVar13 = Symbol::is_common_shndx(uVar7), !bVar13)))) {\n      p_Var4 = ((Object *)pOVar11->output_lists_)->_vptr_Object[0x18];\n      if (p_Var4 == Relobj::do_output_section) {\n        ppOVar5 = (((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)\n                  ._M_impl._M_start;\n        if ((uint)((int)(((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        )._M_impl._M_finish - (int)ppOVar5 >> 2) <= uVar7) goto LAB_0017c850;\n        local_40 = ppOVar5[uVar7];\n      }\n      else {\n        local_40 = (Output_section *)(*p_Var4)(pOVar11,uVar7);\n      }\n      bVar13 = is_section_folded(this,(Relobj *)pOVar11,uVar7);\n      if (bVar13) {\n        if (local_40 != (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        Icf::get_folded_section(this->icf_,(Relobj *)pOVar11,uVar7);\n        if (local_24 == (Output_segment *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.cc",0xb10,"compute_final_value");\n        }\n        p_Var4 = ((Object *)local_24->output_lists_)->_vptr_Object[0x18];\n        if (p_Var4 == Relobj::do_output_section) {\n          ppOVar5 = (((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    )._M_impl._M_start;\n          if ((uint)((int)(((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          )._M_impl._M_finish - (int)ppOVar5 >> 2) <= uStack_20) {\nLAB_0017c850:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          local_40 = ppOVar5[uStack_20];\n        }\n        else {\n          local_40 = (Output_section *)(*p_Var4)(local_24,uStack_20,local_24,local_24);\n        }\n        if (local_40 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.cc",0xb15,"compute_final_value");\n        }\n        local_3c = (*((Object *)local_24->output_lists_)->_vptr_Object[0x1a])(local_24,uStack_20);\n        uVar7 = uStack_20;\n        pOVar11 = local_24;\n        local_38 = extraout_EDX;\n      }\n      else {\n        local_3c = (*((Object *)pOVar11->output_lists_)->_vptr_Object[0x1a])(pOVar11,uVar7);\n        local_38 = extraout_EDX_00;\n        if (local_40 == (Output_section *)0x0) {\n          if (parameters->doing_static_link_valid_ == false) {\n                    /* WARNING: Subroutine does not return */\n            Parameters::doing_static_link((Parameters *)in_stack_ffffffb4,in_stack_ffffffb8);\n          }\n          if (parameters->doing_static_link_ == false) {\n            if (parameters->options_ == (General_options *)0x0) {\nLAB_0017c83a:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->relocatable_).value == false) {\n              uVar7 = (sym->super_Symbol).dynsym_index_;\n              if (uVar7 == 0) {\n                Symbol::dynsym_index(in_stack_ffffffb4);\n                goto LAB_0017c83a;\n              }\n              if (uVar7 != 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.cc",0xb21,"compute_final_value");\n              }\n            }\n          }\n          *pstatus = CFVS_NO_OUTPUT_SECTION;\n          return 0;\n        }\n      }\n      iVar9 = *(int *)((int)&sym->value_ + 4);\n      uVar12 = (uint)sym->value_;\n      if ((local_38 & local_3c) == 0xffffffff) {\n        VVar15 = Output_section::output_address(local_40,(Relobj *)pOVar11,uVar7,sym->value_);\n      }\n      else if (((sym->super_Symbol).field_0x28 & 0xf) == 6) {\n        p_Var4 = (local_40->super_Output_data)._vptr_Output_data[0x12];\n        if (p_Var4 == Output_section::do_tls_offset) {\n          uVar7 = (uint)local_40->tls_offset_;\n          iVar10 = *(int *)((int)&local_40->tls_offset_ + 4);\n        }\n        else {\n          uVar7 = (*p_Var4)(local_40);\n          iVar10 = extraout_EDX_01;\n        }\n        VVar15 = CONCAT44(iVar10 + iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +\n                          (uint)CARRY4(uVar7,uVar12 + local_3c),uVar7 + uVar12 + local_3c);\n      }\n      else {\n        if (((local_40->super_Output_data).field_0x1c & 1) == 0) goto LAB_0017c7b3;\n        puVar2 = &(local_40->super_Output_data).address_;\n        VVar15 = CONCAT44(iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +\n                          *(int *)((int)&(local_40->super_Output_data).address_ + 4) +\n                          (uint)CARRY4(uVar12 + local_3c,(uint)*puVar2),\n                          uVar12 + local_3c + (int)*puVar2);\n      }\n      break;\n    }" if (parenthesized_expression "((bVar6 != 0) || ((uVar7 != 0xfff1 && (bVar13 = Symbol::is_common_shndx(uVar7), !bVar13))))" ( (binary_expression "(bVar6 != 0) || ((uVar7 != 0xfff1 && (bVar13 = Symbol::is_common_shndx(uVar7), !bVar13)))" (parenthesized_expression "(bVar6 != 0)" ( (binary_expression "bVar6 != 0" identifier != number_literal) )) || (parenthesized_expression "((uVar7 != 0xfff1 && (bVar13 = Symbol::is_common_shndx(uVar7), !bVar13)))" ( (parenthesized_expression "(uVar7 != 0xfff1 && (bVar13 = Symbol::is_common_shndx(uVar7), !bVar13))" ( (binary_expression "uVar7 != 0xfff1 && (bVar13 = Symbol::is_common_shndx(uVar7), !bVar13)" (binary_expression "uVar7 != 0xfff1" identifier != number_literal) && (parenthesized_expression "(bVar13 = Symbol::is_common_shndx(uVar7), !bVar13)" ( (ERROR "bVar13 = Symbol::" (assignment_expression "bVar13 = Symbol" identifier = identifier) : :) (comma_expression "is_common_shndx(uVar7), !bVar13" (call_expression "is_common_shndx(uVar7)" identifier (argument_list "(uVar7)" ( identifier ))) , (unary_expression "!bVar13" ! identifier)) ))) )) ))) )) (compound_statement "{\n      p_Var4 = ((Object *)pOVar11->output_lists_)->_vptr_Object[0x18];\n      if (p_Var4 == Relobj::do_output_section) {\n        ppOVar5 = (((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)\n                  ._M_impl._M_start;\n        if ((uint)((int)(((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        )._M_impl._M_finish - (int)ppOVar5 >> 2) <= uVar7) goto LAB_0017c850;\n        local_40 = ppOVar5[uVar7];\n      }\n      else {\n        local_40 = (Output_section *)(*p_Var4)(pOVar11,uVar7);\n      }\n      bVar13 = is_section_folded(this,(Relobj *)pOVar11,uVar7);\n      if (bVar13) {\n        if (local_40 != (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        Icf::get_folded_section(this->icf_,(Relobj *)pOVar11,uVar7);\n        if (local_24 == (Output_segment *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.cc",0xb10,"compute_final_value");\n        }\n        p_Var4 = ((Object *)local_24->output_lists_)->_vptr_Object[0x18];\n        if (p_Var4 == Relobj::do_output_section) {\n          ppOVar5 = (((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    )._M_impl._M_start;\n          if ((uint)((int)(((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          )._M_impl._M_finish - (int)ppOVar5 >> 2) <= uStack_20) {\nLAB_0017c850:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          local_40 = ppOVar5[uStack_20];\n        }\n        else {\n          local_40 = (Output_section *)(*p_Var4)(local_24,uStack_20,local_24,local_24);\n        }\n        if (local_40 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.cc",0xb15,"compute_final_value");\n        }\n        local_3c = (*((Object *)local_24->output_lists_)->_vptr_Object[0x1a])(local_24,uStack_20);\n        uVar7 = uStack_20;\n        pOVar11 = local_24;\n        local_38 = extraout_EDX;\n      }\n      else {\n        local_3c = (*((Object *)pOVar11->output_lists_)->_vptr_Object[0x1a])(pOVar11,uVar7);\n        local_38 = extraout_EDX_00;\n        if (local_40 == (Output_section *)0x0) {\n          if (parameters->doing_static_link_valid_ == false) {\n                    /* WARNING: Subroutine does not return */\n            Parameters::doing_static_link((Parameters *)in_stack_ffffffb4,in_stack_ffffffb8);\n          }\n          if (parameters->doing_static_link_ == false) {\n            if (parameters->options_ == (General_options *)0x0) {\nLAB_0017c83a:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->relocatable_).value == false) {\n              uVar7 = (sym->super_Symbol).dynsym_index_;\n              if (uVar7 == 0) {\n                Symbol::dynsym_index(in_stack_ffffffb4);\n                goto LAB_0017c83a;\n              }\n              if (uVar7 != 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.cc",0xb21,"compute_final_value");\n              }\n            }\n          }\n          *pstatus = CFVS_NO_OUTPUT_SECTION;\n          return 0;\n        }\n      }\n      iVar9 = *(int *)((int)&sym->value_ + 4);\n      uVar12 = (uint)sym->value_;\n      if ((local_38 & local_3c) == 0xffffffff) {\n        VVar15 = Output_section::output_address(local_40,(Relobj *)pOVar11,uVar7,sym->value_);\n      }\n      else if (((sym->super_Symbol).field_0x28 & 0xf) == 6) {\n        p_Var4 = (local_40->super_Output_data)._vptr_Output_data[0x12];\n        if (p_Var4 == Output_section::do_tls_offset) {\n          uVar7 = (uint)local_40->tls_offset_;\n          iVar10 = *(int *)((int)&local_40->tls_offset_ + 4);\n        }\n        else {\n          uVar7 = (*p_Var4)(local_40);\n          iVar10 = extraout_EDX_01;\n        }\n        VVar15 = CONCAT44(iVar10 + iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +\n                          (uint)CARRY4(uVar7,uVar12 + local_3c),uVar7 + uVar12 + local_3c);\n      }\n      else {\n        if (((local_40->super_Output_data).field_0x1c & 1) == 0) goto LAB_0017c7b3;\n        puVar2 = &(local_40->super_Output_data).address_;\n        VVar15 = CONCAT44(iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +\n                          *(int *)((int)&(local_40->super_Output_data).address_ + 4) +\n                          (uint)CARRY4(uVar12 + local_3c,(uint)*puVar2),\n                          uVar12 + local_3c + (int)*puVar2);\n      }\n      break;\n    }" { (expression_statement "p_Var4 = ((Object *)pOVar11->output_lists_)->_vptr_Object[0x18];" (assignment_expression "p_Var4 = ((Object *)pOVar11->output_lists_)->_vptr_Object[0x18]" identifier = (subscript_expression "((Object *)pOVar11->output_lists_)->_vptr_Object[0x18]" (field_expression "((Object *)pOVar11->output_lists_)->_vptr_Object" (parenthesized_expression "((Object *)pOVar11->output_lists_)" ( (cast_expression "(Object *)pOVar11->output_lists_" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar11->output_lists_" identifier -> field_identifier)) )) -> field_identifier) [ number_literal ])) ;) (if_statement "if (p_Var4 == Relobj::do_output_section) {\n        ppOVar5 = (((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)\n                  ._M_impl._M_start;\n        if ((uint)((int)(((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        )._M_impl._M_finish - (int)ppOVar5 >> 2) <= uVar7) goto LAB_0017c850;\n        local_40 = ppOVar5[uVar7];\n      }\n      else {\n        local_40 = (Output_section *)(*p_Var4)(pOVar11,uVar7);\n      }" if (parenthesized_expression "(p_Var4 == Relobj::do_output_section)" ( (ERROR "p_Var4 == Relobj::" (binary_expression "p_Var4 == Relobj" identifier == identifier) : :) identifier )) (compound_statement "{\n        ppOVar5 = (((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)\n                  ._M_impl._M_start;\n        if ((uint)((int)(((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        )._M_impl._M_finish - (int)ppOVar5 >> 2) <= uVar7) goto LAB_0017c850;\n        local_40 = ppOVar5[uVar7];\n      }" { (expression_statement "ppOVar5 = (((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)\n                  ._M_impl._M_start;" (assignment_expression "ppOVar5 = (((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)\n                  ._M_impl._M_start" identifier = (field_expression "(((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)\n                  ._M_impl._M_start" (field_expression "(((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)\n                  ._M_impl" (parenthesized_expression "(((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>)" ( (binary_expression "((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>" (binary_expression "((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                  super__Vector_base<gold::Output_section*,_std" (binary_expression "((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                  super__Vector_base<gold" (field_expression "((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                  super__Vector_base" (parenthesized_expression "((Output_sections *)((Object *)pOVar11->output_lists_ + 1))" ( (cast_expression "(Output_sections *)((Object *)pOVar11->output_lists_ + 1)" ( (type_descriptor "Output_sections *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((Object *)pOVar11->output_lists_ + 1)" ( (binary_expression "(Object *)pOVar11->output_lists_ + 1" (cast_expression "(Object *)pOVar11->output_lists_" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar11->output_lists_" identifier -> field_identifier)) + number_literal) ))) )) -> field_identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if ((uint)((int)(((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        )._M_impl._M_finish - (int)ppOVar5 >> 2) <= uVar7) goto LAB_0017c850;" if (parenthesized_expression "((uint)((int)(((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        )._M_impl._M_finish - (int)ppOVar5 >> 2) <= uVar7)" ( (binary_expression "(uint)((int)(((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        )._M_impl._M_finish - (int)ppOVar5 >> 2) <= uVar7" (call_expression "(uint)((int)(((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        )._M_impl._M_finish - (int)ppOVar5 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)(((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        )._M_impl._M_finish - (int)ppOVar5 >> 2)" ( (binary_expression "(int)(((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        )._M_impl._M_finish - (int)ppOVar5 >> 2" (binary_expression "(int)(((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        )._M_impl._M_finish - (int)ppOVar5" (cast_expression "(int)(((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        )._M_impl._M_finish" ( (type_descriptor "int" primitive_type) ) (field_expression "(((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        )._M_impl._M_finish" (field_expression "(((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        )._M_impl" (parenthesized_expression "(((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                        )" ( (binary_expression "((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>" (binary_expression "((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                        super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                        super__Vector_base<gold::Output_section*,_std" (binary_expression "((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                        super__Vector_base<gold" (field_expression "((Output_sections *)((Object *)pOVar11->output_lists_ + 1))->\n                        super__Vector_base" (parenthesized_expression "((Output_sections *)((Object *)pOVar11->output_lists_ + 1))" ( (cast_expression "(Output_sections *)((Object *)pOVar11->output_lists_ + 1)" ( (type_descriptor "Output_sections *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((Object *)pOVar11->output_lists_ + 1)" ( (binary_expression "(Object *)pOVar11->output_lists_ + 1" (cast_expression "(Object *)pOVar11->output_lists_" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar11->output_lists_" identifier -> field_identifier)) + number_literal) ))) )) -> field_identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) - (cast_expression "(int)ppOVar5" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) ))) <= identifier) )) (goto_statement "goto LAB_0017c850;" goto statement_identifier ;)) (expression_statement "local_40 = ppOVar5[uVar7];" (assignment_expression "local_40 = ppOVar5[uVar7]" identifier = (subscript_expression "ppOVar5[uVar7]" identifier [ identifier ])) ;) }) (else_clause "else {\n        local_40 = (Output_section *)(*p_Var4)(pOVar11,uVar7);\n      }" else (compound_statement "{\n        local_40 = (Output_section *)(*p_Var4)(pOVar11,uVar7);\n      }" { (expression_statement "local_40 = (Output_section *)(*p_Var4)(pOVar11,uVar7);" (assignment_expression "local_40 = (Output_section *)(*p_Var4)(pOVar11,uVar7)" identifier = (cast_expression "(Output_section *)(*p_Var4)(pOVar11,uVar7)" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*p_Var4)(pOVar11,uVar7)" (parenthesized_expression "(*p_Var4)" ( (pointer_expression "*p_Var4" * identifier) )) (argument_list "(pOVar11,uVar7)" ( identifier , identifier ))))) ;) }))) (expression_statement "bVar13 = is_section_folded(this,(Relobj *)pOVar11,uVar7);" (assignment_expression "bVar13 = is_section_folded(this,(Relobj *)pOVar11,uVar7)" identifier = (call_expression "is_section_folded(this,(Relobj *)pOVar11,uVar7)" identifier (argument_list "(this,(Relobj *)pOVar11,uVar7)" ( identifier , (cast_expression "(Relobj *)pOVar11" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier )))) ;) (if_statement "if (bVar13) {\n        if (local_40 != (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        Icf::get_folded_section(this->icf_,(Relobj *)pOVar11,uVar7);\n        if (local_24 == (Output_segment *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.cc",0xb10,"compute_final_value");\n        }\n        p_Var4 = ((Object *)local_24->output_lists_)->_vptr_Object[0x18];\n        if (p_Var4 == Relobj::do_output_section) {\n          ppOVar5 = (((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    )._M_impl._M_start;\n          if ((uint)((int)(((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          )._M_impl._M_finish - (int)ppOVar5 >> 2) <= uStack_20) {\nLAB_0017c850:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          local_40 = ppOVar5[uStack_20];\n        }\n        else {\n          local_40 = (Output_section *)(*p_Var4)(local_24,uStack_20,local_24,local_24);\n        }\n        if (local_40 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.cc",0xb15,"compute_final_value");\n        }\n        local_3c = (*((Object *)local_24->output_lists_)->_vptr_Object[0x1a])(local_24,uStack_20);\n        uVar7 = uStack_20;\n        pOVar11 = local_24;\n        local_38 = extraout_EDX;\n      }\n      else {\n        local_3c = (*((Object *)pOVar11->output_lists_)->_vptr_Object[0x1a])(pOVar11,uVar7);\n        local_38 = extraout_EDX_00;\n        if (local_40 == (Output_section *)0x0) {\n          if (parameters->doing_static_link_valid_ == false) {\n                    /* WARNING: Subroutine does not return */\n            Parameters::doing_static_link((Parameters *)in_stack_ffffffb4,in_stack_ffffffb8);\n          }\n          if (parameters->doing_static_link_ == false) {\n            if (parameters->options_ == (General_options *)0x0) {\nLAB_0017c83a:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->relocatable_).value == false) {\n              uVar7 = (sym->super_Symbol).dynsym_index_;\n              if (uVar7 == 0) {\n                Symbol::dynsym_index(in_stack_ffffffb4);\n                goto LAB_0017c83a;\n              }\n              if (uVar7 != 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.cc",0xb21,"compute_final_value");\n              }\n            }\n          }\n          *pstatus = CFVS_NO_OUTPUT_SECTION;\n          return 0;\n        }\n      }" if (parenthesized_expression "(bVar13)" ( identifier )) (compound_statement "{\n        if (local_40 != (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        Icf::get_folded_section(this->icf_,(Relobj *)pOVar11,uVar7);\n        if (local_24 == (Output_segment *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.cc",0xb10,"compute_final_value");\n        }\n        p_Var4 = ((Object *)local_24->output_lists_)->_vptr_Object[0x18];\n        if (p_Var4 == Relobj::do_output_section) {\n          ppOVar5 = (((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    )._M_impl._M_start;\n          if ((uint)((int)(((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          )._M_impl._M_finish - (int)ppOVar5 >> 2) <= uStack_20) {\nLAB_0017c850:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          local_40 = ppOVar5[uStack_20];\n        }\n        else {\n          local_40 = (Output_section *)(*p_Var4)(local_24,uStack_20,local_24,local_24);\n        }\n        if (local_40 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.cc",0xb15,"compute_final_value");\n        }\n        local_3c = (*((Object *)local_24->output_lists_)->_vptr_Object[0x1a])(local_24,uStack_20);\n        uVar7 = uStack_20;\n        pOVar11 = local_24;\n        local_38 = extraout_EDX;\n      }" { (if_statement "if (local_40 != (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }" if (parenthesized_expression "(local_40 != (Output_section *)0x0)" ( (binary_expression "local_40 != (Output_section *)0x0" identifier != (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }" { comment (expression_statement "do_gold_unreachable("../../gold/symtab.cc",0xb0c,"compute_final_value");" (call_expression "do_gold_unreachable("../../gold/symtab.cc",0xb0c,"compute_final_value")" identifier (argument_list "("../../gold/symtab.cc",0xb0c,"compute_final_value")" ( (string_literal ""../../gold/symtab.cc"" " string_content ") , number_literal , (string_literal ""compute_final_value"" " string_content ") ))) ;) })) (labeled_statement "Icf::get_folded_section(this->icf_,(Relobj *)pOVar11,uVar7);" statement_identifier : (ERROR ":" :) (expression_statement "get_folded_section(this->icf_,(Relobj *)pOVar11,uVar7);" (call_expression "get_folded_section(this->icf_,(Relobj *)pOVar11,uVar7)" identifier (argument_list "(this->icf_,(Relobj *)pOVar11,uVar7)" ( (field_expression "this->icf_" identifier -> field_identifier) , (cast_expression "(Relobj *)pOVar11" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;)) (if_statement "if (local_24 == (Output_segment *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.cc",0xb10,"compute_final_value");\n        }" if (parenthesized_expression "(local_24 == (Output_segment *)0x0)" ( (binary_expression "local_24 == (Output_segment *)0x0" identifier == (cast_expression "(Output_segment *)0x0" ( (type_descriptor "Output_segment *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.cc",0xb10,"compute_final_value");\n        }" { comment (expression_statement "do_gold_unreachable("../../gold/symtab.cc",0xb10,"compute_final_value");" (call_expression "do_gold_unreachable("../../gold/symtab.cc",0xb10,"compute_final_value")" identifier (argument_list "("../../gold/symtab.cc",0xb10,"compute_final_value")" ( (string_literal ""../../gold/symtab.cc"" " string_content ") , number_literal , (string_literal ""compute_final_value"" " string_content ") ))) ;) })) (expression_statement "p_Var4 = ((Object *)local_24->output_lists_)->_vptr_Object[0x18];" (assignment_expression "p_Var4 = ((Object *)local_24->output_lists_)->_vptr_Object[0x18]" identifier = (subscript_expression "((Object *)local_24->output_lists_)->_vptr_Object[0x18]" (field_expression "((Object *)local_24->output_lists_)->_vptr_Object" (parenthesized_expression "((Object *)local_24->output_lists_)" ( (cast_expression "(Object *)local_24->output_lists_" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_24->output_lists_" identifier -> field_identifier)) )) -> field_identifier) [ number_literal ])) ;) (if_statement "if (p_Var4 == Relobj::do_output_section) {\n          ppOVar5 = (((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    )._M_impl._M_start;\n          if ((uint)((int)(((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          )._M_impl._M_finish - (int)ppOVar5 >> 2) <= uStack_20) {\nLAB_0017c850:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          local_40 = ppOVar5[uStack_20];\n        }\n        else {\n          local_40 = (Output_section *)(*p_Var4)(local_24,uStack_20,local_24,local_24);\n        }" if (parenthesized_expression "(p_Var4 == Relobj::do_output_section)" ( (ERROR "p_Var4 == Relobj::" (binary_expression "p_Var4 == Relobj" identifier == identifier) : :) identifier )) (compound_statement "{\n          ppOVar5 = (((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    )._M_impl._M_start;\n          if ((uint)((int)(((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          )._M_impl._M_finish - (int)ppOVar5 >> 2) <= uStack_20) {\nLAB_0017c850:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }\n          local_40 = ppOVar5[uStack_20];\n        }" { (expression_statement "ppOVar5 = (((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    )._M_impl._M_start;" (assignment_expression "ppOVar5 = (((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    )._M_impl._M_start" identifier = (field_expression "(((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    )._M_impl._M_start" (field_expression "(((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    )._M_impl" (parenthesized_expression "(((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                    )" ( (binary_expression "((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>" (binary_expression "((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                    super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                    super__Vector_base<gold::Output_section*,_std" (binary_expression "((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                    super__Vector_base<gold" (field_expression "((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                    super__Vector_base" (parenthesized_expression "((Output_sections *)((Object *)local_24->output_lists_ + 1))" ( (cast_expression "(Output_sections *)((Object *)local_24->output_lists_ + 1)" ( (type_descriptor "Output_sections *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((Object *)local_24->output_lists_ + 1)" ( (binary_expression "(Object *)local_24->output_lists_ + 1" (cast_expression "(Object *)local_24->output_lists_" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_24->output_lists_" identifier -> field_identifier)) + number_literal) ))) )) -> field_identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if ((uint)((int)(((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          )._M_impl._M_finish - (int)ppOVar5 >> 2) <= uStack_20) {\nLAB_0017c850:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }" if (parenthesized_expression "((uint)((int)(((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          )._M_impl._M_finish - (int)ppOVar5 >> 2) <= uStack_20)" ( (binary_expression "(uint)((int)(((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          )._M_impl._M_finish - (int)ppOVar5 >> 2) <= uStack_20" (call_expression "(uint)((int)(((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          )._M_impl._M_finish - (int)ppOVar5 >> 2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)(((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          )._M_impl._M_finish - (int)ppOVar5 >> 2)" ( (binary_expression "(int)(((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          )._M_impl._M_finish - (int)ppOVar5 >> 2" (binary_expression "(int)(((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          )._M_impl._M_finish - (int)ppOVar5" (cast_expression "(int)(((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          )._M_impl._M_finish" ( (type_descriptor "int" primitive_type) ) (field_expression "(((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          )._M_impl._M_finish" (field_expression "(((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          )._M_impl" (parenthesized_expression "(((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>\n                          )" ( (binary_expression "((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>" (binary_expression "((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                          super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                          super__Vector_base<gold::Output_section*,_std" (binary_expression "((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                          super__Vector_base<gold" (field_expression "((Output_sections *)((Object *)local_24->output_lists_ + 1))->\n                          super__Vector_base" (parenthesized_expression "((Output_sections *)((Object *)local_24->output_lists_ + 1))" ( (cast_expression "(Output_sections *)((Object *)local_24->output_lists_ + 1)" ( (type_descriptor "Output_sections *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((Object *)local_24->output_lists_ + 1)" ( (binary_expression "(Object *)local_24->output_lists_ + 1" (cast_expression "(Object *)local_24->output_lists_" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_24->output_lists_" identifier -> field_identifier)) + number_literal) ))) )) -> field_identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) > identifier) )) . field_identifier) . field_identifier)) - (cast_expression "(int)ppOVar5" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) ))) <= identifier) )) (compound_statement "{\nLAB_0017c850:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");\n          }" { (labeled_statement "LAB_0017c850:\n                    /* WARNING: Subroutine does not return */\n            do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section");" (call_expression "do_gold_unreachable("../../gold/object.h",0x5c8,"do_output_section")" identifier (argument_list "("../../gold/object.h",0x5c8,"do_output_section")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""do_output_section"" " string_content ") ))) ;)) })) (expression_statement "local_40 = ppOVar5[uStack_20];" (assignment_expression "local_40 = ppOVar5[uStack_20]" identifier = (subscript_expression "ppOVar5[uStack_20]" identifier [ identifier ])) ;) }) (else_clause "else {\n          local_40 = (Output_section *)(*p_Var4)(local_24,uStack_20,local_24,local_24);\n        }" else (compound_statement "{\n          local_40 = (Output_section *)(*p_Var4)(local_24,uStack_20,local_24,local_24);\n        }" { (expression_statement "local_40 = (Output_section *)(*p_Var4)(local_24,uStack_20,local_24,local_24);" (assignment_expression "local_40 = (Output_section *)(*p_Var4)(local_24,uStack_20,local_24,local_24)" identifier = (cast_expression "(Output_section *)(*p_Var4)(local_24,uStack_20,local_24,local_24)" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*p_Var4)(local_24,uStack_20,local_24,local_24)" (parenthesized_expression "(*p_Var4)" ( (pointer_expression "*p_Var4" * identifier) )) (argument_list "(local_24,uStack_20,local_24,local_24)" ( identifier , identifier , identifier , identifier ))))) ;) }))) (if_statement "if (local_40 == (Output_section *)0x0) {\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.cc",0xb15,"compute_final_value");\n        }" if (parenthesized_expression "(local_40 == (Output_section *)0x0)" ( (binary_expression "local_40 == (Output_section *)0x0" identifier == (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          do_gold_unreachable("../../gold/symtab.cc",0xb15,"compute_final_value");\n        }" { comment (expression_statement "do_gold_unreachable("../../gold/symtab.cc",0xb15,"compute_final_value");" (call_expression "do_gold_unreachable("../../gold/symtab.cc",0xb15,"compute_final_value")" identifier (argument_list "("../../gold/symtab.cc",0xb15,"compute_final_value")" ( (string_literal ""../../gold/symtab.cc"" " string_content ") , number_literal , (string_literal ""compute_final_value"" " string_content ") ))) ;) })) (expression_statement "local_3c = (*((Object *)local_24->output_lists_)->_vptr_Object[0x1a])(local_24,uStack_20);" (assignment_expression "local_3c = (*((Object *)local_24->output_lists_)->_vptr_Object[0x1a])(local_24,uStack_20)" identifier = (call_expression "(*((Object *)local_24->output_lists_)->_vptr_Object[0x1a])(local_24,uStack_20)" (parenthesized_expression "(*((Object *)local_24->output_lists_)->_vptr_Object[0x1a])" ( (pointer_expression "*((Object *)local_24->output_lists_)->_vptr_Object[0x1a]" * (subscript_expression "((Object *)local_24->output_lists_)->_vptr_Object[0x1a]" (field_expression "((Object *)local_24->output_lists_)->_vptr_Object" (parenthesized_expression "((Object *)local_24->output_lists_)" ( (cast_expression "(Object *)local_24->output_lists_" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "local_24->output_lists_" identifier -> field_identifier)) )) -> field_identifier) [ number_literal ])) )) (argument_list "(local_24,uStack_20)" ( identifier , identifier )))) ;) (expression_statement "uVar7 = uStack_20;" (assignment_expression "uVar7 = uStack_20" identifier = identifier) ;) (expression_statement "pOVar11 = local_24;" (assignment_expression "pOVar11 = local_24" identifier = identifier) ;) (expression_statement "local_38 = extraout_EDX;" (assignment_expression "local_38 = extraout_EDX" identifier = identifier) ;) }) (else_clause "else {\n        local_3c = (*((Object *)pOVar11->output_lists_)->_vptr_Object[0x1a])(pOVar11,uVar7);\n        local_38 = extraout_EDX_00;\n        if (local_40 == (Output_section *)0x0) {\n          if (parameters->doing_static_link_valid_ == false) {\n                    /* WARNING: Subroutine does not return */\n            Parameters::doing_static_link((Parameters *)in_stack_ffffffb4,in_stack_ffffffb8);\n          }\n          if (parameters->doing_static_link_ == false) {\n            if (parameters->options_ == (General_options *)0x0) {\nLAB_0017c83a:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->relocatable_).value == false) {\n              uVar7 = (sym->super_Symbol).dynsym_index_;\n              if (uVar7 == 0) {\n                Symbol::dynsym_index(in_stack_ffffffb4);\n                goto LAB_0017c83a;\n              }\n              if (uVar7 != 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.cc",0xb21,"compute_final_value");\n              }\n            }\n          }\n          *pstatus = CFVS_NO_OUTPUT_SECTION;\n          return 0;\n        }\n      }" else (compound_statement "{\n        local_3c = (*((Object *)pOVar11->output_lists_)->_vptr_Object[0x1a])(pOVar11,uVar7);\n        local_38 = extraout_EDX_00;\n        if (local_40 == (Output_section *)0x0) {\n          if (parameters->doing_static_link_valid_ == false) {\n                    /* WARNING: Subroutine does not return */\n            Parameters::doing_static_link((Parameters *)in_stack_ffffffb4,in_stack_ffffffb8);\n          }\n          if (parameters->doing_static_link_ == false) {\n            if (parameters->options_ == (General_options *)0x0) {\nLAB_0017c83a:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->relocatable_).value == false) {\n              uVar7 = (sym->super_Symbol).dynsym_index_;\n              if (uVar7 == 0) {\n                Symbol::dynsym_index(in_stack_ffffffb4);\n                goto LAB_0017c83a;\n              }\n              if (uVar7 != 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.cc",0xb21,"compute_final_value");\n              }\n            }\n          }\n          *pstatus = CFVS_NO_OUTPUT_SECTION;\n          return 0;\n        }\n      }" { (expression_statement "local_3c = (*((Object *)pOVar11->output_lists_)->_vptr_Object[0x1a])(pOVar11,uVar7);" (assignment_expression "local_3c = (*((Object *)pOVar11->output_lists_)->_vptr_Object[0x1a])(pOVar11,uVar7)" identifier = (call_expression "(*((Object *)pOVar11->output_lists_)->_vptr_Object[0x1a])(pOVar11,uVar7)" (parenthesized_expression "(*((Object *)pOVar11->output_lists_)->_vptr_Object[0x1a])" ( (pointer_expression "*((Object *)pOVar11->output_lists_)->_vptr_Object[0x1a]" * (subscript_expression "((Object *)pOVar11->output_lists_)->_vptr_Object[0x1a]" (field_expression "((Object *)pOVar11->output_lists_)->_vptr_Object" (parenthesized_expression "((Object *)pOVar11->output_lists_)" ( (cast_expression "(Object *)pOVar11->output_lists_" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar11->output_lists_" identifier -> field_identifier)) )) -> field_identifier) [ number_literal ])) )) (argument_list "(pOVar11,uVar7)" ( identifier , identifier )))) ;) (expression_statement "local_38 = extraout_EDX_00;" (assignment_expression "local_38 = extraout_EDX_00" identifier = identifier) ;) (if_statement "if (local_40 == (Output_section *)0x0) {\n          if (parameters->doing_static_link_valid_ == false) {\n                    /* WARNING: Subroutine does not return */\n            Parameters::doing_static_link((Parameters *)in_stack_ffffffb4,in_stack_ffffffb8);\n          }\n          if (parameters->doing_static_link_ == false) {\n            if (parameters->options_ == (General_options *)0x0) {\nLAB_0017c83a:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->relocatable_).value == false) {\n              uVar7 = (sym->super_Symbol).dynsym_index_;\n              if (uVar7 == 0) {\n                Symbol::dynsym_index(in_stack_ffffffb4);\n                goto LAB_0017c83a;\n              }\n              if (uVar7 != 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.cc",0xb21,"compute_final_value");\n              }\n            }\n          }\n          *pstatus = CFVS_NO_OUTPUT_SECTION;\n          return 0;\n        }" if (parenthesized_expression "(local_40 == (Output_section *)0x0)" ( (binary_expression "local_40 == (Output_section *)0x0" identifier == (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          if (parameters->doing_static_link_valid_ == false) {\n                    /* WARNING: Subroutine does not return */\n            Parameters::doing_static_link((Parameters *)in_stack_ffffffb4,in_stack_ffffffb8);\n          }\n          if (parameters->doing_static_link_ == false) {\n            if (parameters->options_ == (General_options *)0x0) {\nLAB_0017c83a:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->relocatable_).value == false) {\n              uVar7 = (sym->super_Symbol).dynsym_index_;\n              if (uVar7 == 0) {\n                Symbol::dynsym_index(in_stack_ffffffb4);\n                goto LAB_0017c83a;\n              }\n              if (uVar7 != 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.cc",0xb21,"compute_final_value");\n              }\n            }\n          }\n          *pstatus = CFVS_NO_OUTPUT_SECTION;\n          return 0;\n        }" { (if_statement "if (parameters->doing_static_link_valid_ == false) {\n                    /* WARNING: Subroutine does not return */\n            Parameters::doing_static_link((Parameters *)in_stack_ffffffb4,in_stack_ffffffb8);\n          }" if (parenthesized_expression "(parameters->doing_static_link_valid_ == false)" ( (binary_expression "parameters->doing_static_link_valid_ == false" (field_expression "parameters->doing_static_link_valid_" identifier -> field_identifier) == false) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n            Parameters::doing_static_link((Parameters *)in_stack_ffffffb4,in_stack_ffffffb8);\n          }" { comment (labeled_statement "Parameters::doing_static_link((Parameters *)in_stack_ffffffb4,in_stack_ffffffb8);" statement_identifier : (ERROR ":" :) (expression_statement "doing_static_link((Parameters *)in_stack_ffffffb4,in_stack_ffffffb8);" (call_expression "doing_static_link((Parameters *)in_stack_ffffffb4,in_stack_ffffffb8)" identifier (argument_list "((Parameters *)in_stack_ffffffb4,in_stack_ffffffb8)" ( (cast_expression "(Parameters *)in_stack_ffffffb4" ( (type_descriptor "Parameters *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier ))) ;)) })) (if_statement "if (parameters->doing_static_link_ == false) {\n            if (parameters->options_ == (General_options *)0x0) {\nLAB_0017c83a:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->relocatable_).value == false) {\n              uVar7 = (sym->super_Symbol).dynsym_index_;\n              if (uVar7 == 0) {\n                Symbol::dynsym_index(in_stack_ffffffb4);\n                goto LAB_0017c83a;\n              }\n              if (uVar7 != 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.cc",0xb21,"compute_final_value");\n              }\n            }\n          }" if (parenthesized_expression "(parameters->doing_static_link_ == false)" ( (binary_expression "parameters->doing_static_link_ == false" (field_expression "parameters->doing_static_link_" identifier -> field_identifier) == false) )) (compound_statement "{\n            if (parameters->options_ == (General_options *)0x0) {\nLAB_0017c83a:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }\n            if ((parameters->options_->relocatable_).value == false) {\n              uVar7 = (sym->super_Symbol).dynsym_index_;\n              if (uVar7 == 0) {\n                Symbol::dynsym_index(in_stack_ffffffb4);\n                goto LAB_0017c83a;\n              }\n              if (uVar7 != 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.cc",0xb21,"compute_final_value");\n              }\n            }\n          }" { (if_statement "if (parameters->options_ == (General_options *)0x0) {\nLAB_0017c83a:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }" if (parenthesized_expression "(parameters->options_ == (General_options *)0x0)" ( (binary_expression "parameters->options_ == (General_options *)0x0" (field_expression "parameters->options_" identifier -> field_identifier) == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0017c83a:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n            }" { (labeled_statement "LAB_0017c83a:\n                    /* WARNING: Subroutine does not return */\n              do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;)) })) (if_statement "if ((parameters->options_->relocatable_).value == false) {\n              uVar7 = (sym->super_Symbol).dynsym_index_;\n              if (uVar7 == 0) {\n                Symbol::dynsym_index(in_stack_ffffffb4);\n                goto LAB_0017c83a;\n              }\n              if (uVar7 != 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.cc",0xb21,"compute_final_value");\n              }\n            }" if (parenthesized_expression "((parameters->options_->relocatable_).value == false)" ( (binary_expression "(parameters->options_->relocatable_).value == false" (field_expression "(parameters->options_->relocatable_).value" (parenthesized_expression "(parameters->options_->relocatable_)" ( (field_expression "parameters->options_->relocatable_" (field_expression "parameters->options_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) == false) )) (compound_statement "{\n              uVar7 = (sym->super_Symbol).dynsym_index_;\n              if (uVar7 == 0) {\n                Symbol::dynsym_index(in_stack_ffffffb4);\n                goto LAB_0017c83a;\n              }\n              if (uVar7 != 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.cc",0xb21,"compute_final_value");\n              }\n            }" { (expression_statement "uVar7 = (sym->super_Symbol).dynsym_index_;" (assignment_expression "uVar7 = (sym->super_Symbol).dynsym_index_" identifier = (field_expression "(sym->super_Symbol).dynsym_index_" (parenthesized_expression "(sym->super_Symbol)" ( (field_expression "sym->super_Symbol" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if (uVar7 == 0) {\n                Symbol::dynsym_index(in_stack_ffffffb4);\n                goto LAB_0017c83a;\n              }" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (compound_statement "{\n                Symbol::dynsym_index(in_stack_ffffffb4);\n                goto LAB_0017c83a;\n              }" { (labeled_statement "Symbol::dynsym_index(in_stack_ffffffb4);" statement_identifier : (ERROR ":" :) (expression_statement "dynsym_index(in_stack_ffffffb4);" (call_expression "dynsym_index(in_stack_ffffffb4)" identifier (argument_list "(in_stack_ffffffb4)" ( identifier ))) ;)) (goto_statement "goto LAB_0017c83a;" goto statement_identifier ;) })) (if_statement "if (uVar7 != 0xffffffff) {\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.cc",0xb21,"compute_final_value");\n              }" if (parenthesized_expression "(uVar7 != 0xffffffff)" ( (binary_expression "uVar7 != 0xffffffff" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n                do_gold_unreachable("../../gold/symtab.cc",0xb21,"compute_final_value");\n              }" { comment (expression_statement "do_gold_unreachable("../../gold/symtab.cc",0xb21,"compute_final_value");" (call_expression "do_gold_unreachable("../../gold/symtab.cc",0xb21,"compute_final_value")" identifier (argument_list "("../../gold/symtab.cc",0xb21,"compute_final_value")" ( (string_literal ""../../gold/symtab.cc"" " string_content ") , number_literal , (string_literal ""compute_final_value"" " string_content ") ))) ;) })) })) })) (expression_statement "*pstatus = CFVS_NO_OUTPUT_SECTION;" (assignment_expression "*pstatus = CFVS_NO_OUTPUT_SECTION" (pointer_expression "*pstatus" * identifier) = identifier) ;) (return_statement "return 0;" return number_literal ;) })) }))) (expression_statement "iVar9 = *(int *)((int)&sym->value_ + 4);" (assignment_expression "iVar9 = *(int *)((int)&sym->value_ + 4)" identifier = (pointer_expression "*(int *)((int)&sym->value_ + 4)" * (cast_expression "(int *)((int)&sym->value_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&sym->value_ + 4)" ( (binary_expression "(int)&sym->value_ + 4" (cast_expression "(int)&sym->value_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&sym->value_" & (field_expression "sym->value_" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "uVar12 = (uint)sym->value_;" (assignment_expression "uVar12 = (uint)sym->value_" identifier = (cast_expression "(uint)sym->value_" ( (type_descriptor "uint" type_identifier) ) (field_expression "sym->value_" identifier -> field_identifier))) ;) (if_statement "if ((local_38 & local_3c) == 0xffffffff) {\n        VVar15 = Output_section::output_address(local_40,(Relobj *)pOVar11,uVar7,sym->value_);\n      }\n      else if (((sym->super_Symbol).field_0x28 & 0xf) == 6) {\n        p_Var4 = (local_40->super_Output_data)._vptr_Output_data[0x12];\n        if (p_Var4 == Output_section::do_tls_offset) {\n          uVar7 = (uint)local_40->tls_offset_;\n          iVar10 = *(int *)((int)&local_40->tls_offset_ + 4);\n        }\n        else {\n          uVar7 = (*p_Var4)(local_40);\n          iVar10 = extraout_EDX_01;\n        }\n        VVar15 = CONCAT44(iVar10 + iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +\n                          (uint)CARRY4(uVar7,uVar12 + local_3c),uVar7 + uVar12 + local_3c);\n      }\n      else {\n        if (((local_40->super_Output_data).field_0x1c & 1) == 0) goto LAB_0017c7b3;\n        puVar2 = &(local_40->super_Output_data).address_;\n        VVar15 = CONCAT44(iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +\n                          *(int *)((int)&(local_40->super_Output_data).address_ + 4) +\n                          (uint)CARRY4(uVar12 + local_3c,(uint)*puVar2),\n                          uVar12 + local_3c + (int)*puVar2);\n      }" if (parenthesized_expression "((local_38 & local_3c) == 0xffffffff)" ( (binary_expression "(local_38 & local_3c) == 0xffffffff" (parenthesized_expression "(local_38 & local_3c)" ( (binary_expression "local_38 & local_3c" identifier & identifier) )) == number_literal) )) (compound_statement "{\n        VVar15 = Output_section::output_address(local_40,(Relobj *)pOVar11,uVar7,sym->value_);\n      }" { (ERROR "VVar15 = Output_section::" (assignment_expression "VVar15 = Output_section" identifier = identifier) : :) (expression_statement "output_address(local_40,(Relobj *)pOVar11,uVar7,sym->value_);" (call_expression "output_address(local_40,(Relobj *)pOVar11,uVar7,sym->value_)" identifier (argument_list "(local_40,(Relobj *)pOVar11,uVar7,sym->value_)" ( identifier , (cast_expression "(Relobj *)pOVar11" ( (type_descriptor "Relobj *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , (field_expression "sym->value_" identifier -> field_identifier) ))) ;) }) (else_clause "else if (((sym->super_Symbol).field_0x28 & 0xf) == 6) {\n        p_Var4 = (local_40->super_Output_data)._vptr_Output_data[0x12];\n        if (p_Var4 == Output_section::do_tls_offset) {\n          uVar7 = (uint)local_40->tls_offset_;\n          iVar10 = *(int *)((int)&local_40->tls_offset_ + 4);\n        }\n        else {\n          uVar7 = (*p_Var4)(local_40);\n          iVar10 = extraout_EDX_01;\n        }\n        VVar15 = CONCAT44(iVar10 + iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +\n                          (uint)CARRY4(uVar7,uVar12 + local_3c),uVar7 + uVar12 + local_3c);\n      }\n      else {\n        if (((local_40->super_Output_data).field_0x1c & 1) == 0) goto LAB_0017c7b3;\n        puVar2 = &(local_40->super_Output_data).address_;\n        VVar15 = CONCAT44(iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +\n                          *(int *)((int)&(local_40->super_Output_data).address_ + 4) +\n                          (uint)CARRY4(uVar12 + local_3c,(uint)*puVar2),\n                          uVar12 + local_3c + (int)*puVar2);\n      }" else (if_statement "if (((sym->super_Symbol).field_0x28 & 0xf) == 6) {\n        p_Var4 = (local_40->super_Output_data)._vptr_Output_data[0x12];\n        if (p_Var4 == Output_section::do_tls_offset) {\n          uVar7 = (uint)local_40->tls_offset_;\n          iVar10 = *(int *)((int)&local_40->tls_offset_ + 4);\n        }\n        else {\n          uVar7 = (*p_Var4)(local_40);\n          iVar10 = extraout_EDX_01;\n        }\n        VVar15 = CONCAT44(iVar10 + iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +\n                          (uint)CARRY4(uVar7,uVar12 + local_3c),uVar7 + uVar12 + local_3c);\n      }\n      else {\n        if (((local_40->super_Output_data).field_0x1c & 1) == 0) goto LAB_0017c7b3;\n        puVar2 = &(local_40->super_Output_data).address_;\n        VVar15 = CONCAT44(iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +\n                          *(int *)((int)&(local_40->super_Output_data).address_ + 4) +\n                          (uint)CARRY4(uVar12 + local_3c,(uint)*puVar2),\n                          uVar12 + local_3c + (int)*puVar2);\n      }" if (parenthesized_expression "(((sym->super_Symbol).field_0x28 & 0xf) == 6)" ( (binary_expression "((sym->super_Symbol).field_0x28 & 0xf) == 6" (parenthesized_expression "((sym->super_Symbol).field_0x28 & 0xf)" ( (binary_expression "(sym->super_Symbol).field_0x28 & 0xf" (field_expression "(sym->super_Symbol).field_0x28" (parenthesized_expression "(sym->super_Symbol)" ( (field_expression "sym->super_Symbol" identifier -> field_identifier) )) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n        p_Var4 = (local_40->super_Output_data)._vptr_Output_data[0x12];\n        if (p_Var4 == Output_section::do_tls_offset) {\n          uVar7 = (uint)local_40->tls_offset_;\n          iVar10 = *(int *)((int)&local_40->tls_offset_ + 4);\n        }\n        else {\n          uVar7 = (*p_Var4)(local_40);\n          iVar10 = extraout_EDX_01;\n        }\n        VVar15 = CONCAT44(iVar10 + iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +\n                          (uint)CARRY4(uVar7,uVar12 + local_3c),uVar7 + uVar12 + local_3c);\n      }" { (expression_statement "p_Var4 = (local_40->super_Output_data)._vptr_Output_data[0x12];" (assignment_expression "p_Var4 = (local_40->super_Output_data)._vptr_Output_data[0x12]" identifier = (subscript_expression "(local_40->super_Output_data)._vptr_Output_data[0x12]" (field_expression "(local_40->super_Output_data)._vptr_Output_data" (parenthesized_expression "(local_40->super_Output_data)" ( (field_expression "local_40->super_Output_data" identifier -> field_identifier) )) . field_identifier) [ number_literal ])) ;) (if_statement "if (p_Var4 == Output_section::do_tls_offset) {\n          uVar7 = (uint)local_40->tls_offset_;\n          iVar10 = *(int *)((int)&local_40->tls_offset_ + 4);\n        }\n        else {\n          uVar7 = (*p_Var4)(local_40);\n          iVar10 = extraout_EDX_01;\n        }" if (parenthesized_expression "(p_Var4 == Output_section::do_tls_offset)" ( (binary_expression "p_Var4 == Output_section" identifier == identifier) (ERROR "::do_tls_offset" : : identifier) )) (compound_statement "{\n          uVar7 = (uint)local_40->tls_offset_;\n          iVar10 = *(int *)((int)&local_40->tls_offset_ + 4);\n        }" { (expression_statement "uVar7 = (uint)local_40->tls_offset_;" (assignment_expression "uVar7 = (uint)local_40->tls_offset_" identifier = (cast_expression "(uint)local_40->tls_offset_" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_40->tls_offset_" identifier -> field_identifier))) ;) (expression_statement "iVar10 = *(int *)((int)&local_40->tls_offset_ + 4);" (assignment_expression "iVar10 = *(int *)((int)&local_40->tls_offset_ + 4)" identifier = (pointer_expression "*(int *)((int)&local_40->tls_offset_ + 4)" * (cast_expression "(int *)((int)&local_40->tls_offset_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_40->tls_offset_ + 4)" ( (binary_expression "(int)&local_40->tls_offset_ + 4" (cast_expression "(int)&local_40->tls_offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_40->tls_offset_" & (field_expression "local_40->tls_offset_" identifier -> field_identifier))) + number_literal) ))))) ;) }) (else_clause "else {\n          uVar7 = (*p_Var4)(local_40);\n          iVar10 = extraout_EDX_01;\n        }" else (compound_statement "{\n          uVar7 = (*p_Var4)(local_40);\n          iVar10 = extraout_EDX_01;\n        }" { (expression_statement "uVar7 = (*p_Var4)(local_40);" (assignment_expression "uVar7 = (*p_Var4)(local_40)" identifier = (call_expression "(*p_Var4)(local_40)" (parenthesized_expression "(*p_Var4)" ( (pointer_expression "*p_Var4" * identifier) )) (argument_list "(local_40)" ( identifier )))) ;) (expression_statement "iVar10 = extraout_EDX_01;" (assignment_expression "iVar10 = extraout_EDX_01" identifier = identifier) ;) }))) (expression_statement "VVar15 = CONCAT44(iVar10 + iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +\n                          (uint)CARRY4(uVar7,uVar12 + local_3c),uVar7 + uVar12 + local_3c);" (assignment_expression "VVar15 = CONCAT44(iVar10 + iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +\n                          (uint)CARRY4(uVar7,uVar12 + local_3c),uVar7 + uVar12 + local_3c)" identifier = (call_expression "CONCAT44(iVar10 + iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +\n                          (uint)CARRY4(uVar7,uVar12 + local_3c),uVar7 + uVar12 + local_3c)" identifier (argument_list "(iVar10 + iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +\n                          (uint)CARRY4(uVar7,uVar12 + local_3c),uVar7 + uVar12 + local_3c)" ( (binary_expression "iVar10 + iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +\n                          (uint)CARRY4(uVar7,uVar12 + local_3c)" (binary_expression "iVar10 + iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c)" (binary_expression "iVar10 + iVar9 + local_38" (binary_expression "iVar10 + iVar9" identifier + identifier) + identifier) + (cast_expression "(uint)CARRY4(uVar12,local_3c)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar12,local_3c)" identifier (argument_list "(uVar12,local_3c)" ( identifier , identifier ))))) + (cast_expression "(uint)CARRY4(uVar7,uVar12 + local_3c)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar7,uVar12 + local_3c)" identifier (argument_list "(uVar7,uVar12 + local_3c)" ( identifier , (binary_expression "uVar12 + local_3c" identifier + identifier) ))))) , (binary_expression "uVar7 + uVar12 + local_3c" (binary_expression "uVar7 + uVar12" identifier + identifier) + identifier) )))) ;) }) (else_clause "else {\n        if (((local_40->super_Output_data).field_0x1c & 1) == 0) goto LAB_0017c7b3;\n        puVar2 = &(local_40->super_Output_data).address_;\n        VVar15 = CONCAT44(iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +\n                          *(int *)((int)&(local_40->super_Output_data).address_ + 4) +\n                          (uint)CARRY4(uVar12 + local_3c,(uint)*puVar2),\n                          uVar12 + local_3c + (int)*puVar2);\n      }" else (compound_statement "{\n        if (((local_40->super_Output_data).field_0x1c & 1) == 0) goto LAB_0017c7b3;\n        puVar2 = &(local_40->super_Output_data).address_;\n        VVar15 = CONCAT44(iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +\n                          *(int *)((int)&(local_40->super_Output_data).address_ + 4) +\n                          (uint)CARRY4(uVar12 + local_3c,(uint)*puVar2),\n                          uVar12 + local_3c + (int)*puVar2);\n      }" { (if_statement "if (((local_40->super_Output_data).field_0x1c & 1) == 0) goto LAB_0017c7b3;" if (parenthesized_expression "(((local_40->super_Output_data).field_0x1c & 1) == 0)" ( (binary_expression "((local_40->super_Output_data).field_0x1c & 1) == 0" (parenthesized_expression "((local_40->super_Output_data).field_0x1c & 1)" ( (binary_expression "(local_40->super_Output_data).field_0x1c & 1" (field_expression "(local_40->super_Output_data).field_0x1c" (parenthesized_expression "(local_40->super_Output_data)" ( (field_expression "local_40->super_Output_data" identifier -> field_identifier) )) . field_identifier) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0017c7b3;" goto statement_identifier ;)) (expression_statement "puVar2 = &(local_40->super_Output_data).address_;" (assignment_expression "puVar2 = &(local_40->super_Output_data).address_" identifier = (pointer_expression "&(local_40->super_Output_data).address_" & (field_expression "(local_40->super_Output_data).address_" (parenthesized_expression "(local_40->super_Output_data)" ( (field_expression "local_40->super_Output_data" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "VVar15 = CONCAT44(iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +\n                          *(int *)((int)&(local_40->super_Output_data).address_ + 4) +\n                          (uint)CARRY4(uVar12 + local_3c,(uint)*puVar2),\n                          uVar12 + local_3c + (int)*puVar2);" (assignment_expression "VVar15 = CONCAT44(iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +\n                          *(int *)((int)&(local_40->super_Output_data).address_ + 4) +\n                          (uint)CARRY4(uVar12 + local_3c,(uint)*puVar2),\n                          uVar12 + local_3c + (int)*puVar2)" identifier = (call_expression "CONCAT44(iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +\n                          *(int *)((int)&(local_40->super_Output_data).address_ + 4) +\n                          (uint)CARRY4(uVar12 + local_3c,(uint)*puVar2),\n                          uVar12 + local_3c + (int)*puVar2)" identifier (argument_list "(iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +\n                          *(int *)((int)&(local_40->super_Output_data).address_ + 4) +\n                          (uint)CARRY4(uVar12 + local_3c,(uint)*puVar2),\n                          uVar12 + local_3c + (int)*puVar2)" ( (binary_expression "iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +\n                          *(int *)((int)&(local_40->super_Output_data).address_ + 4) +\n                          (uint)CARRY4(uVar12 + local_3c,(uint)*puVar2)" (binary_expression "iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c) +\n                          *(int *)((int)&(local_40->super_Output_data).address_ + 4)" (binary_expression "iVar9 + local_38 + (uint)CARRY4(uVar12,local_3c)" (binary_expression "iVar9 + local_38" identifier + identifier) + (cast_expression "(uint)CARRY4(uVar12,local_3c)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar12,local_3c)" identifier (argument_list "(uVar12,local_3c)" ( identifier , identifier ))))) + (pointer_expression "*(int *)((int)&(local_40->super_Output_data).address_ + 4)" * (cast_expression "(int *)((int)&(local_40->super_Output_data).address_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(local_40->super_Output_data).address_ + 4)" ( (binary_expression "(int)&(local_40->super_Output_data).address_ + 4" (cast_expression "(int)&(local_40->super_Output_data).address_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(local_40->super_Output_data).address_" & (field_expression "(local_40->super_Output_data).address_" (parenthesized_expression "(local_40->super_Output_data)" ( (field_expression "local_40->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) + (cast_expression "(uint)CARRY4(uVar12 + local_3c,(uint)*puVar2)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar12 + local_3c,(uint)*puVar2)" identifier (argument_list "(uVar12 + local_3c,(uint)*puVar2)" ( (binary_expression "uVar12 + local_3c" identifier + identifier) , (binary_expression "(uint)*puVar2" (parenthesized_expression "(uint)" ( identifier )) * identifier) ))))) , (binary_expression "uVar12 + local_3c + (int)*puVar2" (binary_expression "uVar12 + local_3c" identifier + identifier) + (cast_expression "(int)*puVar2" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*puVar2" * identifier))) )))) ;) }))))) (break_statement "break;" break ;) }))) (case_statement "case 3:\n    VVar15 = sym->value_;\n    break;" case number_literal : (expression_statement "VVar15 = sym->value_;" (assignment_expression "VVar15 = sym->value_" identifier = (field_expression "sym->value_" identifier -> field_identifier)) ;) (break_statement "break;" break ;)) (case_statement "case 1:\n    if ((bVar6 & 7) != 1) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/symtab.h",0xb5,"output_data");\n    }\n    pOVar11 = (sym->super_Symbol).u1_.output_segment;\n    uVar7 = (uint)sym->value_;\n    iVar9 = *(int *)((int)&sym->value_ + 4);\n    if (((sym->super_Symbol).field_0x28 & 0xf) == 6) {\n      piVar8 = (int *)(*(code *)pOVar11->output_lists_[0].\n                                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                ._M_impl._M_start[9])(pOVar11);\n      if (piVar8 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }\n      if (*(code **)(*piVar8 + 0x48) == Output_section::do_tls_offset) {\n        lVar14 = *(longlong *)(piVar8 + 0x25);\n      }\n      else {\n        lVar14 = (**(code **)(*piVar8 + 0x48))(piVar8);\n      }\n      bVar6 = *(byte *)&pOVar11->output_lists_[2].\n                        super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                        _M_impl._M_finish;\n      if ((bVar6 & 1) == 0) {\nLAB_0017c7b3:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/output.h",0xc5,"address");\n      }\n      ppOVar3 = pOVar11->output_lists_[0].\n                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.\n                _M_finish;\n      if ((*(byte *)(piVar8 + 7) & 1) == 0) goto LAB_0017c7b3;\n      uVar12 = uVar7 + (int)ppOVar3;\n      VVar15 = lVar14 + CONCAT44((int)pOVar11->output_lists_[0].\n                                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                      ._M_impl._M_end_of_storage +\n                                 ((((uint)CARRY4(uVar7,(uint)ppOVar3) + iVar9) - piVar8[2]) -\n                                 (uint)(uVar12 < (uint)piVar8[1])),uVar12 - piVar8[1]);\n      if (((sym->super_Symbol).field_0x2a & 7) != 1) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }\n    }\n    else {\n      bVar6 = *(byte *)&pOVar11->output_lists_[2].\n                        super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                        _M_impl._M_finish;\n      if ((bVar6 & 1) == 0) goto LAB_0017c7b3;\n      pppOVar1 = &pOVar11->output_lists_[0].\n                  super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                  _M_impl._M_finish;\n      VVar15 = CONCAT44((int)pOVar11->output_lists_[0].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage +\n                        (uint)CARRY4(uVar7,(uint)*pppOVar1) + iVar9,uVar7 + (int)*pppOVar1);\n    }\n    if ((sym->super_Symbol).u2_.offset_is_from_end != false) {\n      if ((bVar6 & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n      }\n      VVar15 = CONCAT44((int)pOVar11->output_lists_[1].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_finish +\n                        (uint)CARRY4((uint)VVar15,\n                                     (uint)pOVar11->output_lists_[1].\n                                           super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                           ._M_impl._M_start) + (int)(VVar15 >> 0x20),\n                        (uint)VVar15 +\n                        (int)pOVar11->output_lists_[1].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_start);\n    }\n    break;" case number_literal : (if_statement "if ((bVar6 & 7) != 1) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/symtab.h",0xb5,"output_data");\n    }" if (parenthesized_expression "((bVar6 & 7) != 1)" ( (binary_expression "(bVar6 & 7) != 1" (parenthesized_expression "(bVar6 & 7)" ( (binary_expression "bVar6 & 7" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/symtab.h",0xb5,"output_data");\n    }" { comment (expression_statement "do_gold_unreachable("../../gold/symtab.h",0xb5,"output_data");" (call_expression "do_gold_unreachable("../../gold/symtab.h",0xb5,"output_data")" identifier (argument_list "("../../gold/symtab.h",0xb5,"output_data")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""output_data"" " string_content ") ))) ;) })) (expression_statement "pOVar11 = (sym->super_Symbol).u1_.output_segment;" (assignment_expression "pOVar11 = (sym->super_Symbol).u1_.output_segment" identifier = (field_expression "(sym->super_Symbol).u1_.output_segment" (field_expression "(sym->super_Symbol).u1_" (parenthesized_expression "(sym->super_Symbol)" ( (field_expression "sym->super_Symbol" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "uVar7 = (uint)sym->value_;" (assignment_expression "uVar7 = (uint)sym->value_" identifier = (cast_expression "(uint)sym->value_" ( (type_descriptor "uint" type_identifier) ) (field_expression "sym->value_" identifier -> field_identifier))) ;) (expression_statement "iVar9 = *(int *)((int)&sym->value_ + 4);" (assignment_expression "iVar9 = *(int *)((int)&sym->value_ + 4)" identifier = (pointer_expression "*(int *)((int)&sym->value_ + 4)" * (cast_expression "(int *)((int)&sym->value_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&sym->value_ + 4)" ( (binary_expression "(int)&sym->value_ + 4" (cast_expression "(int)&sym->value_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&sym->value_" & (field_expression "sym->value_" identifier -> field_identifier))) + number_literal) ))))) ;) (if_statement "if (((sym->super_Symbol).field_0x28 & 0xf) == 6) {\n      piVar8 = (int *)(*(code *)pOVar11->output_lists_[0].\n                                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                ._M_impl._M_start[9])(pOVar11);\n      if (piVar8 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }\n      if (*(code **)(*piVar8 + 0x48) == Output_section::do_tls_offset) {\n        lVar14 = *(longlong *)(piVar8 + 0x25);\n      }\n      else {\n        lVar14 = (**(code **)(*piVar8 + 0x48))(piVar8);\n      }\n      bVar6 = *(byte *)&pOVar11->output_lists_[2].\n                        super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                        _M_impl._M_finish;\n      if ((bVar6 & 1) == 0) {\nLAB_0017c7b3:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/output.h",0xc5,"address");\n      }\n      ppOVar3 = pOVar11->output_lists_[0].\n                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.\n                _M_finish;\n      if ((*(byte *)(piVar8 + 7) & 1) == 0) goto LAB_0017c7b3;\n      uVar12 = uVar7 + (int)ppOVar3;\n      VVar15 = lVar14 + CONCAT44((int)pOVar11->output_lists_[0].\n                                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                      ._M_impl._M_end_of_storage +\n                                 ((((uint)CARRY4(uVar7,(uint)ppOVar3) + iVar9) - piVar8[2]) -\n                                 (uint)(uVar12 < (uint)piVar8[1])),uVar12 - piVar8[1]);\n      if (((sym->super_Symbol).field_0x2a & 7) != 1) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }\n    }\n    else {\n      bVar6 = *(byte *)&pOVar11->output_lists_[2].\n                        super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                        _M_impl._M_finish;\n      if ((bVar6 & 1) == 0) goto LAB_0017c7b3;\n      pppOVar1 = &pOVar11->output_lists_[0].\n                  super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                  _M_impl._M_finish;\n      VVar15 = CONCAT44((int)pOVar11->output_lists_[0].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage +\n                        (uint)CARRY4(uVar7,(uint)*pppOVar1) + iVar9,uVar7 + (int)*pppOVar1);\n    }" if (parenthesized_expression "(((sym->super_Symbol).field_0x28 & 0xf) == 6)" ( (binary_expression "((sym->super_Symbol).field_0x28 & 0xf) == 6" (parenthesized_expression "((sym->super_Symbol).field_0x28 & 0xf)" ( (binary_expression "(sym->super_Symbol).field_0x28 & 0xf" (field_expression "(sym->super_Symbol).field_0x28" (parenthesized_expression "(sym->super_Symbol)" ( (field_expression "sym->super_Symbol" identifier -> field_identifier) )) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      piVar8 = (int *)(*(code *)pOVar11->output_lists_[0].\n                                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                ._M_impl._M_start[9])(pOVar11);\n      if (piVar8 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }\n      if (*(code **)(*piVar8 + 0x48) == Output_section::do_tls_offset) {\n        lVar14 = *(longlong *)(piVar8 + 0x25);\n      }\n      else {\n        lVar14 = (**(code **)(*piVar8 + 0x48))(piVar8);\n      }\n      bVar6 = *(byte *)&pOVar11->output_lists_[2].\n                        super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                        _M_impl._M_finish;\n      if ((bVar6 & 1) == 0) {\nLAB_0017c7b3:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/output.h",0xc5,"address");\n      }\n      ppOVar3 = pOVar11->output_lists_[0].\n                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.\n                _M_finish;\n      if ((*(byte *)(piVar8 + 7) & 1) == 0) goto LAB_0017c7b3;\n      uVar12 = uVar7 + (int)ppOVar3;\n      VVar15 = lVar14 + CONCAT44((int)pOVar11->output_lists_[0].\n                                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                      ._M_impl._M_end_of_storage +\n                                 ((((uint)CARRY4(uVar7,(uint)ppOVar3) + iVar9) - piVar8[2]) -\n                                 (uint)(uVar12 < (uint)piVar8[1])),uVar12 - piVar8[1]);\n      if (((sym->super_Symbol).field_0x2a & 7) != 1) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }\n    }" { (expression_statement "piVar8 = (int *)(*(code *)pOVar11->output_lists_[0].\n                                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                ._M_impl._M_start[9])(pOVar11);" (assignment_expression "piVar8 = (int *)(*(code *)pOVar11->output_lists_[0].\n                                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                ._M_impl._M_start[9])(pOVar11)" identifier = (cast_expression "(int *)(*(code *)pOVar11->output_lists_[0].\n                                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                ._M_impl._M_start[9])(pOVar11)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)pOVar11->output_lists_[0].\n                                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                ._M_impl._M_start[9])(pOVar11)" (parenthesized_expression "(*(code *)pOVar11->output_lists_[0].\n                                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                ._M_impl._M_start[9])" ( (subscript_expression "*(code *)pOVar11->output_lists_[0].\n                                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                ._M_impl._M_start[9]" (field_expression "*(code *)pOVar11->output_lists_[0].\n                                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                ._M_impl._M_start" (field_expression "*(code *)pOVar11->output_lists_[0].\n                                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                ._M_impl" (binary_expression "*(code *)pOVar11->output_lists_[0].\n                                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_" (binary_expression "*(code *)pOVar11->output_lists_[0].\n                                super__Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "*(code *)pOVar11->output_lists_[0].\n                                super__Vector_base<gold::Output_data*,_std" (binary_expression "*(code *)pOVar11->output_lists_[0].\n                                super__Vector_base<gold" (pointer_expression "*(code *)pOVar11->output_lists_[0].\n                                super__Vector_base" * (cast_expression "(code *)pOVar11->output_lists_[0].\n                                super__Vector_base" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "pOVar11->output_lists_[0].\n                                super__Vector_base" (subscript_expression "pOVar11->output_lists_[0]" (field_expression "pOVar11->output_lists_" identifier -> field_identifier) [ number_literal ]) . field_identifier))) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) [ number_literal ]) )) (argument_list "(pOVar11)" ( identifier ))))) ;) (if_statement "if (piVar8 == (int *)0x0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }" if (parenthesized_expression "(piVar8 == (int *)0x0)" ( (binary_expression "piVar8 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }" { comment (expression_statement "do_gold_unreachable("../../gold/symtab.cc",0xb43,"compute_final_value");" (call_expression "do_gold_unreachable("../../gold/symtab.cc",0xb43,"compute_final_value")" identifier (argument_list "("../../gold/symtab.cc",0xb43,"compute_final_value")" ( (string_literal ""../../gold/symtab.cc"" " string_content ") , number_literal , (string_literal ""compute_final_value"" " string_content ") ))) ;) })) (if_statement "if (*(code **)(*piVar8 + 0x48) == Output_section::do_tls_offset) {\n        lVar14 = *(longlong *)(piVar8 + 0x25);\n      }\n      else {\n        lVar14 = (**(code **)(*piVar8 + 0x48))(piVar8);\n      }" if (parenthesized_expression "(*(code **)(*piVar8 + 0x48) == Output_section::do_tls_offset)" ( (binary_expression "*(code **)(*piVar8 + 0x48) == Output_section" (pointer_expression "*(code **)(*piVar8 + 0x48)" * (cast_expression "(code **)(*piVar8 + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 0x48)" ( (binary_expression "*piVar8 + 0x48" (pointer_expression "*piVar8" * identifier) + number_literal) )))) == identifier) (ERROR "::do_tls_offset" : : identifier) )) (compound_statement "{\n        lVar14 = *(longlong *)(piVar8 + 0x25);\n      }" { (expression_statement "lVar14 = *(longlong *)(piVar8 + 0x25);" (assignment_expression "lVar14 = *(longlong *)(piVar8 + 0x25)" identifier = (pointer_expression "*(longlong *)(piVar8 + 0x25)" * (cast_expression "(longlong *)(piVar8 + 0x25)" ( (type_descriptor "longlong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 0x25)" ( (binary_expression "piVar8 + 0x25" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        lVar14 = (**(code **)(*piVar8 + 0x48))(piVar8);\n      }" else (compound_statement "{\n        lVar14 = (**(code **)(*piVar8 + 0x48))(piVar8);\n      }" { (expression_statement "lVar14 = (**(code **)(*piVar8 + 0x48))(piVar8);" (assignment_expression "lVar14 = (**(code **)(*piVar8 + 0x48))(piVar8)" identifier = (call_expression "(**(code **)(*piVar8 + 0x48))(piVar8)" (parenthesized_expression "(**(code **)(*piVar8 + 0x48))" ( (pointer_expression "**(code **)(*piVar8 + 0x48)" * (pointer_expression "*(code **)(*piVar8 + 0x48)" * (cast_expression "(code **)(*piVar8 + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 0x48)" ( (binary_expression "*piVar8 + 0x48" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) )) (argument_list "(piVar8)" ( identifier )))) ;) }))) (expression_statement "bVar6 = *(byte *)&pOVar11->output_lists_[2].\n                        super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                        _M_impl._M_finish;" (field_expression "bVar6 = *(byte *)&pOVar11->output_lists_[2].\n                        super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                        _M_impl._M_finish" (field_expression "bVar6 = *(byte *)&pOVar11->output_lists_[2].\n                        super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                        _M_impl" (binary_expression "bVar6 = *(byte *)&pOVar11->output_lists_[2].\n                        super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_" (binary_expression "bVar6 = *(byte *)&pOVar11->output_lists_[2].\n                        super__Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "bVar6 = *(byte *)&pOVar11->output_lists_[2].\n                        super__Vector_base<gold::Output_data*,_std" (assignment_expression "bVar6 = *(byte *)&pOVar11->output_lists_[2].\n                        super__Vector_base<gold" identifier = (binary_expression "*(byte *)&pOVar11->output_lists_[2].\n                        super__Vector_base<gold" (pointer_expression "*(byte *)&pOVar11->output_lists_[2].\n                        super__Vector_base" * (cast_expression "(byte *)&pOVar11->output_lists_[2].\n                        super__Vector_base" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar11->output_lists_[2].\n                        super__Vector_base" & (field_expression "pOVar11->output_lists_[2].\n                        super__Vector_base" (subscript_expression "pOVar11->output_lists_[2]" (field_expression "pOVar11->output_lists_" identifier -> field_identifier) [ number_literal ]) . field_identifier)))) < identifier)) (ERROR "::Output_data" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if ((bVar6 & 1) == 0) {\nLAB_0017c7b3:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/output.h",0xc5,"address");\n      }" if (parenthesized_expression "((bVar6 & 1) == 0)" ( (binary_expression "(bVar6 & 1) == 0" (parenthesized_expression "(bVar6 & 1)" ( (binary_expression "bVar6 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_0017c7b3:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/output.h",0xc5,"address");\n      }" { (labeled_statement "LAB_0017c7b3:\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/output.h",0xc5,"address");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/output.h",0xc5,"address");" (call_expression "do_gold_unreachable("../../gold/output.h",0xc5,"address")" identifier (argument_list "("../../gold/output.h",0xc5,"address")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""address"" " string_content ") ))) ;)) })) (expression_statement "ppOVar3 = pOVar11->output_lists_[0].\n                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.\n                _M_finish;" (field_expression "ppOVar3 = pOVar11->output_lists_[0].\n                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.\n                _M_finish" (field_expression "ppOVar3 = pOVar11->output_lists_[0].\n                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl" (binary_expression "ppOVar3 = pOVar11->output_lists_[0].\n                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_" (binary_expression "ppOVar3 = pOVar11->output_lists_[0].\n                super__Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "ppOVar3 = pOVar11->output_lists_[0].\n                super__Vector_base<gold::Output_data*,_std" (assignment_expression "ppOVar3 = pOVar11->output_lists_[0].\n                super__Vector_base<gold" identifier = (binary_expression "pOVar11->output_lists_[0].\n                super__Vector_base<gold" (field_expression "pOVar11->output_lists_[0].\n                super__Vector_base" (subscript_expression "pOVar11->output_lists_[0]" (field_expression "pOVar11->output_lists_" identifier -> field_identifier) [ number_literal ]) . field_identifier) < identifier)) (ERROR "::Output_data" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if ((*(byte *)(piVar8 + 7) & 1) == 0) goto LAB_0017c7b3;" if (parenthesized_expression "((*(byte *)(piVar8 + 7) & 1) == 0)" ( (binary_expression "(*(byte *)(piVar8 + 7) & 1) == 0" (parenthesized_expression "(*(byte *)(piVar8 + 7) & 1)" ( (binary_expression "*(byte *)(piVar8 + 7) & 1" (pointer_expression "*(byte *)(piVar8 + 7)" * (cast_expression "(byte *)(piVar8 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar8 + 7)" ( (binary_expression "piVar8 + 7" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0017c7b3;" goto statement_identifier ;)) (expression_statement "uVar12 = uVar7 + (int)ppOVar3;" (assignment_expression "uVar12 = uVar7 + (int)ppOVar3" identifier = (binary_expression "uVar7 + (int)ppOVar3" identifier + (cast_expression "(int)ppOVar3" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "VVar15 = lVar14 + CONCAT44((int)pOVar11->output_lists_[0].\n                                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                      ._M_impl._M_end_of_storage +\n                                 ((((uint)CARRY4(uVar7,(uint)ppOVar3) + iVar9) - piVar8[2]) -\n                                 (uint)(uVar12 < (uint)piVar8[1])),uVar12 - piVar8[1]);" (assignment_expression "VVar15 = lVar14 + CONCAT44((int)pOVar11->output_lists_[0].\n                                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                      ._M_impl._M_end_of_storage +\n                                 ((((uint)CARRY4(uVar7,(uint)ppOVar3) + iVar9) - piVar8[2]) -\n                                 (uint)(uVar12 < (uint)piVar8[1])),uVar12 - piVar8[1])" identifier = (binary_expression "lVar14 + CONCAT44((int)pOVar11->output_lists_[0].\n                                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                      ._M_impl._M_end_of_storage +\n                                 ((((uint)CARRY4(uVar7,(uint)ppOVar3) + iVar9) - piVar8[2]) -\n                                 (uint)(uVar12 < (uint)piVar8[1])),uVar12 - piVar8[1])" identifier + (call_expression "CONCAT44((int)pOVar11->output_lists_[0].\n                                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                      ._M_impl._M_end_of_storage +\n                                 ((((uint)CARRY4(uVar7,(uint)ppOVar3) + iVar9) - piVar8[2]) -\n                                 (uint)(uVar12 < (uint)piVar8[1])),uVar12 - piVar8[1])" identifier (argument_list "((int)pOVar11->output_lists_[0].\n                                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                      ._M_impl._M_end_of_storage +\n                                 ((((uint)CARRY4(uVar7,(uint)ppOVar3) + iVar9) - piVar8[2]) -\n                                 (uint)(uVar12 < (uint)piVar8[1])),uVar12 - piVar8[1])" ( (binary_expression "(int)pOVar11->output_lists_[0].\n                                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                      ._M_impl._M_end_of_storage +\n                                 ((((uint)CARRY4(uVar7,(uint)ppOVar3) + iVar9) - piVar8[2]) -\n                                 (uint)(uVar12 < (uint)piVar8[1]))" (field_expression "(int)pOVar11->output_lists_[0].\n                                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                      ._M_impl._M_end_of_storage" (field_expression "(int)pOVar11->output_lists_[0].\n                                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                      ._M_impl" (binary_expression "(int)pOVar11->output_lists_[0].\n                                      super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_" (binary_expression "(int)pOVar11->output_lists_[0].\n                                      super__Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "(int)pOVar11->output_lists_[0].\n                                      super__Vector_base<gold::Output_data*,_std" (binary_expression "(int)pOVar11->output_lists_[0].\n                                      super__Vector_base<gold" (cast_expression "(int)pOVar11->output_lists_[0].\n                                      super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "pOVar11->output_lists_[0].\n                                      super__Vector_base" (subscript_expression "pOVar11->output_lists_[0]" (field_expression "pOVar11->output_lists_" identifier -> field_identifier) [ number_literal ]) . field_identifier)) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) + (parenthesized_expression "((((uint)CARRY4(uVar7,(uint)ppOVar3) + iVar9) - piVar8[2]) -\n                                 (uint)(uVar12 < (uint)piVar8[1]))" ( (binary_expression "(((uint)CARRY4(uVar7,(uint)ppOVar3) + iVar9) - piVar8[2]) -\n                                 (uint)(uVar12 < (uint)piVar8[1])" (parenthesized_expression "(((uint)CARRY4(uVar7,(uint)ppOVar3) + iVar9) - piVar8[2])" ( (binary_expression "((uint)CARRY4(uVar7,(uint)ppOVar3) + iVar9) - piVar8[2]" (parenthesized_expression "((uint)CARRY4(uVar7,(uint)ppOVar3) + iVar9)" ( (binary_expression "(uint)CARRY4(uVar7,(uint)ppOVar3) + iVar9" (cast_expression "(uint)CARRY4(uVar7,(uint)ppOVar3)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar7,(uint)ppOVar3)" identifier (argument_list "(uVar7,(uint)ppOVar3)" ( identifier , (cast_expression "(uint)ppOVar3" ( (type_descriptor "uint" type_identifier) ) identifier) )))) + identifier) )) - (subscript_expression "piVar8[2]" identifier [ number_literal ])) )) - (call_expression "(uint)(uVar12 < (uint)piVar8[1])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar12 < (uint)piVar8[1])" ( (binary_expression "uVar12 < (uint)piVar8[1]" identifier < (cast_expression "(uint)piVar8[1]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "piVar8[1]" identifier [ number_literal ]))) )))) ))) , (binary_expression "uVar12 - piVar8[1]" identifier - (subscript_expression "piVar8[1]" identifier [ number_literal ])) ))))) ;) (if_statement "if (((sym->super_Symbol).field_0x2a & 7) != 1) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }" if (parenthesized_expression "(((sym->super_Symbol).field_0x2a & 7) != 1)" ( (binary_expression "((sym->super_Symbol).field_0x2a & 7) != 1" (parenthesized_expression "((sym->super_Symbol).field_0x2a & 7)" ( (binary_expression "(sym->super_Symbol).field_0x2a & 7" (field_expression "(sym->super_Symbol).field_0x2a" (parenthesized_expression "(sym->super_Symbol)" ( (field_expression "sym->super_Symbol" identifier -> field_identifier) )) . field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }" { comment (expression_statement "do_gold_unreachable("../../gold/symtab.h",0xbe,"offset_is_from_end");" (call_expression "do_gold_unreachable("../../gold/symtab.h",0xbe,"offset_is_from_end")" identifier (argument_list "("../../gold/symtab.h",0xbe,"offset_is_from_end")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""offset_is_from_end"" " string_content ") ))) ;) })) }) (else_clause "else {\n      bVar6 = *(byte *)&pOVar11->output_lists_[2].\n                        super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                        _M_impl._M_finish;\n      if ((bVar6 & 1) == 0) goto LAB_0017c7b3;\n      pppOVar1 = &pOVar11->output_lists_[0].\n                  super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                  _M_impl._M_finish;\n      VVar15 = CONCAT44((int)pOVar11->output_lists_[0].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage +\n                        (uint)CARRY4(uVar7,(uint)*pppOVar1) + iVar9,uVar7 + (int)*pppOVar1);\n    }" else (compound_statement "{\n      bVar6 = *(byte *)&pOVar11->output_lists_[2].\n                        super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                        _M_impl._M_finish;\n      if ((bVar6 & 1) == 0) goto LAB_0017c7b3;\n      pppOVar1 = &pOVar11->output_lists_[0].\n                  super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                  _M_impl._M_finish;\n      VVar15 = CONCAT44((int)pOVar11->output_lists_[0].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage +\n                        (uint)CARRY4(uVar7,(uint)*pppOVar1) + iVar9,uVar7 + (int)*pppOVar1);\n    }" { (expression_statement "bVar6 = *(byte *)&pOVar11->output_lists_[2].\n                        super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                        _M_impl._M_finish;" (field_expression "bVar6 = *(byte *)&pOVar11->output_lists_[2].\n                        super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                        _M_impl._M_finish" (field_expression "bVar6 = *(byte *)&pOVar11->output_lists_[2].\n                        super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                        _M_impl" (binary_expression "bVar6 = *(byte *)&pOVar11->output_lists_[2].\n                        super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_" (binary_expression "bVar6 = *(byte *)&pOVar11->output_lists_[2].\n                        super__Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "bVar6 = *(byte *)&pOVar11->output_lists_[2].\n                        super__Vector_base<gold::Output_data*,_std" (assignment_expression "bVar6 = *(byte *)&pOVar11->output_lists_[2].\n                        super__Vector_base<gold" identifier = (binary_expression "*(byte *)&pOVar11->output_lists_[2].\n                        super__Vector_base<gold" (pointer_expression "*(byte *)&pOVar11->output_lists_[2].\n                        super__Vector_base" * (cast_expression "(byte *)&pOVar11->output_lists_[2].\n                        super__Vector_base" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar11->output_lists_[2].\n                        super__Vector_base" & (field_expression "pOVar11->output_lists_[2].\n                        super__Vector_base" (subscript_expression "pOVar11->output_lists_[2]" (field_expression "pOVar11->output_lists_" identifier -> field_identifier) [ number_literal ]) . field_identifier)))) < identifier)) (ERROR "::Output_data" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (if_statement "if ((bVar6 & 1) == 0) goto LAB_0017c7b3;" if (parenthesized_expression "((bVar6 & 1) == 0)" ( (binary_expression "(bVar6 & 1) == 0" (parenthesized_expression "(bVar6 & 1)" ( (binary_expression "bVar6 & 1" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_0017c7b3;" goto statement_identifier ;)) (expression_statement "pppOVar1 = &pOVar11->output_lists_[0].\n                  super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                  _M_impl._M_finish;" (field_expression "pppOVar1 = &pOVar11->output_lists_[0].\n                  super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                  _M_impl._M_finish" (field_expression "pppOVar1 = &pOVar11->output_lists_[0].\n                  super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>.\n                  _M_impl" (binary_expression "pppOVar1 = &pOVar11->output_lists_[0].\n                  super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_" (binary_expression "pppOVar1 = &pOVar11->output_lists_[0].\n                  super__Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "pppOVar1 = &pOVar11->output_lists_[0].\n                  super__Vector_base<gold::Output_data*,_std" (assignment_expression "pppOVar1 = &pOVar11->output_lists_[0].\n                  super__Vector_base<gold" identifier = (binary_expression "&pOVar11->output_lists_[0].\n                  super__Vector_base<gold" (pointer_expression "&pOVar11->output_lists_[0].\n                  super__Vector_base" & (field_expression "pOVar11->output_lists_[0].\n                  super__Vector_base" (subscript_expression "pOVar11->output_lists_[0]" (field_expression "pOVar11->output_lists_" identifier -> field_identifier) [ number_literal ]) . field_identifier)) < identifier)) (ERROR "::Output_data" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "VVar15 = CONCAT44((int)pOVar11->output_lists_[0].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage +\n                        (uint)CARRY4(uVar7,(uint)*pppOVar1) + iVar9,uVar7 + (int)*pppOVar1);" (assignment_expression "VVar15 = CONCAT44((int)pOVar11->output_lists_[0].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage +\n                        (uint)CARRY4(uVar7,(uint)*pppOVar1) + iVar9,uVar7 + (int)*pppOVar1)" identifier = (call_expression "CONCAT44((int)pOVar11->output_lists_[0].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage +\n                        (uint)CARRY4(uVar7,(uint)*pppOVar1) + iVar9,uVar7 + (int)*pppOVar1)" identifier (argument_list "((int)pOVar11->output_lists_[0].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage +\n                        (uint)CARRY4(uVar7,(uint)*pppOVar1) + iVar9,uVar7 + (int)*pppOVar1)" ( (binary_expression "(int)pOVar11->output_lists_[0].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage +\n                        (uint)CARRY4(uVar7,(uint)*pppOVar1) + iVar9" (binary_expression "(int)pOVar11->output_lists_[0].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage +\n                        (uint)CARRY4(uVar7,(uint)*pppOVar1)" (field_expression "(int)pOVar11->output_lists_[0].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_end_of_storage" (field_expression "(int)pOVar11->output_lists_[0].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl" (binary_expression "(int)pOVar11->output_lists_[0].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_" (binary_expression "(int)pOVar11->output_lists_[0].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "(int)pOVar11->output_lists_[0].\n                             super__Vector_base<gold::Output_data*,_std" (binary_expression "(int)pOVar11->output_lists_[0].\n                             super__Vector_base<gold" (cast_expression "(int)pOVar11->output_lists_[0].\n                             super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "pOVar11->output_lists_[0].\n                             super__Vector_base" (subscript_expression "pOVar11->output_lists_[0]" (field_expression "pOVar11->output_lists_" identifier -> field_identifier) [ number_literal ]) . field_identifier)) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) + (cast_expression "(uint)CARRY4(uVar7,(uint)*pppOVar1)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar7,(uint)*pppOVar1)" identifier (argument_list "(uVar7,(uint)*pppOVar1)" ( identifier , (binary_expression "(uint)*pppOVar1" (parenthesized_expression "(uint)" ( identifier )) * identifier) ))))) + identifier) , (binary_expression "uVar7 + (int)*pppOVar1" identifier + (cast_expression "(int)*pppOVar1" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pppOVar1" * identifier))) )))) ;) }))) (if_statement "if ((sym->super_Symbol).u2_.offset_is_from_end != false) {\n      if ((bVar6 & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n      }\n      VVar15 = CONCAT44((int)pOVar11->output_lists_[1].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_finish +\n                        (uint)CARRY4((uint)VVar15,\n                                     (uint)pOVar11->output_lists_[1].\n                                           super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                           ._M_impl._M_start) + (int)(VVar15 >> 0x20),\n                        (uint)VVar15 +\n                        (int)pOVar11->output_lists_[1].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_start);\n    }" if (parenthesized_expression "((sym->super_Symbol).u2_.offset_is_from_end != false)" ( (binary_expression "(sym->super_Symbol).u2_.offset_is_from_end != false" (field_expression "(sym->super_Symbol).u2_.offset_is_from_end" (field_expression "(sym->super_Symbol).u2_" (parenthesized_expression "(sym->super_Symbol)" ( (field_expression "sym->super_Symbol" identifier -> field_identifier) )) . field_identifier) . field_identifier) != false) )) (compound_statement "{\n      if ((bVar6 & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n      }\n      VVar15 = CONCAT44((int)pOVar11->output_lists_[1].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_finish +\n                        (uint)CARRY4((uint)VVar15,\n                                     (uint)pOVar11->output_lists_[1].\n                                           super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                           ._M_impl._M_start) + (int)(VVar15 >> 0x20),\n                        (uint)VVar15 +\n                        (int)pOVar11->output_lists_[1].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_start);\n    }" { (if_statement "if ((bVar6 & 2) == 0) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n      }" if (parenthesized_expression "((bVar6 & 2) == 0)" ( (binary_expression "(bVar6 & 2) == 0" (parenthesized_expression "(bVar6 & 2)" ( (binary_expression "bVar6 & 2" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/output.h",0xcf,"data_size");\n      }" { comment (expression_statement "do_gold_unreachable("../../gold/output.h",0xcf,"data_size");" (call_expression "do_gold_unreachable("../../gold/output.h",0xcf,"data_size")" identifier (argument_list "("../../gold/output.h",0xcf,"data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""data_size"" " string_content ") ))) ;) })) (expression_statement "VVar15 = CONCAT44((int)pOVar11->output_lists_[1].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_finish +\n                        (uint)CARRY4((uint)VVar15,\n                                     (uint)pOVar11->output_lists_[1].\n                                           super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                           ._M_impl._M_start) + (int)(VVar15 >> 0x20),\n                        (uint)VVar15 +\n                        (int)pOVar11->output_lists_[1].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_start);" (assignment_expression "VVar15 = CONCAT44((int)pOVar11->output_lists_[1].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_finish +\n                        (uint)CARRY4((uint)VVar15,\n                                     (uint)pOVar11->output_lists_[1].\n                                           super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                           ._M_impl._M_start) + (int)(VVar15 >> 0x20),\n                        (uint)VVar15 +\n                        (int)pOVar11->output_lists_[1].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_start)" identifier = (call_expression "CONCAT44((int)pOVar11->output_lists_[1].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_finish +\n                        (uint)CARRY4((uint)VVar15,\n                                     (uint)pOVar11->output_lists_[1].\n                                           super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                           ._M_impl._M_start) + (int)(VVar15 >> 0x20),\n                        (uint)VVar15 +\n                        (int)pOVar11->output_lists_[1].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_start)" identifier (argument_list "((int)pOVar11->output_lists_[1].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_finish +\n                        (uint)CARRY4((uint)VVar15,\n                                     (uint)pOVar11->output_lists_[1].\n                                           super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                           ._M_impl._M_start) + (int)(VVar15 >> 0x20),\n                        (uint)VVar15 +\n                        (int)pOVar11->output_lists_[1].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_start)" ( (binary_expression "(int)pOVar11->output_lists_[1].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_finish +\n                        (uint)CARRY4((uint)VVar15,\n                                     (uint)pOVar11->output_lists_[1].\n                                           super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                           ._M_impl._M_start) + (int)(VVar15 >> 0x20)" (binary_expression "(int)pOVar11->output_lists_[1].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_finish +\n                        (uint)CARRY4((uint)VVar15,\n                                     (uint)pOVar11->output_lists_[1].\n                                           super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                           ._M_impl._M_start)" (field_expression "(int)pOVar11->output_lists_[1].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl._M_finish" (field_expression "(int)pOVar11->output_lists_[1].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                             ._M_impl" (binary_expression "(int)pOVar11->output_lists_[1].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_" (binary_expression "(int)pOVar11->output_lists_[1].\n                             super__Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "(int)pOVar11->output_lists_[1].\n                             super__Vector_base<gold::Output_data*,_std" (binary_expression "(int)pOVar11->output_lists_[1].\n                             super__Vector_base<gold" (cast_expression "(int)pOVar11->output_lists_[1].\n                             super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "pOVar11->output_lists_[1].\n                             super__Vector_base" (subscript_expression "pOVar11->output_lists_[1]" (field_expression "pOVar11->output_lists_" identifier -> field_identifier) [ number_literal ]) . field_identifier)) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) + (cast_expression "(uint)CARRY4((uint)VVar15,\n                                     (uint)pOVar11->output_lists_[1].\n                                           super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                           ._M_impl._M_start)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4((uint)VVar15,\n                                     (uint)pOVar11->output_lists_[1].\n                                           super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                           ._M_impl._M_start)" identifier (argument_list "((uint)VVar15,\n                                     (uint)pOVar11->output_lists_[1].\n                                           super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>\n                                           ._M_impl._M_start)" ( (cast_expression "(uint)VVar15" ( (type_descriptor "uint" type_identifier) ) identifier) , (binary_expression "(uint)pOVar11->output_lists_[1].\n                                           super__Vector_base<gold" (cast_expression "(uint)pOVar11->output_lists_[1].\n                                           super__Vector_base" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar11->output_lists_[1].\n                                           super__Vector_base" (subscript_expression "pOVar11->output_lists_[1]" (field_expression "pOVar11->output_lists_" identifier -> field_identifier) [ number_literal ]) . field_identifier)) < identifier) (ERROR "::Output_data*" : : identifier *) , (ERROR "_std::allocator<gold::" identifier : : (binary_expression "allocator<gold" identifier < identifier) : :) (field_expression "Output_data*>_>\n                                           ._M_impl._M_start" (field_expression "Output_data*>_>\n                                           ._M_impl" (binary_expression "Output_data*>_" identifier * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ))))) + (cast_expression "(int)(VVar15 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(VVar15 >> 0x20)" ( (binary_expression "VVar15 >> 0x20" identifier >> number_literal) )))) , (binary_expression "(uint)VVar15 +\n                        (int)pOVar11->output_lists_[1].\n                             super__Vector_base<gold" (binary_expression "(uint)VVar15 +\n                        (int)pOVar11->output_lists_[1].\n                             super__Vector_base" (cast_expression "(uint)VVar15" ( (type_descriptor "uint" type_identifier) ) identifier) + (cast_expression "(int)pOVar11->output_lists_[1].\n                             super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "pOVar11->output_lists_[1].\n                             super__Vector_base" (subscript_expression "pOVar11->output_lists_[1]" (field_expression "pOVar11->output_lists_" identifier -> field_identifier) [ number_literal ]) . field_identifier))) < identifier) (ERROR "::Output_data*" : : identifier *) , (ERROR "_std::allocator<gold::" identifier : : (binary_expression "allocator<gold" identifier < identifier) : :) (field_expression "Output_data*>_>\n                             ._M_impl._M_start" (field_expression "Output_data*>_>\n                             ._M_impl" (binary_expression "Output_data*>_" identifier * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) )))) ;) })) (break_statement "break;" break ;)) (case_statement "case 2:\n    if ((bVar6 & 7) != 2) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/symtab.h",200,"output_segment");\n    }\n    pOVar11 = (sym->super_Symbol).u1_.output_segment;\n    uVar7 = (uint)sym->value_;\n    iVar9 = *(int *)((int)&sym->value_ + 4);\n    if (((sym->super_Symbol).field_0x28 & 0xf) != 6) {\n      bVar13 = CARRY4(uVar7,(uint)pOVar11->vaddr_);\n      uVar7 = uVar7 + (int)pOVar11->vaddr_;\n      iVar9 = iVar9 + *(int *)((int)&pOVar11->vaddr_ + 4) + (uint)bVar13;\n    }\n    VVar15 = CONCAT44(iVar9,uVar7);\n    uVar12 = (sym->super_Symbol).u2_.shndx;\n    if (uVar12 == 1) {\n      VVar15 = CONCAT44(iVar9 + *(int *)((int)&pOVar11->memsz_ + 4) +\n                        (uint)CARRY4(uVar7,(uint)pOVar11->memsz_),uVar7 + (int)pOVar11->memsz_);\n    }\n    else if (uVar12 != 0) {\n      if (uVar12 != 2) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xb5c,"compute_final_value");\n      }\n      VVar15 = CONCAT44(iVar9 + *(int *)((int)&pOVar11->filesz_ + 4) +\n                        (uint)CARRY4(uVar7,(uint)pOVar11->filesz_),uVar7 + (int)pOVar11->filesz_);\n    }\n    break;" case number_literal : (if_statement "if ((bVar6 & 7) != 2) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/symtab.h",200,"output_segment");\n    }" if (parenthesized_expression "((bVar6 & 7) != 2)" ( (binary_expression "(bVar6 & 7) != 2" (parenthesized_expression "(bVar6 & 7)" ( (binary_expression "bVar6 & 7" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/symtab.h",200,"output_segment");\n    }" { comment (expression_statement "do_gold_unreachable("../../gold/symtab.h",200,"output_segment");" (call_expression "do_gold_unreachable("../../gold/symtab.h",200,"output_segment")" identifier (argument_list "("../../gold/symtab.h",200,"output_segment")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""output_segment"" " string_content ") ))) ;) })) (expression_statement "pOVar11 = (sym->super_Symbol).u1_.output_segment;" (assignment_expression "pOVar11 = (sym->super_Symbol).u1_.output_segment" identifier = (field_expression "(sym->super_Symbol).u1_.output_segment" (field_expression "(sym->super_Symbol).u1_" (parenthesized_expression "(sym->super_Symbol)" ( (field_expression "sym->super_Symbol" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (expression_statement "uVar7 = (uint)sym->value_;" (assignment_expression "uVar7 = (uint)sym->value_" identifier = (cast_expression "(uint)sym->value_" ( (type_descriptor "uint" type_identifier) ) (field_expression "sym->value_" identifier -> field_identifier))) ;) (expression_statement "iVar9 = *(int *)((int)&sym->value_ + 4);" (assignment_expression "iVar9 = *(int *)((int)&sym->value_ + 4)" identifier = (pointer_expression "*(int *)((int)&sym->value_ + 4)" * (cast_expression "(int *)((int)&sym->value_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&sym->value_ + 4)" ( (binary_expression "(int)&sym->value_ + 4" (cast_expression "(int)&sym->value_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&sym->value_" & (field_expression "sym->value_" identifier -> field_identifier))) + number_literal) ))))) ;) (if_statement "if (((sym->super_Symbol).field_0x28 & 0xf) != 6) {\n      bVar13 = CARRY4(uVar7,(uint)pOVar11->vaddr_);\n      uVar7 = uVar7 + (int)pOVar11->vaddr_;\n      iVar9 = iVar9 + *(int *)((int)&pOVar11->vaddr_ + 4) + (uint)bVar13;\n    }" if (parenthesized_expression "(((sym->super_Symbol).field_0x28 & 0xf) != 6)" ( (binary_expression "((sym->super_Symbol).field_0x28 & 0xf) != 6" (parenthesized_expression "((sym->super_Symbol).field_0x28 & 0xf)" ( (binary_expression "(sym->super_Symbol).field_0x28 & 0xf" (field_expression "(sym->super_Symbol).field_0x28" (parenthesized_expression "(sym->super_Symbol)" ( (field_expression "sym->super_Symbol" identifier -> field_identifier) )) . field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n      bVar13 = CARRY4(uVar7,(uint)pOVar11->vaddr_);\n      uVar7 = uVar7 + (int)pOVar11->vaddr_;\n      iVar9 = iVar9 + *(int *)((int)&pOVar11->vaddr_ + 4) + (uint)bVar13;\n    }" { (expression_statement "bVar13 = CARRY4(uVar7,(uint)pOVar11->vaddr_);" (assignment_expression "bVar13 = CARRY4(uVar7,(uint)pOVar11->vaddr_)" identifier = (call_expression "CARRY4(uVar7,(uint)pOVar11->vaddr_)" identifier (argument_list "(uVar7,(uint)pOVar11->vaddr_)" ( identifier , (cast_expression "(uint)pOVar11->vaddr_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar11->vaddr_" identifier -> field_identifier)) )))) ;) (expression_statement "uVar7 = uVar7 + (int)pOVar11->vaddr_;" (assignment_expression "uVar7 = uVar7 + (int)pOVar11->vaddr_" identifier = (binary_expression "uVar7 + (int)pOVar11->vaddr_" identifier + (cast_expression "(int)pOVar11->vaddr_" ( (type_descriptor "int" primitive_type) ) (field_expression "pOVar11->vaddr_" identifier -> field_identifier)))) ;) (expression_statement "iVar9 = iVar9 + *(int *)((int)&pOVar11->vaddr_ + 4) + (uint)bVar13;" (assignment_expression "iVar9 = iVar9 + *(int *)((int)&pOVar11->vaddr_ + 4) + (uint)bVar13" identifier = (binary_expression "iVar9 + *(int *)((int)&pOVar11->vaddr_ + 4) + (uint)bVar13" (binary_expression "iVar9 + *(int *)((int)&pOVar11->vaddr_ + 4)" identifier + (pointer_expression "*(int *)((int)&pOVar11->vaddr_ + 4)" * (cast_expression "(int *)((int)&pOVar11->vaddr_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar11->vaddr_ + 4)" ( (binary_expression "(int)&pOVar11->vaddr_ + 4" (cast_expression "(int)&pOVar11->vaddr_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar11->vaddr_" & (field_expression "pOVar11->vaddr_" identifier -> field_identifier))) + number_literal) ))))) + (cast_expression "(uint)bVar13" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) })) (expression_statement "VVar15 = CONCAT44(iVar9,uVar7);" (assignment_expression "VVar15 = CONCAT44(iVar9,uVar7)" identifier = (call_expression "CONCAT44(iVar9,uVar7)" identifier (argument_list "(iVar9,uVar7)" ( identifier , identifier )))) ;) (expression_statement "uVar12 = (sym->super_Symbol).u2_.shndx;" (assignment_expression "uVar12 = (sym->super_Symbol).u2_.shndx" identifier = (field_expression "(sym->super_Symbol).u2_.shndx" (field_expression "(sym->super_Symbol).u2_" (parenthesized_expression "(sym->super_Symbol)" ( (field_expression "sym->super_Symbol" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (uVar12 == 1) {\n      VVar15 = CONCAT44(iVar9 + *(int *)((int)&pOVar11->memsz_ + 4) +\n                        (uint)CARRY4(uVar7,(uint)pOVar11->memsz_),uVar7 + (int)pOVar11->memsz_);\n    }\n    else if (uVar12 != 0) {\n      if (uVar12 != 2) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xb5c,"compute_final_value");\n      }\n      VVar15 = CONCAT44(iVar9 + *(int *)((int)&pOVar11->filesz_ + 4) +\n                        (uint)CARRY4(uVar7,(uint)pOVar11->filesz_),uVar7 + (int)pOVar11->filesz_);\n    }" if (parenthesized_expression "(uVar12 == 1)" ( (binary_expression "uVar12 == 1" identifier == number_literal) )) (compound_statement "{\n      VVar15 = CONCAT44(iVar9 + *(int *)((int)&pOVar11->memsz_ + 4) +\n                        (uint)CARRY4(uVar7,(uint)pOVar11->memsz_),uVar7 + (int)pOVar11->memsz_);\n    }" { (expression_statement "VVar15 = CONCAT44(iVar9 + *(int *)((int)&pOVar11->memsz_ + 4) +\n                        (uint)CARRY4(uVar7,(uint)pOVar11->memsz_),uVar7 + (int)pOVar11->memsz_);" (assignment_expression "VVar15 = CONCAT44(iVar9 + *(int *)((int)&pOVar11->memsz_ + 4) +\n                        (uint)CARRY4(uVar7,(uint)pOVar11->memsz_),uVar7 + (int)pOVar11->memsz_)" identifier = (call_expression "CONCAT44(iVar9 + *(int *)((int)&pOVar11->memsz_ + 4) +\n                        (uint)CARRY4(uVar7,(uint)pOVar11->memsz_),uVar7 + (int)pOVar11->memsz_)" identifier (argument_list "(iVar9 + *(int *)((int)&pOVar11->memsz_ + 4) +\n                        (uint)CARRY4(uVar7,(uint)pOVar11->memsz_),uVar7 + (int)pOVar11->memsz_)" ( (binary_expression "iVar9 + *(int *)((int)&pOVar11->memsz_ + 4) +\n                        (uint)CARRY4(uVar7,(uint)pOVar11->memsz_)" (binary_expression "iVar9 + *(int *)((int)&pOVar11->memsz_ + 4)" identifier + (pointer_expression "*(int *)((int)&pOVar11->memsz_ + 4)" * (cast_expression "(int *)((int)&pOVar11->memsz_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar11->memsz_ + 4)" ( (binary_expression "(int)&pOVar11->memsz_ + 4" (cast_expression "(int)&pOVar11->memsz_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar11->memsz_" & (field_expression "pOVar11->memsz_" identifier -> field_identifier))) + number_literal) ))))) + (cast_expression "(uint)CARRY4(uVar7,(uint)pOVar11->memsz_)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar7,(uint)pOVar11->memsz_)" identifier (argument_list "(uVar7,(uint)pOVar11->memsz_)" ( identifier , (cast_expression "(uint)pOVar11->memsz_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar11->memsz_" identifier -> field_identifier)) ))))) , (binary_expression "uVar7 + (int)pOVar11->memsz_" identifier + (cast_expression "(int)pOVar11->memsz_" ( (type_descriptor "int" primitive_type) ) (field_expression "pOVar11->memsz_" identifier -> field_identifier))) )))) ;) }) (else_clause "else if (uVar12 != 0) {\n      if (uVar12 != 2) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xb5c,"compute_final_value");\n      }\n      VVar15 = CONCAT44(iVar9 + *(int *)((int)&pOVar11->filesz_ + 4) +\n                        (uint)CARRY4(uVar7,(uint)pOVar11->filesz_),uVar7 + (int)pOVar11->filesz_);\n    }" else (if_statement "if (uVar12 != 0) {\n      if (uVar12 != 2) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xb5c,"compute_final_value");\n      }\n      VVar15 = CONCAT44(iVar9 + *(int *)((int)&pOVar11->filesz_ + 4) +\n                        (uint)CARRY4(uVar7,(uint)pOVar11->filesz_),uVar7 + (int)pOVar11->filesz_);\n    }" if (parenthesized_expression "(uVar12 != 0)" ( (binary_expression "uVar12 != 0" identifier != number_literal) )) (compound_statement "{\n      if (uVar12 != 2) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xb5c,"compute_final_value");\n      }\n      VVar15 = CONCAT44(iVar9 + *(int *)((int)&pOVar11->filesz_ + 4) +\n                        (uint)CARRY4(uVar7,(uint)pOVar11->filesz_),uVar7 + (int)pOVar11->filesz_);\n    }" { (if_statement "if (uVar12 != 2) {\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xb5c,"compute_final_value");\n      }" if (parenthesized_expression "(uVar12 != 2)" ( (binary_expression "uVar12 != 2" identifier != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        do_gold_unreachable("../../gold/symtab.cc",0xb5c,"compute_final_value");\n      }" { comment (expression_statement "do_gold_unreachable("../../gold/symtab.cc",0xb5c,"compute_final_value");" (call_expression "do_gold_unreachable("../../gold/symtab.cc",0xb5c,"compute_final_value")" identifier (argument_list "("../../gold/symtab.cc",0xb5c,"compute_final_value")" ( (string_literal ""../../gold/symtab.cc"" " string_content ") , number_literal , (string_literal ""compute_final_value"" " string_content ") ))) ;) })) (expression_statement "VVar15 = CONCAT44(iVar9 + *(int *)((int)&pOVar11->filesz_ + 4) +\n                        (uint)CARRY4(uVar7,(uint)pOVar11->filesz_),uVar7 + (int)pOVar11->filesz_);" (assignment_expression "VVar15 = CONCAT44(iVar9 + *(int *)((int)&pOVar11->filesz_ + 4) +\n                        (uint)CARRY4(uVar7,(uint)pOVar11->filesz_),uVar7 + (int)pOVar11->filesz_)" identifier = (call_expression "CONCAT44(iVar9 + *(int *)((int)&pOVar11->filesz_ + 4) +\n                        (uint)CARRY4(uVar7,(uint)pOVar11->filesz_),uVar7 + (int)pOVar11->filesz_)" identifier (argument_list "(iVar9 + *(int *)((int)&pOVar11->filesz_ + 4) +\n                        (uint)CARRY4(uVar7,(uint)pOVar11->filesz_),uVar7 + (int)pOVar11->filesz_)" ( (binary_expression "iVar9 + *(int *)((int)&pOVar11->filesz_ + 4) +\n                        (uint)CARRY4(uVar7,(uint)pOVar11->filesz_)" (binary_expression "iVar9 + *(int *)((int)&pOVar11->filesz_ + 4)" identifier + (pointer_expression "*(int *)((int)&pOVar11->filesz_ + 4)" * (cast_expression "(int *)((int)&pOVar11->filesz_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar11->filesz_ + 4)" ( (binary_expression "(int)&pOVar11->filesz_ + 4" (cast_expression "(int)&pOVar11->filesz_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar11->filesz_" & (field_expression "pOVar11->filesz_" identifier -> field_identifier))) + number_literal) ))))) + (cast_expression "(uint)CARRY4(uVar7,(uint)pOVar11->filesz_)" ( (type_descriptor "uint" type_identifier) ) (call_expression "CARRY4(uVar7,(uint)pOVar11->filesz_)" identifier (argument_list "(uVar7,(uint)pOVar11->filesz_)" ( identifier , (cast_expression "(uint)pOVar11->filesz_" ( (type_descriptor "uint" type_identifier) ) (field_expression "pOVar11->filesz_" identifier -> field_identifier)) ))))) , (binary_expression "uVar7 + (int)pOVar11->filesz_" identifier + (cast_expression "(int)pOVar11->filesz_" ( (type_descriptor "int" primitive_type) ) (field_expression "pOVar11->filesz_" identifier -> field_identifier))) )))) ;) })))) (break_statement "break;" break ;)) (case_statement "case 4:\n_L737:\n    VVar15 = 0;\n    break;" case number_literal : (labeled_statement "_L737:\n    VVar15 = 0;" statement_identifier : (expression_statement "VVar15 = 0;" (assignment_expression "VVar15 = 0" identifier = number_literal) ;)) (break_statement "break;" break ;)) (case_statement "default:\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/symtab.cc",0xb6a,"compute_final_value");" default : comment (expression_statement "do_gold_unreachable("../../gold/symtab.cc",0xb6a,"compute_final_value");" (call_expression "do_gold_unreachable("../../gold/symtab.cc",0xb6a,"compute_final_value")" identifier (argument_list "("../../gold/symtab.cc",0xb6a,"compute_final_value")" ( (string_literal ""../../gold/symtab.cc"" " string_content ") , number_literal , (string_literal ""compute_final_value"" " string_content ") ))) ;)) })) (expression_statement "*pstatus = CFVS_OK;" (assignment_expression "*pstatus = CFVS_OK" (pointer_expression "*pstatus" * identifier) = identifier) ;) (return_statement "return VVar15;" return identifier ;) })))
(translation_unit "uint FUN_0017c200(int param_1,int *param_2,undefined4 *param_3)\n\n{\n  int iVar1;\n  code *pcVar2;\n  byte bVar3;\n  char cVar4;\n  int *piVar5;\n  int iVar6;\n  uint uVar7;\n  int *piVar8;\n  int *in_ECX;\n  undefined4 extraout_ECX;\n  int **ppiVar9;\n  int **ppiVar10;\n  bool bVar11;\n  undefined8 uVar12;\n  undefined8 uVar13;\n  int *piStack_50;\n  undefined1 auStack_4c [8];\n  int iStack_44;\n  undefined1 auStack_40 [8];\n  int *piStack_38;\n  int *piStack_34;\n  int *piStack_30;\n  undefined8 uStack_2c;\n  int *apiStack_24 [4];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x17c209;\n  bVar3 = *(byte *)((int)param_2 + 0x2a);\n  piVar5 = (int *)(bVar3 & 7);\n  switch(piVar5) {\n  case (int *)0x0:\n    if ((bVar3 & 7) != 0) {\n      piStack_50 = piVar5;\n                    \n      FUN_00069d00("../../gold/symtab.h",0xaa,"shndx");\n    }\n    auStack_40._0_4_ = param_2[3];\n    bVar3 = *(byte *)((int)param_2 + 0x2b) >> 5 & 1;\n    if (((int *)auStack_40._0_4_ != (int *)0xfff1) && (bVar3 == 0)) {\n      piVar5 = (int *)FUN_00177470(auStack_40._0_4_);\n      if ((char)piVar5 == '\0') {\n        *param_3 = 1;\n        return 0;\n      }\n      if ((*(byte *)((int)param_2 + 0x2a) & 7) != 0) {\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.h",0xa1,"object");\n      }\n    }\n    ppiVar10 = (int **)auStack_4c;\n    ppiVar9 = (int **)auStack_4c;\n    piVar5 = (int *)param_2[2];\n    if ((((*(byte *)(piVar5 + 0xb) & 1) != 0) ||\n        (iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0)) ||\n       ((int *)auStack_40._0_4_ == (int *)0x0)) goto code_r0x0017c290;\n    if ((bVar3 != 0) ||\n       (((int *)auStack_40._0_4_ != (int *)0xfff1 &&\n        (cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0')))) {\n      if (*(code **)(*piVar5 + 0x60) == FUN_0003bac0) {\n        piVar8 = (int *)(piVar5[0xf] - piVar5[0xe] >> 2);\n        if (piVar8 <= (uint)auStack_40._0_4_) goto code_r0x0017c850;\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = *(int *)(piVar5[0xe] + auStack_40._0_4_ * 4);\n      }\n      else {\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_);\n      }\n      cVar4 = FUN_00177870(param_1,piVar5,auStack_40._4_4_);\n      if (cVar4 == '\0') {\n        piStack_34 = (int *)auStack_40._4_4_;\n        uVar13 = (**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_);\n        auStack_40._4_4_ = (int)uVar13;\n        uVar12 = CONCAT44((int)uVar13,auStack_40._0_4_);\n        piStack_38 = (int *)((ulonglong)uVar13 >> 0x20);\n        piVar8 = piStack_34;\n        if (auStack_40._0_4_ == 0) {\n          unique0x100005d7 = uVar13;\n          if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    \n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }\n          if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    \n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }\n          *param_3 = 2;\n          return 0;\n        }\n      }\n      else {\n        if (auStack_40._0_4_ != 0) {\n          piStack_50 = param_2;\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        piStack_50 = (int *)auStack_40._4_4_;\n        FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5);\n        piVar5 = uStack_2c._4_4_;\n        auStack_40._0_4_ = apiStack_24[0];\n        ppiVar10 = &piStack_50;\n        if (uStack_2c._4_4_ == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }\n        if (*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0) {\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    \n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }\n        else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }\n        ppiVar9 = &piStack_50;\n        if (iStack_44 == 0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }\n        piStack_38 = apiStack_24[0];\n        uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_);\n        auStack_40 = (undefined1  [8])uVar12;\n        piVar8 = piStack_38;\n      }\n      iVar6 = param_2[0xc];\n      *(int *)((int)ppiVar9 + 0x1c) = param_2[0xd];\n      *(int *)((int)ppiVar9 + 0x18) = iVar6;\n      auStack_40 = (undefined1  [8])uVar12;\n      if ((*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10)) == 0xffffffff) {\n        *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0x1c);\n        *(undefined4 *)((int)ppiVar9 + -0x14) = *(undefined4 *)((int)ppiVar9 + 0x18);\n        *(int **)((int)ppiVar9 + -0x18) = piVar8;\n        *(int **)((int)ppiVar9 + -0x1c) = piVar5;\n        *(undefined4 *)((int)ppiVar9 + -0x20) = *(undefined4 *)((int)ppiVar9 + 0xc);\n        *(undefined **)((int)ppiVar9 + -0x24) = &UNK_0017c717;\n        uVar7 = FUN_000f5920();\n      }\n      else if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n        pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);\n        if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }\n        uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);\n      }\n      else {\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }\n      break;\n    }\n  case (int *)0x3:\n    uVar7 = param_2[0xc];\n    ppiVar9 = (int **)auStack_4c;\n    break;\n  case (int *)0x1:\n    if ((bVar3 & 7) != 1) {\n      piStack_50 = piVar5;\n                    \n      FUN_00069d00("../../gold/symtab.h",0xb5,"output_data");\n    }\n    auStack_40._0_4_ = param_2[2];\n    iVar6 = param_2[0xc];\n    piVar5 = (int *)param_2[0xd];\n    if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n      piStack_34 = (int *)(**(code **)(*(int *)auStack_40._0_4_ + 0x24))(auStack_40._0_4_);\n      if (piStack_34 == (int *)0x0) {\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }\n      if (*(code **)(*piStack_34 + 0x48) == FUN_000b3000) {\n        uStack_2c = *(undefined8 *)(piStack_34 + 0x25);\n      }\n      else {\n        uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34);\n      }\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if (((bVar3 & 1) == 0) ||\n         (uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0)\n         ) goto code_r0x0017c7b3;\n      uVar7 = (int)uStack_2c + ((iVar6 + uVar7) - piStack_34[1]);\n      piStack_50 = (int *)(*(byte *)((int)param_2 + 0x2a) & 7);\n      if ((char)piStack_50 != '\x01') {\n                    \n        FUN_00069d00("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }\n    }\n    else {\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if ((bVar3 & 1) == 0) {\ncode_r0x0017c7b3:\n        *(uint *)((int)ppiVar9 + -4) = uVar7;\n        *(char **)((int)ppiVar9 + -8) = "address";\n        *(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5;\n        *(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h";\n                    \n        *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc;\n        auStack_40 = (undefined1  [8])uVar12;\n        FUN_00069d00();\n      }\n      uVar7 = iVar6 + *(int *)(auStack_40._0_4_ + 4);\n    }\n    ppiVar9 = (int **)auStack_4c;\n    if ((char)param_2[3] != '\0') {\n      if ((auStack_40._4_4_ & 2) == 0) {\n        piStack_50 = param_2;\n                    \n        FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar7 = uVar7 + *(int *)(auStack_40._0_4_ + 0xc);\n      ppiVar9 = (int **)auStack_4c;\n    }\n    break;\n  case (int *)0x2:\n    if ((bVar3 & 7) != 2) {\n      piStack_50 = in_ECX;\n                    \n      FUN_00069d00("../../gold/symtab.h",200,"output_segment");\n    }\n    iVar6 = param_2[2];\n    uVar7 = param_2[0xc];\n    piStack_50 = (int *)param_2[0xd];\n    if ((*(byte *)(param_2 + 10) & 0xf) != 6) {\n      bVar11 = CARRY4(uVar7,*(uint *)(iVar6 + 0x15c));\n      uVar7 = uVar7 + *(uint *)(iVar6 + 0x15c);\n      piStack_50 = (int *)((int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160));\n    }\n    iVar1 = param_2[3];\n    if (iVar1 == 1) {\n      uVar7 = uVar7 + *(int *)(iVar6 + 0x16c);\n      ppiVar9 = (int **)auStack_4c;\n    }\n    else {\n      ppiVar9 = (int **)auStack_4c;\n      if (iVar1 != 0) {\n        if (iVar1 != 2) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }\n        uVar7 = uVar7 + *(int *)(iVar6 + 0x18c);\n        ppiVar9 = (int **)auStack_4c;\n      }\n    }\n    break;\n  case (int *)0x4:\ncode_r0x0017c290:\n    uVar7 = 0;\n    ppiVar9 = (int **)auStack_4c;\n    break;\n  default:\n    piStack_50 = piVar5;\n                    \n    FUN_00069d00("../../gold/symtab.cc",0xb6a,"compute_final_value");\n  }\n  **(undefined4 **)((int)ppiVar9 + 0x58) = 0;\n  return uVar7;\n}\n\n" (function_definition "uint FUN_0017c200(int param_1,int *param_2,undefined4 *param_3)\n\n{\n  int iVar1;\n  code *pcVar2;\n  byte bVar3;\n  char cVar4;\n  int *piVar5;\n  int iVar6;\n  uint uVar7;\n  int *piVar8;\n  int *in_ECX;\n  undefined4 extraout_ECX;\n  int **ppiVar9;\n  int **ppiVar10;\n  bool bVar11;\n  undefined8 uVar12;\n  undefined8 uVar13;\n  int *piStack_50;\n  undefined1 auStack_4c [8];\n  int iStack_44;\n  undefined1 auStack_40 [8];\n  int *piStack_38;\n  int *piStack_34;\n  int *piStack_30;\n  undefined8 uStack_2c;\n  int *apiStack_24 [4];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x17c209;\n  bVar3 = *(byte *)((int)param_2 + 0x2a);\n  piVar5 = (int *)(bVar3 & 7);\n  switch(piVar5) {\n  case (int *)0x0:\n    if ((bVar3 & 7) != 0) {\n      piStack_50 = piVar5;\n                    \n      FUN_00069d00("../../gold/symtab.h",0xaa,"shndx");\n    }\n    auStack_40._0_4_ = param_2[3];\n    bVar3 = *(byte *)((int)param_2 + 0x2b) >> 5 & 1;\n    if (((int *)auStack_40._0_4_ != (int *)0xfff1) && (bVar3 == 0)) {\n      piVar5 = (int *)FUN_00177470(auStack_40._0_4_);\n      if ((char)piVar5 == '\0') {\n        *param_3 = 1;\n        return 0;\n      }\n      if ((*(byte *)((int)param_2 + 0x2a) & 7) != 0) {\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.h",0xa1,"object");\n      }\n    }\n    ppiVar10 = (int **)auStack_4c;\n    ppiVar9 = (int **)auStack_4c;\n    piVar5 = (int *)param_2[2];\n    if ((((*(byte *)(piVar5 + 0xb) & 1) != 0) ||\n        (iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0)) ||\n       ((int *)auStack_40._0_4_ == (int *)0x0)) goto code_r0x0017c290;\n    if ((bVar3 != 0) ||\n       (((int *)auStack_40._0_4_ != (int *)0xfff1 &&\n        (cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0')))) {\n      if (*(code **)(*piVar5 + 0x60) == FUN_0003bac0) {\n        piVar8 = (int *)(piVar5[0xf] - piVar5[0xe] >> 2);\n        if (piVar8 <= (uint)auStack_40._0_4_) goto code_r0x0017c850;\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = *(int *)(piVar5[0xe] + auStack_40._0_4_ * 4);\n      }\n      else {\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_);\n      }\n      cVar4 = FUN_00177870(param_1,piVar5,auStack_40._4_4_);\n      if (cVar4 == '\0') {\n        piStack_34 = (int *)auStack_40._4_4_;\n        uVar13 = (**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_);\n        auStack_40._4_4_ = (int)uVar13;\n        uVar12 = CONCAT44((int)uVar13,auStack_40._0_4_);\n        piStack_38 = (int *)((ulonglong)uVar13 >> 0x20);\n        piVar8 = piStack_34;\n        if (auStack_40._0_4_ == 0) {\n          unique0x100005d7 = uVar13;\n          if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    \n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }\n          if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    \n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }\n          *param_3 = 2;\n          return 0;\n        }\n      }\n      else {\n        if (auStack_40._0_4_ != 0) {\n          piStack_50 = param_2;\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        piStack_50 = (int *)auStack_40._4_4_;\n        FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5);\n        piVar5 = uStack_2c._4_4_;\n        auStack_40._0_4_ = apiStack_24[0];\n        ppiVar10 = &piStack_50;\n        if (uStack_2c._4_4_ == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }\n        if (*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0) {\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    \n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }\n        else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }\n        ppiVar9 = &piStack_50;\n        if (iStack_44 == 0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }\n        piStack_38 = apiStack_24[0];\n        uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_);\n        auStack_40 = (undefined1  [8])uVar12;\n        piVar8 = piStack_38;\n      }\n      iVar6 = param_2[0xc];\n      *(int *)((int)ppiVar9 + 0x1c) = param_2[0xd];\n      *(int *)((int)ppiVar9 + 0x18) = iVar6;\n      auStack_40 = (undefined1  [8])uVar12;\n      if ((*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10)) == 0xffffffff) {\n        *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0x1c);\n        *(undefined4 *)((int)ppiVar9 + -0x14) = *(undefined4 *)((int)ppiVar9 + 0x18);\n        *(int **)((int)ppiVar9 + -0x18) = piVar8;\n        *(int **)((int)ppiVar9 + -0x1c) = piVar5;\n        *(undefined4 *)((int)ppiVar9 + -0x20) = *(undefined4 *)((int)ppiVar9 + 0xc);\n        *(undefined **)((int)ppiVar9 + -0x24) = &UNK_0017c717;\n        uVar7 = FUN_000f5920();\n      }\n      else if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n        pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);\n        if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }\n        uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);\n      }\n      else {\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }\n      break;\n    }\n  case (int *)0x3:\n    uVar7 = param_2[0xc];\n    ppiVar9 = (int **)auStack_4c;\n    break;\n  case (int *)0x1:\n    if ((bVar3 & 7) != 1) {\n      piStack_50 = piVar5;\n                    \n      FUN_00069d00("../../gold/symtab.h",0xb5,"output_data");\n    }\n    auStack_40._0_4_ = param_2[2];\n    iVar6 = param_2[0xc];\n    piVar5 = (int *)param_2[0xd];\n    if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n      piStack_34 = (int *)(**(code **)(*(int *)auStack_40._0_4_ + 0x24))(auStack_40._0_4_);\n      if (piStack_34 == (int *)0x0) {\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }\n      if (*(code **)(*piStack_34 + 0x48) == FUN_000b3000) {\n        uStack_2c = *(undefined8 *)(piStack_34 + 0x25);\n      }\n      else {\n        uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34);\n      }\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if (((bVar3 & 1) == 0) ||\n         (uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0)\n         ) goto code_r0x0017c7b3;\n      uVar7 = (int)uStack_2c + ((iVar6 + uVar7) - piStack_34[1]);\n      piStack_50 = (int *)(*(byte *)((int)param_2 + 0x2a) & 7);\n      if ((char)piStack_50 != '\x01') {\n                    \n        FUN_00069d00("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }\n    }\n    else {\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if ((bVar3 & 1) == 0) {\ncode_r0x0017c7b3:\n        *(uint *)((int)ppiVar9 + -4) = uVar7;\n        *(char **)((int)ppiVar9 + -8) = "address";\n        *(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5;\n        *(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h";\n                    \n        *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc;\n        auStack_40 = (undefined1  [8])uVar12;\n        FUN_00069d00();\n      }\n      uVar7 = iVar6 + *(int *)(auStack_40._0_4_ + 4);\n    }\n    ppiVar9 = (int **)auStack_4c;\n    if ((char)param_2[3] != '\0') {\n      if ((auStack_40._4_4_ & 2) == 0) {\n        piStack_50 = param_2;\n                    \n        FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar7 = uVar7 + *(int *)(auStack_40._0_4_ + 0xc);\n      ppiVar9 = (int **)auStack_4c;\n    }\n    break;\n  case (int *)0x2:\n    if ((bVar3 & 7) != 2) {\n      piStack_50 = in_ECX;\n                    \n      FUN_00069d00("../../gold/symtab.h",200,"output_segment");\n    }\n    iVar6 = param_2[2];\n    uVar7 = param_2[0xc];\n    piStack_50 = (int *)param_2[0xd];\n    if ((*(byte *)(param_2 + 10) & 0xf) != 6) {\n      bVar11 = CARRY4(uVar7,*(uint *)(iVar6 + 0x15c));\n      uVar7 = uVar7 + *(uint *)(iVar6 + 0x15c);\n      piStack_50 = (int *)((int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160));\n    }\n    iVar1 = param_2[3];\n    if (iVar1 == 1) {\n      uVar7 = uVar7 + *(int *)(iVar6 + 0x16c);\n      ppiVar9 = (int **)auStack_4c;\n    }\n    else {\n      ppiVar9 = (int **)auStack_4c;\n      if (iVar1 != 0) {\n        if (iVar1 != 2) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }\n        uVar7 = uVar7 + *(int *)(iVar6 + 0x18c);\n        ppiVar9 = (int **)auStack_4c;\n      }\n    }\n    break;\n  case (int *)0x4:\ncode_r0x0017c290:\n    uVar7 = 0;\n    ppiVar9 = (int **)auStack_4c;\n    break;\n  default:\n    piStack_50 = piVar5;\n                    \n    FUN_00069d00("../../gold/symtab.cc",0xb6a,"compute_final_value");\n  }\n  **(undefined4 **)((int)ppiVar9 + 0x58) = 0;\n  return uVar7;\n}" type_identifier (function_declarator "FUN_0017c200(int param_1,int *param_2,undefined4 *param_3)" identifier (parameter_list "(int param_1,int *param_2,undefined4 *param_3)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "int *param_2" primitive_type (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined4 *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  code *pcVar2;\n  byte bVar3;\n  char cVar4;\n  int *piVar5;\n  int iVar6;\n  uint uVar7;\n  int *piVar8;\n  int *in_ECX;\n  undefined4 extraout_ECX;\n  int **ppiVar9;\n  int **ppiVar10;\n  bool bVar11;\n  undefined8 uVar12;\n  undefined8 uVar13;\n  int *piStack_50;\n  undefined1 auStack_4c [8];\n  int iStack_44;\n  undefined1 auStack_40 [8];\n  int *piStack_38;\n  int *piStack_34;\n  int *piStack_30;\n  undefined8 uStack_2c;\n  int *apiStack_24 [4];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x17c209;\n  bVar3 = *(byte *)((int)param_2 + 0x2a);\n  piVar5 = (int *)(bVar3 & 7);\n  switch(piVar5) {\n  case (int *)0x0:\n    if ((bVar3 & 7) != 0) {\n      piStack_50 = piVar5;\n                    \n      FUN_00069d00("../../gold/symtab.h",0xaa,"shndx");\n    }\n    auStack_40._0_4_ = param_2[3];\n    bVar3 = *(byte *)((int)param_2 + 0x2b) >> 5 & 1;\n    if (((int *)auStack_40._0_4_ != (int *)0xfff1) && (bVar3 == 0)) {\n      piVar5 = (int *)FUN_00177470(auStack_40._0_4_);\n      if ((char)piVar5 == '\0') {\n        *param_3 = 1;\n        return 0;\n      }\n      if ((*(byte *)((int)param_2 + 0x2a) & 7) != 0) {\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.h",0xa1,"object");\n      }\n    }\n    ppiVar10 = (int **)auStack_4c;\n    ppiVar9 = (int **)auStack_4c;\n    piVar5 = (int *)param_2[2];\n    if ((((*(byte *)(piVar5 + 0xb) & 1) != 0) ||\n        (iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0)) ||\n       ((int *)auStack_40._0_4_ == (int *)0x0)) goto code_r0x0017c290;\n    if ((bVar3 != 0) ||\n       (((int *)auStack_40._0_4_ != (int *)0xfff1 &&\n        (cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0')))) {\n      if (*(code **)(*piVar5 + 0x60) == FUN_0003bac0) {\n        piVar8 = (int *)(piVar5[0xf] - piVar5[0xe] >> 2);\n        if (piVar8 <= (uint)auStack_40._0_4_) goto code_r0x0017c850;\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = *(int *)(piVar5[0xe] + auStack_40._0_4_ * 4);\n      }\n      else {\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_);\n      }\n      cVar4 = FUN_00177870(param_1,piVar5,auStack_40._4_4_);\n      if (cVar4 == '\0') {\n        piStack_34 = (int *)auStack_40._4_4_;\n        uVar13 = (**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_);\n        auStack_40._4_4_ = (int)uVar13;\n        uVar12 = CONCAT44((int)uVar13,auStack_40._0_4_);\n        piStack_38 = (int *)((ulonglong)uVar13 >> 0x20);\n        piVar8 = piStack_34;\n        if (auStack_40._0_4_ == 0) {\n          unique0x100005d7 = uVar13;\n          if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    \n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }\n          if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    \n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }\n          *param_3 = 2;\n          return 0;\n        }\n      }\n      else {\n        if (auStack_40._0_4_ != 0) {\n          piStack_50 = param_2;\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        piStack_50 = (int *)auStack_40._4_4_;\n        FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5);\n        piVar5 = uStack_2c._4_4_;\n        auStack_40._0_4_ = apiStack_24[0];\n        ppiVar10 = &piStack_50;\n        if (uStack_2c._4_4_ == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }\n        if (*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0) {\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    \n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }\n        else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }\n        ppiVar9 = &piStack_50;\n        if (iStack_44 == 0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }\n        piStack_38 = apiStack_24[0];\n        uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_);\n        auStack_40 = (undefined1  [8])uVar12;\n        piVar8 = piStack_38;\n      }\n      iVar6 = param_2[0xc];\n      *(int *)((int)ppiVar9 + 0x1c) = param_2[0xd];\n      *(int *)((int)ppiVar9 + 0x18) = iVar6;\n      auStack_40 = (undefined1  [8])uVar12;\n      if ((*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10)) == 0xffffffff) {\n        *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0x1c);\n        *(undefined4 *)((int)ppiVar9 + -0x14) = *(undefined4 *)((int)ppiVar9 + 0x18);\n        *(int **)((int)ppiVar9 + -0x18) = piVar8;\n        *(int **)((int)ppiVar9 + -0x1c) = piVar5;\n        *(undefined4 *)((int)ppiVar9 + -0x20) = *(undefined4 *)((int)ppiVar9 + 0xc);\n        *(undefined **)((int)ppiVar9 + -0x24) = &UNK_0017c717;\n        uVar7 = FUN_000f5920();\n      }\n      else if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n        pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);\n        if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }\n        uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);\n      }\n      else {\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }\n      break;\n    }\n  case (int *)0x3:\n    uVar7 = param_2[0xc];\n    ppiVar9 = (int **)auStack_4c;\n    break;\n  case (int *)0x1:\n    if ((bVar3 & 7) != 1) {\n      piStack_50 = piVar5;\n                    \n      FUN_00069d00("../../gold/symtab.h",0xb5,"output_data");\n    }\n    auStack_40._0_4_ = param_2[2];\n    iVar6 = param_2[0xc];\n    piVar5 = (int *)param_2[0xd];\n    if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n      piStack_34 = (int *)(**(code **)(*(int *)auStack_40._0_4_ + 0x24))(auStack_40._0_4_);\n      if (piStack_34 == (int *)0x0) {\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }\n      if (*(code **)(*piStack_34 + 0x48) == FUN_000b3000) {\n        uStack_2c = *(undefined8 *)(piStack_34 + 0x25);\n      }\n      else {\n        uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34);\n      }\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if (((bVar3 & 1) == 0) ||\n         (uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0)\n         ) goto code_r0x0017c7b3;\n      uVar7 = (int)uStack_2c + ((iVar6 + uVar7) - piStack_34[1]);\n      piStack_50 = (int *)(*(byte *)((int)param_2 + 0x2a) & 7);\n      if ((char)piStack_50 != '\x01') {\n                    \n        FUN_00069d00("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }\n    }\n    else {\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if ((bVar3 & 1) == 0) {\ncode_r0x0017c7b3:\n        *(uint *)((int)ppiVar9 + -4) = uVar7;\n        *(char **)((int)ppiVar9 + -8) = "address";\n        *(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5;\n        *(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h";\n                    \n        *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc;\n        auStack_40 = (undefined1  [8])uVar12;\n        FUN_00069d00();\n      }\n      uVar7 = iVar6 + *(int *)(auStack_40._0_4_ + 4);\n    }\n    ppiVar9 = (int **)auStack_4c;\n    if ((char)param_2[3] != '\0') {\n      if ((auStack_40._4_4_ & 2) == 0) {\n        piStack_50 = param_2;\n                    \n        FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar7 = uVar7 + *(int *)(auStack_40._0_4_ + 0xc);\n      ppiVar9 = (int **)auStack_4c;\n    }\n    break;\n  case (int *)0x2:\n    if ((bVar3 & 7) != 2) {\n      piStack_50 = in_ECX;\n                    \n      FUN_00069d00("../../gold/symtab.h",200,"output_segment");\n    }\n    iVar6 = param_2[2];\n    uVar7 = param_2[0xc];\n    piStack_50 = (int *)param_2[0xd];\n    if ((*(byte *)(param_2 + 10) & 0xf) != 6) {\n      bVar11 = CARRY4(uVar7,*(uint *)(iVar6 + 0x15c));\n      uVar7 = uVar7 + *(uint *)(iVar6 + 0x15c);\n      piStack_50 = (int *)((int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160));\n    }\n    iVar1 = param_2[3];\n    if (iVar1 == 1) {\n      uVar7 = uVar7 + *(int *)(iVar6 + 0x16c);\n      ppiVar9 = (int **)auStack_4c;\n    }\n    else {\n      ppiVar9 = (int **)auStack_4c;\n      if (iVar1 != 0) {\n        if (iVar1 != 2) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }\n        uVar7 = uVar7 + *(int *)(iVar6 + 0x18c);\n        ppiVar9 = (int **)auStack_4c;\n      }\n    }\n    break;\n  case (int *)0x4:\ncode_r0x0017c290:\n    uVar7 = 0;\n    ppiVar9 = (int **)auStack_4c;\n    break;\n  default:\n    piStack_50 = piVar5;\n                    \n    FUN_00069d00("../../gold/symtab.cc",0xb6a,"compute_final_value");\n  }\n  **(undefined4 **)((int)ppiVar9 + 0x58) = 0;\n  return uVar7;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "code *pcVar2;" type_identifier (pointer_declarator "*pcVar2" * identifier) ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "char cVar4;" primitive_type identifier ;) (declaration "int *piVar5;" primitive_type (pointer_declarator "*piVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int *piVar8;" primitive_type (pointer_declarator "*piVar8" * identifier) ;) (declaration "int *in_ECX;" primitive_type (pointer_declarator "*in_ECX" * identifier) ;) (declaration "undefined4 extraout_ECX;" type_identifier identifier ;) (declaration "int **ppiVar9;" primitive_type (pointer_declarator "**ppiVar9" * (pointer_declarator "*ppiVar9" * identifier)) ;) (declaration "int **ppiVar10;" primitive_type (pointer_declarator "**ppiVar10" * (pointer_declarator "*ppiVar10" * identifier)) ;) (declaration "bool bVar11;" primitive_type identifier ;) (declaration "undefined8 uVar12;" type_identifier identifier ;) (declaration "undefined8 uVar13;" type_identifier identifier ;) (declaration "int *piStack_50;" primitive_type (pointer_declarator "*piStack_50" * identifier) ;) (declaration "undefined1 auStack_4c [8];" type_identifier (array_declarator "auStack_4c [8]" identifier [ number_literal ]) ;) (declaration "int iStack_44;" primitive_type identifier ;) (declaration "undefined1 auStack_40 [8];" type_identifier (array_declarator "auStack_40 [8]" identifier [ number_literal ]) ;) (declaration "int *piStack_38;" primitive_type (pointer_declarator "*piStack_38" * identifier) ;) (declaration "int *piStack_34;" primitive_type (pointer_declarator "*piStack_34" * identifier) ;) (declaration "int *piStack_30;" primitive_type (pointer_declarator "*piStack_30" * identifier) ;) (declaration "undefined8 uStack_2c;" type_identifier identifier ;) (declaration "int *apiStack_24 [4];" primitive_type (pointer_declarator "*apiStack_24 [4]" * (array_declarator "apiStack_24 [4]" identifier [ number_literal ])) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x17c209;" (assignment_expression "uStack_14 = 0x17c209" identifier = number_literal) ;) (expression_statement "bVar3 = *(byte *)((int)param_2 + 0x2a);" (assignment_expression "bVar3 = *(byte *)((int)param_2 + 0x2a)" identifier = (pointer_expression "*(byte *)((int)param_2 + 0x2a)" * (cast_expression "(byte *)((int)param_2 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x2a)" ( (binary_expression "(int)param_2 + 0x2a" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "piVar5 = (int *)(bVar3 & 7);" (assignment_expression "piVar5 = (int *)(bVar3 & 7)" identifier = (cast_expression "(int *)(bVar3 & 7)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(bVar3 & 7)" ( (binary_expression "bVar3 & 7" identifier & number_literal) )))) ;) (switch_statement "switch(piVar5) {\n  case (int *)0x0:\n    if ((bVar3 & 7) != 0) {\n      piStack_50 = piVar5;\n                    \n      FUN_00069d00("../../gold/symtab.h",0xaa,"shndx");\n    }\n    auStack_40._0_4_ = param_2[3];\n    bVar3 = *(byte *)((int)param_2 + 0x2b) >> 5 & 1;\n    if (((int *)auStack_40._0_4_ != (int *)0xfff1) && (bVar3 == 0)) {\n      piVar5 = (int *)FUN_00177470(auStack_40._0_4_);\n      if ((char)piVar5 == '\0') {\n        *param_3 = 1;\n        return 0;\n      }\n      if ((*(byte *)((int)param_2 + 0x2a) & 7) != 0) {\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.h",0xa1,"object");\n      }\n    }\n    ppiVar10 = (int **)auStack_4c;\n    ppiVar9 = (int **)auStack_4c;\n    piVar5 = (int *)param_2[2];\n    if ((((*(byte *)(piVar5 + 0xb) & 1) != 0) ||\n        (iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0)) ||\n       ((int *)auStack_40._0_4_ == (int *)0x0)) goto code_r0x0017c290;\n    if ((bVar3 != 0) ||\n       (((int *)auStack_40._0_4_ != (int *)0xfff1 &&\n        (cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0')))) {\n      if (*(code **)(*piVar5 + 0x60) == FUN_0003bac0) {\n        piVar8 = (int *)(piVar5[0xf] - piVar5[0xe] >> 2);\n        if (piVar8 <= (uint)auStack_40._0_4_) goto code_r0x0017c850;\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = *(int *)(piVar5[0xe] + auStack_40._0_4_ * 4);\n      }\n      else {\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_);\n      }\n      cVar4 = FUN_00177870(param_1,piVar5,auStack_40._4_4_);\n      if (cVar4 == '\0') {\n        piStack_34 = (int *)auStack_40._4_4_;\n        uVar13 = (**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_);\n        auStack_40._4_4_ = (int)uVar13;\n        uVar12 = CONCAT44((int)uVar13,auStack_40._0_4_);\n        piStack_38 = (int *)((ulonglong)uVar13 >> 0x20);\n        piVar8 = piStack_34;\n        if (auStack_40._0_4_ == 0) {\n          unique0x100005d7 = uVar13;\n          if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    \n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }\n          if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    \n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }\n          *param_3 = 2;\n          return 0;\n        }\n      }\n      else {\n        if (auStack_40._0_4_ != 0) {\n          piStack_50 = param_2;\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        piStack_50 = (int *)auStack_40._4_4_;\n        FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5);\n        piVar5 = uStack_2c._4_4_;\n        auStack_40._0_4_ = apiStack_24[0];\n        ppiVar10 = &piStack_50;\n        if (uStack_2c._4_4_ == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }\n        if (*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0) {\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    \n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }\n        else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }\n        ppiVar9 = &piStack_50;\n        if (iStack_44 == 0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }\n        piStack_38 = apiStack_24[0];\n        uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_);\n        auStack_40 = (undefined1  [8])uVar12;\n        piVar8 = piStack_38;\n      }\n      iVar6 = param_2[0xc];\n      *(int *)((int)ppiVar9 + 0x1c) = param_2[0xd];\n      *(int *)((int)ppiVar9 + 0x18) = iVar6;\n      auStack_40 = (undefined1  [8])uVar12;\n      if ((*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10)) == 0xffffffff) {\n        *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0x1c);\n        *(undefined4 *)((int)ppiVar9 + -0x14) = *(undefined4 *)((int)ppiVar9 + 0x18);\n        *(int **)((int)ppiVar9 + -0x18) = piVar8;\n        *(int **)((int)ppiVar9 + -0x1c) = piVar5;\n        *(undefined4 *)((int)ppiVar9 + -0x20) = *(undefined4 *)((int)ppiVar9 + 0xc);\n        *(undefined **)((int)ppiVar9 + -0x24) = &UNK_0017c717;\n        uVar7 = FUN_000f5920();\n      }\n      else if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n        pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);\n        if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }\n        uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);\n      }\n      else {\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }\n      break;\n    }\n  case (int *)0x3:\n    uVar7 = param_2[0xc];\n    ppiVar9 = (int **)auStack_4c;\n    break;\n  case (int *)0x1:\n    if ((bVar3 & 7) != 1) {\n      piStack_50 = piVar5;\n                    \n      FUN_00069d00("../../gold/symtab.h",0xb5,"output_data");\n    }\n    auStack_40._0_4_ = param_2[2];\n    iVar6 = param_2[0xc];\n    piVar5 = (int *)param_2[0xd];\n    if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n      piStack_34 = (int *)(**(code **)(*(int *)auStack_40._0_4_ + 0x24))(auStack_40._0_4_);\n      if (piStack_34 == (int *)0x0) {\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }\n      if (*(code **)(*piStack_34 + 0x48) == FUN_000b3000) {\n        uStack_2c = *(undefined8 *)(piStack_34 + 0x25);\n      }\n      else {\n        uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34);\n      }\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if (((bVar3 & 1) == 0) ||\n         (uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0)\n         ) goto code_r0x0017c7b3;\n      uVar7 = (int)uStack_2c + ((iVar6 + uVar7) - piStack_34[1]);\n      piStack_50 = (int *)(*(byte *)((int)param_2 + 0x2a) & 7);\n      if ((char)piStack_50 != '\x01') {\n                    \n        FUN_00069d00("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }\n    }\n    else {\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if ((bVar3 & 1) == 0) {\ncode_r0x0017c7b3:\n        *(uint *)((int)ppiVar9 + -4) = uVar7;\n        *(char **)((int)ppiVar9 + -8) = "address";\n        *(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5;\n        *(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h";\n                    \n        *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc;\n        auStack_40 = (undefined1  [8])uVar12;\n        FUN_00069d00();\n      }\n      uVar7 = iVar6 + *(int *)(auStack_40._0_4_ + 4);\n    }\n    ppiVar9 = (int **)auStack_4c;\n    if ((char)param_2[3] != '\0') {\n      if ((auStack_40._4_4_ & 2) == 0) {\n        piStack_50 = param_2;\n                    \n        FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar7 = uVar7 + *(int *)(auStack_40._0_4_ + 0xc);\n      ppiVar9 = (int **)auStack_4c;\n    }\n    break;\n  case (int *)0x2:\n    if ((bVar3 & 7) != 2) {\n      piStack_50 = in_ECX;\n                    \n      FUN_00069d00("../../gold/symtab.h",200,"output_segment");\n    }\n    iVar6 = param_2[2];\n    uVar7 = param_2[0xc];\n    piStack_50 = (int *)param_2[0xd];\n    if ((*(byte *)(param_2 + 10) & 0xf) != 6) {\n      bVar11 = CARRY4(uVar7,*(uint *)(iVar6 + 0x15c));\n      uVar7 = uVar7 + *(uint *)(iVar6 + 0x15c);\n      piStack_50 = (int *)((int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160));\n    }\n    iVar1 = param_2[3];\n    if (iVar1 == 1) {\n      uVar7 = uVar7 + *(int *)(iVar6 + 0x16c);\n      ppiVar9 = (int **)auStack_4c;\n    }\n    else {\n      ppiVar9 = (int **)auStack_4c;\n      if (iVar1 != 0) {\n        if (iVar1 != 2) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }\n        uVar7 = uVar7 + *(int *)(iVar6 + 0x18c);\n        ppiVar9 = (int **)auStack_4c;\n      }\n    }\n    break;\n  case (int *)0x4:\ncode_r0x0017c290:\n    uVar7 = 0;\n    ppiVar9 = (int **)auStack_4c;\n    break;\n  default:\n    piStack_50 = piVar5;\n                    \n    FUN_00069d00("../../gold/symtab.cc",0xb6a,"compute_final_value");\n  }" switch (parenthesized_expression "(piVar5)" ( identifier )) (compound_statement "{\n  case (int *)0x0:\n    if ((bVar3 & 7) != 0) {\n      piStack_50 = piVar5;\n                    \n      FUN_00069d00("../../gold/symtab.h",0xaa,"shndx");\n    }\n    auStack_40._0_4_ = param_2[3];\n    bVar3 = *(byte *)((int)param_2 + 0x2b) >> 5 & 1;\n    if (((int *)auStack_40._0_4_ != (int *)0xfff1) && (bVar3 == 0)) {\n      piVar5 = (int *)FUN_00177470(auStack_40._0_4_);\n      if ((char)piVar5 == '\0') {\n        *param_3 = 1;\n        return 0;\n      }\n      if ((*(byte *)((int)param_2 + 0x2a) & 7) != 0) {\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.h",0xa1,"object");\n      }\n    }\n    ppiVar10 = (int **)auStack_4c;\n    ppiVar9 = (int **)auStack_4c;\n    piVar5 = (int *)param_2[2];\n    if ((((*(byte *)(piVar5 + 0xb) & 1) != 0) ||\n        (iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0)) ||\n       ((int *)auStack_40._0_4_ == (int *)0x0)) goto code_r0x0017c290;\n    if ((bVar3 != 0) ||\n       (((int *)auStack_40._0_4_ != (int *)0xfff1 &&\n        (cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0')))) {\n      if (*(code **)(*piVar5 + 0x60) == FUN_0003bac0) {\n        piVar8 = (int *)(piVar5[0xf] - piVar5[0xe] >> 2);\n        if (piVar8 <= (uint)auStack_40._0_4_) goto code_r0x0017c850;\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = *(int *)(piVar5[0xe] + auStack_40._0_4_ * 4);\n      }\n      else {\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_);\n      }\n      cVar4 = FUN_00177870(param_1,piVar5,auStack_40._4_4_);\n      if (cVar4 == '\0') {\n        piStack_34 = (int *)auStack_40._4_4_;\n        uVar13 = (**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_);\n        auStack_40._4_4_ = (int)uVar13;\n        uVar12 = CONCAT44((int)uVar13,auStack_40._0_4_);\n        piStack_38 = (int *)((ulonglong)uVar13 >> 0x20);\n        piVar8 = piStack_34;\n        if (auStack_40._0_4_ == 0) {\n          unique0x100005d7 = uVar13;\n          if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    \n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }\n          if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    \n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }\n          *param_3 = 2;\n          return 0;\n        }\n      }\n      else {\n        if (auStack_40._0_4_ != 0) {\n          piStack_50 = param_2;\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        piStack_50 = (int *)auStack_40._4_4_;\n        FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5);\n        piVar5 = uStack_2c._4_4_;\n        auStack_40._0_4_ = apiStack_24[0];\n        ppiVar10 = &piStack_50;\n        if (uStack_2c._4_4_ == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }\n        if (*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0) {\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    \n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }\n        else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }\n        ppiVar9 = &piStack_50;\n        if (iStack_44 == 0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }\n        piStack_38 = apiStack_24[0];\n        uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_);\n        auStack_40 = (undefined1  [8])uVar12;\n        piVar8 = piStack_38;\n      }\n      iVar6 = param_2[0xc];\n      *(int *)((int)ppiVar9 + 0x1c) = param_2[0xd];\n      *(int *)((int)ppiVar9 + 0x18) = iVar6;\n      auStack_40 = (undefined1  [8])uVar12;\n      if ((*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10)) == 0xffffffff) {\n        *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0x1c);\n        *(undefined4 *)((int)ppiVar9 + -0x14) = *(undefined4 *)((int)ppiVar9 + 0x18);\n        *(int **)((int)ppiVar9 + -0x18) = piVar8;\n        *(int **)((int)ppiVar9 + -0x1c) = piVar5;\n        *(undefined4 *)((int)ppiVar9 + -0x20) = *(undefined4 *)((int)ppiVar9 + 0xc);\n        *(undefined **)((int)ppiVar9 + -0x24) = &UNK_0017c717;\n        uVar7 = FUN_000f5920();\n      }\n      else if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n        pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);\n        if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }\n        uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);\n      }\n      else {\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }\n      break;\n    }\n  case (int *)0x3:\n    uVar7 = param_2[0xc];\n    ppiVar9 = (int **)auStack_4c;\n    break;\n  case (int *)0x1:\n    if ((bVar3 & 7) != 1) {\n      piStack_50 = piVar5;\n                    \n      FUN_00069d00("../../gold/symtab.h",0xb5,"output_data");\n    }\n    auStack_40._0_4_ = param_2[2];\n    iVar6 = param_2[0xc];\n    piVar5 = (int *)param_2[0xd];\n    if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n      piStack_34 = (int *)(**(code **)(*(int *)auStack_40._0_4_ + 0x24))(auStack_40._0_4_);\n      if (piStack_34 == (int *)0x0) {\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }\n      if (*(code **)(*piStack_34 + 0x48) == FUN_000b3000) {\n        uStack_2c = *(undefined8 *)(piStack_34 + 0x25);\n      }\n      else {\n        uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34);\n      }\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if (((bVar3 & 1) == 0) ||\n         (uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0)\n         ) goto code_r0x0017c7b3;\n      uVar7 = (int)uStack_2c + ((iVar6 + uVar7) - piStack_34[1]);\n      piStack_50 = (int *)(*(byte *)((int)param_2 + 0x2a) & 7);\n      if ((char)piStack_50 != '\x01') {\n                    \n        FUN_00069d00("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }\n    }\n    else {\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if ((bVar3 & 1) == 0) {\ncode_r0x0017c7b3:\n        *(uint *)((int)ppiVar9 + -4) = uVar7;\n        *(char **)((int)ppiVar9 + -8) = "address";\n        *(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5;\n        *(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h";\n                    \n        *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc;\n        auStack_40 = (undefined1  [8])uVar12;\n        FUN_00069d00();\n      }\n      uVar7 = iVar6 + *(int *)(auStack_40._0_4_ + 4);\n    }\n    ppiVar9 = (int **)auStack_4c;\n    if ((char)param_2[3] != '\0') {\n      if ((auStack_40._4_4_ & 2) == 0) {\n        piStack_50 = param_2;\n                    \n        FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar7 = uVar7 + *(int *)(auStack_40._0_4_ + 0xc);\n      ppiVar9 = (int **)auStack_4c;\n    }\n    break;\n  case (int *)0x2:\n    if ((bVar3 & 7) != 2) {\n      piStack_50 = in_ECX;\n                    \n      FUN_00069d00("../../gold/symtab.h",200,"output_segment");\n    }\n    iVar6 = param_2[2];\n    uVar7 = param_2[0xc];\n    piStack_50 = (int *)param_2[0xd];\n    if ((*(byte *)(param_2 + 10) & 0xf) != 6) {\n      bVar11 = CARRY4(uVar7,*(uint *)(iVar6 + 0x15c));\n      uVar7 = uVar7 + *(uint *)(iVar6 + 0x15c);\n      piStack_50 = (int *)((int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160));\n    }\n    iVar1 = param_2[3];\n    if (iVar1 == 1) {\n      uVar7 = uVar7 + *(int *)(iVar6 + 0x16c);\n      ppiVar9 = (int **)auStack_4c;\n    }\n    else {\n      ppiVar9 = (int **)auStack_4c;\n      if (iVar1 != 0) {\n        if (iVar1 != 2) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }\n        uVar7 = uVar7 + *(int *)(iVar6 + 0x18c);\n        ppiVar9 = (int **)auStack_4c;\n      }\n    }\n    break;\n  case (int *)0x4:\ncode_r0x0017c290:\n    uVar7 = 0;\n    ppiVar9 = (int **)auStack_4c;\n    break;\n  default:\n    piStack_50 = piVar5;\n                    \n    FUN_00069d00("../../gold/symtab.cc",0xb6a,"compute_final_value");\n  }" { (case_statement "case (int *)0x0:\n    if ((bVar3 & 7) != 0) {\n      piStack_50 = piVar5;\n                    \n      FUN_00069d00("../../gold/symtab.h",0xaa,"shndx");\n    }\n    auStack_40._0_4_ = param_2[3];\n    bVar3 = *(byte *)((int)param_2 + 0x2b) >> 5 & 1;\n    if (((int *)auStack_40._0_4_ != (int *)0xfff1) && (bVar3 == 0)) {\n      piVar5 = (int *)FUN_00177470(auStack_40._0_4_);\n      if ((char)piVar5 == '\0') {\n        *param_3 = 1;\n        return 0;\n      }\n      if ((*(byte *)((int)param_2 + 0x2a) & 7) != 0) {\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.h",0xa1,"object");\n      }\n    }\n    ppiVar10 = (int **)auStack_4c;\n    ppiVar9 = (int **)auStack_4c;\n    piVar5 = (int *)param_2[2];\n    if ((((*(byte *)(piVar5 + 0xb) & 1) != 0) ||\n        (iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0)) ||\n       ((int *)auStack_40._0_4_ == (int *)0x0)) goto code_r0x0017c290;\n    if ((bVar3 != 0) ||\n       (((int *)auStack_40._0_4_ != (int *)0xfff1 &&\n        (cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0')))) {\n      if (*(code **)(*piVar5 + 0x60) == FUN_0003bac0) {\n        piVar8 = (int *)(piVar5[0xf] - piVar5[0xe] >> 2);\n        if (piVar8 <= (uint)auStack_40._0_4_) goto code_r0x0017c850;\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = *(int *)(piVar5[0xe] + auStack_40._0_4_ * 4);\n      }\n      else {\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_);\n      }\n      cVar4 = FUN_00177870(param_1,piVar5,auStack_40._4_4_);\n      if (cVar4 == '\0') {\n        piStack_34 = (int *)auStack_40._4_4_;\n        uVar13 = (**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_);\n        auStack_40._4_4_ = (int)uVar13;\n        uVar12 = CONCAT44((int)uVar13,auStack_40._0_4_);\n        piStack_38 = (int *)((ulonglong)uVar13 >> 0x20);\n        piVar8 = piStack_34;\n        if (auStack_40._0_4_ == 0) {\n          unique0x100005d7 = uVar13;\n          if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    \n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }\n          if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    \n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }\n          *param_3 = 2;\n          return 0;\n        }\n      }\n      else {\n        if (auStack_40._0_4_ != 0) {\n          piStack_50 = param_2;\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        piStack_50 = (int *)auStack_40._4_4_;\n        FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5);\n        piVar5 = uStack_2c._4_4_;\n        auStack_40._0_4_ = apiStack_24[0];\n        ppiVar10 = &piStack_50;\n        if (uStack_2c._4_4_ == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }\n        if (*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0) {\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    \n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }\n        else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }\n        ppiVar9 = &piStack_50;\n        if (iStack_44 == 0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }\n        piStack_38 = apiStack_24[0];\n        uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_);\n        auStack_40 = (undefined1  [8])uVar12;\n        piVar8 = piStack_38;\n      }\n      iVar6 = param_2[0xc];\n      *(int *)((int)ppiVar9 + 0x1c) = param_2[0xd];\n      *(int *)((int)ppiVar9 + 0x18) = iVar6;\n      auStack_40 = (undefined1  [8])uVar12;\n      if ((*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10)) == 0xffffffff) {\n        *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0x1c);\n        *(undefined4 *)((int)ppiVar9 + -0x14) = *(undefined4 *)((int)ppiVar9 + 0x18);\n        *(int **)((int)ppiVar9 + -0x18) = piVar8;\n        *(int **)((int)ppiVar9 + -0x1c) = piVar5;\n        *(undefined4 *)((int)ppiVar9 + -0x20) = *(undefined4 *)((int)ppiVar9 + 0xc);\n        *(undefined **)((int)ppiVar9 + -0x24) = &UNK_0017c717;\n        uVar7 = FUN_000f5920();\n      }\n      else if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n        pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);\n        if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }\n        uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);\n      }\n      else {\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }\n      break;\n    }" case (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) : (if_statement "if ((bVar3 & 7) != 0) {\n      piStack_50 = piVar5;\n                    \n      FUN_00069d00("../../gold/symtab.h",0xaa,"shndx");\n    }" if (parenthesized_expression "((bVar3 & 7) != 0)" ( (binary_expression "(bVar3 & 7) != 0" (parenthesized_expression "(bVar3 & 7)" ( (binary_expression "bVar3 & 7" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      piStack_50 = piVar5;\n                    \n      FUN_00069d00("../../gold/symtab.h",0xaa,"shndx");\n    }" { (expression_statement "piStack_50 = piVar5;" (assignment_expression "piStack_50 = piVar5" identifier = identifier) ;) (expression_statement "FUN_00069d00("../../gold/symtab.h",0xaa,"shndx");" (call_expression "FUN_00069d00("../../gold/symtab.h",0xaa,"shndx")" identifier (argument_list "("../../gold/symtab.h",0xaa,"shndx")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""shndx"" " string_content ") ))) ;) })) (expression_statement "auStack_40._0_4_ = param_2[3];" (assignment_expression "auStack_40._0_4_ = param_2[3]" (field_expression "auStack_40._0_4_" identifier . field_identifier) = (subscript_expression "param_2[3]" identifier [ number_literal ])) ;) (expression_statement "bVar3 = *(byte *)((int)param_2 + 0x2b) >> 5 & 1;" (assignment_expression "bVar3 = *(byte *)((int)param_2 + 0x2b) >> 5 & 1" identifier = (binary_expression "*(byte *)((int)param_2 + 0x2b) >> 5 & 1" (binary_expression "*(byte *)((int)param_2 + 0x2b) >> 5" (pointer_expression "*(byte *)((int)param_2 + 0x2b)" * (cast_expression "(byte *)((int)param_2 + 0x2b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x2b)" ( (binary_expression "(int)param_2 + 0x2b" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) >> number_literal) & number_literal)) ;) (if_statement "if (((int *)auStack_40._0_4_ != (int *)0xfff1) && (bVar3 == 0)) {\n      piVar5 = (int *)FUN_00177470(auStack_40._0_4_);\n      if ((char)piVar5 == '\0') {\n        *param_3 = 1;\n        return 0;\n      }\n      if ((*(byte *)((int)param_2 + 0x2a) & 7) != 0) {\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.h",0xa1,"object");\n      }\n    }" if (parenthesized_expression "(((int *)auStack_40._0_4_ != (int *)0xfff1) && (bVar3 == 0))" ( (binary_expression "((int *)auStack_40._0_4_ != (int *)0xfff1) && (bVar3 == 0)" (parenthesized_expression "((int *)auStack_40._0_4_ != (int *)0xfff1)" ( (binary_expression "(int *)auStack_40._0_4_ != (int *)0xfff1" (cast_expression "(int *)auStack_40._0_4_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_40._0_4_" identifier . field_identifier)) != (cast_expression "(int *)0xfff1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "(bVar3 == 0)" ( (binary_expression "bVar3 == 0" identifier == number_literal) ))) )) (compound_statement "{\n      piVar5 = (int *)FUN_00177470(auStack_40._0_4_);\n      if ((char)piVar5 == '\0') {\n        *param_3 = 1;\n        return 0;\n      }\n      if ((*(byte *)((int)param_2 + 0x2a) & 7) != 0) {\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.h",0xa1,"object");\n      }\n    }" { (expression_statement "piVar5 = (int *)FUN_00177470(auStack_40._0_4_);" (assignment_expression "piVar5 = (int *)FUN_00177470(auStack_40._0_4_)" identifier = (cast_expression "(int *)FUN_00177470(auStack_40._0_4_)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00177470(auStack_40._0_4_)" identifier (argument_list "(auStack_40._0_4_)" ( (field_expression "auStack_40._0_4_" identifier . field_identifier) ))))) ;) (if_statement "if ((char)piVar5 == '\0') {\n        *param_3 = 1;\n        return 0;\n      }" if (parenthesized_expression "((char)piVar5 == '\0')" ( (binary_expression "(char)piVar5 == '\0'" (cast_expression "(char)piVar5" ( (type_descriptor "char" primitive_type) ) identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        *param_3 = 1;\n        return 0;\n      }" { (expression_statement "*param_3 = 1;" (assignment_expression "*param_3 = 1" (pointer_expression "*param_3" * identifier) = number_literal) ;) (return_statement "return 0;" return number_literal ;) })) (if_statement "if ((*(byte *)((int)param_2 + 0x2a) & 7) != 0) {\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.h",0xa1,"object");\n      }" if (parenthesized_expression "((*(byte *)((int)param_2 + 0x2a) & 7) != 0)" ( (binary_expression "(*(byte *)((int)param_2 + 0x2a) & 7) != 0" (parenthesized_expression "(*(byte *)((int)param_2 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)param_2 + 0x2a) & 7" (pointer_expression "*(byte *)((int)param_2 + 0x2a)" * (cast_expression "(byte *)((int)param_2 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x2a)" ( (binary_expression "(int)param_2 + 0x2a" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.h",0xa1,"object");\n      }" { (expression_statement "piStack_50 = piVar5;" (assignment_expression "piStack_50 = piVar5" identifier = identifier) ;) (expression_statement "FUN_00069d00("../../gold/symtab.h",0xa1,"object");" (call_expression "FUN_00069d00("../../gold/symtab.h",0xa1,"object")" identifier (argument_list "("../../gold/symtab.h",0xa1,"object")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""object"" " string_content ") ))) ;) })) })) (expression_statement "ppiVar10 = (int **)auStack_4c;" (assignment_expression "ppiVar10 = (int **)auStack_4c" identifier = (cast_expression "(int **)auStack_4c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "ppiVar9 = (int **)auStack_4c;" (assignment_expression "ppiVar9 = (int **)auStack_4c" identifier = (cast_expression "(int **)auStack_4c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "piVar5 = (int *)param_2[2];" (assignment_expression "piVar5 = (int *)param_2[2]" identifier = (cast_expression "(int *)param_2[2]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[2]" identifier [ number_literal ]))) ;) (if_statement "if ((((*(byte *)(piVar5 + 0xb) & 1) != 0) ||\n        (iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0)) ||\n       ((int *)auStack_40._0_4_ == (int *)0x0)) goto code_r0x0017c290;" if (parenthesized_expression "((((*(byte *)(piVar5 + 0xb) & 1) != 0) ||\n        (iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0)) ||\n       ((int *)auStack_40._0_4_ == (int *)0x0))" ( (binary_expression "(((*(byte *)(piVar5 + 0xb) & 1) != 0) ||\n        (iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0)) ||\n       ((int *)auStack_40._0_4_ == (int *)0x0)" (parenthesized_expression "(((*(byte *)(piVar5 + 0xb) & 1) != 0) ||\n        (iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0))" ( (binary_expression "((*(byte *)(piVar5 + 0xb) & 1) != 0) ||\n        (iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0)" (parenthesized_expression "((*(byte *)(piVar5 + 0xb) & 1) != 0)" ( (binary_expression "(*(byte *)(piVar5 + 0xb) & 1) != 0" (parenthesized_expression "(*(byte *)(piVar5 + 0xb) & 1)" ( (binary_expression "*(byte *)(piVar5 + 0xb) & 1" (pointer_expression "*(byte *)(piVar5 + 0xb)" * (cast_expression "(byte *)(piVar5 + 0xb)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5 + 0xb)" ( (binary_expression "piVar5 + 0xb" identifier + number_literal) )))) & number_literal) )) != number_literal) )) || (parenthesized_expression "(iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0)" ( (comma_expression "iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0" (assignment_expression "iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5)" identifier = (call_expression "(**(code **)(*piVar5 + 0x14))(piVar5)" (parenthesized_expression "(**(code **)(*piVar5 + 0x14))" ( (pointer_expression "**(code **)(*piVar5 + 0x14)" * (pointer_expression "*(code **)(*piVar5 + 0x14)" * (cast_expression "(code **)(*piVar5 + 0x14)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar5 + 0x14)" ( (binary_expression "*piVar5 + 0x14" (pointer_expression "*piVar5" * identifier) + number_literal) ))))) )) (argument_list "(piVar5)" ( identifier )))) , (binary_expression "iVar6 != 0" identifier != number_literal)) ))) )) || (parenthesized_expression "((int *)auStack_40._0_4_ == (int *)0x0)" ( (binary_expression "(int *)auStack_40._0_4_ == (int *)0x0" (cast_expression "(int *)auStack_40._0_4_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_40._0_4_" identifier . field_identifier)) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (goto_statement "goto code_r0x0017c290;" goto statement_identifier ;)) (if_statement "if ((bVar3 != 0) ||\n       (((int *)auStack_40._0_4_ != (int *)0xfff1 &&\n        (cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0')))) {\n      if (*(code **)(*piVar5 + 0x60) == FUN_0003bac0) {\n        piVar8 = (int *)(piVar5[0xf] - piVar5[0xe] >> 2);\n        if (piVar8 <= (uint)auStack_40._0_4_) goto code_r0x0017c850;\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = *(int *)(piVar5[0xe] + auStack_40._0_4_ * 4);\n      }\n      else {\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_);\n      }\n      cVar4 = FUN_00177870(param_1,piVar5,auStack_40._4_4_);\n      if (cVar4 == '\0') {\n        piStack_34 = (int *)auStack_40._4_4_;\n        uVar13 = (**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_);\n        auStack_40._4_4_ = (int)uVar13;\n        uVar12 = CONCAT44((int)uVar13,auStack_40._0_4_);\n        piStack_38 = (int *)((ulonglong)uVar13 >> 0x20);\n        piVar8 = piStack_34;\n        if (auStack_40._0_4_ == 0) {\n          unique0x100005d7 = uVar13;\n          if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    \n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }\n          if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    \n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }\n          *param_3 = 2;\n          return 0;\n        }\n      }\n      else {\n        if (auStack_40._0_4_ != 0) {\n          piStack_50 = param_2;\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        piStack_50 = (int *)auStack_40._4_4_;\n        FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5);\n        piVar5 = uStack_2c._4_4_;\n        auStack_40._0_4_ = apiStack_24[0];\n        ppiVar10 = &piStack_50;\n        if (uStack_2c._4_4_ == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }\n        if (*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0) {\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    \n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }\n        else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }\n        ppiVar9 = &piStack_50;\n        if (iStack_44 == 0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }\n        piStack_38 = apiStack_24[0];\n        uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_);\n        auStack_40 = (undefined1  [8])uVar12;\n        piVar8 = piStack_38;\n      }\n      iVar6 = param_2[0xc];\n      *(int *)((int)ppiVar9 + 0x1c) = param_2[0xd];\n      *(int *)((int)ppiVar9 + 0x18) = iVar6;\n      auStack_40 = (undefined1  [8])uVar12;\n      if ((*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10)) == 0xffffffff) {\n        *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0x1c);\n        *(undefined4 *)((int)ppiVar9 + -0x14) = *(undefined4 *)((int)ppiVar9 + 0x18);\n        *(int **)((int)ppiVar9 + -0x18) = piVar8;\n        *(int **)((int)ppiVar9 + -0x1c) = piVar5;\n        *(undefined4 *)((int)ppiVar9 + -0x20) = *(undefined4 *)((int)ppiVar9 + 0xc);\n        *(undefined **)((int)ppiVar9 + -0x24) = &UNK_0017c717;\n        uVar7 = FUN_000f5920();\n      }\n      else if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n        pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);\n        if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }\n        uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);\n      }\n      else {\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }\n      break;\n    }" if (parenthesized_expression "((bVar3 != 0) ||\n       (((int *)auStack_40._0_4_ != (int *)0xfff1 &&\n        (cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0'))))" ( (binary_expression "(bVar3 != 0) ||\n       (((int *)auStack_40._0_4_ != (int *)0xfff1 &&\n        (cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0')))" (parenthesized_expression "(bVar3 != 0)" ( (binary_expression "bVar3 != 0" identifier != number_literal) )) || (parenthesized_expression "(((int *)auStack_40._0_4_ != (int *)0xfff1 &&\n        (cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0')))" ( (parenthesized_expression "((int *)auStack_40._0_4_ != (int *)0xfff1 &&\n        (cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0'))" ( (binary_expression "(int *)auStack_40._0_4_ != (int *)0xfff1 &&\n        (cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0')" (binary_expression "(int *)auStack_40._0_4_ != (int *)0xfff1" (cast_expression "(int *)auStack_40._0_4_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_40._0_4_" identifier . field_identifier)) != (cast_expression "(int *)0xfff1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) && (parenthesized_expression "(cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0')" ( (comma_expression "cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0'" (assignment_expression "cVar4 = FUN_00177470(auStack_40._0_4_)" identifier = (call_expression "FUN_00177470(auStack_40._0_4_)" identifier (argument_list "(auStack_40._0_4_)" ( (field_expression "auStack_40._0_4_" identifier . field_identifier) )))) , (binary_expression "cVar4 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence '))) ))) )) ))) )) (compound_statement "{\n      if (*(code **)(*piVar5 + 0x60) == FUN_0003bac0) {\n        piVar8 = (int *)(piVar5[0xf] - piVar5[0xe] >> 2);\n        if (piVar8 <= (uint)auStack_40._0_4_) goto code_r0x0017c850;\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = *(int *)(piVar5[0xe] + auStack_40._0_4_ * 4);\n      }\n      else {\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_);\n      }\n      cVar4 = FUN_00177870(param_1,piVar5,auStack_40._4_4_);\n      if (cVar4 == '\0') {\n        piStack_34 = (int *)auStack_40._4_4_;\n        uVar13 = (**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_);\n        auStack_40._4_4_ = (int)uVar13;\n        uVar12 = CONCAT44((int)uVar13,auStack_40._0_4_);\n        piStack_38 = (int *)((ulonglong)uVar13 >> 0x20);\n        piVar8 = piStack_34;\n        if (auStack_40._0_4_ == 0) {\n          unique0x100005d7 = uVar13;\n          if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    \n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }\n          if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    \n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }\n          *param_3 = 2;\n          return 0;\n        }\n      }\n      else {\n        if (auStack_40._0_4_ != 0) {\n          piStack_50 = param_2;\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        piStack_50 = (int *)auStack_40._4_4_;\n        FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5);\n        piVar5 = uStack_2c._4_4_;\n        auStack_40._0_4_ = apiStack_24[0];\n        ppiVar10 = &piStack_50;\n        if (uStack_2c._4_4_ == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }\n        if (*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0) {\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    \n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }\n        else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }\n        ppiVar9 = &piStack_50;\n        if (iStack_44 == 0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }\n        piStack_38 = apiStack_24[0];\n        uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_);\n        auStack_40 = (undefined1  [8])uVar12;\n        piVar8 = piStack_38;\n      }\n      iVar6 = param_2[0xc];\n      *(int *)((int)ppiVar9 + 0x1c) = param_2[0xd];\n      *(int *)((int)ppiVar9 + 0x18) = iVar6;\n      auStack_40 = (undefined1  [8])uVar12;\n      if ((*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10)) == 0xffffffff) {\n        *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0x1c);\n        *(undefined4 *)((int)ppiVar9 + -0x14) = *(undefined4 *)((int)ppiVar9 + 0x18);\n        *(int **)((int)ppiVar9 + -0x18) = piVar8;\n        *(int **)((int)ppiVar9 + -0x1c) = piVar5;\n        *(undefined4 *)((int)ppiVar9 + -0x20) = *(undefined4 *)((int)ppiVar9 + 0xc);\n        *(undefined **)((int)ppiVar9 + -0x24) = &UNK_0017c717;\n        uVar7 = FUN_000f5920();\n      }\n      else if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n        pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);\n        if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }\n        uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);\n      }\n      else {\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }\n      break;\n    }" { (if_statement "if (*(code **)(*piVar5 + 0x60) == FUN_0003bac0) {\n        piVar8 = (int *)(piVar5[0xf] - piVar5[0xe] >> 2);\n        if (piVar8 <= (uint)auStack_40._0_4_) goto code_r0x0017c850;\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = *(int *)(piVar5[0xe] + auStack_40._0_4_ * 4);\n      }\n      else {\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_);\n      }" if (parenthesized_expression "(*(code **)(*piVar5 + 0x60) == FUN_0003bac0)" ( (binary_expression "*(code **)(*piVar5 + 0x60) == FUN_0003bac0" (pointer_expression "*(code **)(*piVar5 + 0x60)" * (cast_expression "(code **)(*piVar5 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar5 + 0x60)" ( (binary_expression "*piVar5 + 0x60" (pointer_expression "*piVar5" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n        piVar8 = (int *)(piVar5[0xf] - piVar5[0xe] >> 2);\n        if (piVar8 <= (uint)auStack_40._0_4_) goto code_r0x0017c850;\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = *(int *)(piVar5[0xe] + auStack_40._0_4_ * 4);\n      }" { (expression_statement "piVar8 = (int *)(piVar5[0xf] - piVar5[0xe] >> 2);" (assignment_expression "piVar8 = (int *)(piVar5[0xf] - piVar5[0xe] >> 2)" identifier = (cast_expression "(int *)(piVar5[0xf] - piVar5[0xe] >> 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5[0xf] - piVar5[0xe] >> 2)" ( (binary_expression "piVar5[0xf] - piVar5[0xe] >> 2" (binary_expression "piVar5[0xf] - piVar5[0xe]" (subscript_expression "piVar5[0xf]" identifier [ number_literal ]) - (subscript_expression "piVar5[0xe]" identifier [ number_literal ])) >> number_literal) )))) ;) (if_statement "if (piVar8 <= (uint)auStack_40._0_4_) goto code_r0x0017c850;" if (parenthesized_expression "(piVar8 <= (uint)auStack_40._0_4_)" ( (binary_expression "piVar8 <= (uint)auStack_40._0_4_" identifier <= (cast_expression "(uint)auStack_40._0_4_" ( (type_descriptor "uint" type_identifier) ) (field_expression "auStack_40._0_4_" identifier . field_identifier))) )) (goto_statement "goto code_r0x0017c850;" goto statement_identifier ;)) (expression_statement "auStack_40._4_4_ = auStack_40._0_4_;" (assignment_expression "auStack_40._4_4_ = auStack_40._0_4_" (field_expression "auStack_40._4_4_" identifier . field_identifier) = (field_expression "auStack_40._0_4_" identifier . field_identifier)) ;) (expression_statement "auStack_40._0_4_ = *(int *)(piVar5[0xe] + auStack_40._0_4_ * 4);" (assignment_expression "auStack_40._0_4_ = *(int *)(piVar5[0xe] + auStack_40._0_4_ * 4)" (field_expression "auStack_40._0_4_" identifier . field_identifier) = (pointer_expression "*(int *)(piVar5[0xe] + auStack_40._0_4_ * 4)" * (cast_expression "(int *)(piVar5[0xe] + auStack_40._0_4_ * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar5[0xe] + auStack_40._0_4_ * 4)" ( (binary_expression "piVar5[0xe] + auStack_40._0_4_ * 4" (subscript_expression "piVar5[0xe]" identifier [ number_literal ]) + (binary_expression "auStack_40._0_4_ * 4" (field_expression "auStack_40._0_4_" identifier . field_identifier) * number_literal)) ))))) ;) }) (else_clause "else {\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_);\n      }" else (compound_statement "{\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_);\n      }" { (expression_statement "auStack_40._4_4_ = auStack_40._0_4_;" (assignment_expression "auStack_40._4_4_ = auStack_40._0_4_" (field_expression "auStack_40._4_4_" identifier . field_identifier) = (field_expression "auStack_40._0_4_" identifier . field_identifier)) ;) (expression_statement "auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_);" (assignment_expression "auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_)" (field_expression "auStack_40._0_4_" identifier . field_identifier) = (call_expression "(**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_)" (parenthesized_expression "(**(code **)(*piVar5 + 0x60))" ( (pointer_expression "**(code **)(*piVar5 + 0x60)" * (pointer_expression "*(code **)(*piVar5 + 0x60)" * (cast_expression "(code **)(*piVar5 + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar5 + 0x60)" ( (binary_expression "*piVar5 + 0x60" (pointer_expression "*piVar5" * identifier) + number_literal) ))))) )) (argument_list "(piVar5,auStack_40._0_4_)" ( identifier , (field_expression "auStack_40._0_4_" identifier . field_identifier) )))) ;) }))) (expression_statement "cVar4 = FUN_00177870(param_1,piVar5,auStack_40._4_4_);" (assignment_expression "cVar4 = FUN_00177870(param_1,piVar5,auStack_40._4_4_)" identifier = (call_expression "FUN_00177870(param_1,piVar5,auStack_40._4_4_)" identifier (argument_list "(param_1,piVar5,auStack_40._4_4_)" ( identifier , identifier , (field_expression "auStack_40._4_4_" identifier . field_identifier) )))) ;) (if_statement "if (cVar4 == '\0') {\n        piStack_34 = (int *)auStack_40._4_4_;\n        uVar13 = (**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_);\n        auStack_40._4_4_ = (int)uVar13;\n        uVar12 = CONCAT44((int)uVar13,auStack_40._0_4_);\n        piStack_38 = (int *)((ulonglong)uVar13 >> 0x20);\n        piVar8 = piStack_34;\n        if (auStack_40._0_4_ == 0) {\n          unique0x100005d7 = uVar13;\n          if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    \n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }\n          if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    \n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }\n          *param_3 = 2;\n          return 0;\n        }\n      }\n      else {\n        if (auStack_40._0_4_ != 0) {\n          piStack_50 = param_2;\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        piStack_50 = (int *)auStack_40._4_4_;\n        FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5);\n        piVar5 = uStack_2c._4_4_;\n        auStack_40._0_4_ = apiStack_24[0];\n        ppiVar10 = &piStack_50;\n        if (uStack_2c._4_4_ == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }\n        if (*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0) {\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    \n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }\n        else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }\n        ppiVar9 = &piStack_50;\n        if (iStack_44 == 0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }\n        piStack_38 = apiStack_24[0];\n        uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_);\n        auStack_40 = (undefined1  [8])uVar12;\n        piVar8 = piStack_38;\n      }" if (parenthesized_expression "(cVar4 == '\0')" ( (binary_expression "cVar4 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n        piStack_34 = (int *)auStack_40._4_4_;\n        uVar13 = (**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_);\n        auStack_40._4_4_ = (int)uVar13;\n        uVar12 = CONCAT44((int)uVar13,auStack_40._0_4_);\n        piStack_38 = (int *)((ulonglong)uVar13 >> 0x20);\n        piVar8 = piStack_34;\n        if (auStack_40._0_4_ == 0) {\n          unique0x100005d7 = uVar13;\n          if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    \n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }\n          if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    \n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }\n          *param_3 = 2;\n          return 0;\n        }\n      }" { (expression_statement "piStack_34 = (int *)auStack_40._4_4_;" (assignment_expression "piStack_34 = (int *)auStack_40._4_4_" identifier = (cast_expression "(int *)auStack_40._4_4_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_40._4_4_" identifier . field_identifier))) ;) (expression_statement "uVar13 = (**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_);" (assignment_expression "uVar13 = (**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_)" identifier = (call_expression "(**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_)" (parenthesized_expression "(**(code **)(*piVar5 + 0x68))" ( (pointer_expression "**(code **)(*piVar5 + 0x68)" * (pointer_expression "*(code **)(*piVar5 + 0x68)" * (cast_expression "(code **)(*piVar5 + 0x68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar5 + 0x68)" ( (binary_expression "*piVar5 + 0x68" (pointer_expression "*piVar5" * identifier) + number_literal) ))))) )) (argument_list "(piVar5,auStack_40._4_4_)" ( identifier , (field_expression "auStack_40._4_4_" identifier . field_identifier) )))) ;) (expression_statement "auStack_40._4_4_ = (int)uVar13;" (assignment_expression "auStack_40._4_4_ = (int)uVar13" (field_expression "auStack_40._4_4_" identifier . field_identifier) = (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "uVar12 = CONCAT44((int)uVar13,auStack_40._0_4_);" (assignment_expression "uVar12 = CONCAT44((int)uVar13,auStack_40._0_4_)" identifier = (call_expression "CONCAT44((int)uVar13,auStack_40._0_4_)" identifier (argument_list "((int)uVar13,auStack_40._0_4_)" ( (cast_expression "(int)uVar13" ( (type_descriptor "int" primitive_type) ) identifier) , (field_expression "auStack_40._0_4_" identifier . field_identifier) )))) ;) (expression_statement "piStack_38 = (int *)((ulonglong)uVar13 >> 0x20);" (assignment_expression "piStack_38 = (int *)((ulonglong)uVar13 >> 0x20)" identifier = (cast_expression "(int *)((ulonglong)uVar13 >> 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((ulonglong)uVar13 >> 0x20)" ( (binary_expression "(ulonglong)uVar13 >> 0x20" (cast_expression "(ulonglong)uVar13" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "piVar8 = piStack_34;" (assignment_expression "piVar8 = piStack_34" identifier = identifier) ;) (if_statement "if (auStack_40._0_4_ == 0) {\n          unique0x100005d7 = uVar13;\n          if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    \n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }\n          if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    \n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }\n          *param_3 = 2;\n          return 0;\n        }" if (parenthesized_expression "(auStack_40._0_4_ == 0)" ( (binary_expression "auStack_40._0_4_ == 0" (field_expression "auStack_40._0_4_" identifier . field_identifier) == number_literal) )) (compound_statement "{\n          unique0x100005d7 = uVar13;\n          if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    \n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }\n          if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    \n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }\n          *param_3 = 2;\n          return 0;\n        }" { (expression_statement "unique0x100005d7 = uVar13;" (assignment_expression "unique0x100005d7 = uVar13" identifier = identifier) ;) (if_statement "if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    \n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }" if (parenthesized_expression "(*(char *)(DAT_0038f378 + 0x10) == '\0')" ( (binary_expression "*(char *)(DAT_0038f378 + 0x10) == '\0'" (pointer_expression "*(char *)(DAT_0038f378 + 0x10)" * (cast_expression "(char *)(DAT_0038f378 + 0x10)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 0x10)" ( (binary_expression "DAT_0038f378 + 0x10" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    \n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }" { (expression_statement "piStack_50 = (int *)&UNK_0017c81c;" (assignment_expression "piStack_50 = (int *)&UNK_0017c81c" identifier = (cast_expression "(int *)&UNK_0017c81c" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&UNK_0017c81c" & identifier))) ;) (expression_statement "piStack_50 = (int *)FUN_00176fe0();" (assignment_expression "piStack_50 = (int *)FUN_00176fe0()" identifier = (cast_expression "(int *)FUN_00176fe0()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00176fe0()" identifier (argument_list "()" ( ))))) ;) (labeled_statement "code_r0x0017c81c:\n                    \n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");" statement_identifier : (expression_statement "FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");" (call_expression "FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value")" identifier (argument_list "("../../gold/symtab.cc",0xb21,"compute_final_value")" ( (string_literal ""../../gold/symtab.cc"" " string_content ") , number_literal , (string_literal ""compute_final_value"" " string_content ") ))) ;)) })) (if_statement "if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    \n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }" if (parenthesized_expression "(*(char *)(DAT_0038f378 + 0x11) == '\0')" ( (binary_expression "*(char *)(DAT_0038f378 + 0x11) == '\0'" (pointer_expression "*(char *)(DAT_0038f378 + 0x11)" * (cast_expression "(char *)(DAT_0038f378 + 0x11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0038f378 + 0x11)" ( (binary_expression "DAT_0038f378 + 0x11" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    \n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }" { (expression_statement "piStack_50 = *(int **)(DAT_0038f378 + 8);" (assignment_expression "piStack_50 = *(int **)(DAT_0038f378 + 8)" identifier = (pointer_expression "*(int **)(DAT_0038f378 + 8)" * (cast_expression "(int **)(DAT_0038f378 + 8)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_0038f378 + 8)" ( (binary_expression "DAT_0038f378 + 8" identifier + number_literal) ))))) ;) (if_statement "if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    \n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }" if (parenthesized_expression "(piStack_50 == (int *)0x0)" ( (binary_expression "piStack_50 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\ncode_r0x0017c83a:\n                    \n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }" { (labeled_statement "code_r0x0017c83a:\n                    \n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");" statement_identifier : (expression_statement "FUN_00069d00("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_00069d00("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;)) })) (if_statement "if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }" if (parenthesized_expression "(*(char *)((int)piStack_50 + 0x318d) == '\0')" ( (binary_expression "*(char *)((int)piStack_50 + 0x318d) == '\0'" (pointer_expression "*(char *)((int)piStack_50 + 0x318d)" * (cast_expression "(char *)((int)piStack_50 + 0x318d)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piStack_50 + 0x318d)" ( (binary_expression "(int)piStack_50 + 0x318d" (cast_expression "(int)piStack_50" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }" { (expression_statement "piStack_50 = (int *)param_2[5];" (assignment_expression "piStack_50 = (int *)param_2[5]" identifier = (cast_expression "(int *)param_2[5]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[5]" identifier [ number_literal ]))) ;) (if_statement "if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }" if (parenthesized_expression "(piStack_50 == (int *)0x0)" ( (binary_expression "piStack_50 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }" { (expression_statement "piStack_50 = (int *)&UNK_0017c83a;" (assignment_expression "piStack_50 = (int *)&UNK_0017c83a" identifier = (cast_expression "(int *)&UNK_0017c83a" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&UNK_0017c83a" & identifier))) ;) (expression_statement "piStack_50 = (int *)FUN_00177010();" (assignment_expression "piStack_50 = (int *)FUN_00177010()" identifier = (cast_expression "(int *)FUN_00177010()" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_00177010()" identifier (argument_list "()" ( ))))) ;) (goto_statement "goto code_r0x0017c83a;" goto statement_identifier ;) })) (if_statement "if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;" if (parenthesized_expression "(piStack_50 != (int *)0xffffffff)" ( (binary_expression "piStack_50 != (int *)0xffffffff" identifier != (cast_expression "(int *)0xffffffff" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (goto_statement "goto code_r0x0017c81c;" goto statement_identifier ;)) })) })) (expression_statement "*param_3 = 2;" (assignment_expression "*param_3 = 2" (pointer_expression "*param_3" * identifier) = number_literal) ;) (return_statement "return 0;" return number_literal ;) })) }) (else_clause "else {\n        if (auStack_40._0_4_ != 0) {\n          piStack_50 = param_2;\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        piStack_50 = (int *)auStack_40._4_4_;\n        FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5);\n        piVar5 = uStack_2c._4_4_;\n        auStack_40._0_4_ = apiStack_24[0];\n        ppiVar10 = &piStack_50;\n        if (uStack_2c._4_4_ == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }\n        if (*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0) {\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    \n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }\n        else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }\n        ppiVar9 = &piStack_50;\n        if (iStack_44 == 0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }\n        piStack_38 = apiStack_24[0];\n        uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_);\n        auStack_40 = (undefined1  [8])uVar12;\n        piVar8 = piStack_38;\n      }" else (compound_statement "{\n        if (auStack_40._0_4_ != 0) {\n          piStack_50 = param_2;\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        piStack_50 = (int *)auStack_40._4_4_;\n        FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5);\n        piVar5 = uStack_2c._4_4_;\n        auStack_40._0_4_ = apiStack_24[0];\n        ppiVar10 = &piStack_50;\n        if (uStack_2c._4_4_ == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }\n        if (*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0) {\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    \n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }\n        else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }\n        ppiVar9 = &piStack_50;\n        if (iStack_44 == 0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }\n        piStack_38 = apiStack_24[0];\n        uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_);\n        auStack_40 = (undefined1  [8])uVar12;\n        piVar8 = piStack_38;\n      }" { (if_statement "if (auStack_40._0_4_ != 0) {\n          piStack_50 = param_2;\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }" if (parenthesized_expression "(auStack_40._0_4_ != 0)" ( (binary_expression "auStack_40._0_4_ != 0" (field_expression "auStack_40._0_4_" identifier . field_identifier) != number_literal) )) (compound_statement "{\n          piStack_50 = param_2;\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }" { (expression_statement "piStack_50 = param_2;" (assignment_expression "piStack_50 = param_2" identifier = identifier) ;) (expression_statement "FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");" (call_expression "FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value")" identifier (argument_list "("../../gold/symtab.cc",0xb0c,"compute_final_value")" ( (string_literal ""../../gold/symtab.cc"" " string_content ") , number_literal , (string_literal ""compute_final_value"" " string_content ") ))) ;) })) (expression_statement "piStack_50 = (int *)auStack_40._4_4_;" (assignment_expression "piStack_50 = (int *)auStack_40._4_4_" identifier = (cast_expression "(int *)auStack_40._4_4_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_40._4_4_" identifier . field_identifier))) ;) (expression_statement "FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5);" (call_expression "FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5)" identifier (argument_list "(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5)" ( identifier , (pointer_expression "*(undefined4 *)(param_1 + 0x15c)" * (cast_expression "(undefined4 *)(param_1 + 0x15c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x15c)" ( (binary_expression "param_1 + 0x15c" identifier + number_literal) )))) , identifier ))) ;) (expression_statement "piVar5 = uStack_2c._4_4_;" (assignment_expression "piVar5 = uStack_2c._4_4_" identifier = (field_expression "uStack_2c._4_4_" identifier . field_identifier)) ;) (expression_statement "auStack_40._0_4_ = apiStack_24[0];" (assignment_expression "auStack_40._0_4_ = apiStack_24[0]" (field_expression "auStack_40._0_4_" identifier . field_identifier) = (subscript_expression "apiStack_24[0]" identifier [ number_literal ])) ;) (expression_statement "ppiVar10 = &piStack_50;" (assignment_expression "ppiVar10 = &piStack_50" identifier = (pointer_expression "&piStack_50" & identifier)) ;) (if_statement "if (uStack_2c._4_4_ == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }" if (parenthesized_expression "(uStack_2c._4_4_ == (int *)0x0)" ( (binary_expression "uStack_2c._4_4_ == (int *)0x0" (field_expression "uStack_2c._4_4_" identifier . field_identifier) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }" { (expression_statement "FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);" (call_expression "FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX)" identifier (argument_list "("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX)" ( (string_literal ""../../gold/symtab.cc"" " string_content ") , number_literal , (string_literal ""compute_final_value"" " string_content ") , identifier ))) ;) })) (if_statement "if (*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0) {\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    \n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }\n        else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }" if (parenthesized_expression "(*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0)" ( (binary_expression "*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0" (pointer_expression "*(code **)(*uStack_2c._4_4_ + 0x60)" * (cast_expression "(code **)(*uStack_2c._4_4_ + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*uStack_2c._4_4_ + 0x60)" ( (binary_expression "*uStack_2c._4_4_ + 0x60" (pointer_expression "*uStack_2c._4_4_" * (field_expression "uStack_2c._4_4_" identifier . field_identifier)) + number_literal) )))) == identifier) )) (compound_statement "{\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    \n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }" { (expression_statement "piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);" (assignment_expression "piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2)" identifier = (cast_expression "(int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2)" ( (binary_expression "uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2" (binary_expression "uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe]" (subscript_expression "uStack_2c._4_4_[0xf]" (field_expression "uStack_2c._4_4_" identifier . field_identifier) [ number_literal ]) - (subscript_expression "uStack_2c._4_4_[0xe]" (field_expression "uStack_2c._4_4_" identifier . field_identifier) [ number_literal ])) >> number_literal) )))) ;) (if_statement "if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    \n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }" if (parenthesized_expression "(piVar8 <= apiStack_24[0])" ( (binary_expression "piVar8 <= apiStack_24[0]" identifier <= (subscript_expression "apiStack_24[0]" identifier [ number_literal ])) )) (compound_statement "{\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    \n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }" { (labeled_statement "code_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;" statement_identifier : (expression_statement "*(int **)((int)ppiVar10 + -4) = piVar8;" (assignment_expression "*(int **)((int)ppiVar10 + -4) = piVar8" (pointer_expression "*(int **)((int)ppiVar10 + -4)" * (cast_expression "(int **)((int)ppiVar10 + -4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar10 + -4)" ( (binary_expression "(int)ppiVar10 + -4" (cast_expression "(int)ppiVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(char **)((int)ppiVar10 + -8) = "do_output_section";" (assignment_expression "*(char **)((int)ppiVar10 + -8) = "do_output_section"" (pointer_expression "*(char **)((int)ppiVar10 + -8)" * (cast_expression "(char **)((int)ppiVar10 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar10 + -8)" ( (binary_expression "(int)ppiVar10 + -8" (cast_expression "(int)ppiVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""do_output_section"" " string_content ")) ;) (expression_statement "*(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;" (assignment_expression "*(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8" (pointer_expression "*(undefined4 *)((int)ppiVar10 + -0xc)" * (cast_expression "(undefined4 *)((int)ppiVar10 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar10 + -0xc)" ( (binary_expression "(int)ppiVar10 + -0xc" (cast_expression "(int)ppiVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";" (assignment_expression "*(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h"" (pointer_expression "*(char **)((int)ppiVar10 + -0x10)" * (cast_expression "(char **)((int)ppiVar10 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar10 + -0x10)" ( (binary_expression "(int)ppiVar10 + -0x10" (cast_expression "(int)ppiVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""../../gold/object.h"" " string_content ")) ;) (expression_statement "*(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;" (assignment_expression "*(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869" (pointer_expression "*(undefined **)((int)ppiVar10 + -0x14)" * (cast_expression "(undefined **)((int)ppiVar10 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar10 + -0x14)" ( (binary_expression "(int)ppiVar10 + -0x14" (cast_expression "(int)ppiVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&UNK_0017c869" & identifier)) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);" (assignment_expression "iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4)" identifier = (pointer_expression "*(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4)" * (cast_expression "(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4)" ( (binary_expression "uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4" (subscript_expression "uStack_2c._4_4_[0xe]" (field_expression "uStack_2c._4_4_" identifier . field_identifier) [ number_literal ]) + (binary_expression "(int)apiStack_24[0] * 4" (cast_expression "(int)apiStack_24[0]" ( (type_descriptor "int" primitive_type) ) (subscript_expression "apiStack_24[0]" identifier [ number_literal ])) * number_literal)) ))))) ;) (expression_statement "piVar8 = uStack_2c._4_4_;" (assignment_expression "piVar8 = uStack_2c._4_4_" identifier = (field_expression "uStack_2c._4_4_" identifier . field_identifier)) ;) }) (else_clause "else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }" else (compound_statement "{\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }" { (expression_statement "piStack_30 = uStack_2c._4_4_;" (assignment_expression "piStack_30 = uStack_2c._4_4_" identifier = (field_expression "uStack_2c._4_4_" identifier . field_identifier)) ;) (expression_statement "piStack_38 = apiStack_24[0];" (assignment_expression "piStack_38 = apiStack_24[0]" identifier = (subscript_expression "apiStack_24[0]" identifier [ number_literal ])) ;) (expression_statement "iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);" (assignment_expression "iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_)" identifier = (call_expression "(**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_)" (parenthesized_expression "(**(code **)(*uStack_2c._4_4_ + 0x60))" ( (pointer_expression "**(code **)(*uStack_2c._4_4_ + 0x60)" * (pointer_expression "*(code **)(*uStack_2c._4_4_ + 0x60)" * (cast_expression "(code **)(*uStack_2c._4_4_ + 0x60)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*uStack_2c._4_4_ + 0x60)" ( (binary_expression "*uStack_2c._4_4_ + 0x60" (pointer_expression "*uStack_2c._4_4_" * (field_expression "uStack_2c._4_4_" identifier . field_identifier)) + number_literal) ))))) )) (argument_list "(uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_)" ( (field_expression "uStack_2c._4_4_" identifier . field_identifier) , (subscript_expression "apiStack_24[0]" identifier [ number_literal ]) , (field_expression "uStack_2c._4_4_" identifier . field_identifier) , (field_expression "uStack_2c._4_4_" identifier . field_identifier) )))) ;) (expression_statement "apiStack_24[0] = piStack_38;" (assignment_expression "apiStack_24[0] = piStack_38" (subscript_expression "apiStack_24[0]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar8 = piStack_30;" (assignment_expression "piVar8 = piStack_30" identifier = identifier) ;) }))) (expression_statement "ppiVar9 = &piStack_50;" (assignment_expression "ppiVar9 = &piStack_50" identifier = (pointer_expression "&piStack_50" & identifier)) ;) (if_statement "if (iStack_44 == 0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }" if (parenthesized_expression "(iStack_44 == 0)" ( (binary_expression "iStack_44 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }" { (expression_statement "FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);" (call_expression "FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0)" identifier (argument_list "("../../gold/symtab.cc",0xb15,"compute_final_value",0)" ( (string_literal ""../../gold/symtab.cc"" " string_content ") , number_literal , (string_literal ""compute_final_value"" " string_content ") , number_literal ))) ;) })) (expression_statement "piStack_38 = apiStack_24[0];" (assignment_expression "piStack_38 = apiStack_24[0]" identifier = (subscript_expression "apiStack_24[0]" identifier [ number_literal ])) ;) (expression_statement "uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_);" (assignment_expression "uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_)" identifier = (call_expression "(**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_)" (parenthesized_expression "(**(code **)(*piVar8 + 0x68))" ( (pointer_expression "**(code **)(*piVar8 + 0x68)" * (pointer_expression "*(code **)(*piVar8 + 0x68)" * (cast_expression "(code **)(*piVar8 + 0x68)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piVar8 + 0x68)" ( (binary_expression "*piVar8 + 0x68" (pointer_expression "*piVar8" * identifier) + number_literal) ))))) )) (argument_list "(piVar8,auStack_40._0_4_)" ( identifier , (field_expression "auStack_40._0_4_" identifier . field_identifier) )))) ;) (expression_statement "auStack_40 = (undefined1  [8])uVar12;" (assignment_expression "auStack_40 = (undefined1  [8])uVar12" identifier = (cast_expression "(undefined1  [8])uVar12" ( (type_descriptor "undefined1  [8]" type_identifier (abstract_array_declarator "[8]" [ number_literal ])) ) identifier)) ;) (expression_statement "piVar8 = piStack_38;" (assignment_expression "piVar8 = piStack_38" identifier = identifier) ;) }))) (expression_statement "iVar6 = param_2[0xc];" (assignment_expression "iVar6 = param_2[0xc]" identifier = (subscript_expression "param_2[0xc]" identifier [ number_literal ])) ;) (expression_statement "*(int *)((int)ppiVar9 + 0x1c) = param_2[0xd];" (assignment_expression "*(int *)((int)ppiVar9 + 0x1c) = param_2[0xd]" (pointer_expression "*(int *)((int)ppiVar9 + 0x1c)" * (cast_expression "(int *)((int)ppiVar9 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + 0x1c)" ( (binary_expression "(int)ppiVar9 + 0x1c" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (subscript_expression "param_2[0xd]" identifier [ number_literal ])) ;) (expression_statement "*(int *)((int)ppiVar9 + 0x18) = iVar6;" (assignment_expression "*(int *)((int)ppiVar9 + 0x18) = iVar6" (pointer_expression "*(int *)((int)ppiVar9 + 0x18)" * (cast_expression "(int *)((int)ppiVar9 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + 0x18)" ( (binary_expression "(int)ppiVar9 + 0x18" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "auStack_40 = (undefined1  [8])uVar12;" (assignment_expression "auStack_40 = (undefined1  [8])uVar12" identifier = (cast_expression "(undefined1  [8])uVar12" ( (type_descriptor "undefined1  [8]" type_identifier (abstract_array_declarator "[8]" [ number_literal ])) ) identifier)) ;) (if_statement "if ((*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10)) == 0xffffffff) {\n        *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0x1c);\n        *(undefined4 *)((int)ppiVar9 + -0x14) = *(undefined4 *)((int)ppiVar9 + 0x18);\n        *(int **)((int)ppiVar9 + -0x18) = piVar8;\n        *(int **)((int)ppiVar9 + -0x1c) = piVar5;\n        *(undefined4 *)((int)ppiVar9 + -0x20) = *(undefined4 *)((int)ppiVar9 + 0xc);\n        *(undefined **)((int)ppiVar9 + -0x24) = &UNK_0017c717;\n        uVar7 = FUN_000f5920();\n      }\n      else if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n        pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);\n        if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }\n        uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);\n      }\n      else {\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }" if (parenthesized_expression "((*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10)) == 0xffffffff)" ( (binary_expression "(*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10)) == 0xffffffff" (parenthesized_expression "(*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10))" ( (binary_expression "*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10)" (pointer_expression "*(uint *)((int)ppiVar9 + 0x14)" * (cast_expression "(uint *)((int)ppiVar9 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + 0x14)" ( (binary_expression "(int)ppiVar9 + 0x14" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & (pointer_expression "*(uint *)((int)ppiVar9 + 0x10)" * (cast_expression "(uint *)((int)ppiVar9 + 0x10)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + 0x10)" ( (binary_expression "(int)ppiVar9 + 0x10" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) )) == number_literal) )) (compound_statement "{\n        *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0x1c);\n        *(undefined4 *)((int)ppiVar9 + -0x14) = *(undefined4 *)((int)ppiVar9 + 0x18);\n        *(int **)((int)ppiVar9 + -0x18) = piVar8;\n        *(int **)((int)ppiVar9 + -0x1c) = piVar5;\n        *(undefined4 *)((int)ppiVar9 + -0x20) = *(undefined4 *)((int)ppiVar9 + 0xc);\n        *(undefined **)((int)ppiVar9 + -0x24) = &UNK_0017c717;\n        uVar7 = FUN_000f5920();\n      }" { (expression_statement "*(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0x1c);" (assignment_expression "*(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0x1c)" (pointer_expression "*(undefined4 *)((int)ppiVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)ppiVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + -0x10)" ( (binary_expression "(int)ppiVar9 + -0x10" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)ppiVar9 + 0x1c)" * (cast_expression "(undefined4 *)((int)ppiVar9 + 0x1c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + 0x1c)" ( (binary_expression "(int)ppiVar9 + 0x1c" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined4 *)((int)ppiVar9 + -0x14) = *(undefined4 *)((int)ppiVar9 + 0x18);" (assignment_expression "*(undefined4 *)((int)ppiVar9 + -0x14) = *(undefined4 *)((int)ppiVar9 + 0x18)" (pointer_expression "*(undefined4 *)((int)ppiVar9 + -0x14)" * (cast_expression "(undefined4 *)((int)ppiVar9 + -0x14)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + -0x14)" ( (binary_expression "(int)ppiVar9 + -0x14" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)ppiVar9 + 0x18)" * (cast_expression "(undefined4 *)((int)ppiVar9 + 0x18)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + 0x18)" ( (binary_expression "(int)ppiVar9 + 0x18" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(int **)((int)ppiVar9 + -0x18) = piVar8;" (assignment_expression "*(int **)((int)ppiVar9 + -0x18) = piVar8" (pointer_expression "*(int **)((int)ppiVar9 + -0x18)" * (cast_expression "(int **)((int)ppiVar9 + -0x18)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar9 + -0x18)" ( (binary_expression "(int)ppiVar9 + -0x18" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(int **)((int)ppiVar9 + -0x1c) = piVar5;" (assignment_expression "*(int **)((int)ppiVar9 + -0x1c) = piVar5" (pointer_expression "*(int **)((int)ppiVar9 + -0x1c)" * (cast_expression "(int **)((int)ppiVar9 + -0x1c)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar9 + -0x1c)" ( (binary_expression "(int)ppiVar9 + -0x1c" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)((int)ppiVar9 + -0x20) = *(undefined4 *)((int)ppiVar9 + 0xc);" (assignment_expression "*(undefined4 *)((int)ppiVar9 + -0x20) = *(undefined4 *)((int)ppiVar9 + 0xc)" (pointer_expression "*(undefined4 *)((int)ppiVar9 + -0x20)" * (cast_expression "(undefined4 *)((int)ppiVar9 + -0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + -0x20)" ( (binary_expression "(int)ppiVar9 + -0x20" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)ppiVar9 + 0xc)" * (cast_expression "(undefined4 *)((int)ppiVar9 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + 0xc)" ( (binary_expression "(int)ppiVar9 + 0xc" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined **)((int)ppiVar9 + -0x24) = &UNK_0017c717;" (assignment_expression "*(undefined **)((int)ppiVar9 + -0x24) = &UNK_0017c717" (pointer_expression "*(undefined **)((int)ppiVar9 + -0x24)" * (cast_expression "(undefined **)((int)ppiVar9 + -0x24)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar9 + -0x24)" ( (binary_expression "(int)ppiVar9 + -0x24" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&UNK_0017c717" & identifier)) ;) (expression_statement "uVar7 = FUN_000f5920();" (assignment_expression "uVar7 = FUN_000f5920()" identifier = (call_expression "FUN_000f5920()" identifier (argument_list "()" ( )))) ;) }) (else_clause "else if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n        pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);\n        if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }\n        uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);\n      }\n      else {\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }" else (if_statement "if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n        pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);\n        if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }\n        uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);\n      }\n      else {\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }" if (parenthesized_expression "((*(byte *)(param_2 + 10) & 0xf) == 6)" ( (binary_expression "(*(byte *)(param_2 + 10) & 0xf) == 6" (parenthesized_expression "(*(byte *)(param_2 + 10) & 0xf)" ( (binary_expression "*(byte *)(param_2 + 10) & 0xf" (pointer_expression "*(byte *)(param_2 + 10)" * (cast_expression "(byte *)(param_2 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 10)" ( (binary_expression "param_2 + 10" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n        pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);\n        if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }\n        uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);\n      }" { (expression_statement "pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);" (assignment_expression "pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48)" identifier = (pointer_expression "*(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48)" * (cast_expression "(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)((int)ppiVar9 + 0xc) + 0x48)" ( (binary_expression "**(int **)((int)ppiVar9 + 0xc) + 0x48" (pointer_expression "**(int **)((int)ppiVar9 + 0xc)" * (pointer_expression "*(int **)((int)ppiVar9 + 0xc)" * (cast_expression "(int **)((int)ppiVar9 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar9 + 0xc)" ( (binary_expression "(int)ppiVar9 + 0xc" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) + number_literal) ))))) ;) (if_statement "if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }" if (parenthesized_expression "(pcVar2 == FUN_000b3000)" ( (binary_expression "pcVar2 == FUN_000b3000" identifier == identifier) )) (compound_statement "{\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }" { (expression_statement "iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];" (assignment_expression "iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25]" identifier = (subscript_expression "(*(int **)((int)ppiVar9 + 0xc))[0x25]" (parenthesized_expression "(*(int **)((int)ppiVar9 + 0xc))" ( (pointer_expression "*(int **)((int)ppiVar9 + 0xc)" * (cast_expression "(int **)((int)ppiVar9 + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar9 + 0xc)" ( (binary_expression "(int)ppiVar9 + 0xc" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) )) [ number_literal ])) ;) }) (else_clause "else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }" else (compound_statement "{\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }" { (expression_statement "*(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);" (assignment_expression "*(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc)" (pointer_expression "*(undefined4 *)((int)ppiVar9 + -0x10)" * (cast_expression "(undefined4 *)((int)ppiVar9 + -0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + -0x10)" ( (binary_expression "(int)ppiVar9 + -0x10" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "*(undefined4 *)((int)ppiVar9 + 0xc)" * (cast_expression "(undefined4 *)((int)ppiVar9 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + 0xc)" ( (binary_expression "(int)ppiVar9 + 0xc" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (expression_statement "*(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;" (assignment_expression "*(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763" (pointer_expression "*(undefined **)((int)ppiVar9 + -0x14)" * (cast_expression "(undefined **)((int)ppiVar9 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar9 + -0x14)" ( (binary_expression "(int)ppiVar9 + -0x14" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&UNK_0017c763" & identifier)) ;) (expression_statement "iVar6 = (*pcVar2)();" (assignment_expression "iVar6 = (*pcVar2)()" identifier = (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" ( (pointer_expression "*pcVar2" * identifier) )) (argument_list "()" ( )))) ;) }))) (expression_statement "uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);" (assignment_expression "uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10)" identifier = (binary_expression "iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10)" (binary_expression "iVar6 + *(int *)((int)ppiVar9 + 0x18)" identifier + (pointer_expression "*(int *)((int)ppiVar9 + 0x18)" * (cast_expression "(int *)((int)ppiVar9 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + 0x18)" ( (binary_expression "(int)ppiVar9 + 0x18" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) + (pointer_expression "*(int *)((int)ppiVar9 + 0x10)" * (cast_expression "(int *)((int)ppiVar9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + 0x10)" ( (binary_expression "(int)ppiVar9 + 0x10" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))))) ;) }) (else_clause "else {\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }" else (compound_statement "{\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }" { (expression_statement "uVar7 = *(uint *)((int)ppiVar9 + 0xc);" (assignment_expression "uVar7 = *(uint *)((int)ppiVar9 + 0xc)" identifier = (pointer_expression "*(uint *)((int)ppiVar9 + 0xc)" * (cast_expression "(uint *)((int)ppiVar9 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + 0xc)" ( (binary_expression "(int)ppiVar9 + 0xc" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) ;) (if_statement "if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;" if (parenthesized_expression "((*(byte *)(uVar7 + 0x1c) & 1) == 0)" ( (binary_expression "(*(byte *)(uVar7 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(uVar7 + 0x1c) & 1)" ( (binary_expression "*(byte *)(uVar7 + 0x1c) & 1" (pointer_expression "*(byte *)(uVar7 + 0x1c)" * (cast_expression "(byte *)(uVar7 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uVar7 + 0x1c)" ( (binary_expression "uVar7 + 0x1c" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (goto_statement "goto code_r0x0017c7b3;" goto statement_identifier ;)) (expression_statement "uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);" (assignment_expression "uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4)" identifier = (binary_expression "*(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4)" (binary_expression "*(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10)" (pointer_expression "*(int *)((int)ppiVar9 + 0x18)" * (cast_expression "(int *)((int)ppiVar9 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + 0x18)" ( (binary_expression "(int)ppiVar9 + 0x18" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + (pointer_expression "*(int *)((int)ppiVar9 + 0x10)" * (cast_expression "(int *)((int)ppiVar9 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + 0x10)" ( (binary_expression "(int)ppiVar9 + 0x10" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) + (pointer_expression "*(int *)(*(int *)((int)ppiVar9 + 0xc) + 4)" * (cast_expression "(int *)(*(int *)((int)ppiVar9 + 0xc) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)((int)ppiVar9 + 0xc) + 4)" ( (binary_expression "*(int *)((int)ppiVar9 + 0xc) + 4" (pointer_expression "*(int *)((int)ppiVar9 + 0xc)" * (cast_expression "(int *)((int)ppiVar9 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + 0xc)" ( (binary_expression "(int)ppiVar9 + 0xc" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) + number_literal) )))))) ;) }))))) (break_statement "break;" break ;) }))) (case_statement "case (int *)0x3:\n    uVar7 = param_2[0xc];\n    ppiVar9 = (int **)auStack_4c;\n    break;" case (cast_expression "(int *)0x3" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) : (expression_statement "uVar7 = param_2[0xc];" (assignment_expression "uVar7 = param_2[0xc]" identifier = (subscript_expression "param_2[0xc]" identifier [ number_literal ])) ;) (expression_statement "ppiVar9 = (int **)auStack_4c;" (assignment_expression "ppiVar9 = (int **)auStack_4c" identifier = (cast_expression "(int **)auStack_4c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (break_statement "break;" break ;)) (case_statement "case (int *)0x1:\n    if ((bVar3 & 7) != 1) {\n      piStack_50 = piVar5;\n                    \n      FUN_00069d00("../../gold/symtab.h",0xb5,"output_data");\n    }\n    auStack_40._0_4_ = param_2[2];\n    iVar6 = param_2[0xc];\n    piVar5 = (int *)param_2[0xd];\n    if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n      piStack_34 = (int *)(**(code **)(*(int *)auStack_40._0_4_ + 0x24))(auStack_40._0_4_);\n      if (piStack_34 == (int *)0x0) {\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }\n      if (*(code **)(*piStack_34 + 0x48) == FUN_000b3000) {\n        uStack_2c = *(undefined8 *)(piStack_34 + 0x25);\n      }\n      else {\n        uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34);\n      }\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if (((bVar3 & 1) == 0) ||\n         (uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0)\n         ) goto code_r0x0017c7b3;\n      uVar7 = (int)uStack_2c + ((iVar6 + uVar7) - piStack_34[1]);\n      piStack_50 = (int *)(*(byte *)((int)param_2 + 0x2a) & 7);\n      if ((char)piStack_50 != '\x01') {\n                    \n        FUN_00069d00("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }\n    }\n    else {\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if ((bVar3 & 1) == 0) {\ncode_r0x0017c7b3:\n        *(uint *)((int)ppiVar9 + -4) = uVar7;\n        *(char **)((int)ppiVar9 + -8) = "address";\n        *(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5;\n        *(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h";\n                    \n        *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc;\n        auStack_40 = (undefined1  [8])uVar12;\n        FUN_00069d00();\n      }\n      uVar7 = iVar6 + *(int *)(auStack_40._0_4_ + 4);\n    }\n    ppiVar9 = (int **)auStack_4c;\n    if ((char)param_2[3] != '\0') {\n      if ((auStack_40._4_4_ & 2) == 0) {\n        piStack_50 = param_2;\n                    \n        FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar7 = uVar7 + *(int *)(auStack_40._0_4_ + 0xc);\n      ppiVar9 = (int **)auStack_4c;\n    }\n    break;" case (cast_expression "(int *)0x1" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) : (if_statement "if ((bVar3 & 7) != 1) {\n      piStack_50 = piVar5;\n                    \n      FUN_00069d00("../../gold/symtab.h",0xb5,"output_data");\n    }" if (parenthesized_expression "((bVar3 & 7) != 1)" ( (binary_expression "(bVar3 & 7) != 1" (parenthesized_expression "(bVar3 & 7)" ( (binary_expression "bVar3 & 7" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      piStack_50 = piVar5;\n                    \n      FUN_00069d00("../../gold/symtab.h",0xb5,"output_data");\n    }" { (expression_statement "piStack_50 = piVar5;" (assignment_expression "piStack_50 = piVar5" identifier = identifier) ;) (expression_statement "FUN_00069d00("../../gold/symtab.h",0xb5,"output_data");" (call_expression "FUN_00069d00("../../gold/symtab.h",0xb5,"output_data")" identifier (argument_list "("../../gold/symtab.h",0xb5,"output_data")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""output_data"" " string_content ") ))) ;) })) (expression_statement "auStack_40._0_4_ = param_2[2];" (assignment_expression "auStack_40._0_4_ = param_2[2]" (field_expression "auStack_40._0_4_" identifier . field_identifier) = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) (expression_statement "iVar6 = param_2[0xc];" (assignment_expression "iVar6 = param_2[0xc]" identifier = (subscript_expression "param_2[0xc]" identifier [ number_literal ])) ;) (expression_statement "piVar5 = (int *)param_2[0xd];" (assignment_expression "piVar5 = (int *)param_2[0xd]" identifier = (cast_expression "(int *)param_2[0xd]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[0xd]" identifier [ number_literal ]))) ;) (if_statement "if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n      piStack_34 = (int *)(**(code **)(*(int *)auStack_40._0_4_ + 0x24))(auStack_40._0_4_);\n      if (piStack_34 == (int *)0x0) {\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }\n      if (*(code **)(*piStack_34 + 0x48) == FUN_000b3000) {\n        uStack_2c = *(undefined8 *)(piStack_34 + 0x25);\n      }\n      else {\n        uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34);\n      }\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if (((bVar3 & 1) == 0) ||\n         (uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0)\n         ) goto code_r0x0017c7b3;\n      uVar7 = (int)uStack_2c + ((iVar6 + uVar7) - piStack_34[1]);\n      piStack_50 = (int *)(*(byte *)((int)param_2 + 0x2a) & 7);\n      if ((char)piStack_50 != '\x01') {\n                    \n        FUN_00069d00("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }\n    }\n    else {\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if ((bVar3 & 1) == 0) {\ncode_r0x0017c7b3:\n        *(uint *)((int)ppiVar9 + -4) = uVar7;\n        *(char **)((int)ppiVar9 + -8) = "address";\n        *(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5;\n        *(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h";\n                    \n        *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc;\n        auStack_40 = (undefined1  [8])uVar12;\n        FUN_00069d00();\n      }\n      uVar7 = iVar6 + *(int *)(auStack_40._0_4_ + 4);\n    }" if (parenthesized_expression "((*(byte *)(param_2 + 10) & 0xf) == 6)" ( (binary_expression "(*(byte *)(param_2 + 10) & 0xf) == 6" (parenthesized_expression "(*(byte *)(param_2 + 10) & 0xf)" ( (binary_expression "*(byte *)(param_2 + 10) & 0xf" (pointer_expression "*(byte *)(param_2 + 10)" * (cast_expression "(byte *)(param_2 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 10)" ( (binary_expression "param_2 + 10" identifier + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      piStack_34 = (int *)(**(code **)(*(int *)auStack_40._0_4_ + 0x24))(auStack_40._0_4_);\n      if (piStack_34 == (int *)0x0) {\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }\n      if (*(code **)(*piStack_34 + 0x48) == FUN_000b3000) {\n        uStack_2c = *(undefined8 *)(piStack_34 + 0x25);\n      }\n      else {\n        uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34);\n      }\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if (((bVar3 & 1) == 0) ||\n         (uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0)\n         ) goto code_r0x0017c7b3;\n      uVar7 = (int)uStack_2c + ((iVar6 + uVar7) - piStack_34[1]);\n      piStack_50 = (int *)(*(byte *)((int)param_2 + 0x2a) & 7);\n      if ((char)piStack_50 != '\x01') {\n                    \n        FUN_00069d00("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }\n    }" { (expression_statement "piStack_34 = (int *)(**(code **)(*(int *)auStack_40._0_4_ + 0x24))(auStack_40._0_4_);" (assignment_expression "piStack_34 = (int *)(**(code **)(*(int *)auStack_40._0_4_ + 0x24))(auStack_40._0_4_)" identifier = (cast_expression "(int *)(**(code **)(*(int *)auStack_40._0_4_ + 0x24))(auStack_40._0_4_)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(*(int *)auStack_40._0_4_ + 0x24))(auStack_40._0_4_)" (parenthesized_expression "(**(code **)(*(int *)auStack_40._0_4_ + 0x24))" ( (pointer_expression "**(code **)(*(int *)auStack_40._0_4_ + 0x24)" * (pointer_expression "*(code **)(*(int *)auStack_40._0_4_ + 0x24)" * (cast_expression "(code **)(*(int *)auStack_40._0_4_ + 0x24)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)auStack_40._0_4_ + 0x24)" ( (binary_expression "*(int *)auStack_40._0_4_ + 0x24" (pointer_expression "*(int *)auStack_40._0_4_" * (cast_expression "(int *)auStack_40._0_4_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (field_expression "auStack_40._0_4_" identifier . field_identifier))) + number_literal) ))))) )) (argument_list "(auStack_40._0_4_)" ( (field_expression "auStack_40._0_4_" identifier . field_identifier) ))))) ;) (if_statement "if (piStack_34 == (int *)0x0) {\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }" if (parenthesized_expression "(piStack_34 == (int *)0x0)" ( (binary_expression "piStack_34 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }" { (expression_statement "piStack_50 = piVar5;" (assignment_expression "piStack_50 = piVar5" identifier = identifier) ;) (expression_statement "FUN_00069d00("../../gold/symtab.cc",0xb43,"compute_final_value");" (call_expression "FUN_00069d00("../../gold/symtab.cc",0xb43,"compute_final_value")" identifier (argument_list "("../../gold/symtab.cc",0xb43,"compute_final_value")" ( (string_literal ""../../gold/symtab.cc"" " string_content ") , number_literal , (string_literal ""compute_final_value"" " string_content ") ))) ;) })) (if_statement "if (*(code **)(*piStack_34 + 0x48) == FUN_000b3000) {\n        uStack_2c = *(undefined8 *)(piStack_34 + 0x25);\n      }\n      else {\n        uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34);\n      }" if (parenthesized_expression "(*(code **)(*piStack_34 + 0x48) == FUN_000b3000)" ( (binary_expression "*(code **)(*piStack_34 + 0x48) == FUN_000b3000" (pointer_expression "*(code **)(*piStack_34 + 0x48)" * (cast_expression "(code **)(*piStack_34 + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piStack_34 + 0x48)" ( (binary_expression "*piStack_34 + 0x48" (pointer_expression "*piStack_34" * identifier) + number_literal) )))) == identifier) )) (compound_statement "{\n        uStack_2c = *(undefined8 *)(piStack_34 + 0x25);\n      }" { (expression_statement "uStack_2c = *(undefined8 *)(piStack_34 + 0x25);" (assignment_expression "uStack_2c = *(undefined8 *)(piStack_34 + 0x25)" identifier = (pointer_expression "*(undefined8 *)(piStack_34 + 0x25)" * (cast_expression "(undefined8 *)(piStack_34 + 0x25)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piStack_34 + 0x25)" ( (binary_expression "piStack_34 + 0x25" identifier + number_literal) ))))) ;) }) (else_clause "else {\n        uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34);\n      }" else (compound_statement "{\n        uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34);\n      }" { (expression_statement "uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34);" (assignment_expression "uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34)" identifier = (call_expression "(**(code **)(*piStack_34 + 0x48))(piStack_34)" (parenthesized_expression "(**(code **)(*piStack_34 + 0x48))" ( (pointer_expression "**(code **)(*piStack_34 + 0x48)" * (pointer_expression "*(code **)(*piStack_34 + 0x48)" * (cast_expression "(code **)(*piStack_34 + 0x48)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*piStack_34 + 0x48)" ( (binary_expression "*piStack_34 + 0x48" (pointer_expression "*piStack_34" * identifier) + number_literal) ))))) )) (argument_list "(piStack_34)" ( identifier )))) ;) }))) (expression_statement "bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);" (assignment_expression "bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c)" identifier = (pointer_expression "*(byte *)(auStack_40._0_4_ + 0x1c)" * (cast_expression "(byte *)(auStack_40._0_4_ + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_40._0_4_ + 0x1c)" ( (binary_expression "auStack_40._0_4_ + 0x1c" (field_expression "auStack_40._0_4_" identifier . field_identifier) + number_literal) ))))) ;) (expression_statement "uVar7 = (uint)bVar3;" (assignment_expression "uVar7 = (uint)bVar3" identifier = (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "auStack_40[4] = bVar3;" (assignment_expression "auStack_40[4] = bVar3" (subscript_expression "auStack_40[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppiVar9 = (int **)auStack_4c;" (assignment_expression "ppiVar9 = (int **)auStack_4c" identifier = (cast_expression "(int **)auStack_4c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);" (assignment_expression "uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_)" identifier = (call_expression "CONCAT44(auStack_40._4_4_,auStack_40._0_4_)" identifier (argument_list "(auStack_40._4_4_,auStack_40._0_4_)" ( (field_expression "auStack_40._4_4_" identifier . field_identifier) , (field_expression "auStack_40._0_4_" identifier . field_identifier) )))) ;) (if_statement "if (((bVar3 & 1) == 0) ||\n         (uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0)\n         ) goto code_r0x0017c7b3;" if (parenthesized_expression "(((bVar3 & 1) == 0) ||\n         (uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0)\n         )" ( (binary_expression "((bVar3 & 1) == 0) ||\n         (uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0)" (parenthesized_expression "((bVar3 & 1) == 0)" ( (binary_expression "(bVar3 & 1) == 0" (parenthesized_expression "(bVar3 & 1)" ( (binary_expression "bVar3 & 1" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "(uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0)" ( (comma_expression "uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0" (assignment_expression "uVar7 = *(uint *)(auStack_40._0_4_ + 4)" identifier = (pointer_expression "*(uint *)(auStack_40._0_4_ + 4)" * (cast_expression "(uint *)(auStack_40._0_4_ + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_40._0_4_ + 4)" ( (binary_expression "auStack_40._0_4_ + 4" (field_expression "auStack_40._0_4_" identifier . field_identifier) + number_literal) ))))) , (comma_expression "ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0" (assignment_expression "ppiVar9 = (int **)auStack_4c" identifier = (cast_expression "(int **)auStack_4c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , (comma_expression "uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0" (assignment_expression "uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_)" identifier = (call_expression "CONCAT44(auStack_40._4_4_,auStack_40._0_4_)" identifier (argument_list "(auStack_40._4_4_,auStack_40._0_4_)" ( (field_expression "auStack_40._4_4_" identifier . field_identifier) , (field_expression "auStack_40._0_4_" identifier . field_identifier) )))) , (binary_expression "(*(byte *)(piStack_34 + 7) & 1) == 0" (parenthesized_expression "(*(byte *)(piStack_34 + 7) & 1)" ( (binary_expression "*(byte *)(piStack_34 + 7) & 1" (pointer_expression "*(byte *)(piStack_34 + 7)" * (cast_expression "(byte *)(piStack_34 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piStack_34 + 7)" ( (binary_expression "piStack_34 + 7" identifier + number_literal) )))) & number_literal) )) == number_literal)))) ))) )) (goto_statement "goto code_r0x0017c7b3;" goto statement_identifier ;)) (expression_statement "uVar7 = (int)uStack_2c + ((iVar6 + uVar7) - piStack_34[1]);" (assignment_expression "uVar7 = (int)uStack_2c + ((iVar6 + uVar7) - piStack_34[1])" identifier = (binary_expression "(int)uStack_2c + ((iVar6 + uVar7) - piStack_34[1])" (cast_expression "(int)uStack_2c" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((iVar6 + uVar7) - piStack_34[1])" ( (binary_expression "(iVar6 + uVar7) - piStack_34[1]" (parenthesized_expression "(iVar6 + uVar7)" ( (binary_expression "iVar6 + uVar7" identifier + identifier) )) - (subscript_expression "piStack_34[1]" identifier [ number_literal ])) )))) ;) (expression_statement "piStack_50 = (int *)(*(byte *)((int)param_2 + 0x2a) & 7);" (assignment_expression "piStack_50 = (int *)(*(byte *)((int)param_2 + 0x2a) & 7)" identifier = (cast_expression "(int *)(*(byte *)((int)param_2 + 0x2a) & 7)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(byte *)((int)param_2 + 0x2a) & 7)" ( (binary_expression "*(byte *)((int)param_2 + 0x2a) & 7" (pointer_expression "*(byte *)((int)param_2 + 0x2a)" * (cast_expression "(byte *)((int)param_2 + 0x2a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)param_2 + 0x2a)" ( (binary_expression "(int)param_2 + 0x2a" (cast_expression "(int)param_2" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )))) ;) (if_statement "if ((char)piStack_50 != '\x01') {\n                    \n        FUN_00069d00("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }" if (parenthesized_expression "((char)piStack_50 != '\x01')" ( (binary_expression "(char)piStack_50 != '\x01'" (cast_expression "(char)piStack_50" ( (type_descriptor "char" primitive_type) ) identifier) != (char_literal "'\x01'" ' escape_sequence ')) )) (compound_statement "{\n                    \n        FUN_00069d00("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }" { (expression_statement "FUN_00069d00("../../gold/symtab.h",0xbe,"offset_is_from_end");" (call_expression "FUN_00069d00("../../gold/symtab.h",0xbe,"offset_is_from_end")" identifier (argument_list "("../../gold/symtab.h",0xbe,"offset_is_from_end")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""offset_is_from_end"" " string_content ") ))) ;) })) }) (else_clause "else {\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if ((bVar3 & 1) == 0) {\ncode_r0x0017c7b3:\n        *(uint *)((int)ppiVar9 + -4) = uVar7;\n        *(char **)((int)ppiVar9 + -8) = "address";\n        *(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5;\n        *(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h";\n                    \n        *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc;\n        auStack_40 = (undefined1  [8])uVar12;\n        FUN_00069d00();\n      }\n      uVar7 = iVar6 + *(int *)(auStack_40._0_4_ + 4);\n    }" else (compound_statement "{\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if ((bVar3 & 1) == 0) {\ncode_r0x0017c7b3:\n        *(uint *)((int)ppiVar9 + -4) = uVar7;\n        *(char **)((int)ppiVar9 + -8) = "address";\n        *(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5;\n        *(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h";\n                    \n        *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc;\n        auStack_40 = (undefined1  [8])uVar12;\n        FUN_00069d00();\n      }\n      uVar7 = iVar6 + *(int *)(auStack_40._0_4_ + 4);\n    }" { (expression_statement "bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);" (assignment_expression "bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c)" identifier = (pointer_expression "*(byte *)(auStack_40._0_4_ + 0x1c)" * (cast_expression "(byte *)(auStack_40._0_4_ + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_40._0_4_ + 0x1c)" ( (binary_expression "auStack_40._0_4_ + 0x1c" (field_expression "auStack_40._0_4_" identifier . field_identifier) + number_literal) ))))) ;) (expression_statement "uVar7 = (uint)bVar3;" (assignment_expression "uVar7 = (uint)bVar3" identifier = (cast_expression "(uint)bVar3" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "auStack_40[4] = bVar3;" (assignment_expression "auStack_40[4] = bVar3" (subscript_expression "auStack_40[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "ppiVar9 = (int **)auStack_4c;" (assignment_expression "ppiVar9 = (int **)auStack_4c" identifier = (cast_expression "(int **)auStack_4c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (expression_statement "uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);" (assignment_expression "uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_)" identifier = (call_expression "CONCAT44(auStack_40._4_4_,auStack_40._0_4_)" identifier (argument_list "(auStack_40._4_4_,auStack_40._0_4_)" ( (field_expression "auStack_40._4_4_" identifier . field_identifier) , (field_expression "auStack_40._0_4_" identifier . field_identifier) )))) ;) (if_statement "if ((bVar3 & 1) == 0) {\ncode_r0x0017c7b3:\n        *(uint *)((int)ppiVar9 + -4) = uVar7;\n        *(char **)((int)ppiVar9 + -8) = "address";\n        *(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5;\n        *(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h";\n                    \n        *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc;\n        auStack_40 = (undefined1  [8])uVar12;\n        FUN_00069d00();\n      }" if (parenthesized_expression "((bVar3 & 1) == 0)" ( (binary_expression "(bVar3 & 1) == 0" (parenthesized_expression "(bVar3 & 1)" ( (binary_expression "bVar3 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\ncode_r0x0017c7b3:\n        *(uint *)((int)ppiVar9 + -4) = uVar7;\n        *(char **)((int)ppiVar9 + -8) = "address";\n        *(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5;\n        *(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h";\n                    \n        *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc;\n        auStack_40 = (undefined1  [8])uVar12;\n        FUN_00069d00();\n      }" { (labeled_statement "code_r0x0017c7b3:\n        *(uint *)((int)ppiVar9 + -4) = uVar7;" statement_identifier : (expression_statement "*(uint *)((int)ppiVar9 + -4) = uVar7;" (assignment_expression "*(uint *)((int)ppiVar9 + -4) = uVar7" (pointer_expression "*(uint *)((int)ppiVar9 + -4)" * (cast_expression "(uint *)((int)ppiVar9 + -4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + -4)" ( (binary_expression "(int)ppiVar9 + -4" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = identifier) ;)) (expression_statement "*(char **)((int)ppiVar9 + -8) = "address";" (assignment_expression "*(char **)((int)ppiVar9 + -8) = "address"" (pointer_expression "*(char **)((int)ppiVar9 + -8)" * (cast_expression "(char **)((int)ppiVar9 + -8)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar9 + -8)" ( (binary_expression "(int)ppiVar9 + -8" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""address"" " string_content ")) ;) (expression_statement "*(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)((int)ppiVar9 + -0xc)" * (cast_expression "(undefined4 *)((int)ppiVar9 + -0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)ppiVar9 + -0xc)" ( (binary_expression "(int)ppiVar9 + -0xc" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = number_literal) ;) (expression_statement "*(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h";" (assignment_expression "*(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h"" (pointer_expression "*(char **)((int)ppiVar9 + -0x10)" * (cast_expression "(char **)((int)ppiVar9 + -0x10)" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar9 + -0x10)" ( (binary_expression "(int)ppiVar9 + -0x10" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (string_literal ""../../gold/output.h"" " string_content ")) ;) (expression_statement "*(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc;" (assignment_expression "*(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc" (pointer_expression "*(undefined **)((int)ppiVar9 + -0x14)" * (cast_expression "(undefined **)((int)ppiVar9 + -0x14)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar9 + -0x14)" ( (binary_expression "(int)ppiVar9 + -0x14" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) = (pointer_expression "&UNK_0017c7cc" & identifier)) ;) (expression_statement "auStack_40 = (undefined1  [8])uVar12;" (assignment_expression "auStack_40 = (undefined1  [8])uVar12" identifier = (cast_expression "(undefined1  [8])uVar12" ( (type_descriptor "undefined1  [8]" type_identifier (abstract_array_declarator "[8]" [ number_literal ])) ) identifier)) ;) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "uVar7 = iVar6 + *(int *)(auStack_40._0_4_ + 4);" (assignment_expression "uVar7 = iVar6 + *(int *)(auStack_40._0_4_ + 4)" identifier = (binary_expression "iVar6 + *(int *)(auStack_40._0_4_ + 4)" identifier + (pointer_expression "*(int *)(auStack_40._0_4_ + 4)" * (cast_expression "(int *)(auStack_40._0_4_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_40._0_4_ + 4)" ( (binary_expression "auStack_40._0_4_ + 4" (field_expression "auStack_40._0_4_" identifier . field_identifier) + number_literal) )))))) ;) }))) (expression_statement "ppiVar9 = (int **)auStack_4c;" (assignment_expression "ppiVar9 = (int **)auStack_4c" identifier = (cast_expression "(int **)auStack_4c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (if_statement "if ((char)param_2[3] != '\0') {\n      if ((auStack_40._4_4_ & 2) == 0) {\n        piStack_50 = param_2;\n                    \n        FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar7 = uVar7 + *(int *)(auStack_40._0_4_ + 0xc);\n      ppiVar9 = (int **)auStack_4c;\n    }" if (parenthesized_expression "((char)param_2[3] != '\0')" ( (binary_expression "(char)param_2[3] != '\0'" (cast_expression "(char)param_2[3]" ( (type_descriptor "char" primitive_type) ) (subscript_expression "param_2[3]" identifier [ number_literal ])) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      if ((auStack_40._4_4_ & 2) == 0) {\n        piStack_50 = param_2;\n                    \n        FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar7 = uVar7 + *(int *)(auStack_40._0_4_ + 0xc);\n      ppiVar9 = (int **)auStack_4c;\n    }" { (if_statement "if ((auStack_40._4_4_ & 2) == 0) {\n        piStack_50 = param_2;\n                    \n        FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n      }" if (parenthesized_expression "((auStack_40._4_4_ & 2) == 0)" ( (binary_expression "(auStack_40._4_4_ & 2) == 0" (parenthesized_expression "(auStack_40._4_4_ & 2)" ( (binary_expression "auStack_40._4_4_ & 2" (field_expression "auStack_40._4_4_" identifier . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n        piStack_50 = param_2;\n                    \n        FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n      }" { (expression_statement "piStack_50 = param_2;" (assignment_expression "piStack_50 = param_2" identifier = identifier) ;) (expression_statement "FUN_00069d00("../../gold/output.h",0xcf,"data_size");" (call_expression "FUN_00069d00("../../gold/output.h",0xcf,"data_size")" identifier (argument_list "("../../gold/output.h",0xcf,"data_size")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""data_size"" " string_content ") ))) ;) })) (expression_statement "uVar7 = uVar7 + *(int *)(auStack_40._0_4_ + 0xc);" (assignment_expression "uVar7 = uVar7 + *(int *)(auStack_40._0_4_ + 0xc)" identifier = (binary_expression "uVar7 + *(int *)(auStack_40._0_4_ + 0xc)" identifier + (pointer_expression "*(int *)(auStack_40._0_4_ + 0xc)" * (cast_expression "(int *)(auStack_40._0_4_ + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(auStack_40._0_4_ + 0xc)" ( (binary_expression "auStack_40._0_4_ + 0xc" (field_expression "auStack_40._0_4_" identifier . field_identifier) + number_literal) )))))) ;) (expression_statement "ppiVar9 = (int **)auStack_4c;" (assignment_expression "ppiVar9 = (int **)auStack_4c" identifier = (cast_expression "(int **)auStack_4c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) })) (break_statement "break;" break ;)) (case_statement "case (int *)0x2:\n    if ((bVar3 & 7) != 2) {\n      piStack_50 = in_ECX;\n                    \n      FUN_00069d00("../../gold/symtab.h",200,"output_segment");\n    }\n    iVar6 = param_2[2];\n    uVar7 = param_2[0xc];\n    piStack_50 = (int *)param_2[0xd];\n    if ((*(byte *)(param_2 + 10) & 0xf) != 6) {\n      bVar11 = CARRY4(uVar7,*(uint *)(iVar6 + 0x15c));\n      uVar7 = uVar7 + *(uint *)(iVar6 + 0x15c);\n      piStack_50 = (int *)((int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160));\n    }\n    iVar1 = param_2[3];\n    if (iVar1 == 1) {\n      uVar7 = uVar7 + *(int *)(iVar6 + 0x16c);\n      ppiVar9 = (int **)auStack_4c;\n    }\n    else {\n      ppiVar9 = (int **)auStack_4c;\n      if (iVar1 != 0) {\n        if (iVar1 != 2) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }\n        uVar7 = uVar7 + *(int *)(iVar6 + 0x18c);\n        ppiVar9 = (int **)auStack_4c;\n      }\n    }\n    break;" case (cast_expression "(int *)0x2" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) : (if_statement "if ((bVar3 & 7) != 2) {\n      piStack_50 = in_ECX;\n                    \n      FUN_00069d00("../../gold/symtab.h",200,"output_segment");\n    }" if (parenthesized_expression "((bVar3 & 7) != 2)" ( (binary_expression "(bVar3 & 7) != 2" (parenthesized_expression "(bVar3 & 7)" ( (binary_expression "bVar3 & 7" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      piStack_50 = in_ECX;\n                    \n      FUN_00069d00("../../gold/symtab.h",200,"output_segment");\n    }" { (expression_statement "piStack_50 = in_ECX;" (assignment_expression "piStack_50 = in_ECX" identifier = identifier) ;) (expression_statement "FUN_00069d00("../../gold/symtab.h",200,"output_segment");" (call_expression "FUN_00069d00("../../gold/symtab.h",200,"output_segment")" identifier (argument_list "("../../gold/symtab.h",200,"output_segment")" ( (string_literal ""../../gold/symtab.h"" " string_content ") , number_literal , (string_literal ""output_segment"" " string_content ") ))) ;) })) (expression_statement "iVar6 = param_2[2];" (assignment_expression "iVar6 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) (expression_statement "uVar7 = param_2[0xc];" (assignment_expression "uVar7 = param_2[0xc]" identifier = (subscript_expression "param_2[0xc]" identifier [ number_literal ])) ;) (expression_statement "piStack_50 = (int *)param_2[0xd];" (assignment_expression "piStack_50 = (int *)param_2[0xd]" identifier = (cast_expression "(int *)param_2[0xd]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_2[0xd]" identifier [ number_literal ]))) ;) (if_statement "if ((*(byte *)(param_2 + 10) & 0xf) != 6) {\n      bVar11 = CARRY4(uVar7,*(uint *)(iVar6 + 0x15c));\n      uVar7 = uVar7 + *(uint *)(iVar6 + 0x15c);\n      piStack_50 = (int *)((int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160));\n    }" if (parenthesized_expression "((*(byte *)(param_2 + 10) & 0xf) != 6)" ( (binary_expression "(*(byte *)(param_2 + 10) & 0xf) != 6" (parenthesized_expression "(*(byte *)(param_2 + 10) & 0xf)" ( (binary_expression "*(byte *)(param_2 + 10) & 0xf" (pointer_expression "*(byte *)(param_2 + 10)" * (cast_expression "(byte *)(param_2 + 10)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 10)" ( (binary_expression "param_2 + 10" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n      bVar11 = CARRY4(uVar7,*(uint *)(iVar6 + 0x15c));\n      uVar7 = uVar7 + *(uint *)(iVar6 + 0x15c);\n      piStack_50 = (int *)((int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160));\n    }" { (expression_statement "bVar11 = CARRY4(uVar7,*(uint *)(iVar6 + 0x15c));" (assignment_expression "bVar11 = CARRY4(uVar7,*(uint *)(iVar6 + 0x15c))" identifier = (call_expression "CARRY4(uVar7,*(uint *)(iVar6 + 0x15c))" identifier (argument_list "(uVar7,*(uint *)(iVar6 + 0x15c))" ( identifier , (pointer_expression "*(uint *)(iVar6 + 0x15c)" * (cast_expression "(uint *)(iVar6 + 0x15c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x15c)" ( (binary_expression "iVar6 + 0x15c" identifier + number_literal) )))) )))) ;) (expression_statement "uVar7 = uVar7 + *(uint *)(iVar6 + 0x15c);" (assignment_expression "uVar7 = uVar7 + *(uint *)(iVar6 + 0x15c)" identifier = (binary_expression "uVar7 + *(uint *)(iVar6 + 0x15c)" identifier + (pointer_expression "*(uint *)(iVar6 + 0x15c)" * (cast_expression "(uint *)(iVar6 + 0x15c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x15c)" ( (binary_expression "iVar6 + 0x15c" identifier + number_literal) )))))) ;) (expression_statement "piStack_50 = (int *)((int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160));" (assignment_expression "piStack_50 = (int *)((int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160))" identifier = (cast_expression "(int *)((int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160))" ( (binary_expression "(int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160)" (binary_expression "(int)piStack_50 + (uint)bVar11" (cast_expression "(int)piStack_50" ( (type_descriptor "int" primitive_type) ) identifier) + (cast_expression "(uint)bVar11" ( (type_descriptor "uint" type_identifier) ) identifier)) + (pointer_expression "*(int *)(iVar6 + 0x160)" * (cast_expression "(int *)(iVar6 + 0x160)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x160)" ( (binary_expression "iVar6 + 0x160" identifier + number_literal) ))))) )))) ;) })) (expression_statement "iVar1 = param_2[3];" (assignment_expression "iVar1 = param_2[3]" identifier = (subscript_expression "param_2[3]" identifier [ number_literal ])) ;) (if_statement "if (iVar1 == 1) {\n      uVar7 = uVar7 + *(int *)(iVar6 + 0x16c);\n      ppiVar9 = (int **)auStack_4c;\n    }\n    else {\n      ppiVar9 = (int **)auStack_4c;\n      if (iVar1 != 0) {\n        if (iVar1 != 2) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }\n        uVar7 = uVar7 + *(int *)(iVar6 + 0x18c);\n        ppiVar9 = (int **)auStack_4c;\n      }\n    }" if (parenthesized_expression "(iVar1 == 1)" ( (binary_expression "iVar1 == 1" identifier == number_literal) )) (compound_statement "{\n      uVar7 = uVar7 + *(int *)(iVar6 + 0x16c);\n      ppiVar9 = (int **)auStack_4c;\n    }" { (expression_statement "uVar7 = uVar7 + *(int *)(iVar6 + 0x16c);" (assignment_expression "uVar7 = uVar7 + *(int *)(iVar6 + 0x16c)" identifier = (binary_expression "uVar7 + *(int *)(iVar6 + 0x16c)" identifier + (pointer_expression "*(int *)(iVar6 + 0x16c)" * (cast_expression "(int *)(iVar6 + 0x16c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x16c)" ( (binary_expression "iVar6 + 0x16c" identifier + number_literal) )))))) ;) (expression_statement "ppiVar9 = (int **)auStack_4c;" (assignment_expression "ppiVar9 = (int **)auStack_4c" identifier = (cast_expression "(int **)auStack_4c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) }) (else_clause "else {\n      ppiVar9 = (int **)auStack_4c;\n      if (iVar1 != 0) {\n        if (iVar1 != 2) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }\n        uVar7 = uVar7 + *(int *)(iVar6 + 0x18c);\n        ppiVar9 = (int **)auStack_4c;\n      }\n    }" else (compound_statement "{\n      ppiVar9 = (int **)auStack_4c;\n      if (iVar1 != 0) {\n        if (iVar1 != 2) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }\n        uVar7 = uVar7 + *(int *)(iVar6 + 0x18c);\n        ppiVar9 = (int **)auStack_4c;\n      }\n    }" { (expression_statement "ppiVar9 = (int **)auStack_4c;" (assignment_expression "ppiVar9 = (int **)auStack_4c" identifier = (cast_expression "(int **)auStack_4c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (if_statement "if (iVar1 != 0) {\n        if (iVar1 != 2) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }\n        uVar7 = uVar7 + *(int *)(iVar6 + 0x18c);\n        ppiVar9 = (int **)auStack_4c;\n      }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n        if (iVar1 != 2) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }\n        uVar7 = uVar7 + *(int *)(iVar6 + 0x18c);\n        ppiVar9 = (int **)auStack_4c;\n      }" { (if_statement "if (iVar1 != 2) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }" if (parenthesized_expression "(iVar1 != 2)" ( (binary_expression "iVar1 != 2" identifier != number_literal) )) (compound_statement "{\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }" { (expression_statement "FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");" (call_expression "FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value")" identifier (argument_list "("../../gold/symtab.cc",0xb5c,"compute_final_value")" ( (string_literal ""../../gold/symtab.cc"" " string_content ") , number_literal , (string_literal ""compute_final_value"" " string_content ") ))) ;) })) (expression_statement "uVar7 = uVar7 + *(int *)(iVar6 + 0x18c);" (assignment_expression "uVar7 = uVar7 + *(int *)(iVar6 + 0x18c)" identifier = (binary_expression "uVar7 + *(int *)(iVar6 + 0x18c)" identifier + (pointer_expression "*(int *)(iVar6 + 0x18c)" * (cast_expression "(int *)(iVar6 + 0x18c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x18c)" ( (binary_expression "iVar6 + 0x18c" identifier + number_literal) )))))) ;) (expression_statement "ppiVar9 = (int **)auStack_4c;" (assignment_expression "ppiVar9 = (int **)auStack_4c" identifier = (cast_expression "(int **)auStack_4c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) })) }))) (break_statement "break;" break ;)) (case_statement "case (int *)0x4:\ncode_r0x0017c290:\n    uVar7 = 0;\n    ppiVar9 = (int **)auStack_4c;\n    break;" case (cast_expression "(int *)0x4" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) : (labeled_statement "code_r0x0017c290:\n    uVar7 = 0;" statement_identifier : (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" identifier = number_literal) ;)) (expression_statement "ppiVar9 = (int **)auStack_4c;" (assignment_expression "ppiVar9 = (int **)auStack_4c" identifier = (cast_expression "(int **)auStack_4c" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ;) (break_statement "break;" break ;)) (case_statement "default:\n    piStack_50 = piVar5;\n                    \n    FUN_00069d00("../../gold/symtab.cc",0xb6a,"compute_final_value");" default : (expression_statement "piStack_50 = piVar5;" (assignment_expression "piStack_50 = piVar5" identifier = identifier) ;) (expression_statement "FUN_00069d00("../../gold/symtab.cc",0xb6a,"compute_final_value");" (call_expression "FUN_00069d00("../../gold/symtab.cc",0xb6a,"compute_final_value")" identifier (argument_list "("../../gold/symtab.cc",0xb6a,"compute_final_value")" ( (string_literal ""../../gold/symtab.cc"" " string_content ") , number_literal , (string_literal ""compute_final_value"" " string_content ") ))) ;)) })) (expression_statement "**(undefined4 **)((int)ppiVar9 + 0x58) = 0;" (assignment_expression "**(undefined4 **)((int)ppiVar9 + 0x58) = 0" (pointer_expression "**(undefined4 **)((int)ppiVar9 + 0x58)" * (pointer_expression "*(undefined4 **)((int)ppiVar9 + 0x58)" * (cast_expression "(undefined4 **)((int)ppiVar9 + 0x58)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)ppiVar9 + 0x58)" ( (binary_expression "(int)ppiVar9 + 0x58" (cast_expression "(int)ppiVar9" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))))) = number_literal) ;) (return_statement "return uVar7;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT & LIT) )))) ;) (switch_statement switch (parenthesized_expression ( IDENT )) (compound_statement { (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) >> LIT) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier)) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression IDENT == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) , (binary_expression IDENT != LIT)) ))) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier)) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier)) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) )))) , (binary_expression IDENT == (char_literal ' escape_sequence '))) ))) )) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - (subscript_expression IDENT [ LIT ])) >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression (field_expression IDENT . field_identifier) * LIT)) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , (field_expression IDENT . field_identifier) )))) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , (field_expression IDENT . field_identifier) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , (field_expression IDENT . field_identifier) )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (field_expression IDENT . field_identifier) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (return_statement return LIT ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (field_expression IDENT . field_identifier)) + LIT) )))) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (subscript_expression (field_expression IDENT . field_identifier) [ LIT ]) - (subscript_expression (field_expression IDENT . field_identifier) [ LIT ])) >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (subscript_expression IDENT [ LIT ])) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression (field_expression IDENT . field_identifier) [ LIT ]) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) * LIT)) ))))) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (field_expression IDENT . field_identifier)) + LIT) ))))) )) (argument_list ( (field_expression IDENT . field_identifier) , (subscript_expression IDENT [ LIT ]) , (field_expression IDENT . field_identifier) , (field_expression IDENT . field_identifier) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , LIT ))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT , (field_expression IDENT . field_identifier) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) )) [ LIT ])) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) + LIT) )))))) ;) }))))) (break_statement break ;) }))) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (break_statement break ;)) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier))) + LIT) ))))) )) (argument_list ( (field_expression IDENT . field_identifier) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) == IDENT) )) (compound_statement { (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 = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT )))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (field_expression IDENT . field_identifier) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) + LIT) ))))) , (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) , (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (field_expression IDENT . field_identifier) )))) , (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT)))) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT + IDENT) )) - (subscript_expression IDENT [ LIT ])) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (field_expression IDENT . field_identifier) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (string_literal " string_content ")) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) + LIT) )))))) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (subscript_expression IDENT [ LIT ])) != (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) })) (break_statement break ;)) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) })) }))) (break_statement break ;)) (case_statement case (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) : (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (break_statement break ;)) (case_statement default : (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) (expression_statement (assignment_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) = LIT) ;) (return_statement return IDENT ;) })))
(function_definition "uint FUN_0017c200(int param_1,int *param_2,undefined4 *param_3)\n\n{\n  int iVar1;\n  code *pcVar2;\n  byte bVar3;\n  char cVar4;\n  int *piVar5;\n  int iVar6;\n  uint uVar7;\n  int *piVar8;\n  int *in_ECX;\n  undefined4 extraout_ECX;\n  int **ppiVar9;\n  int **ppiVar10;\n  bool bVar11;\n  undefined8 uVar12;\n  undefined8 uVar13;\n  int *piStack_50;\n  undefined1 auStack_4c [8];\n  int iStack_44;\n  undefined1 auStack_40 [8];\n  int *piStack_38;\n  int *piStack_34;\n  int *piStack_30;\n  undefined8 uStack_2c;\n  int *apiStack_24 [4];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x17c209;\n  bVar3 = *(byte *)((int)param_2 + 0x2a);\n  piVar5 = (int *)(bVar3 & 7);\n  switch(piVar5) {\n  case (int *)0x0:\n    if ((bVar3 & 7) != 0) {\n      piStack_50 = piVar5;\n                    \n      FUN_00069d00("../../gold/symtab.h",0xaa,"shndx");\n    }\n    auStack_40._0_4_ = param_2[3];\n    bVar3 = *(byte *)((int)param_2 + 0x2b) >> 5 & 1;\n    if (((int *)auStack_40._0_4_ != (int *)0xfff1) && (bVar3 == 0)) {\n      piVar5 = (int *)FUN_00177470(auStack_40._0_4_);\n      if ((char)piVar5 == '\0') {\n        *param_3 = 1;\n        return 0;\n      }\n      if ((*(byte *)((int)param_2 + 0x2a) & 7) != 0) {\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.h",0xa1,"object");\n      }\n    }\n    ppiVar10 = (int **)auStack_4c;\n    ppiVar9 = (int **)auStack_4c;\n    piVar5 = (int *)param_2[2];\n    if ((((*(byte *)(piVar5 + 0xb) & 1) != 0) ||\n        (iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0)) ||\n       ((int *)auStack_40._0_4_ == (int *)0x0)) goto code_r0x0017c290;\n    if ((bVar3 != 0) ||\n       (((int *)auStack_40._0_4_ != (int *)0xfff1 &&\n        (cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0')))) {\n      if (*(code **)(*piVar5 + 0x60) == FUN_0003bac0) {\n        piVar8 = (int *)(piVar5[0xf] - piVar5[0xe] >> 2);\n        if (piVar8 <= (uint)auStack_40._0_4_) goto code_r0x0017c850;\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = *(int *)(piVar5[0xe] + auStack_40._0_4_ * 4);\n      }\n      else {\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_);\n      }\n      cVar4 = FUN_00177870(param_1,piVar5,auStack_40._4_4_);\n      if (cVar4 == '\0') {\n        piStack_34 = (int *)auStack_40._4_4_;\n        uVar13 = (**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_);\n        auStack_40._4_4_ = (int)uVar13;\n        uVar12 = CONCAT44((int)uVar13,auStack_40._0_4_);\n        piStack_38 = (int *)((ulonglong)uVar13 >> 0x20);\n        piVar8 = piStack_34;\n        if (auStack_40._0_4_ == 0) {\n          unique0x100005d7 = uVar13;\n          if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    \n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }\n          if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    \n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }\n          *param_3 = 2;\n          return 0;\n        }\n      }\n      else {\n        if (auStack_40._0_4_ != 0) {\n          piStack_50 = param_2;\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        piStack_50 = (int *)auStack_40._4_4_;\n        FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5);\n        piVar5 = uStack_2c._4_4_;\n        auStack_40._0_4_ = apiStack_24[0];\n        ppiVar10 = &piStack_50;\n        if (uStack_2c._4_4_ == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }\n        if (*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0) {\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    \n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }\n        else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }\n        ppiVar9 = &piStack_50;\n        if (iStack_44 == 0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }\n        piStack_38 = apiStack_24[0];\n        uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_);\n        auStack_40 = (undefined1  [8])uVar12;\n        piVar8 = piStack_38;\n      }\n      iVar6 = param_2[0xc];\n      *(int *)((int)ppiVar9 + 0x1c) = param_2[0xd];\n      *(int *)((int)ppiVar9 + 0x18) = iVar6;\n      auStack_40 = (undefined1  [8])uVar12;\n      if ((*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10)) == 0xffffffff) {\n        *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0x1c);\n        *(undefined4 *)((int)ppiVar9 + -0x14) = *(undefined4 *)((int)ppiVar9 + 0x18);\n        *(int **)((int)ppiVar9 + -0x18) = piVar8;\n        *(int **)((int)ppiVar9 + -0x1c) = piVar5;\n        *(undefined4 *)((int)ppiVar9 + -0x20) = *(undefined4 *)((int)ppiVar9 + 0xc);\n        *(undefined **)((int)ppiVar9 + -0x24) = &UNK_0017c717;\n        uVar7 = FUN_000f5920();\n      }\n      else if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n        pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);\n        if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }\n        uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);\n      }\n      else {\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }\n      break;\n    }\n  case (int *)0x3:\n    uVar7 = param_2[0xc];\n    ppiVar9 = (int **)auStack_4c;\n    break;\n  case (int *)0x1:\n    if ((bVar3 & 7) != 1) {\n      piStack_50 = piVar5;\n                    \n      FUN_00069d00("../../gold/symtab.h",0xb5,"output_data");\n    }\n    auStack_40._0_4_ = param_2[2];\n    iVar6 = param_2[0xc];\n    piVar5 = (int *)param_2[0xd];\n    if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n      piStack_34 = (int *)(**(code **)(*(int *)auStack_40._0_4_ + 0x24))(auStack_40._0_4_);\n      if (piStack_34 == (int *)0x0) {\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }\n      if (*(code **)(*piStack_34 + 0x48) == FUN_000b3000) {\n        uStack_2c = *(undefined8 *)(piStack_34 + 0x25);\n      }\n      else {\n        uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34);\n      }\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if (((bVar3 & 1) == 0) ||\n         (uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0)\n         ) goto code_r0x0017c7b3;\n      uVar7 = (int)uStack_2c + ((iVar6 + uVar7) - piStack_34[1]);\n      piStack_50 = (int *)(*(byte *)((int)param_2 + 0x2a) & 7);\n      if ((char)piStack_50 != '\x01') {\n                    \n        FUN_00069d00("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }\n    }\n    else {\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if ((bVar3 & 1) == 0) {\ncode_r0x0017c7b3:\n        *(uint *)((int)ppiVar9 + -4) = uVar7;\n        *(char **)((int)ppiVar9 + -8) = "address";\n        *(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5;\n        *(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h";\n                    \n        *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc;\n        auStack_40 = (undefined1  [8])uVar12;\n        FUN_00069d00();\n      }\n      uVar7 = iVar6 + *(int *)(auStack_40._0_4_ + 4);\n    }\n    ppiVar9 = (int **)auStack_4c;\n    if ((char)param_2[3] != '\0') {\n      if ((auStack_40._4_4_ & 2) == 0) {\n        piStack_50 = param_2;\n                    \n        FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar7 = uVar7 + *(int *)(auStack_40._0_4_ + 0xc);\n      ppiVar9 = (int **)auStack_4c;\n    }\n    break;\n  case (int *)0x2:\n    if ((bVar3 & 7) != 2) {\n      piStack_50 = in_ECX;\n                    \n      FUN_00069d00("../../gold/symtab.h",200,"output_segment");\n    }\n    iVar6 = param_2[2];\n    uVar7 = param_2[0xc];\n    piStack_50 = (int *)param_2[0xd];\n    if ((*(byte *)(param_2 + 10) & 0xf) != 6) {\n      bVar11 = CARRY4(uVar7,*(uint *)(iVar6 + 0x15c));\n      uVar7 = uVar7 + *(uint *)(iVar6 + 0x15c);\n      piStack_50 = (int *)((int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160));\n    }\n    iVar1 = param_2[3];\n    if (iVar1 == 1) {\n      uVar7 = uVar7 + *(int *)(iVar6 + 0x16c);\n      ppiVar9 = (int **)auStack_4c;\n    }\n    else {\n      ppiVar9 = (int **)auStack_4c;\n      if (iVar1 != 0) {\n        if (iVar1 != 2) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }\n        uVar7 = uVar7 + *(int *)(iVar6 + 0x18c);\n        ppiVar9 = (int **)auStack_4c;\n      }\n    }\n    break;\n  case (int *)0x4:\ncode_r0x0017c290:\n    uVar7 = 0;\n    ppiVar9 = (int **)auStack_4c;\n    break;\n  default:\n    piStack_50 = piVar5;\n                    \n    FUN_00069d00("../../gold/symtab.cc",0xb6a,"compute_final_value");\n  }\n  **(undefined4 **)((int)ppiVar9 + 0x58) = 0;\n  return uVar7;\n}" (type_identifier "uint") (function_declarator "FUN_0017c200(int param_1,int *param_2,undefined4 *param_3)" (identifier "FUN_0017c200") (parameter_list "(int param_1,int *param_2,undefined4 *param_3)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "int *param_2" (primitive_type "int") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "undefined4 *param_3" (type_identifier "undefined4") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) () ")"))) (compound_statement "{\n  int iVar1;\n  code *pcVar2;\n  byte bVar3;\n  char cVar4;\n  int *piVar5;\n  int iVar6;\n  uint uVar7;\n  int *piVar8;\n  int *in_ECX;\n  undefined4 extraout_ECX;\n  int **ppiVar9;\n  int **ppiVar10;\n  bool bVar11;\n  undefined8 uVar12;\n  undefined8 uVar13;\n  int *piStack_50;\n  undefined1 auStack_4c [8];\n  int iStack_44;\n  undefined1 auStack_40 [8];\n  int *piStack_38;\n  int *piStack_34;\n  int *piStack_30;\n  undefined8 uStack_2c;\n  int *apiStack_24 [4];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x17c209;\n  bVar3 = *(byte *)((int)param_2 + 0x2a);\n  piVar5 = (int *)(bVar3 & 7);\n  switch(piVar5) {\n  case (int *)0x0:\n    if ((bVar3 & 7) != 0) {\n      piStack_50 = piVar5;\n                    \n      FUN_00069d00("../../gold/symtab.h",0xaa,"shndx");\n    }\n    auStack_40._0_4_ = param_2[3];\n    bVar3 = *(byte *)((int)param_2 + 0x2b) >> 5 & 1;\n    if (((int *)auStack_40._0_4_ != (int *)0xfff1) && (bVar3 == 0)) {\n      piVar5 = (int *)FUN_00177470(auStack_40._0_4_);\n      if ((char)piVar5 == '\0') {\n        *param_3 = 1;\n        return 0;\n      }\n      if ((*(byte *)((int)param_2 + 0x2a) & 7) != 0) {\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.h",0xa1,"object");\n      }\n    }\n    ppiVar10 = (int **)auStack_4c;\n    ppiVar9 = (int **)auStack_4c;\n    piVar5 = (int *)param_2[2];\n    if ((((*(byte *)(piVar5 + 0xb) & 1) != 0) ||\n        (iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0)) ||\n       ((int *)auStack_40._0_4_ == (int *)0x0)) goto code_r0x0017c290;\n    if ((bVar3 != 0) ||\n       (((int *)auStack_40._0_4_ != (int *)0xfff1 &&\n        (cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0')))) {\n      if (*(code **)(*piVar5 + 0x60) == FUN_0003bac0) {\n        piVar8 = (int *)(piVar5[0xf] - piVar5[0xe] >> 2);\n        if (piVar8 <= (uint)auStack_40._0_4_) goto code_r0x0017c850;\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = *(int *)(piVar5[0xe] + auStack_40._0_4_ * 4);\n      }\n      else {\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_);\n      }\n      cVar4 = FUN_00177870(param_1,piVar5,auStack_40._4_4_);\n      if (cVar4 == '\0') {\n        piStack_34 = (int *)auStack_40._4_4_;\n        uVar13 = (**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_);\n        auStack_40._4_4_ = (int)uVar13;\n        uVar12 = CONCAT44((int)uVar13,auStack_40._0_4_);\n        piStack_38 = (int *)((ulonglong)uVar13 >> 0x20);\n        piVar8 = piStack_34;\n        if (auStack_40._0_4_ == 0) {\n          unique0x100005d7 = uVar13;\n          if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    \n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }\n          if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    \n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }\n          *param_3 = 2;\n          return 0;\n        }\n      }\n      else {\n        if (auStack_40._0_4_ != 0) {\n          piStack_50 = param_2;\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        piStack_50 = (int *)auStack_40._4_4_;\n        FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5);\n        piVar5 = uStack_2c._4_4_;\n        auStack_40._0_4_ = apiStack_24[0];\n        ppiVar10 = &piStack_50;\n        if (uStack_2c._4_4_ == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }\n        if (*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0) {\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    \n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }\n        else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }\n        ppiVar9 = &piStack_50;\n        if (iStack_44 == 0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }\n        piStack_38 = apiStack_24[0];\n        uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_);\n        auStack_40 = (undefined1  [8])uVar12;\n        piVar8 = piStack_38;\n      }\n      iVar6 = param_2[0xc];\n      *(int *)((int)ppiVar9 + 0x1c) = param_2[0xd];\n      *(int *)((int)ppiVar9 + 0x18) = iVar6;\n      auStack_40 = (undefined1  [8])uVar12;\n      if ((*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10)) == 0xffffffff) {\n        *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0x1c);\n        *(undefined4 *)((int)ppiVar9 + -0x14) = *(undefined4 *)((int)ppiVar9 + 0x18);\n        *(int **)((int)ppiVar9 + -0x18) = piVar8;\n        *(int **)((int)ppiVar9 + -0x1c) = piVar5;\n        *(undefined4 *)((int)ppiVar9 + -0x20) = *(undefined4 *)((int)ppiVar9 + 0xc);\n        *(undefined **)((int)ppiVar9 + -0x24) = &UNK_0017c717;\n        uVar7 = FUN_000f5920();\n      }\n      else if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n        pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);\n        if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }\n        uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);\n      }\n      else {\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }\n      break;\n    }\n  case (int *)0x3:\n    uVar7 = param_2[0xc];\n    ppiVar9 = (int **)auStack_4c;\n    break;\n  case (int *)0x1:\n    if ((bVar3 & 7) != 1) {\n      piStack_50 = piVar5;\n                    \n      FUN_00069d00("../../gold/symtab.h",0xb5,"output_data");\n    }\n    auStack_40._0_4_ = param_2[2];\n    iVar6 = param_2[0xc];\n    piVar5 = (int *)param_2[0xd];\n    if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n      piStack_34 = (int *)(**(code **)(*(int *)auStack_40._0_4_ + 0x24))(auStack_40._0_4_);\n      if (piStack_34 == (int *)0x0) {\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }\n      if (*(code **)(*piStack_34 + 0x48) == FUN_000b3000) {\n        uStack_2c = *(undefined8 *)(piStack_34 + 0x25);\n      }\n      else {\n        uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34);\n      }\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if (((bVar3 & 1) == 0) ||\n         (uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0)\n         ) goto code_r0x0017c7b3;\n      uVar7 = (int)uStack_2c + ((iVar6 + uVar7) - piStack_34[1]);\n      piStack_50 = (int *)(*(byte *)((int)param_2 + 0x2a) & 7);\n      if ((char)piStack_50 != '\x01') {\n                    \n        FUN_00069d00("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }\n    }\n    else {\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if ((bVar3 & 1) == 0) {\ncode_r0x0017c7b3:\n        *(uint *)((int)ppiVar9 + -4) = uVar7;\n        *(char **)((int)ppiVar9 + -8) = "address";\n        *(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5;\n        *(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h";\n                    \n        *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc;\n        auStack_40 = (undefined1  [8])uVar12;\n        FUN_00069d00();\n      }\n      uVar7 = iVar6 + *(int *)(auStack_40._0_4_ + 4);\n    }\n    ppiVar9 = (int **)auStack_4c;\n    if ((char)param_2[3] != '\0') {\n      if ((auStack_40._4_4_ & 2) == 0) {\n        piStack_50 = param_2;\n                    \n        FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar7 = uVar7 + *(int *)(auStack_40._0_4_ + 0xc);\n      ppiVar9 = (int **)auStack_4c;\n    }\n    break;\n  case (int *)0x2:\n    if ((bVar3 & 7) != 2) {\n      piStack_50 = in_ECX;\n                    \n      FUN_00069d00("../../gold/symtab.h",200,"output_segment");\n    }\n    iVar6 = param_2[2];\n    uVar7 = param_2[0xc];\n    piStack_50 = (int *)param_2[0xd];\n    if ((*(byte *)(param_2 + 10) & 0xf) != 6) {\n      bVar11 = CARRY4(uVar7,*(uint *)(iVar6 + 0x15c));\n      uVar7 = uVar7 + *(uint *)(iVar6 + 0x15c);\n      piStack_50 = (int *)((int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160));\n    }\n    iVar1 = param_2[3];\n    if (iVar1 == 1) {\n      uVar7 = uVar7 + *(int *)(iVar6 + 0x16c);\n      ppiVar9 = (int **)auStack_4c;\n    }\n    else {\n      ppiVar9 = (int **)auStack_4c;\n      if (iVar1 != 0) {\n        if (iVar1 != 2) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }\n        uVar7 = uVar7 + *(int *)(iVar6 + 0x18c);\n        ppiVar9 = (int **)auStack_4c;\n      }\n    }\n    break;\n  case (int *)0x4:\ncode_r0x0017c290:\n    uVar7 = 0;\n    ppiVar9 = (int **)auStack_4c;\n    break;\n  default:\n    piStack_50 = piVar5;\n                    \n    FUN_00069d00("../../gold/symtab.cc",0xb6a,"compute_final_value");\n  }\n  **(undefined4 **)((int)ppiVar9 + 0x58) = 0;\n  return uVar7;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "code *pcVar2;" (type_identifier "code") (pointer_declarator "*pcVar2" (* "*") (identifier "pcVar2")) (; ";")) (declaration "byte bVar3;" (type_identifier "byte") (identifier "bVar3") (; ";")) (declaration "char cVar4;" (primitive_type "char") (identifier "cVar4") (; ";")) (declaration "int *piVar5;" (primitive_type "int") (pointer_declarator "*piVar5" (* "*") (identifier "piVar5")) (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "int *piVar8;" (primitive_type "int") (pointer_declarator "*piVar8" (* "*") (identifier "piVar8")) (; ";")) (declaration "int *in_ECX;" (primitive_type "int") (pointer_declarator "*in_ECX" (* "*") (identifier "in_ECX")) (; ";")) (declaration "undefined4 extraout_ECX;" (type_identifier "undefined4") (identifier "extraout_ECX") (; ";")) (declaration "int **ppiVar9;" (primitive_type "int") (pointer_declarator "**ppiVar9" (* "*") (pointer_declarator "*ppiVar9" (* "*") (identifier "ppiVar9"))) (; ";")) (declaration "int **ppiVar10;" (primitive_type "int") (pointer_declarator "**ppiVar10" (* "*") (pointer_declarator "*ppiVar10" (* "*") (identifier "ppiVar10"))) (; ";")) (declaration "bool bVar11;" (primitive_type "bool") (identifier "bVar11") (; ";")) (declaration "undefined8 uVar12;" (type_identifier "undefined8") (identifier "uVar12") (; ";")) (declaration "undefined8 uVar13;" (type_identifier "undefined8") (identifier "uVar13") (; ";")) (declaration "int *piStack_50;" (primitive_type "int") (pointer_declarator "*piStack_50" (* "*") (identifier "piStack_50")) (; ";")) (declaration "undefined1 auStack_4c [8];" (type_identifier "undefined1") (array_declarator "auStack_4c [8]" (identifier "auStack_4c") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "int iStack_44;" (primitive_type "int") (identifier "iStack_44") (; ";")) (declaration "undefined1 auStack_40 [8];" (type_identifier "undefined1") (array_declarator "auStack_40 [8]" (identifier "auStack_40") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "int *piStack_38;" (primitive_type "int") (pointer_declarator "*piStack_38" (* "*") (identifier "piStack_38")) (; ";")) (declaration "int *piStack_34;" (primitive_type "int") (pointer_declarator "*piStack_34" (* "*") (identifier "piStack_34")) (; ";")) (declaration "int *piStack_30;" (primitive_type "int") (pointer_declarator "*piStack_30" (* "*") (identifier "piStack_30")) (; ";")) (declaration "undefined8 uStack_2c;" (type_identifier "undefined8") (identifier "uStack_2c") (; ";")) (declaration "int *apiStack_24 [4];" (primitive_type "int") (pointer_declarator "*apiStack_24 [4]" (* "*") (array_declarator "apiStack_24 [4]" (identifier "apiStack_24") ([ "[") (number_literal "4") (] "]"))) (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x17c209;" (assignment_expression "uStack_14 = 0x17c209" (identifier "uStack_14") (= "=") (number_literal "0x17c209")) (; ";")) (expression_statement "bVar3 = *(byte *)((int)param_2 + 0x2a);" (assignment_expression "bVar3 = *(byte *)((int)param_2 + 0x2a)" (identifier "bVar3") (= "=") (pointer_expression "*(byte *)((int)param_2 + 0x2a)" (* "*") (cast_expression "(byte *)((int)param_2 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0x2a)" (( "(") (binary_expression "(int)param_2 + 0x2a" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0x2a")) () ")"))))) (; ";")) (expression_statement "piVar5 = (int *)(bVar3 & 7);" (assignment_expression "piVar5 = (int *)(bVar3 & 7)" (identifier "piVar5") (= "=") (cast_expression "(int *)(bVar3 & 7)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(bVar3 & 7)" (( "(") (binary_expression "bVar3 & 7" (identifier "bVar3") (& "&") (number_literal "7")) () ")")))) (; ";")) (switch_statement "switch(piVar5) {\n  case (int *)0x0:\n    if ((bVar3 & 7) != 0) {\n      piStack_50 = piVar5;\n                    \n      FUN_00069d00("../../gold/symtab.h",0xaa,"shndx");\n    }\n    auStack_40._0_4_ = param_2[3];\n    bVar3 = *(byte *)((int)param_2 + 0x2b) >> 5 & 1;\n    if (((int *)auStack_40._0_4_ != (int *)0xfff1) && (bVar3 == 0)) {\n      piVar5 = (int *)FUN_00177470(auStack_40._0_4_);\n      if ((char)piVar5 == '\0') {\n        *param_3 = 1;\n        return 0;\n      }\n      if ((*(byte *)((int)param_2 + 0x2a) & 7) != 0) {\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.h",0xa1,"object");\n      }\n    }\n    ppiVar10 = (int **)auStack_4c;\n    ppiVar9 = (int **)auStack_4c;\n    piVar5 = (int *)param_2[2];\n    if ((((*(byte *)(piVar5 + 0xb) & 1) != 0) ||\n        (iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0)) ||\n       ((int *)auStack_40._0_4_ == (int *)0x0)) goto code_r0x0017c290;\n    if ((bVar3 != 0) ||\n       (((int *)auStack_40._0_4_ != (int *)0xfff1 &&\n        (cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0')))) {\n      if (*(code **)(*piVar5 + 0x60) == FUN_0003bac0) {\n        piVar8 = (int *)(piVar5[0xf] - piVar5[0xe] >> 2);\n        if (piVar8 <= (uint)auStack_40._0_4_) goto code_r0x0017c850;\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = *(int *)(piVar5[0xe] + auStack_40._0_4_ * 4);\n      }\n      else {\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_);\n      }\n      cVar4 = FUN_00177870(param_1,piVar5,auStack_40._4_4_);\n      if (cVar4 == '\0') {\n        piStack_34 = (int *)auStack_40._4_4_;\n        uVar13 = (**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_);\n        auStack_40._4_4_ = (int)uVar13;\n        uVar12 = CONCAT44((int)uVar13,auStack_40._0_4_);\n        piStack_38 = (int *)((ulonglong)uVar13 >> 0x20);\n        piVar8 = piStack_34;\n        if (auStack_40._0_4_ == 0) {\n          unique0x100005d7 = uVar13;\n          if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    \n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }\n          if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    \n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }\n          *param_3 = 2;\n          return 0;\n        }\n      }\n      else {\n        if (auStack_40._0_4_ != 0) {\n          piStack_50 = param_2;\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        piStack_50 = (int *)auStack_40._4_4_;\n        FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5);\n        piVar5 = uStack_2c._4_4_;\n        auStack_40._0_4_ = apiStack_24[0];\n        ppiVar10 = &piStack_50;\n        if (uStack_2c._4_4_ == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }\n        if (*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0) {\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    \n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }\n        else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }\n        ppiVar9 = &piStack_50;\n        if (iStack_44 == 0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }\n        piStack_38 = apiStack_24[0];\n        uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_);\n        auStack_40 = (undefined1  [8])uVar12;\n        piVar8 = piStack_38;\n      }\n      iVar6 = param_2[0xc];\n      *(int *)((int)ppiVar9 + 0x1c) = param_2[0xd];\n      *(int *)((int)ppiVar9 + 0x18) = iVar6;\n      auStack_40 = (undefined1  [8])uVar12;\n      if ((*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10)) == 0xffffffff) {\n        *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0x1c);\n        *(undefined4 *)((int)ppiVar9 + -0x14) = *(undefined4 *)((int)ppiVar9 + 0x18);\n        *(int **)((int)ppiVar9 + -0x18) = piVar8;\n        *(int **)((int)ppiVar9 + -0x1c) = piVar5;\n        *(undefined4 *)((int)ppiVar9 + -0x20) = *(undefined4 *)((int)ppiVar9 + 0xc);\n        *(undefined **)((int)ppiVar9 + -0x24) = &UNK_0017c717;\n        uVar7 = FUN_000f5920();\n      }\n      else if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n        pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);\n        if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }\n        uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);\n      }\n      else {\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }\n      break;\n    }\n  case (int *)0x3:\n    uVar7 = param_2[0xc];\n    ppiVar9 = (int **)auStack_4c;\n    break;\n  case (int *)0x1:\n    if ((bVar3 & 7) != 1) {\n      piStack_50 = piVar5;\n                    \n      FUN_00069d00("../../gold/symtab.h",0xb5,"output_data");\n    }\n    auStack_40._0_4_ = param_2[2];\n    iVar6 = param_2[0xc];\n    piVar5 = (int *)param_2[0xd];\n    if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n      piStack_34 = (int *)(**(code **)(*(int *)auStack_40._0_4_ + 0x24))(auStack_40._0_4_);\n      if (piStack_34 == (int *)0x0) {\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }\n      if (*(code **)(*piStack_34 + 0x48) == FUN_000b3000) {\n        uStack_2c = *(undefined8 *)(piStack_34 + 0x25);\n      }\n      else {\n        uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34);\n      }\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if (((bVar3 & 1) == 0) ||\n         (uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0)\n         ) goto code_r0x0017c7b3;\n      uVar7 = (int)uStack_2c + ((iVar6 + uVar7) - piStack_34[1]);\n      piStack_50 = (int *)(*(byte *)((int)param_2 + 0x2a) & 7);\n      if ((char)piStack_50 != '\x01') {\n                    \n        FUN_00069d00("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }\n    }\n    else {\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if ((bVar3 & 1) == 0) {\ncode_r0x0017c7b3:\n        *(uint *)((int)ppiVar9 + -4) = uVar7;\n        *(char **)((int)ppiVar9 + -8) = "address";\n        *(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5;\n        *(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h";\n                    \n        *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc;\n        auStack_40 = (undefined1  [8])uVar12;\n        FUN_00069d00();\n      }\n      uVar7 = iVar6 + *(int *)(auStack_40._0_4_ + 4);\n    }\n    ppiVar9 = (int **)auStack_4c;\n    if ((char)param_2[3] != '\0') {\n      if ((auStack_40._4_4_ & 2) == 0) {\n        piStack_50 = param_2;\n                    \n        FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar7 = uVar7 + *(int *)(auStack_40._0_4_ + 0xc);\n      ppiVar9 = (int **)auStack_4c;\n    }\n    break;\n  case (int *)0x2:\n    if ((bVar3 & 7) != 2) {\n      piStack_50 = in_ECX;\n                    \n      FUN_00069d00("../../gold/symtab.h",200,"output_segment");\n    }\n    iVar6 = param_2[2];\n    uVar7 = param_2[0xc];\n    piStack_50 = (int *)param_2[0xd];\n    if ((*(byte *)(param_2 + 10) & 0xf) != 6) {\n      bVar11 = CARRY4(uVar7,*(uint *)(iVar6 + 0x15c));\n      uVar7 = uVar7 + *(uint *)(iVar6 + 0x15c);\n      piStack_50 = (int *)((int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160));\n    }\n    iVar1 = param_2[3];\n    if (iVar1 == 1) {\n      uVar7 = uVar7 + *(int *)(iVar6 + 0x16c);\n      ppiVar9 = (int **)auStack_4c;\n    }\n    else {\n      ppiVar9 = (int **)auStack_4c;\n      if (iVar1 != 0) {\n        if (iVar1 != 2) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }\n        uVar7 = uVar7 + *(int *)(iVar6 + 0x18c);\n        ppiVar9 = (int **)auStack_4c;\n      }\n    }\n    break;\n  case (int *)0x4:\ncode_r0x0017c290:\n    uVar7 = 0;\n    ppiVar9 = (int **)auStack_4c;\n    break;\n  default:\n    piStack_50 = piVar5;\n                    \n    FUN_00069d00("../../gold/symtab.cc",0xb6a,"compute_final_value");\n  }" (switch "switch") (parenthesized_expression "(piVar5)" (( "(") (identifier "piVar5") () ")")) (compound_statement "{\n  case (int *)0x0:\n    if ((bVar3 & 7) != 0) {\n      piStack_50 = piVar5;\n                    \n      FUN_00069d00("../../gold/symtab.h",0xaa,"shndx");\n    }\n    auStack_40._0_4_ = param_2[3];\n    bVar3 = *(byte *)((int)param_2 + 0x2b) >> 5 & 1;\n    if (((int *)auStack_40._0_4_ != (int *)0xfff1) && (bVar3 == 0)) {\n      piVar5 = (int *)FUN_00177470(auStack_40._0_4_);\n      if ((char)piVar5 == '\0') {\n        *param_3 = 1;\n        return 0;\n      }\n      if ((*(byte *)((int)param_2 + 0x2a) & 7) != 0) {\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.h",0xa1,"object");\n      }\n    }\n    ppiVar10 = (int **)auStack_4c;\n    ppiVar9 = (int **)auStack_4c;\n    piVar5 = (int *)param_2[2];\n    if ((((*(byte *)(piVar5 + 0xb) & 1) != 0) ||\n        (iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0)) ||\n       ((int *)auStack_40._0_4_ == (int *)0x0)) goto code_r0x0017c290;\n    if ((bVar3 != 0) ||\n       (((int *)auStack_40._0_4_ != (int *)0xfff1 &&\n        (cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0')))) {\n      if (*(code **)(*piVar5 + 0x60) == FUN_0003bac0) {\n        piVar8 = (int *)(piVar5[0xf] - piVar5[0xe] >> 2);\n        if (piVar8 <= (uint)auStack_40._0_4_) goto code_r0x0017c850;\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = *(int *)(piVar5[0xe] + auStack_40._0_4_ * 4);\n      }\n      else {\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_);\n      }\n      cVar4 = FUN_00177870(param_1,piVar5,auStack_40._4_4_);\n      if (cVar4 == '\0') {\n        piStack_34 = (int *)auStack_40._4_4_;\n        uVar13 = (**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_);\n        auStack_40._4_4_ = (int)uVar13;\n        uVar12 = CONCAT44((int)uVar13,auStack_40._0_4_);\n        piStack_38 = (int *)((ulonglong)uVar13 >> 0x20);\n        piVar8 = piStack_34;\n        if (auStack_40._0_4_ == 0) {\n          unique0x100005d7 = uVar13;\n          if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    \n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }\n          if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    \n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }\n          *param_3 = 2;\n          return 0;\n        }\n      }\n      else {\n        if (auStack_40._0_4_ != 0) {\n          piStack_50 = param_2;\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        piStack_50 = (int *)auStack_40._4_4_;\n        FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5);\n        piVar5 = uStack_2c._4_4_;\n        auStack_40._0_4_ = apiStack_24[0];\n        ppiVar10 = &piStack_50;\n        if (uStack_2c._4_4_ == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }\n        if (*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0) {\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    \n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }\n        else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }\n        ppiVar9 = &piStack_50;\n        if (iStack_44 == 0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }\n        piStack_38 = apiStack_24[0];\n        uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_);\n        auStack_40 = (undefined1  [8])uVar12;\n        piVar8 = piStack_38;\n      }\n      iVar6 = param_2[0xc];\n      *(int *)((int)ppiVar9 + 0x1c) = param_2[0xd];\n      *(int *)((int)ppiVar9 + 0x18) = iVar6;\n      auStack_40 = (undefined1  [8])uVar12;\n      if ((*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10)) == 0xffffffff) {\n        *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0x1c);\n        *(undefined4 *)((int)ppiVar9 + -0x14) = *(undefined4 *)((int)ppiVar9 + 0x18);\n        *(int **)((int)ppiVar9 + -0x18) = piVar8;\n        *(int **)((int)ppiVar9 + -0x1c) = piVar5;\n        *(undefined4 *)((int)ppiVar9 + -0x20) = *(undefined4 *)((int)ppiVar9 + 0xc);\n        *(undefined **)((int)ppiVar9 + -0x24) = &UNK_0017c717;\n        uVar7 = FUN_000f5920();\n      }\n      else if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n        pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);\n        if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }\n        uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);\n      }\n      else {\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }\n      break;\n    }\n  case (int *)0x3:\n    uVar7 = param_2[0xc];\n    ppiVar9 = (int **)auStack_4c;\n    break;\n  case (int *)0x1:\n    if ((bVar3 & 7) != 1) {\n      piStack_50 = piVar5;\n                    \n      FUN_00069d00("../../gold/symtab.h",0xb5,"output_data");\n    }\n    auStack_40._0_4_ = param_2[2];\n    iVar6 = param_2[0xc];\n    piVar5 = (int *)param_2[0xd];\n    if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n      piStack_34 = (int *)(**(code **)(*(int *)auStack_40._0_4_ + 0x24))(auStack_40._0_4_);\n      if (piStack_34 == (int *)0x0) {\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }\n      if (*(code **)(*piStack_34 + 0x48) == FUN_000b3000) {\n        uStack_2c = *(undefined8 *)(piStack_34 + 0x25);\n      }\n      else {\n        uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34);\n      }\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if (((bVar3 & 1) == 0) ||\n         (uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0)\n         ) goto code_r0x0017c7b3;\n      uVar7 = (int)uStack_2c + ((iVar6 + uVar7) - piStack_34[1]);\n      piStack_50 = (int *)(*(byte *)((int)param_2 + 0x2a) & 7);\n      if ((char)piStack_50 != '\x01') {\n                    \n        FUN_00069d00("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }\n    }\n    else {\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if ((bVar3 & 1) == 0) {\ncode_r0x0017c7b3:\n        *(uint *)((int)ppiVar9 + -4) = uVar7;\n        *(char **)((int)ppiVar9 + -8) = "address";\n        *(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5;\n        *(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h";\n                    \n        *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc;\n        auStack_40 = (undefined1  [8])uVar12;\n        FUN_00069d00();\n      }\n      uVar7 = iVar6 + *(int *)(auStack_40._0_4_ + 4);\n    }\n    ppiVar9 = (int **)auStack_4c;\n    if ((char)param_2[3] != '\0') {\n      if ((auStack_40._4_4_ & 2) == 0) {\n        piStack_50 = param_2;\n                    \n        FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar7 = uVar7 + *(int *)(auStack_40._0_4_ + 0xc);\n      ppiVar9 = (int **)auStack_4c;\n    }\n    break;\n  case (int *)0x2:\n    if ((bVar3 & 7) != 2) {\n      piStack_50 = in_ECX;\n                    \n      FUN_00069d00("../../gold/symtab.h",200,"output_segment");\n    }\n    iVar6 = param_2[2];\n    uVar7 = param_2[0xc];\n    piStack_50 = (int *)param_2[0xd];\n    if ((*(byte *)(param_2 + 10) & 0xf) != 6) {\n      bVar11 = CARRY4(uVar7,*(uint *)(iVar6 + 0x15c));\n      uVar7 = uVar7 + *(uint *)(iVar6 + 0x15c);\n      piStack_50 = (int *)((int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160));\n    }\n    iVar1 = param_2[3];\n    if (iVar1 == 1) {\n      uVar7 = uVar7 + *(int *)(iVar6 + 0x16c);\n      ppiVar9 = (int **)auStack_4c;\n    }\n    else {\n      ppiVar9 = (int **)auStack_4c;\n      if (iVar1 != 0) {\n        if (iVar1 != 2) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }\n        uVar7 = uVar7 + *(int *)(iVar6 + 0x18c);\n        ppiVar9 = (int **)auStack_4c;\n      }\n    }\n    break;\n  case (int *)0x4:\ncode_r0x0017c290:\n    uVar7 = 0;\n    ppiVar9 = (int **)auStack_4c;\n    break;\n  default:\n    piStack_50 = piVar5;\n                    \n    FUN_00069d00("../../gold/symtab.cc",0xb6a,"compute_final_value");\n  }" ({ "{") (case_statement "case (int *)0x0:\n    if ((bVar3 & 7) != 0) {\n      piStack_50 = piVar5;\n                    \n      FUN_00069d00("../../gold/symtab.h",0xaa,"shndx");\n    }\n    auStack_40._0_4_ = param_2[3];\n    bVar3 = *(byte *)((int)param_2 + 0x2b) >> 5 & 1;\n    if (((int *)auStack_40._0_4_ != (int *)0xfff1) && (bVar3 == 0)) {\n      piVar5 = (int *)FUN_00177470(auStack_40._0_4_);\n      if ((char)piVar5 == '\0') {\n        *param_3 = 1;\n        return 0;\n      }\n      if ((*(byte *)((int)param_2 + 0x2a) & 7) != 0) {\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.h",0xa1,"object");\n      }\n    }\n    ppiVar10 = (int **)auStack_4c;\n    ppiVar9 = (int **)auStack_4c;\n    piVar5 = (int *)param_2[2];\n    if ((((*(byte *)(piVar5 + 0xb) & 1) != 0) ||\n        (iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0)) ||\n       ((int *)auStack_40._0_4_ == (int *)0x0)) goto code_r0x0017c290;\n    if ((bVar3 != 0) ||\n       (((int *)auStack_40._0_4_ != (int *)0xfff1 &&\n        (cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0')))) {\n      if (*(code **)(*piVar5 + 0x60) == FUN_0003bac0) {\n        piVar8 = (int *)(piVar5[0xf] - piVar5[0xe] >> 2);\n        if (piVar8 <= (uint)auStack_40._0_4_) goto code_r0x0017c850;\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = *(int *)(piVar5[0xe] + auStack_40._0_4_ * 4);\n      }\n      else {\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_);\n      }\n      cVar4 = FUN_00177870(param_1,piVar5,auStack_40._4_4_);\n      if (cVar4 == '\0') {\n        piStack_34 = (int *)auStack_40._4_4_;\n        uVar13 = (**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_);\n        auStack_40._4_4_ = (int)uVar13;\n        uVar12 = CONCAT44((int)uVar13,auStack_40._0_4_);\n        piStack_38 = (int *)((ulonglong)uVar13 >> 0x20);\n        piVar8 = piStack_34;\n        if (auStack_40._0_4_ == 0) {\n          unique0x100005d7 = uVar13;\n          if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    \n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }\n          if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    \n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }\n          *param_3 = 2;\n          return 0;\n        }\n      }\n      else {\n        if (auStack_40._0_4_ != 0) {\n          piStack_50 = param_2;\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        piStack_50 = (int *)auStack_40._4_4_;\n        FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5);\n        piVar5 = uStack_2c._4_4_;\n        auStack_40._0_4_ = apiStack_24[0];\n        ppiVar10 = &piStack_50;\n        if (uStack_2c._4_4_ == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }\n        if (*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0) {\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    \n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }\n        else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }\n        ppiVar9 = &piStack_50;\n        if (iStack_44 == 0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }\n        piStack_38 = apiStack_24[0];\n        uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_);\n        auStack_40 = (undefined1  [8])uVar12;\n        piVar8 = piStack_38;\n      }\n      iVar6 = param_2[0xc];\n      *(int *)((int)ppiVar9 + 0x1c) = param_2[0xd];\n      *(int *)((int)ppiVar9 + 0x18) = iVar6;\n      auStack_40 = (undefined1  [8])uVar12;\n      if ((*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10)) == 0xffffffff) {\n        *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0x1c);\n        *(undefined4 *)((int)ppiVar9 + -0x14) = *(undefined4 *)((int)ppiVar9 + 0x18);\n        *(int **)((int)ppiVar9 + -0x18) = piVar8;\n        *(int **)((int)ppiVar9 + -0x1c) = piVar5;\n        *(undefined4 *)((int)ppiVar9 + -0x20) = *(undefined4 *)((int)ppiVar9 + 0xc);\n        *(undefined **)((int)ppiVar9 + -0x24) = &UNK_0017c717;\n        uVar7 = FUN_000f5920();\n      }\n      else if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n        pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);\n        if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }\n        uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);\n      }\n      else {\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }\n      break;\n    }" (case "case") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (: ":") (if_statement "if ((bVar3 & 7) != 0) {\n      piStack_50 = piVar5;\n                    \n      FUN_00069d00("../../gold/symtab.h",0xaa,"shndx");\n    }" (if "if") (parenthesized_expression "((bVar3 & 7) != 0)" (( "(") (binary_expression "(bVar3 & 7) != 0" (parenthesized_expression "(bVar3 & 7)" (( "(") (binary_expression "bVar3 & 7" (identifier "bVar3") (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      piStack_50 = piVar5;\n                    \n      FUN_00069d00("../../gold/symtab.h",0xaa,"shndx");\n    }" ({ "{") (expression_statement "piStack_50 = piVar5;" (assignment_expression "piStack_50 = piVar5" (identifier "piStack_50") (= "=") (identifier "piVar5")) (; ";")) (expression_statement "FUN_00069d00("../../gold/symtab.h",0xaa,"shndx");" (call_expression "FUN_00069d00("../../gold/symtab.h",0xaa,"shndx")" (identifier "FUN_00069d00") (argument_list "("../../gold/symtab.h",0xaa,"shndx")" (( "(") (string_literal ""../../gold/symtab.h"" (" """) (string_content "../../gold/symtab.h") (" """)) (, ",") (number_literal "0xaa") (, ",") (string_literal ""shndx"" (" """) (string_content "shndx") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "auStack_40._0_4_ = param_2[3];" (assignment_expression "auStack_40._0_4_ = param_2[3]" (field_expression "auStack_40._0_4_" (identifier "auStack_40") (. ".") (field_identifier "_0_4_")) (= "=") (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "bVar3 = *(byte *)((int)param_2 + 0x2b) >> 5 & 1;" (assignment_expression "bVar3 = *(byte *)((int)param_2 + 0x2b) >> 5 & 1" (identifier "bVar3") (= "=") (binary_expression "*(byte *)((int)param_2 + 0x2b) >> 5 & 1" (binary_expression "*(byte *)((int)param_2 + 0x2b) >> 5" (pointer_expression "*(byte *)((int)param_2 + 0x2b)" (* "*") (cast_expression "(byte *)((int)param_2 + 0x2b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0x2b)" (( "(") (binary_expression "(int)param_2 + 0x2b" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0x2b")) () ")")))) (>> ">>") (number_literal "5")) (& "&") (number_literal "1"))) (; ";")) (if_statement "if (((int *)auStack_40._0_4_ != (int *)0xfff1) && (bVar3 == 0)) {\n      piVar5 = (int *)FUN_00177470(auStack_40._0_4_);\n      if ((char)piVar5 == '\0') {\n        *param_3 = 1;\n        return 0;\n      }\n      if ((*(byte *)((int)param_2 + 0x2a) & 7) != 0) {\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.h",0xa1,"object");\n      }\n    }" (if "if") (parenthesized_expression "(((int *)auStack_40._0_4_ != (int *)0xfff1) && (bVar3 == 0))" (( "(") (binary_expression "((int *)auStack_40._0_4_ != (int *)0xfff1) && (bVar3 == 0)" (parenthesized_expression "((int *)auStack_40._0_4_ != (int *)0xfff1)" (( "(") (binary_expression "(int *)auStack_40._0_4_ != (int *)0xfff1" (cast_expression "(int *)auStack_40._0_4_" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "auStack_40._0_4_" (identifier "auStack_40") (. ".") (field_identifier "_0_4_"))) (!= "!=") (cast_expression "(int *)0xfff1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xfff1"))) () ")")) (&& "&&") (parenthesized_expression "(bVar3 == 0)" (( "(") (binary_expression "bVar3 == 0" (identifier "bVar3") (== "==") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      piVar5 = (int *)FUN_00177470(auStack_40._0_4_);\n      if ((char)piVar5 == '\0') {\n        *param_3 = 1;\n        return 0;\n      }\n      if ((*(byte *)((int)param_2 + 0x2a) & 7) != 0) {\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.h",0xa1,"object");\n      }\n    }" ({ "{") (expression_statement "piVar5 = (int *)FUN_00177470(auStack_40._0_4_);" (assignment_expression "piVar5 = (int *)FUN_00177470(auStack_40._0_4_)" (identifier "piVar5") (= "=") (cast_expression "(int *)FUN_00177470(auStack_40._0_4_)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00177470(auStack_40._0_4_)" (identifier "FUN_00177470") (argument_list "(auStack_40._0_4_)" (( "(") (field_expression "auStack_40._0_4_" (identifier "auStack_40") (. ".") (field_identifier "_0_4_")) () ")"))))) (; ";")) (if_statement "if ((char)piVar5 == '\0') {\n        *param_3 = 1;\n        return 0;\n      }" (if "if") (parenthesized_expression "((char)piVar5 == '\0')" (( "(") (binary_expression "(char)piVar5 == '\0'" (cast_expression "(char)piVar5" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "piVar5")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        *param_3 = 1;\n        return 0;\n      }" ({ "{") (expression_statement "*param_3 = 1;" (assignment_expression "*param_3 = 1" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (number_literal "1")) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (if_statement "if ((*(byte *)((int)param_2 + 0x2a) & 7) != 0) {\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.h",0xa1,"object");\n      }" (if "if") (parenthesized_expression "((*(byte *)((int)param_2 + 0x2a) & 7) != 0)" (( "(") (binary_expression "(*(byte *)((int)param_2 + 0x2a) & 7) != 0" (parenthesized_expression "(*(byte *)((int)param_2 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)((int)param_2 + 0x2a) & 7" (pointer_expression "*(byte *)((int)param_2 + 0x2a)" (* "*") (cast_expression "(byte *)((int)param_2 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0x2a)" (( "(") (binary_expression "(int)param_2 + 0x2a" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.h",0xa1,"object");\n      }" ({ "{") (expression_statement "piStack_50 = piVar5;" (assignment_expression "piStack_50 = piVar5" (identifier "piStack_50") (= "=") (identifier "piVar5")) (; ";")) (expression_statement "FUN_00069d00("../../gold/symtab.h",0xa1,"object");" (call_expression "FUN_00069d00("../../gold/symtab.h",0xa1,"object")" (identifier "FUN_00069d00") (argument_list "("../../gold/symtab.h",0xa1,"object")" (( "(") (string_literal ""../../gold/symtab.h"" (" """) (string_content "../../gold/symtab.h") (" """)) (, ",") (number_literal "0xa1") (, ",") (string_literal ""object"" (" """) (string_content "object") (" """)) () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "ppiVar10 = (int **)auStack_4c;" (assignment_expression "ppiVar10 = (int **)auStack_4c" (identifier "ppiVar10") (= "=") (cast_expression "(int **)auStack_4c" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "auStack_4c"))) (; ";")) (expression_statement "ppiVar9 = (int **)auStack_4c;" (assignment_expression "ppiVar9 = (int **)auStack_4c" (identifier "ppiVar9") (= "=") (cast_expression "(int **)auStack_4c" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "auStack_4c"))) (; ";")) (expression_statement "piVar5 = (int *)param_2[2];" (assignment_expression "piVar5 = (int *)param_2[2]" (identifier "piVar5") (= "=") (cast_expression "(int *)param_2[2]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]")))) (; ";")) (if_statement "if ((((*(byte *)(piVar5 + 0xb) & 1) != 0) ||\n        (iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0)) ||\n       ((int *)auStack_40._0_4_ == (int *)0x0)) goto code_r0x0017c290;" (if "if") (parenthesized_expression "((((*(byte *)(piVar5 + 0xb) & 1) != 0) ||\n        (iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0)) ||\n       ((int *)auStack_40._0_4_ == (int *)0x0))" (( "(") (binary_expression "(((*(byte *)(piVar5 + 0xb) & 1) != 0) ||\n        (iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0)) ||\n       ((int *)auStack_40._0_4_ == (int *)0x0)" (parenthesized_expression "(((*(byte *)(piVar5 + 0xb) & 1) != 0) ||\n        (iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0))" (( "(") (binary_expression "((*(byte *)(piVar5 + 0xb) & 1) != 0) ||\n        (iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0)" (parenthesized_expression "((*(byte *)(piVar5 + 0xb) & 1) != 0)" (( "(") (binary_expression "(*(byte *)(piVar5 + 0xb) & 1) != 0" (parenthesized_expression "(*(byte *)(piVar5 + 0xb) & 1)" (( "(") (binary_expression "*(byte *)(piVar5 + 0xb) & 1" (pointer_expression "*(byte *)(piVar5 + 0xb)" (* "*") (cast_expression "(byte *)(piVar5 + 0xb)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar5 + 0xb)" (( "(") (binary_expression "piVar5 + 0xb" (identifier "piVar5") (+ "+") (number_literal "0xb")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0)" (( "(") (comma_expression "iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0" (assignment_expression "iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5)" (identifier "iVar6") (= "=") (call_expression "(**(code **)(*piVar5 + 0x14))(piVar5)" (parenthesized_expression "(**(code **)(*piVar5 + 0x14))" (( "(") (pointer_expression "**(code **)(*piVar5 + 0x14)" (* "*") (pointer_expression "*(code **)(*piVar5 + 0x14)" (* "*") (cast_expression "(code **)(*piVar5 + 0x14)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar5 + 0x14)" (( "(") (binary_expression "*piVar5 + 0x14" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (argument_list "(piVar5)" (( "(") (identifier "piVar5") () ")")))) (, ",") (binary_expression "iVar6 != 0" (identifier "iVar6") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (|| "||") (parenthesized_expression "((int *)auStack_40._0_4_ == (int *)0x0)" (( "(") (binary_expression "(int *)auStack_40._0_4_ == (int *)0x0" (cast_expression "(int *)auStack_40._0_4_" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "auStack_40._0_4_" (identifier "auStack_40") (. ".") (field_identifier "_0_4_"))) (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")"))) () ")")) (goto_statement "goto code_r0x0017c290;" (goto "goto") (statement_identifier "code_r0x0017c290") (; ";"))) (if_statement "if ((bVar3 != 0) ||\n       (((int *)auStack_40._0_4_ != (int *)0xfff1 &&\n        (cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0')))) {\n      if (*(code **)(*piVar5 + 0x60) == FUN_0003bac0) {\n        piVar8 = (int *)(piVar5[0xf] - piVar5[0xe] >> 2);\n        if (piVar8 <= (uint)auStack_40._0_4_) goto code_r0x0017c850;\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = *(int *)(piVar5[0xe] + auStack_40._0_4_ * 4);\n      }\n      else {\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_);\n      }\n      cVar4 = FUN_00177870(param_1,piVar5,auStack_40._4_4_);\n      if (cVar4 == '\0') {\n        piStack_34 = (int *)auStack_40._4_4_;\n        uVar13 = (**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_);\n        auStack_40._4_4_ = (int)uVar13;\n        uVar12 = CONCAT44((int)uVar13,auStack_40._0_4_);\n        piStack_38 = (int *)((ulonglong)uVar13 >> 0x20);\n        piVar8 = piStack_34;\n        if (auStack_40._0_4_ == 0) {\n          unique0x100005d7 = uVar13;\n          if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    \n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }\n          if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    \n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }\n          *param_3 = 2;\n          return 0;\n        }\n      }\n      else {\n        if (auStack_40._0_4_ != 0) {\n          piStack_50 = param_2;\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        piStack_50 = (int *)auStack_40._4_4_;\n        FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5);\n        piVar5 = uStack_2c._4_4_;\n        auStack_40._0_4_ = apiStack_24[0];\n        ppiVar10 = &piStack_50;\n        if (uStack_2c._4_4_ == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }\n        if (*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0) {\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    \n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }\n        else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }\n        ppiVar9 = &piStack_50;\n        if (iStack_44 == 0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }\n        piStack_38 = apiStack_24[0];\n        uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_);\n        auStack_40 = (undefined1  [8])uVar12;\n        piVar8 = piStack_38;\n      }\n      iVar6 = param_2[0xc];\n      *(int *)((int)ppiVar9 + 0x1c) = param_2[0xd];\n      *(int *)((int)ppiVar9 + 0x18) = iVar6;\n      auStack_40 = (undefined1  [8])uVar12;\n      if ((*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10)) == 0xffffffff) {\n        *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0x1c);\n        *(undefined4 *)((int)ppiVar9 + -0x14) = *(undefined4 *)((int)ppiVar9 + 0x18);\n        *(int **)((int)ppiVar9 + -0x18) = piVar8;\n        *(int **)((int)ppiVar9 + -0x1c) = piVar5;\n        *(undefined4 *)((int)ppiVar9 + -0x20) = *(undefined4 *)((int)ppiVar9 + 0xc);\n        *(undefined **)((int)ppiVar9 + -0x24) = &UNK_0017c717;\n        uVar7 = FUN_000f5920();\n      }\n      else if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n        pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);\n        if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }\n        uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);\n      }\n      else {\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }\n      break;\n    }" (if "if") (parenthesized_expression "((bVar3 != 0) ||\n       (((int *)auStack_40._0_4_ != (int *)0xfff1 &&\n        (cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0'))))" (( "(") (binary_expression "(bVar3 != 0) ||\n       (((int *)auStack_40._0_4_ != (int *)0xfff1 &&\n        (cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0')))" (parenthesized_expression "(bVar3 != 0)" (( "(") (binary_expression "bVar3 != 0" (identifier "bVar3") (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(((int *)auStack_40._0_4_ != (int *)0xfff1 &&\n        (cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0')))" (( "(") (parenthesized_expression "((int *)auStack_40._0_4_ != (int *)0xfff1 &&\n        (cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0'))" (( "(") (binary_expression "(int *)auStack_40._0_4_ != (int *)0xfff1 &&\n        (cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0')" (binary_expression "(int *)auStack_40._0_4_ != (int *)0xfff1" (cast_expression "(int *)auStack_40._0_4_" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "auStack_40._0_4_" (identifier "auStack_40") (. ".") (field_identifier "_0_4_"))) (!= "!=") (cast_expression "(int *)0xfff1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xfff1"))) (&& "&&") (parenthesized_expression "(cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0')" (( "(") (comma_expression "cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0'" (assignment_expression "cVar4 = FUN_00177470(auStack_40._0_4_)" (identifier "cVar4") (= "=") (call_expression "FUN_00177470(auStack_40._0_4_)" (identifier "FUN_00177470") (argument_list "(auStack_40._0_4_)" (( "(") (field_expression "auStack_40._0_4_" (identifier "auStack_40") (. ".") (field_identifier "_0_4_")) () ")")))) (, ",") (binary_expression "cVar4 == '\0'" (identifier "cVar4") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n      if (*(code **)(*piVar5 + 0x60) == FUN_0003bac0) {\n        piVar8 = (int *)(piVar5[0xf] - piVar5[0xe] >> 2);\n        if (piVar8 <= (uint)auStack_40._0_4_) goto code_r0x0017c850;\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = *(int *)(piVar5[0xe] + auStack_40._0_4_ * 4);\n      }\n      else {\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_);\n      }\n      cVar4 = FUN_00177870(param_1,piVar5,auStack_40._4_4_);\n      if (cVar4 == '\0') {\n        piStack_34 = (int *)auStack_40._4_4_;\n        uVar13 = (**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_);\n        auStack_40._4_4_ = (int)uVar13;\n        uVar12 = CONCAT44((int)uVar13,auStack_40._0_4_);\n        piStack_38 = (int *)((ulonglong)uVar13 >> 0x20);\n        piVar8 = piStack_34;\n        if (auStack_40._0_4_ == 0) {\n          unique0x100005d7 = uVar13;\n          if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    \n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }\n          if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    \n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }\n          *param_3 = 2;\n          return 0;\n        }\n      }\n      else {\n        if (auStack_40._0_4_ != 0) {\n          piStack_50 = param_2;\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        piStack_50 = (int *)auStack_40._4_4_;\n        FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5);\n        piVar5 = uStack_2c._4_4_;\n        auStack_40._0_4_ = apiStack_24[0];\n        ppiVar10 = &piStack_50;\n        if (uStack_2c._4_4_ == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }\n        if (*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0) {\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    \n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }\n        else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }\n        ppiVar9 = &piStack_50;\n        if (iStack_44 == 0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }\n        piStack_38 = apiStack_24[0];\n        uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_);\n        auStack_40 = (undefined1  [8])uVar12;\n        piVar8 = piStack_38;\n      }\n      iVar6 = param_2[0xc];\n      *(int *)((int)ppiVar9 + 0x1c) = param_2[0xd];\n      *(int *)((int)ppiVar9 + 0x18) = iVar6;\n      auStack_40 = (undefined1  [8])uVar12;\n      if ((*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10)) == 0xffffffff) {\n        *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0x1c);\n        *(undefined4 *)((int)ppiVar9 + -0x14) = *(undefined4 *)((int)ppiVar9 + 0x18);\n        *(int **)((int)ppiVar9 + -0x18) = piVar8;\n        *(int **)((int)ppiVar9 + -0x1c) = piVar5;\n        *(undefined4 *)((int)ppiVar9 + -0x20) = *(undefined4 *)((int)ppiVar9 + 0xc);\n        *(undefined **)((int)ppiVar9 + -0x24) = &UNK_0017c717;\n        uVar7 = FUN_000f5920();\n      }\n      else if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n        pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);\n        if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }\n        uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);\n      }\n      else {\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }\n      break;\n    }" ({ "{") (if_statement "if (*(code **)(*piVar5 + 0x60) == FUN_0003bac0) {\n        piVar8 = (int *)(piVar5[0xf] - piVar5[0xe] >> 2);\n        if (piVar8 <= (uint)auStack_40._0_4_) goto code_r0x0017c850;\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = *(int *)(piVar5[0xe] + auStack_40._0_4_ * 4);\n      }\n      else {\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_);\n      }" (if "if") (parenthesized_expression "(*(code **)(*piVar5 + 0x60) == FUN_0003bac0)" (( "(") (binary_expression "*(code **)(*piVar5 + 0x60) == FUN_0003bac0" (pointer_expression "*(code **)(*piVar5 + 0x60)" (* "*") (cast_expression "(code **)(*piVar5 + 0x60)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar5 + 0x60)" (( "(") (binary_expression "*piVar5 + 0x60" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (+ "+") (number_literal "0x60")) () ")")))) (== "==") (identifier "FUN_0003bac0")) () ")")) (compound_statement "{\n        piVar8 = (int *)(piVar5[0xf] - piVar5[0xe] >> 2);\n        if (piVar8 <= (uint)auStack_40._0_4_) goto code_r0x0017c850;\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = *(int *)(piVar5[0xe] + auStack_40._0_4_ * 4);\n      }" ({ "{") (expression_statement "piVar8 = (int *)(piVar5[0xf] - piVar5[0xe] >> 2);" (assignment_expression "piVar8 = (int *)(piVar5[0xf] - piVar5[0xe] >> 2)" (identifier "piVar8") (= "=") (cast_expression "(int *)(piVar5[0xf] - piVar5[0xe] >> 2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar5[0xf] - piVar5[0xe] >> 2)" (( "(") (binary_expression "piVar5[0xf] - piVar5[0xe] >> 2" (binary_expression "piVar5[0xf] - piVar5[0xe]" (subscript_expression "piVar5[0xf]" (identifier "piVar5") ([ "[") (number_literal "0xf") (] "]")) (- "-") (subscript_expression "piVar5[0xe]" (identifier "piVar5") ([ "[") (number_literal "0xe") (] "]"))) (>> ">>") (number_literal "2")) () ")")))) (; ";")) (if_statement "if (piVar8 <= (uint)auStack_40._0_4_) goto code_r0x0017c850;" (if "if") (parenthesized_expression "(piVar8 <= (uint)auStack_40._0_4_)" (( "(") (binary_expression "piVar8 <= (uint)auStack_40._0_4_" (identifier "piVar8") (<= "<=") (cast_expression "(uint)auStack_40._0_4_" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (field_expression "auStack_40._0_4_" (identifier "auStack_40") (. ".") (field_identifier "_0_4_")))) () ")")) (goto_statement "goto code_r0x0017c850;" (goto "goto") (statement_identifier "code_r0x0017c850") (; ";"))) (expression_statement "auStack_40._4_4_ = auStack_40._0_4_;" (assignment_expression "auStack_40._4_4_ = auStack_40._0_4_" (field_expression "auStack_40._4_4_" (identifier "auStack_40") (. ".") (field_identifier "_4_4_")) (= "=") (field_expression "auStack_40._0_4_" (identifier "auStack_40") (. ".") (field_identifier "_0_4_"))) (; ";")) (expression_statement "auStack_40._0_4_ = *(int *)(piVar5[0xe] + auStack_40._0_4_ * 4);" (assignment_expression "auStack_40._0_4_ = *(int *)(piVar5[0xe] + auStack_40._0_4_ * 4)" (field_expression "auStack_40._0_4_" (identifier "auStack_40") (. ".") (field_identifier "_0_4_")) (= "=") (pointer_expression "*(int *)(piVar5[0xe] + auStack_40._0_4_ * 4)" (* "*") (cast_expression "(int *)(piVar5[0xe] + auStack_40._0_4_ * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar5[0xe] + auStack_40._0_4_ * 4)" (( "(") (binary_expression "piVar5[0xe] + auStack_40._0_4_ * 4" (subscript_expression "piVar5[0xe]" (identifier "piVar5") ([ "[") (number_literal "0xe") (] "]")) (+ "+") (binary_expression "auStack_40._0_4_ * 4" (field_expression "auStack_40._0_4_" (identifier "auStack_40") (. ".") (field_identifier "_0_4_")) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_);\n      }" (else "else") (compound_statement "{\n        auStack_40._4_4_ = auStack_40._0_4_;\n        auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_);\n      }" ({ "{") (expression_statement "auStack_40._4_4_ = auStack_40._0_4_;" (assignment_expression "auStack_40._4_4_ = auStack_40._0_4_" (field_expression "auStack_40._4_4_" (identifier "auStack_40") (. ".") (field_identifier "_4_4_")) (= "=") (field_expression "auStack_40._0_4_" (identifier "auStack_40") (. ".") (field_identifier "_0_4_"))) (; ";")) (expression_statement "auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_);" (assignment_expression "auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_)" (field_expression "auStack_40._0_4_" (identifier "auStack_40") (. ".") (field_identifier "_0_4_")) (= "=") (call_expression "(**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_)" (parenthesized_expression "(**(code **)(*piVar5 + 0x60))" (( "(") (pointer_expression "**(code **)(*piVar5 + 0x60)" (* "*") (pointer_expression "*(code **)(*piVar5 + 0x60)" (* "*") (cast_expression "(code **)(*piVar5 + 0x60)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar5 + 0x60)" (( "(") (binary_expression "*piVar5 + 0x60" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (+ "+") (number_literal "0x60")) () ")"))))) () ")")) (argument_list "(piVar5,auStack_40._0_4_)" (( "(") (identifier "piVar5") (, ",") (field_expression "auStack_40._0_4_" (identifier "auStack_40") (. ".") (field_identifier "_0_4_")) () ")")))) (; ";")) (} "}")))) (expression_statement "cVar4 = FUN_00177870(param_1,piVar5,auStack_40._4_4_);" (assignment_expression "cVar4 = FUN_00177870(param_1,piVar5,auStack_40._4_4_)" (identifier "cVar4") (= "=") (call_expression "FUN_00177870(param_1,piVar5,auStack_40._4_4_)" (identifier "FUN_00177870") (argument_list "(param_1,piVar5,auStack_40._4_4_)" (( "(") (identifier "param_1") (, ",") (identifier "piVar5") (, ",") (field_expression "auStack_40._4_4_" (identifier "auStack_40") (. ".") (field_identifier "_4_4_")) () ")")))) (; ";")) (if_statement "if (cVar4 == '\0') {\n        piStack_34 = (int *)auStack_40._4_4_;\n        uVar13 = (**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_);\n        auStack_40._4_4_ = (int)uVar13;\n        uVar12 = CONCAT44((int)uVar13,auStack_40._0_4_);\n        piStack_38 = (int *)((ulonglong)uVar13 >> 0x20);\n        piVar8 = piStack_34;\n        if (auStack_40._0_4_ == 0) {\n          unique0x100005d7 = uVar13;\n          if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    \n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }\n          if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    \n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }\n          *param_3 = 2;\n          return 0;\n        }\n      }\n      else {\n        if (auStack_40._0_4_ != 0) {\n          piStack_50 = param_2;\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        piStack_50 = (int *)auStack_40._4_4_;\n        FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5);\n        piVar5 = uStack_2c._4_4_;\n        auStack_40._0_4_ = apiStack_24[0];\n        ppiVar10 = &piStack_50;\n        if (uStack_2c._4_4_ == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }\n        if (*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0) {\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    \n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }\n        else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }\n        ppiVar9 = &piStack_50;\n        if (iStack_44 == 0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }\n        piStack_38 = apiStack_24[0];\n        uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_);\n        auStack_40 = (undefined1  [8])uVar12;\n        piVar8 = piStack_38;\n      }" (if "if") (parenthesized_expression "(cVar4 == '\0')" (( "(") (binary_expression "cVar4 == '\0'" (identifier "cVar4") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n        piStack_34 = (int *)auStack_40._4_4_;\n        uVar13 = (**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_);\n        auStack_40._4_4_ = (int)uVar13;\n        uVar12 = CONCAT44((int)uVar13,auStack_40._0_4_);\n        piStack_38 = (int *)((ulonglong)uVar13 >> 0x20);\n        piVar8 = piStack_34;\n        if (auStack_40._0_4_ == 0) {\n          unique0x100005d7 = uVar13;\n          if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    \n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }\n          if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    \n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }\n          *param_3 = 2;\n          return 0;\n        }\n      }" ({ "{") (expression_statement "piStack_34 = (int *)auStack_40._4_4_;" (assignment_expression "piStack_34 = (int *)auStack_40._4_4_" (identifier "piStack_34") (= "=") (cast_expression "(int *)auStack_40._4_4_" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "auStack_40._4_4_" (identifier "auStack_40") (. ".") (field_identifier "_4_4_")))) (; ";")) (expression_statement "uVar13 = (**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_);" (assignment_expression "uVar13 = (**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_)" (identifier "uVar13") (= "=") (call_expression "(**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_)" (parenthesized_expression "(**(code **)(*piVar5 + 0x68))" (( "(") (pointer_expression "**(code **)(*piVar5 + 0x68)" (* "*") (pointer_expression "*(code **)(*piVar5 + 0x68)" (* "*") (cast_expression "(code **)(*piVar5 + 0x68)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar5 + 0x68)" (( "(") (binary_expression "*piVar5 + 0x68" (pointer_expression "*piVar5" (* "*") (identifier "piVar5")) (+ "+") (number_literal "0x68")) () ")"))))) () ")")) (argument_list "(piVar5,auStack_40._4_4_)" (( "(") (identifier "piVar5") (, ",") (field_expression "auStack_40._4_4_" (identifier "auStack_40") (. ".") (field_identifier "_4_4_")) () ")")))) (; ";")) (expression_statement "auStack_40._4_4_ = (int)uVar13;" (assignment_expression "auStack_40._4_4_ = (int)uVar13" (field_expression "auStack_40._4_4_" (identifier "auStack_40") (. ".") (field_identifier "_4_4_")) (= "=") (cast_expression "(int)uVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar13"))) (; ";")) (expression_statement "uVar12 = CONCAT44((int)uVar13,auStack_40._0_4_);" (assignment_expression "uVar12 = CONCAT44((int)uVar13,auStack_40._0_4_)" (identifier "uVar12") (= "=") (call_expression "CONCAT44((int)uVar13,auStack_40._0_4_)" (identifier "CONCAT44") (argument_list "((int)uVar13,auStack_40._0_4_)" (( "(") (cast_expression "(int)uVar13" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar13")) (, ",") (field_expression "auStack_40._0_4_" (identifier "auStack_40") (. ".") (field_identifier "_0_4_")) () ")")))) (; ";")) (expression_statement "piStack_38 = (int *)((ulonglong)uVar13 >> 0x20);" (assignment_expression "piStack_38 = (int *)((ulonglong)uVar13 >> 0x20)" (identifier "piStack_38") (= "=") (cast_expression "(int *)((ulonglong)uVar13 >> 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((ulonglong)uVar13 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar13 >> 0x20" (cast_expression "(ulonglong)uVar13" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar13")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "piVar8 = piStack_34;" (assignment_expression "piVar8 = piStack_34" (identifier "piVar8") (= "=") (identifier "piStack_34")) (; ";")) (if_statement "if (auStack_40._0_4_ == 0) {\n          unique0x100005d7 = uVar13;\n          if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    \n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }\n          if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    \n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }\n          *param_3 = 2;\n          return 0;\n        }" (if "if") (parenthesized_expression "(auStack_40._0_4_ == 0)" (( "(") (binary_expression "auStack_40._0_4_ == 0" (field_expression "auStack_40._0_4_" (identifier "auStack_40") (. ".") (field_identifier "_0_4_")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          unique0x100005d7 = uVar13;\n          if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    \n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }\n          if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    \n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }\n          *param_3 = 2;\n          return 0;\n        }" ({ "{") (expression_statement "unique0x100005d7 = uVar13;" (assignment_expression "unique0x100005d7 = uVar13" (identifier "unique0x100005d7") (= "=") (identifier "uVar13")) (; ";")) (if_statement "if (*(char *)(DAT_0038f378 + 0x10) == '\0') {\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    \n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }" (if "if") (parenthesized_expression "(*(char *)(DAT_0038f378 + 0x10) == '\0')" (( "(") (binary_expression "*(char *)(DAT_0038f378 + 0x10) == '\0'" (pointer_expression "*(char *)(DAT_0038f378 + 0x10)" (* "*") (cast_expression "(char *)(DAT_0038f378 + 0x10)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0038f378 + 0x10)" (( "(") (binary_expression "DAT_0038f378 + 0x10" (identifier "DAT_0038f378") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            piStack_50 = (int *)&UNK_0017c81c;\n            piStack_50 = (int *)FUN_00176fe0();\ncode_r0x0017c81c:\n                    \n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");\n          }" ({ "{") (expression_statement "piStack_50 = (int *)&UNK_0017c81c;" (assignment_expression "piStack_50 = (int *)&UNK_0017c81c" (identifier "piStack_50") (= "=") (cast_expression "(int *)&UNK_0017c81c" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&UNK_0017c81c" (& "&") (identifier "UNK_0017c81c")))) (; ";")) (expression_statement "piStack_50 = (int *)FUN_00176fe0();" (assignment_expression "piStack_50 = (int *)FUN_00176fe0()" (identifier "piStack_50") (= "=") (cast_expression "(int *)FUN_00176fe0()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00176fe0()" (identifier "FUN_00176fe0") (argument_list "()" (( "(") () ")"))))) (; ";")) (labeled_statement "code_r0x0017c81c:\n                    \n            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");" (statement_identifier "code_r0x0017c81c") (: ":") (expression_statement "FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");" (call_expression "FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value")" (identifier "FUN_00069d00") (argument_list "("../../gold/symtab.cc",0xb21,"compute_final_value")" (( "(") (string_literal ""../../gold/symtab.cc"" (" """) (string_content "../../gold/symtab.cc") (" """)) (, ",") (number_literal "0xb21") (, ",") (string_literal ""compute_final_value"" (" """) (string_content "compute_final_value") (" """)) () ")"))) (; ";"))) (} "}"))) (if_statement "if (*(char *)(DAT_0038f378 + 0x11) == '\0') {\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    \n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }" (if "if") (parenthesized_expression "(*(char *)(DAT_0038f378 + 0x11) == '\0')" (( "(") (binary_expression "*(char *)(DAT_0038f378 + 0x11) == '\0'" (pointer_expression "*(char *)(DAT_0038f378 + 0x11)" (* "*") (cast_expression "(char *)(DAT_0038f378 + 0x11)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0038f378 + 0x11)" (( "(") (binary_expression "DAT_0038f378 + 0x11" (identifier "DAT_0038f378") (+ "+") (number_literal "0x11")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n            piStack_50 = *(int **)(DAT_0038f378 + 8);\n            if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    \n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }\n            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }\n          }" ({ "{") (expression_statement "piStack_50 = *(int **)(DAT_0038f378 + 8);" (assignment_expression "piStack_50 = *(int **)(DAT_0038f378 + 8)" (identifier "piStack_50") (= "=") (pointer_expression "*(int **)(DAT_0038f378 + 8)" (* "*") (cast_expression "(int **)(DAT_0038f378 + 8)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(DAT_0038f378 + 8)" (( "(") (binary_expression "DAT_0038f378 + 8" (identifier "DAT_0038f378") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (piStack_50 == (int *)0x0) {\ncode_r0x0017c83a:\n                    \n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }" (if "if") (parenthesized_expression "(piStack_50 == (int *)0x0)" (( "(") (binary_expression "piStack_50 == (int *)0x0" (identifier "piStack_50") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\ncode_r0x0017c83a:\n                    \n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");\n            }" ({ "{") (labeled_statement "code_r0x0017c83a:\n                    \n              FUN_00069d00("../../gold/parameters.h",0x5c,"options");" (statement_identifier "code_r0x0017c83a") (: ":") (expression_statement "FUN_00069d00("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_00069d00("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_00069d00") (argument_list "("../../gold/parameters.h",0x5c,"options")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) () ")"))) (; ";"))) (} "}"))) (if_statement "if (*(char *)((int)piStack_50 + 0x318d) == '\0') {\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }" (if "if") (parenthesized_expression "(*(char *)((int)piStack_50 + 0x318d) == '\0')" (( "(") (binary_expression "*(char *)((int)piStack_50 + 0x318d) == '\0'" (pointer_expression "*(char *)((int)piStack_50 + 0x318d)" (* "*") (cast_expression "(char *)((int)piStack_50 + 0x318d)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piStack_50 + 0x318d)" (( "(") (binary_expression "(int)piStack_50 + 0x318d" (cast_expression "(int)piStack_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piStack_50")) (+ "+") (number_literal "0x318d")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n              piStack_50 = (int *)param_2[5];\n              if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }\n              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;\n            }" ({ "{") (expression_statement "piStack_50 = (int *)param_2[5];" (assignment_expression "piStack_50 = (int *)param_2[5]" (identifier "piStack_50") (= "=") (cast_expression "(int *)param_2[5]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[5]" (identifier "param_2") ([ "[") (number_literal "5") (] "]")))) (; ";")) (if_statement "if (piStack_50 == (int *)0x0) {\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }" (if "if") (parenthesized_expression "(piStack_50 == (int *)0x0)" (( "(") (binary_expression "piStack_50 == (int *)0x0" (identifier "piStack_50") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                piStack_50 = (int *)&UNK_0017c83a;\n                piStack_50 = (int *)FUN_00177010();\n                goto code_r0x0017c83a;\n              }" ({ "{") (expression_statement "piStack_50 = (int *)&UNK_0017c83a;" (assignment_expression "piStack_50 = (int *)&UNK_0017c83a" (identifier "piStack_50") (= "=") (cast_expression "(int *)&UNK_0017c83a" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "&UNK_0017c83a" (& "&") (identifier "UNK_0017c83a")))) (; ";")) (expression_statement "piStack_50 = (int *)FUN_00177010();" (assignment_expression "piStack_50 = (int *)FUN_00177010()" (identifier "piStack_50") (= "=") (cast_expression "(int *)FUN_00177010()" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_00177010()" (identifier "FUN_00177010") (argument_list "()" (( "(") () ")"))))) (; ";")) (goto_statement "goto code_r0x0017c83a;" (goto "goto") (statement_identifier "code_r0x0017c83a") (; ";")) (} "}"))) (if_statement "if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;" (if "if") (parenthesized_expression "(piStack_50 != (int *)0xffffffff)" (( "(") (binary_expression "piStack_50 != (int *)0xffffffff" (identifier "piStack_50") (!= "!=") (cast_expression "(int *)0xffffffff" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0xffffffff"))) () ")")) (goto_statement "goto code_r0x0017c81c;" (goto "goto") (statement_identifier "code_r0x0017c81c") (; ";"))) (} "}"))) (} "}"))) (expression_statement "*param_3 = 2;" (assignment_expression "*param_3 = 2" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (= "=") (number_literal "2")) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n        if (auStack_40._0_4_ != 0) {\n          piStack_50 = param_2;\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        piStack_50 = (int *)auStack_40._4_4_;\n        FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5);\n        piVar5 = uStack_2c._4_4_;\n        auStack_40._0_4_ = apiStack_24[0];\n        ppiVar10 = &piStack_50;\n        if (uStack_2c._4_4_ == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }\n        if (*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0) {\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    \n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }\n        else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }\n        ppiVar9 = &piStack_50;\n        if (iStack_44 == 0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }\n        piStack_38 = apiStack_24[0];\n        uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_);\n        auStack_40 = (undefined1  [8])uVar12;\n        piVar8 = piStack_38;\n      }" (else "else") (compound_statement "{\n        if (auStack_40._0_4_ != 0) {\n          piStack_50 = param_2;\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }\n        piStack_50 = (int *)auStack_40._4_4_;\n        FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5);\n        piVar5 = uStack_2c._4_4_;\n        auStack_40._0_4_ = apiStack_24[0];\n        ppiVar10 = &piStack_50;\n        if (uStack_2c._4_4_ == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }\n        if (*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0) {\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    \n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }\n        else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }\n        ppiVar9 = &piStack_50;\n        if (iStack_44 == 0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }\n        piStack_38 = apiStack_24[0];\n        uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_);\n        auStack_40 = (undefined1  [8])uVar12;\n        piVar8 = piStack_38;\n      }" ({ "{") (if_statement "if (auStack_40._0_4_ != 0) {\n          piStack_50 = param_2;\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }" (if "if") (parenthesized_expression "(auStack_40._0_4_ != 0)" (( "(") (binary_expression "auStack_40._0_4_ != 0" (field_expression "auStack_40._0_4_" (identifier "auStack_40") (. ".") (field_identifier "_0_4_")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          piStack_50 = param_2;\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");\n        }" ({ "{") (expression_statement "piStack_50 = param_2;" (assignment_expression "piStack_50 = param_2" (identifier "piStack_50") (= "=") (identifier "param_2")) (; ";")) (expression_statement "FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");" (call_expression "FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value")" (identifier "FUN_00069d00") (argument_list "("../../gold/symtab.cc",0xb0c,"compute_final_value")" (( "(") (string_literal ""../../gold/symtab.cc"" (" """) (string_content "../../gold/symtab.cc") (" """)) (, ",") (number_literal "0xb0c") (, ",") (string_literal ""compute_final_value"" (" """) (string_content "compute_final_value") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "piStack_50 = (int *)auStack_40._4_4_;" (assignment_expression "piStack_50 = (int *)auStack_40._4_4_" (identifier "piStack_50") (= "=") (cast_expression "(int *)auStack_40._4_4_" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "auStack_40._4_4_" (identifier "auStack_40") (. ".") (field_identifier "_4_4_")))) (; ";")) (expression_statement "FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5);" (call_expression "FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5)" (identifier "FUN_0006d210") (argument_list "(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5)" (( "(") (identifier "apiStack_24") (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x15c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x15c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x15c)" (( "(") (binary_expression "param_1 + 0x15c" (identifier "param_1") (+ "+") (number_literal "0x15c")) () ")")))) (, ",") (identifier "piVar5") () ")"))) (; ";")) (expression_statement "piVar5 = uStack_2c._4_4_;" (assignment_expression "piVar5 = uStack_2c._4_4_" (identifier "piVar5") (= "=") (field_expression "uStack_2c._4_4_" (identifier "uStack_2c") (. ".") (field_identifier "_4_4_"))) (; ";")) (expression_statement "auStack_40._0_4_ = apiStack_24[0];" (assignment_expression "auStack_40._0_4_ = apiStack_24[0]" (field_expression "auStack_40._0_4_" (identifier "auStack_40") (. ".") (field_identifier "_0_4_")) (= "=") (subscript_expression "apiStack_24[0]" (identifier "apiStack_24") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "ppiVar10 = &piStack_50;" (assignment_expression "ppiVar10 = &piStack_50" (identifier "ppiVar10") (= "=") (pointer_expression "&piStack_50" (& "&") (identifier "piStack_50"))) (; ";")) (if_statement "if (uStack_2c._4_4_ == (int *)0x0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }" (if "if") (parenthesized_expression "(uStack_2c._4_4_ == (int *)0x0)" (( "(") (binary_expression "uStack_2c._4_4_ == (int *)0x0" (field_expression "uStack_2c._4_4_" (identifier "uStack_2c") (. ".") (field_identifier "_4_4_")) (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);\n        }" ({ "{") (expression_statement "FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);" (call_expression "FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX)" (identifier "FUN_00069d00") (argument_list "("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX)" (( "(") (string_literal ""../../gold/symtab.cc"" (" """) (string_content "../../gold/symtab.cc") (" """)) (, ",") (number_literal "0xb10") (, ",") (string_literal ""compute_final_value"" (" """) (string_content "compute_final_value") (" """)) (, ",") (identifier "extraout_ECX") () ")"))) (; ";")) (} "}"))) (if_statement "if (*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0) {\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    \n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }\n        else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }" (if "if") (parenthesized_expression "(*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0)" (( "(") (binary_expression "*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0" (pointer_expression "*(code **)(*uStack_2c._4_4_ + 0x60)" (* "*") (cast_expression "(code **)(*uStack_2c._4_4_ + 0x60)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*uStack_2c._4_4_ + 0x60)" (( "(") (binary_expression "*uStack_2c._4_4_ + 0x60" (pointer_expression "*uStack_2c._4_4_" (* "*") (field_expression "uStack_2c._4_4_" (identifier "uStack_2c") (. ".") (field_identifier "_4_4_"))) (+ "+") (number_literal "0x60")) () ")")))) (== "==") (identifier "FUN_0003bac0")) () ")")) (compound_statement "{\n          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);\n          if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    \n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }\n          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);\n          piVar8 = uStack_2c._4_4_;\n        }" ({ "{") (expression_statement "piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);" (assignment_expression "piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2)" (identifier "piVar8") (= "=") (cast_expression "(int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2)" (( "(") (binary_expression "uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2" (binary_expression "uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe]" (subscript_expression "uStack_2c._4_4_[0xf]" (field_expression "uStack_2c._4_4_" (identifier "uStack_2c") (. ".") (field_identifier "_4_4_")) ([ "[") (number_literal "0xf") (] "]")) (- "-") (subscript_expression "uStack_2c._4_4_[0xe]" (field_expression "uStack_2c._4_4_" (identifier "uStack_2c") (. ".") (field_identifier "_4_4_")) ([ "[") (number_literal "0xe") (] "]"))) (>> ">>") (number_literal "2")) () ")")))) (; ";")) (if_statement "if (piVar8 <= apiStack_24[0]) {\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    \n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }" (if "if") (parenthesized_expression "(piVar8 <= apiStack_24[0])" (( "(") (binary_expression "piVar8 <= apiStack_24[0]" (identifier "piVar8") (<= "<=") (subscript_expression "apiStack_24[0]" (identifier "apiStack_24") ([ "[") (number_literal "0") (] "]"))) () ")")) (compound_statement "{\ncode_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;\n            *(char **)((int)ppiVar10 + -8) = "do_output_section";\n            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;\n            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";\n                    \n            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;\n            FUN_00069d00();\n          }" ({ "{") (labeled_statement "code_r0x0017c850:\n            *(int **)((int)ppiVar10 + -4) = piVar8;" (statement_identifier "code_r0x0017c850") (: ":") (expression_statement "*(int **)((int)ppiVar10 + -4) = piVar8;" (assignment_expression "*(int **)((int)ppiVar10 + -4) = piVar8" (pointer_expression "*(int **)((int)ppiVar10 + -4)" (* "*") (cast_expression "(int **)((int)ppiVar10 + -4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar10 + -4)" (( "(") (binary_expression "(int)ppiVar10 + -4" (cast_expression "(int)ppiVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar10")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "piVar8")) (; ";"))) (expression_statement "*(char **)((int)ppiVar10 + -8) = "do_output_section";" (assignment_expression "*(char **)((int)ppiVar10 + -8) = "do_output_section"" (pointer_expression "*(char **)((int)ppiVar10 + -8)" (* "*") (cast_expression "(char **)((int)ppiVar10 + -8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar10 + -8)" (( "(") (binary_expression "(int)ppiVar10 + -8" (cast_expression "(int)ppiVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar10")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (string_literal ""do_output_section"" (" """) (string_content "do_output_section") (" """))) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;" (assignment_expression "*(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8" (pointer_expression "*(undefined4 *)((int)ppiVar10 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar10 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar10 + -0xc)" (( "(") (binary_expression "(int)ppiVar10 + -0xc" (cast_expression "(int)ppiVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar10")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0x5c8")) (; ";")) (expression_statement "*(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";" (assignment_expression "*(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h"" (pointer_expression "*(char **)((int)ppiVar10 + -0x10)" (* "*") (cast_expression "(char **)((int)ppiVar10 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar10 + -0x10)" (( "(") (binary_expression "(int)ppiVar10 + -0x10" (cast_expression "(int)ppiVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar10")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (string_literal ""../../gold/object.h"" (" """) (string_content "../../gold/object.h") (" """))) (; ";")) (expression_statement "*(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;" (assignment_expression "*(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869" (pointer_expression "*(undefined **)((int)ppiVar10 + -0x14)" (* "*") (cast_expression "(undefined **)((int)ppiVar10 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar10 + -0x14)" (( "(") (binary_expression "(int)ppiVar10 + -0x14" (cast_expression "(int)ppiVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar10")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_0017c869" (& "&") (identifier "UNK_0017c869"))) (; ";")) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" (identifier "FUN_00069d00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);" (assignment_expression "iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4)" (identifier "iStack_44") (= "=") (pointer_expression "*(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4)" (* "*") (cast_expression "(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4)" (( "(") (binary_expression "uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4" (subscript_expression "uStack_2c._4_4_[0xe]" (field_expression "uStack_2c._4_4_" (identifier "uStack_2c") (. ".") (field_identifier "_4_4_")) ([ "[") (number_literal "0xe") (] "]")) (+ "+") (binary_expression "(int)apiStack_24[0] * 4" (cast_expression "(int)apiStack_24[0]" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (subscript_expression "apiStack_24[0]" (identifier "apiStack_24") ([ "[") (number_literal "0") (] "]"))) (* "*") (number_literal "4"))) () ")"))))) (; ";")) (expression_statement "piVar8 = uStack_2c._4_4_;" (assignment_expression "piVar8 = uStack_2c._4_4_" (identifier "piVar8") (= "=") (field_expression "uStack_2c._4_4_" (identifier "uStack_2c") (. ".") (field_identifier "_4_4_"))) (; ";")) (} "}")) (else_clause "else {\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }" (else "else") (compound_statement "{\n          piStack_30 = uStack_2c._4_4_;\n          piStack_38 = apiStack_24[0];\n          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);\n          apiStack_24[0] = piStack_38;\n          piVar8 = piStack_30;\n        }" ({ "{") (expression_statement "piStack_30 = uStack_2c._4_4_;" (assignment_expression "piStack_30 = uStack_2c._4_4_" (identifier "piStack_30") (= "=") (field_expression "uStack_2c._4_4_" (identifier "uStack_2c") (. ".") (field_identifier "_4_4_"))) (; ";")) (expression_statement "piStack_38 = apiStack_24[0];" (assignment_expression "piStack_38 = apiStack_24[0]" (identifier "piStack_38") (= "=") (subscript_expression "apiStack_24[0]" (identifier "apiStack_24") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);" (assignment_expression "iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_)" (identifier "iStack_44") (= "=") (call_expression "(**(code **)(*uStack_2c._4_4_ + 0x60))\n                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_)" (parenthesized_expression "(**(code **)(*uStack_2c._4_4_ + 0x60))" (( "(") (pointer_expression "**(code **)(*uStack_2c._4_4_ + 0x60)" (* "*") (pointer_expression "*(code **)(*uStack_2c._4_4_ + 0x60)" (* "*") (cast_expression "(code **)(*uStack_2c._4_4_ + 0x60)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*uStack_2c._4_4_ + 0x60)" (( "(") (binary_expression "*uStack_2c._4_4_ + 0x60" (pointer_expression "*uStack_2c._4_4_" (* "*") (field_expression "uStack_2c._4_4_" (identifier "uStack_2c") (. ".") (field_identifier "_4_4_"))) (+ "+") (number_literal "0x60")) () ")"))))) () ")")) (argument_list "(uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_)" (( "(") (field_expression "uStack_2c._4_4_" (identifier "uStack_2c") (. ".") (field_identifier "_4_4_")) (, ",") (subscript_expression "apiStack_24[0]" (identifier "apiStack_24") ([ "[") (number_literal "0") (] "]")) (, ",") (field_expression "uStack_2c._4_4_" (identifier "uStack_2c") (. ".") (field_identifier "_4_4_")) (, ",") (field_expression "uStack_2c._4_4_" (identifier "uStack_2c") (. ".") (field_identifier "_4_4_")) () ")")))) (; ";")) (expression_statement "apiStack_24[0] = piStack_38;" (assignment_expression "apiStack_24[0] = piStack_38" (subscript_expression "apiStack_24[0]" (identifier "apiStack_24") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "piStack_38")) (; ";")) (expression_statement "piVar8 = piStack_30;" (assignment_expression "piVar8 = piStack_30" (identifier "piVar8") (= "=") (identifier "piStack_30")) (; ";")) (} "}")))) (expression_statement "ppiVar9 = &piStack_50;" (assignment_expression "ppiVar9 = &piStack_50" (identifier "ppiVar9") (= "=") (pointer_expression "&piStack_50" (& "&") (identifier "piStack_50"))) (; ";")) (if_statement "if (iStack_44 == 0) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }" (if "if") (parenthesized_expression "(iStack_44 == 0)" (( "(") (binary_expression "iStack_44 == 0" (identifier "iStack_44") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);\n        }" ({ "{") (expression_statement "FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);" (call_expression "FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0)" (identifier "FUN_00069d00") (argument_list "("../../gold/symtab.cc",0xb15,"compute_final_value",0)" (( "(") (string_literal ""../../gold/symtab.cc"" (" """) (string_content "../../gold/symtab.cc") (" """)) (, ",") (number_literal "0xb15") (, ",") (string_literal ""compute_final_value"" (" """) (string_content "compute_final_value") (" """)) (, ",") (number_literal "0") () ")"))) (; ";")) (} "}"))) (expression_statement "piStack_38 = apiStack_24[0];" (assignment_expression "piStack_38 = apiStack_24[0]" (identifier "piStack_38") (= "=") (subscript_expression "apiStack_24[0]" (identifier "apiStack_24") ([ "[") (number_literal "0") (] "]"))) (; ";")) (expression_statement "uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_);" (assignment_expression "uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_)" (identifier "uVar12") (= "=") (call_expression "(**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_)" (parenthesized_expression "(**(code **)(*piVar8 + 0x68))" (( "(") (pointer_expression "**(code **)(*piVar8 + 0x68)" (* "*") (pointer_expression "*(code **)(*piVar8 + 0x68)" (* "*") (cast_expression "(code **)(*piVar8 + 0x68)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piVar8 + 0x68)" (( "(") (binary_expression "*piVar8 + 0x68" (pointer_expression "*piVar8" (* "*") (identifier "piVar8")) (+ "+") (number_literal "0x68")) () ")"))))) () ")")) (argument_list "(piVar8,auStack_40._0_4_)" (( "(") (identifier "piVar8") (, ",") (field_expression "auStack_40._0_4_" (identifier "auStack_40") (. ".") (field_identifier "_0_4_")) () ")")))) (; ";")) (expression_statement "auStack_40 = (undefined1  [8])uVar12;" (assignment_expression "auStack_40 = (undefined1  [8])uVar12" (identifier "auStack_40") (= "=") (cast_expression "(undefined1  [8])uVar12" (( "(") (type_descriptor "undefined1  [8]" (type_identifier "undefined1") (abstract_array_declarator "[8]" ([ "[") (number_literal "8") (] "]"))) () ")") (identifier "uVar12"))) (; ";")) (expression_statement "piVar8 = piStack_38;" (assignment_expression "piVar8 = piStack_38" (identifier "piVar8") (= "=") (identifier "piStack_38")) (; ";")) (} "}")))) (expression_statement "iVar6 = param_2[0xc];" (assignment_expression "iVar6 = param_2[0xc]" (identifier "iVar6") (= "=") (subscript_expression "param_2[0xc]" (identifier "param_2") ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (expression_statement "*(int *)((int)ppiVar9 + 0x1c) = param_2[0xd];" (assignment_expression "*(int *)((int)ppiVar9 + 0x1c) = param_2[0xd]" (pointer_expression "*(int *)((int)ppiVar9 + 0x1c)" (* "*") (cast_expression "(int *)((int)ppiVar9 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar9 + 0x1c)" (( "(") (binary_expression "(int)ppiVar9 + 0x1c" (cast_expression "(int)ppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar9")) (+ "+") (number_literal "0x1c")) () ")")))) (= "=") (subscript_expression "param_2[0xd]" (identifier "param_2") ([ "[") (number_literal "0xd") (] "]"))) (; ";")) (expression_statement "*(int *)((int)ppiVar9 + 0x18) = iVar6;" (assignment_expression "*(int *)((int)ppiVar9 + 0x18) = iVar6" (pointer_expression "*(int *)((int)ppiVar9 + 0x18)" (* "*") (cast_expression "(int *)((int)ppiVar9 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar9 + 0x18)" (( "(") (binary_expression "(int)ppiVar9 + 0x18" (cast_expression "(int)ppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar9")) (+ "+") (number_literal "0x18")) () ")")))) (= "=") (identifier "iVar6")) (; ";")) (expression_statement "auStack_40 = (undefined1  [8])uVar12;" (assignment_expression "auStack_40 = (undefined1  [8])uVar12" (identifier "auStack_40") (= "=") (cast_expression "(undefined1  [8])uVar12" (( "(") (type_descriptor "undefined1  [8]" (type_identifier "undefined1") (abstract_array_declarator "[8]" ([ "[") (number_literal "8") (] "]"))) () ")") (identifier "uVar12"))) (; ";")) (if_statement "if ((*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10)) == 0xffffffff) {\n        *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0x1c);\n        *(undefined4 *)((int)ppiVar9 + -0x14) = *(undefined4 *)((int)ppiVar9 + 0x18);\n        *(int **)((int)ppiVar9 + -0x18) = piVar8;\n        *(int **)((int)ppiVar9 + -0x1c) = piVar5;\n        *(undefined4 *)((int)ppiVar9 + -0x20) = *(undefined4 *)((int)ppiVar9 + 0xc);\n        *(undefined **)((int)ppiVar9 + -0x24) = &UNK_0017c717;\n        uVar7 = FUN_000f5920();\n      }\n      else if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n        pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);\n        if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }\n        uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);\n      }\n      else {\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }" (if "if") (parenthesized_expression "((*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10)) == 0xffffffff)" (( "(") (binary_expression "(*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10)) == 0xffffffff" (parenthesized_expression "(*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10))" (( "(") (binary_expression "*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10)" (pointer_expression "*(uint *)((int)ppiVar9 + 0x14)" (* "*") (cast_expression "(uint *)((int)ppiVar9 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar9 + 0x14)" (( "(") (binary_expression "(int)ppiVar9 + 0x14" (cast_expression "(int)ppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar9")) (+ "+") (number_literal "0x14")) () ")")))) (& "&") (pointer_expression "*(uint *)((int)ppiVar9 + 0x10)" (* "*") (cast_expression "(uint *)((int)ppiVar9 + 0x10)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar9 + 0x10)" (( "(") (binary_expression "(int)ppiVar9 + 0x10" (cast_expression "(int)ppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar9")) (+ "+") (number_literal "0x10")) () ")"))))) () ")")) (== "==") (number_literal "0xffffffff")) () ")")) (compound_statement "{\n        *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0x1c);\n        *(undefined4 *)((int)ppiVar9 + -0x14) = *(undefined4 *)((int)ppiVar9 + 0x18);\n        *(int **)((int)ppiVar9 + -0x18) = piVar8;\n        *(int **)((int)ppiVar9 + -0x1c) = piVar5;\n        *(undefined4 *)((int)ppiVar9 + -0x20) = *(undefined4 *)((int)ppiVar9 + 0xc);\n        *(undefined **)((int)ppiVar9 + -0x24) = &UNK_0017c717;\n        uVar7 = FUN_000f5920();\n      }" ({ "{") (expression_statement "*(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0x1c);" (assignment_expression "*(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0x1c)" (pointer_expression "*(undefined4 *)((int)ppiVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar9 + -0x10)" (( "(") (binary_expression "(int)ppiVar9 + -0x10" (cast_expression "(int)ppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)ppiVar9 + 0x1c)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar9 + 0x1c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar9 + 0x1c)" (( "(") (binary_expression "(int)ppiVar9 + 0x1c" (cast_expression "(int)ppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar9")) (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar9 + -0x14) = *(undefined4 *)((int)ppiVar9 + 0x18);" (assignment_expression "*(undefined4 *)((int)ppiVar9 + -0x14) = *(undefined4 *)((int)ppiVar9 + 0x18)" (pointer_expression "*(undefined4 *)((int)ppiVar9 + -0x14)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar9 + -0x14)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar9 + -0x14)" (( "(") (binary_expression "(int)ppiVar9 + -0x14" (cast_expression "(int)ppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)ppiVar9 + 0x18)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar9 + 0x18)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar9 + 0x18)" (( "(") (binary_expression "(int)ppiVar9 + 0x18" (cast_expression "(int)ppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar9")) (+ "+") (number_literal "0x18")) () ")"))))) (; ";")) (expression_statement "*(int **)((int)ppiVar9 + -0x18) = piVar8;" (assignment_expression "*(int **)((int)ppiVar9 + -0x18) = piVar8" (pointer_expression "*(int **)((int)ppiVar9 + -0x18)" (* "*") (cast_expression "(int **)((int)ppiVar9 + -0x18)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar9 + -0x18)" (( "(") (binary_expression "(int)ppiVar9 + -0x18" (cast_expression "(int)ppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar9")) (+ "+") (number_literal "-0x18")) () ")")))) (= "=") (identifier "piVar8")) (; ";")) (expression_statement "*(int **)((int)ppiVar9 + -0x1c) = piVar5;" (assignment_expression "*(int **)((int)ppiVar9 + -0x1c) = piVar5" (pointer_expression "*(int **)((int)ppiVar9 + -0x1c)" (* "*") (cast_expression "(int **)((int)ppiVar9 + -0x1c)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar9 + -0x1c)" (( "(") (binary_expression "(int)ppiVar9 + -0x1c" (cast_expression "(int)ppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar9")) (+ "+") (number_literal "-0x1c")) () ")")))) (= "=") (identifier "piVar5")) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar9 + -0x20) = *(undefined4 *)((int)ppiVar9 + 0xc);" (assignment_expression "*(undefined4 *)((int)ppiVar9 + -0x20) = *(undefined4 *)((int)ppiVar9 + 0xc)" (pointer_expression "*(undefined4 *)((int)ppiVar9 + -0x20)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar9 + -0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar9 + -0x20)" (( "(") (binary_expression "(int)ppiVar9 + -0x20" (cast_expression "(int)ppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar9")) (+ "+") (number_literal "-0x20")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)ppiVar9 + 0xc)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar9 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar9 + 0xc)" (( "(") (binary_expression "(int)ppiVar9 + 0xc" (cast_expression "(int)ppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar9")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*(undefined **)((int)ppiVar9 + -0x24) = &UNK_0017c717;" (assignment_expression "*(undefined **)((int)ppiVar9 + -0x24) = &UNK_0017c717" (pointer_expression "*(undefined **)((int)ppiVar9 + -0x24)" (* "*") (cast_expression "(undefined **)((int)ppiVar9 + -0x24)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar9 + -0x24)" (( "(") (binary_expression "(int)ppiVar9 + -0x24" (cast_expression "(int)ppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar9")) (+ "+") (number_literal "-0x24")) () ")")))) (= "=") (pointer_expression "&UNK_0017c717" (& "&") (identifier "UNK_0017c717"))) (; ";")) (expression_statement "uVar7 = FUN_000f5920();" (assignment_expression "uVar7 = FUN_000f5920()" (identifier "uVar7") (= "=") (call_expression "FUN_000f5920()" (identifier "FUN_000f5920") (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")) (else_clause "else if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n        pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);\n        if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }\n        uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);\n      }\n      else {\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }" (else "else") (if_statement "if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n        pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);\n        if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }\n        uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);\n      }\n      else {\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }" (if "if") (parenthesized_expression "((*(byte *)(param_2 + 10) & 0xf) == 6)" (( "(") (binary_expression "(*(byte *)(param_2 + 10) & 0xf) == 6" (parenthesized_expression "(*(byte *)(param_2 + 10) & 0xf)" (( "(") (binary_expression "*(byte *)(param_2 + 10) & 0xf" (pointer_expression "*(byte *)(param_2 + 10)" (* "*") (cast_expression "(byte *)(param_2 + 10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 10)" (( "(") (binary_expression "param_2 + 10" (identifier "param_2") (+ "+") (number_literal "10")) () ")")))) (& "&") (number_literal "0xf")) () ")")) (== "==") (number_literal "6")) () ")")) (compound_statement "{\n        pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);\n        if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }\n        uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);\n      }" ({ "{") (expression_statement "pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);" (assignment_expression "pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48)" (identifier "pcVar2") (= "=") (pointer_expression "*(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48)" (* "*") (cast_expression "(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)((int)ppiVar9 + 0xc) + 0x48)" (( "(") (binary_expression "**(int **)((int)ppiVar9 + 0xc) + 0x48" (pointer_expression "**(int **)((int)ppiVar9 + 0xc)" (* "*") (pointer_expression "*(int **)((int)ppiVar9 + 0xc)" (* "*") (cast_expression "(int **)((int)ppiVar9 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar9 + 0xc)" (( "(") (binary_expression "(int)ppiVar9 + 0xc" (cast_expression "(int)ppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar9")) (+ "+") (number_literal "0xc")) () ")"))))) (+ "+") (number_literal "0x48")) () ")"))))) (; ";")) (if_statement "if (pcVar2 == FUN_000b3000) {\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }\n        else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }" (if "if") (parenthesized_expression "(pcVar2 == FUN_000b3000)" (( "(") (binary_expression "pcVar2 == FUN_000b3000" (identifier "pcVar2") (== "==") (identifier "FUN_000b3000")) () ")")) (compound_statement "{\n          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];\n        }" ({ "{") (expression_statement "iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];" (assignment_expression "iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25]" (identifier "iVar6") (= "=") (subscript_expression "(*(int **)((int)ppiVar9 + 0xc))[0x25]" (parenthesized_expression "(*(int **)((int)ppiVar9 + 0xc))" (( "(") (pointer_expression "*(int **)((int)ppiVar9 + 0xc)" (* "*") (cast_expression "(int **)((int)ppiVar9 + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar9 + 0xc)" (( "(") (binary_expression "(int)ppiVar9 + 0xc" (cast_expression "(int)ppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar9")) (+ "+") (number_literal "0xc")) () ")")))) () ")")) ([ "[") (number_literal "0x25") (] "]"))) (; ";")) (} "}")) (else_clause "else {\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }" (else "else") (compound_statement "{\n          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);\n          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;\n          iVar6 = (*pcVar2)();\n        }" ({ "{") (expression_statement "*(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);" (assignment_expression "*(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc)" (pointer_expression "*(undefined4 *)((int)ppiVar9 + -0x10)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar9 + -0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar9 + -0x10)" (( "(") (binary_expression "(int)ppiVar9 + -0x10" (cast_expression "(int)ppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (pointer_expression "*(undefined4 *)((int)ppiVar9 + 0xc)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar9 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar9 + 0xc)" (( "(") (binary_expression "(int)ppiVar9 + 0xc" (cast_expression "(int)ppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar9")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (expression_statement "*(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;" (assignment_expression "*(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763" (pointer_expression "*(undefined **)((int)ppiVar9 + -0x14)" (* "*") (cast_expression "(undefined **)((int)ppiVar9 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar9 + -0x14)" (( "(") (binary_expression "(int)ppiVar9 + -0x14" (cast_expression "(int)ppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_0017c763" (& "&") (identifier "UNK_0017c763"))) (; ";")) (expression_statement "iVar6 = (*pcVar2)();" (assignment_expression "iVar6 = (*pcVar2)()" (identifier "iVar6") (= "=") (call_expression "(*pcVar2)()" (parenthesized_expression "(*pcVar2)" (( "(") (pointer_expression "*pcVar2" (* "*") (identifier "pcVar2")) () ")")) (argument_list "()" (( "(") () ")")))) (; ";")) (} "}")))) (expression_statement "uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);" (assignment_expression "uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10)" (identifier "uVar7") (= "=") (binary_expression "iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10)" (binary_expression "iVar6 + *(int *)((int)ppiVar9 + 0x18)" (identifier "iVar6") (+ "+") (pointer_expression "*(int *)((int)ppiVar9 + 0x18)" (* "*") (cast_expression "(int *)((int)ppiVar9 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar9 + 0x18)" (( "(") (binary_expression "(int)ppiVar9 + 0x18" (cast_expression "(int)ppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar9")) (+ "+") (number_literal "0x18")) () ")"))))) (+ "+") (pointer_expression "*(int *)((int)ppiVar9 + 0x10)" (* "*") (cast_expression "(int *)((int)ppiVar9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar9 + 0x10)" (( "(") (binary_expression "(int)ppiVar9 + 0x10" (cast_expression "(int)ppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar9")) (+ "+") (number_literal "0x10")) () ")")))))) (; ";")) (} "}")) (else_clause "else {\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }" (else "else") (compound_statement "{\n        uVar7 = *(uint *)((int)ppiVar9 + 0xc);\n        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;\n        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);\n      }" ({ "{") (expression_statement "uVar7 = *(uint *)((int)ppiVar9 + 0xc);" (assignment_expression "uVar7 = *(uint *)((int)ppiVar9 + 0xc)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)((int)ppiVar9 + 0xc)" (* "*") (cast_expression "(uint *)((int)ppiVar9 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar9 + 0xc)" (( "(") (binary_expression "(int)ppiVar9 + 0xc" (cast_expression "(int)ppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar9")) (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;" (if "if") (parenthesized_expression "((*(byte *)(uVar7 + 0x1c) & 1) == 0)" (( "(") (binary_expression "(*(byte *)(uVar7 + 0x1c) & 1) == 0" (parenthesized_expression "(*(byte *)(uVar7 + 0x1c) & 1)" (( "(") (binary_expression "*(byte *)(uVar7 + 0x1c) & 1" (pointer_expression "*(byte *)(uVar7 + 0x1c)" (* "*") (cast_expression "(byte *)(uVar7 + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uVar7 + 0x1c)" (( "(") (binary_expression "uVar7 + 0x1c" (identifier "uVar7") (+ "+") (number_literal "0x1c")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto code_r0x0017c7b3;" (goto "goto") (statement_identifier "code_r0x0017c7b3") (; ";"))) (expression_statement "uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);" (assignment_expression "uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4)" (identifier "uVar7") (= "=") (binary_expression "*(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +\n                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4)" (binary_expression "*(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10)" (pointer_expression "*(int *)((int)ppiVar9 + 0x18)" (* "*") (cast_expression "(int *)((int)ppiVar9 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar9 + 0x18)" (( "(") (binary_expression "(int)ppiVar9 + 0x18" (cast_expression "(int)ppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar9")) (+ "+") (number_literal "0x18")) () ")")))) (+ "+") (pointer_expression "*(int *)((int)ppiVar9 + 0x10)" (* "*") (cast_expression "(int *)((int)ppiVar9 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar9 + 0x10)" (( "(") (binary_expression "(int)ppiVar9 + 0x10" (cast_expression "(int)ppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar9")) (+ "+") (number_literal "0x10")) () ")"))))) (+ "+") (pointer_expression "*(int *)(*(int *)((int)ppiVar9 + 0xc) + 4)" (* "*") (cast_expression "(int *)(*(int *)((int)ppiVar9 + 0xc) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)((int)ppiVar9 + 0xc) + 4)" (( "(") (binary_expression "*(int *)((int)ppiVar9 + 0xc) + 4" (pointer_expression "*(int *)((int)ppiVar9 + 0xc)" (* "*") (cast_expression "(int *)((int)ppiVar9 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar9 + 0xc)" (( "(") (binary_expression "(int)ppiVar9 + 0xc" (cast_expression "(int)ppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar9")) (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "4")) () ")")))))) (; ";")) (} "}")))))) (break_statement "break;" (break "break") (; ";")) (} "}")))) (case_statement "case (int *)0x3:\n    uVar7 = param_2[0xc];\n    ppiVar9 = (int **)auStack_4c;\n    break;" (case "case") (cast_expression "(int *)0x3" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3")) (: ":") (expression_statement "uVar7 = param_2[0xc];" (assignment_expression "uVar7 = param_2[0xc]" (identifier "uVar7") (= "=") (subscript_expression "param_2[0xc]" (identifier "param_2") ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (expression_statement "ppiVar9 = (int **)auStack_4c;" (assignment_expression "ppiVar9 = (int **)auStack_4c" (identifier "ppiVar9") (= "=") (cast_expression "(int **)auStack_4c" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "auStack_4c"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "case (int *)0x1:\n    if ((bVar3 & 7) != 1) {\n      piStack_50 = piVar5;\n                    \n      FUN_00069d00("../../gold/symtab.h",0xb5,"output_data");\n    }\n    auStack_40._0_4_ = param_2[2];\n    iVar6 = param_2[0xc];\n    piVar5 = (int *)param_2[0xd];\n    if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n      piStack_34 = (int *)(**(code **)(*(int *)auStack_40._0_4_ + 0x24))(auStack_40._0_4_);\n      if (piStack_34 == (int *)0x0) {\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }\n      if (*(code **)(*piStack_34 + 0x48) == FUN_000b3000) {\n        uStack_2c = *(undefined8 *)(piStack_34 + 0x25);\n      }\n      else {\n        uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34);\n      }\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if (((bVar3 & 1) == 0) ||\n         (uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0)\n         ) goto code_r0x0017c7b3;\n      uVar7 = (int)uStack_2c + ((iVar6 + uVar7) - piStack_34[1]);\n      piStack_50 = (int *)(*(byte *)((int)param_2 + 0x2a) & 7);\n      if ((char)piStack_50 != '\x01') {\n                    \n        FUN_00069d00("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }\n    }\n    else {\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if ((bVar3 & 1) == 0) {\ncode_r0x0017c7b3:\n        *(uint *)((int)ppiVar9 + -4) = uVar7;\n        *(char **)((int)ppiVar9 + -8) = "address";\n        *(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5;\n        *(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h";\n                    \n        *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc;\n        auStack_40 = (undefined1  [8])uVar12;\n        FUN_00069d00();\n      }\n      uVar7 = iVar6 + *(int *)(auStack_40._0_4_ + 4);\n    }\n    ppiVar9 = (int **)auStack_4c;\n    if ((char)param_2[3] != '\0') {\n      if ((auStack_40._4_4_ & 2) == 0) {\n        piStack_50 = param_2;\n                    \n        FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar7 = uVar7 + *(int *)(auStack_40._0_4_ + 0xc);\n      ppiVar9 = (int **)auStack_4c;\n    }\n    break;" (case "case") (cast_expression "(int *)0x1" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x1")) (: ":") (if_statement "if ((bVar3 & 7) != 1) {\n      piStack_50 = piVar5;\n                    \n      FUN_00069d00("../../gold/symtab.h",0xb5,"output_data");\n    }" (if "if") (parenthesized_expression "((bVar3 & 7) != 1)" (( "(") (binary_expression "(bVar3 & 7) != 1" (parenthesized_expression "(bVar3 & 7)" (( "(") (binary_expression "bVar3 & 7" (identifier "bVar3") (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "1")) () ")")) (compound_statement "{\n      piStack_50 = piVar5;\n                    \n      FUN_00069d00("../../gold/symtab.h",0xb5,"output_data");\n    }" ({ "{") (expression_statement "piStack_50 = piVar5;" (assignment_expression "piStack_50 = piVar5" (identifier "piStack_50") (= "=") (identifier "piVar5")) (; ";")) (expression_statement "FUN_00069d00("../../gold/symtab.h",0xb5,"output_data");" (call_expression "FUN_00069d00("../../gold/symtab.h",0xb5,"output_data")" (identifier "FUN_00069d00") (argument_list "("../../gold/symtab.h",0xb5,"output_data")" (( "(") (string_literal ""../../gold/symtab.h"" (" """) (string_content "../../gold/symtab.h") (" """)) (, ",") (number_literal "0xb5") (, ",") (string_literal ""output_data"" (" """) (string_content "output_data") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "auStack_40._0_4_ = param_2[2];" (assignment_expression "auStack_40._0_4_ = param_2[2]" (field_expression "auStack_40._0_4_" (identifier "auStack_40") (. ".") (field_identifier "_0_4_")) (= "=") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "iVar6 = param_2[0xc];" (assignment_expression "iVar6 = param_2[0xc]" (identifier "iVar6") (= "=") (subscript_expression "param_2[0xc]" (identifier "param_2") ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (expression_statement "piVar5 = (int *)param_2[0xd];" (assignment_expression "piVar5 = (int *)param_2[0xd]" (identifier "piVar5") (= "=") (cast_expression "(int *)param_2[0xd]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[0xd]" (identifier "param_2") ([ "[") (number_literal "0xd") (] "]")))) (; ";")) (if_statement "if ((*(byte *)(param_2 + 10) & 0xf) == 6) {\n      piStack_34 = (int *)(**(code **)(*(int *)auStack_40._0_4_ + 0x24))(auStack_40._0_4_);\n      if (piStack_34 == (int *)0x0) {\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }\n      if (*(code **)(*piStack_34 + 0x48) == FUN_000b3000) {\n        uStack_2c = *(undefined8 *)(piStack_34 + 0x25);\n      }\n      else {\n        uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34);\n      }\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if (((bVar3 & 1) == 0) ||\n         (uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0)\n         ) goto code_r0x0017c7b3;\n      uVar7 = (int)uStack_2c + ((iVar6 + uVar7) - piStack_34[1]);\n      piStack_50 = (int *)(*(byte *)((int)param_2 + 0x2a) & 7);\n      if ((char)piStack_50 != '\x01') {\n                    \n        FUN_00069d00("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }\n    }\n    else {\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if ((bVar3 & 1) == 0) {\ncode_r0x0017c7b3:\n        *(uint *)((int)ppiVar9 + -4) = uVar7;\n        *(char **)((int)ppiVar9 + -8) = "address";\n        *(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5;\n        *(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h";\n                    \n        *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc;\n        auStack_40 = (undefined1  [8])uVar12;\n        FUN_00069d00();\n      }\n      uVar7 = iVar6 + *(int *)(auStack_40._0_4_ + 4);\n    }" (if "if") (parenthesized_expression "((*(byte *)(param_2 + 10) & 0xf) == 6)" (( "(") (binary_expression "(*(byte *)(param_2 + 10) & 0xf) == 6" (parenthesized_expression "(*(byte *)(param_2 + 10) & 0xf)" (( "(") (binary_expression "*(byte *)(param_2 + 10) & 0xf" (pointer_expression "*(byte *)(param_2 + 10)" (* "*") (cast_expression "(byte *)(param_2 + 10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 10)" (( "(") (binary_expression "param_2 + 10" (identifier "param_2") (+ "+") (number_literal "10")) () ")")))) (& "&") (number_literal "0xf")) () ")")) (== "==") (number_literal "6")) () ")")) (compound_statement "{\n      piStack_34 = (int *)(**(code **)(*(int *)auStack_40._0_4_ + 0x24))(auStack_40._0_4_);\n      if (piStack_34 == (int *)0x0) {\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }\n      if (*(code **)(*piStack_34 + 0x48) == FUN_000b3000) {\n        uStack_2c = *(undefined8 *)(piStack_34 + 0x25);\n      }\n      else {\n        uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34);\n      }\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if (((bVar3 & 1) == 0) ||\n         (uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0)\n         ) goto code_r0x0017c7b3;\n      uVar7 = (int)uStack_2c + ((iVar6 + uVar7) - piStack_34[1]);\n      piStack_50 = (int *)(*(byte *)((int)param_2 + 0x2a) & 7);\n      if ((char)piStack_50 != '\x01') {\n                    \n        FUN_00069d00("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }\n    }" ({ "{") (expression_statement "piStack_34 = (int *)(**(code **)(*(int *)auStack_40._0_4_ + 0x24))(auStack_40._0_4_);" (assignment_expression "piStack_34 = (int *)(**(code **)(*(int *)auStack_40._0_4_ + 0x24))(auStack_40._0_4_)" (identifier "piStack_34") (= "=") (cast_expression "(int *)(**(code **)(*(int *)auStack_40._0_4_ + 0x24))(auStack_40._0_4_)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(*(int *)auStack_40._0_4_ + 0x24))(auStack_40._0_4_)" (parenthesized_expression "(**(code **)(*(int *)auStack_40._0_4_ + 0x24))" (( "(") (pointer_expression "**(code **)(*(int *)auStack_40._0_4_ + 0x24)" (* "*") (pointer_expression "*(code **)(*(int *)auStack_40._0_4_ + 0x24)" (* "*") (cast_expression "(code **)(*(int *)auStack_40._0_4_ + 0x24)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*(int *)auStack_40._0_4_ + 0x24)" (( "(") (binary_expression "*(int *)auStack_40._0_4_ + 0x24" (pointer_expression "*(int *)auStack_40._0_4_" (* "*") (cast_expression "(int *)auStack_40._0_4_" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (field_expression "auStack_40._0_4_" (identifier "auStack_40") (. ".") (field_identifier "_0_4_")))) (+ "+") (number_literal "0x24")) () ")"))))) () ")")) (argument_list "(auStack_40._0_4_)" (( "(") (field_expression "auStack_40._0_4_" (identifier "auStack_40") (. ".") (field_identifier "_0_4_")) () ")"))))) (; ";")) (if_statement "if (piStack_34 == (int *)0x0) {\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }" (if "if") (parenthesized_expression "(piStack_34 == (int *)0x0)" (( "(") (binary_expression "piStack_34 == (int *)0x0" (identifier "piStack_34") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        piStack_50 = piVar5;\n                    \n        FUN_00069d00("../../gold/symtab.cc",0xb43,"compute_final_value");\n      }" ({ "{") (expression_statement "piStack_50 = piVar5;" (assignment_expression "piStack_50 = piVar5" (identifier "piStack_50") (= "=") (identifier "piVar5")) (; ";")) (expression_statement "FUN_00069d00("../../gold/symtab.cc",0xb43,"compute_final_value");" (call_expression "FUN_00069d00("../../gold/symtab.cc",0xb43,"compute_final_value")" (identifier "FUN_00069d00") (argument_list "("../../gold/symtab.cc",0xb43,"compute_final_value")" (( "(") (string_literal ""../../gold/symtab.cc"" (" """) (string_content "../../gold/symtab.cc") (" """)) (, ",") (number_literal "0xb43") (, ",") (string_literal ""compute_final_value"" (" """) (string_content "compute_final_value") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(code **)(*piStack_34 + 0x48) == FUN_000b3000) {\n        uStack_2c = *(undefined8 *)(piStack_34 + 0x25);\n      }\n      else {\n        uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34);\n      }" (if "if") (parenthesized_expression "(*(code **)(*piStack_34 + 0x48) == FUN_000b3000)" (( "(") (binary_expression "*(code **)(*piStack_34 + 0x48) == FUN_000b3000" (pointer_expression "*(code **)(*piStack_34 + 0x48)" (* "*") (cast_expression "(code **)(*piStack_34 + 0x48)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piStack_34 + 0x48)" (( "(") (binary_expression "*piStack_34 + 0x48" (pointer_expression "*piStack_34" (* "*") (identifier "piStack_34")) (+ "+") (number_literal "0x48")) () ")")))) (== "==") (identifier "FUN_000b3000")) () ")")) (compound_statement "{\n        uStack_2c = *(undefined8 *)(piStack_34 + 0x25);\n      }" ({ "{") (expression_statement "uStack_2c = *(undefined8 *)(piStack_34 + 0x25);" (assignment_expression "uStack_2c = *(undefined8 *)(piStack_34 + 0x25)" (identifier "uStack_2c") (= "=") (pointer_expression "*(undefined8 *)(piStack_34 + 0x25)" (* "*") (cast_expression "(undefined8 *)(piStack_34 + 0x25)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piStack_34 + 0x25)" (( "(") (binary_expression "piStack_34 + 0x25" (identifier "piStack_34") (+ "+") (number_literal "0x25")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n        uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34);\n      }" (else "else") (compound_statement "{\n        uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34);\n      }" ({ "{") (expression_statement "uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34);" (assignment_expression "uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34)" (identifier "uStack_2c") (= "=") (call_expression "(**(code **)(*piStack_34 + 0x48))(piStack_34)" (parenthesized_expression "(**(code **)(*piStack_34 + 0x48))" (( "(") (pointer_expression "**(code **)(*piStack_34 + 0x48)" (* "*") (pointer_expression "*(code **)(*piStack_34 + 0x48)" (* "*") (cast_expression "(code **)(*piStack_34 + 0x48)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(*piStack_34 + 0x48)" (( "(") (binary_expression "*piStack_34 + 0x48" (pointer_expression "*piStack_34" (* "*") (identifier "piStack_34")) (+ "+") (number_literal "0x48")) () ")"))))) () ")")) (argument_list "(piStack_34)" (( "(") (identifier "piStack_34") () ")")))) (; ";")) (} "}")))) (expression_statement "bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);" (assignment_expression "bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c)" (identifier "bVar3") (= "=") (pointer_expression "*(byte *)(auStack_40._0_4_ + 0x1c)" (* "*") (cast_expression "(byte *)(auStack_40._0_4_ + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_40._0_4_ + 0x1c)" (( "(") (binary_expression "auStack_40._0_4_ + 0x1c" (field_expression "auStack_40._0_4_" (identifier "auStack_40") (. ".") (field_identifier "_0_4_")) (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "uVar7 = (uint)bVar3;" (assignment_expression "uVar7 = (uint)bVar3" (identifier "uVar7") (= "=") (cast_expression "(uint)bVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar3"))) (; ";")) (expression_statement "auStack_40[4] = bVar3;" (assignment_expression "auStack_40[4] = bVar3" (subscript_expression "auStack_40[4]" (identifier "auStack_40") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "bVar3")) (; ";")) (expression_statement "ppiVar9 = (int **)auStack_4c;" (assignment_expression "ppiVar9 = (int **)auStack_4c" (identifier "ppiVar9") (= "=") (cast_expression "(int **)auStack_4c" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "auStack_4c"))) (; ";")) (expression_statement "uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);" (assignment_expression "uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_)" (identifier "uVar12") (= "=") (call_expression "CONCAT44(auStack_40._4_4_,auStack_40._0_4_)" (identifier "CONCAT44") (argument_list "(auStack_40._4_4_,auStack_40._0_4_)" (( "(") (field_expression "auStack_40._4_4_" (identifier "auStack_40") (. ".") (field_identifier "_4_4_")) (, ",") (field_expression "auStack_40._0_4_" (identifier "auStack_40") (. ".") (field_identifier "_0_4_")) () ")")))) (; ";")) (if_statement "if (((bVar3 & 1) == 0) ||\n         (uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0)\n         ) goto code_r0x0017c7b3;" (if "if") (parenthesized_expression "(((bVar3 & 1) == 0) ||\n         (uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0)\n         )" (( "(") (binary_expression "((bVar3 & 1) == 0) ||\n         (uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0)" (parenthesized_expression "((bVar3 & 1) == 0)" (( "(") (binary_expression "(bVar3 & 1) == 0" (parenthesized_expression "(bVar3 & 1)" (( "(") (binary_expression "bVar3 & 1" (identifier "bVar3") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0)" (( "(") (comma_expression "uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0" (assignment_expression "uVar7 = *(uint *)(auStack_40._0_4_ + 4)" (identifier "uVar7") (= "=") (pointer_expression "*(uint *)(auStack_40._0_4_ + 4)" (* "*") (cast_expression "(uint *)(auStack_40._0_4_ + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_40._0_4_ + 4)" (( "(") (binary_expression "auStack_40._0_4_ + 4" (field_expression "auStack_40._0_4_" (identifier "auStack_40") (. ".") (field_identifier "_0_4_")) (+ "+") (number_literal "4")) () ")"))))) (, ",") (comma_expression "ppiVar9 = (int **)auStack_4c,\n         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0" (assignment_expression "ppiVar9 = (int **)auStack_4c" (identifier "ppiVar9") (= "=") (cast_expression "(int **)auStack_4c" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "auStack_4c"))) (, ",") (comma_expression "uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0" (assignment_expression "uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_)" (identifier "uVar12") (= "=") (call_expression "CONCAT44(auStack_40._4_4_,auStack_40._0_4_)" (identifier "CONCAT44") (argument_list "(auStack_40._4_4_,auStack_40._0_4_)" (( "(") (field_expression "auStack_40._4_4_" (identifier "auStack_40") (. ".") (field_identifier "_4_4_")) (, ",") (field_expression "auStack_40._0_4_" (identifier "auStack_40") (. ".") (field_identifier "_0_4_")) () ")")))) (, ",") (binary_expression "(*(byte *)(piStack_34 + 7) & 1) == 0" (parenthesized_expression "(*(byte *)(piStack_34 + 7) & 1)" (( "(") (binary_expression "*(byte *)(piStack_34 + 7) & 1" (pointer_expression "*(byte *)(piStack_34 + 7)" (* "*") (cast_expression "(byte *)(piStack_34 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piStack_34 + 7)" (( "(") (binary_expression "piStack_34 + 7" (identifier "piStack_34") (+ "+") (number_literal "7")) () ")")))) (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0"))))) () ")"))) () ")")) (goto_statement "goto code_r0x0017c7b3;" (goto "goto") (statement_identifier "code_r0x0017c7b3") (; ";"))) (expression_statement "uVar7 = (int)uStack_2c + ((iVar6 + uVar7) - piStack_34[1]);" (assignment_expression "uVar7 = (int)uStack_2c + ((iVar6 + uVar7) - piStack_34[1])" (identifier "uVar7") (= "=") (binary_expression "(int)uStack_2c + ((iVar6 + uVar7) - piStack_34[1])" (cast_expression "(int)uStack_2c" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uStack_2c")) (+ "+") (parenthesized_expression "((iVar6 + uVar7) - piStack_34[1])" (( "(") (binary_expression "(iVar6 + uVar7) - piStack_34[1]" (parenthesized_expression "(iVar6 + uVar7)" (( "(") (binary_expression "iVar6 + uVar7" (identifier "iVar6") (+ "+") (identifier "uVar7")) () ")")) (- "-") (subscript_expression "piStack_34[1]" (identifier "piStack_34") ([ "[") (number_literal "1") (] "]"))) () ")")))) (; ";")) (expression_statement "piStack_50 = (int *)(*(byte *)((int)param_2 + 0x2a) & 7);" (assignment_expression "piStack_50 = (int *)(*(byte *)((int)param_2 + 0x2a) & 7)" (identifier "piStack_50") (= "=") (cast_expression "(int *)(*(byte *)((int)param_2 + 0x2a) & 7)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(byte *)((int)param_2 + 0x2a) & 7)" (( "(") (binary_expression "*(byte *)((int)param_2 + 0x2a) & 7" (pointer_expression "*(byte *)((int)param_2 + 0x2a)" (* "*") (cast_expression "(byte *)((int)param_2 + 0x2a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)param_2 + 0x2a)" (( "(") (binary_expression "(int)param_2 + 0x2a" (cast_expression "(int)param_2" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "param_2")) (+ "+") (number_literal "0x2a")) () ")")))) (& "&") (number_literal "7")) () ")")))) (; ";")) (if_statement "if ((char)piStack_50 != '\x01') {\n                    \n        FUN_00069d00("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }" (if "if") (parenthesized_expression "((char)piStack_50 != '\x01')" (( "(") (binary_expression "(char)piStack_50 != '\x01'" (cast_expression "(char)piStack_50" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "piStack_50")) (!= "!=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) () ")")) (compound_statement "{\n                    \n        FUN_00069d00("../../gold/symtab.h",0xbe,"offset_is_from_end");\n      }" ({ "{") (expression_statement "FUN_00069d00("../../gold/symtab.h",0xbe,"offset_is_from_end");" (call_expression "FUN_00069d00("../../gold/symtab.h",0xbe,"offset_is_from_end")" (identifier "FUN_00069d00") (argument_list "("../../gold/symtab.h",0xbe,"offset_is_from_end")" (( "(") (string_literal ""../../gold/symtab.h"" (" """) (string_content "../../gold/symtab.h") (" """)) (, ",") (number_literal "0xbe") (, ",") (string_literal ""offset_is_from_end"" (" """) (string_content "offset_is_from_end") (" """)) () ")"))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if ((bVar3 & 1) == 0) {\ncode_r0x0017c7b3:\n        *(uint *)((int)ppiVar9 + -4) = uVar7;\n        *(char **)((int)ppiVar9 + -8) = "address";\n        *(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5;\n        *(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h";\n                    \n        *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc;\n        auStack_40 = (undefined1  [8])uVar12;\n        FUN_00069d00();\n      }\n      uVar7 = iVar6 + *(int *)(auStack_40._0_4_ + 4);\n    }" (else "else") (compound_statement "{\n      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);\n      uVar7 = (uint)bVar3;\n      auStack_40[4] = bVar3;\n      ppiVar9 = (int **)auStack_4c;\n      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);\n      if ((bVar3 & 1) == 0) {\ncode_r0x0017c7b3:\n        *(uint *)((int)ppiVar9 + -4) = uVar7;\n        *(char **)((int)ppiVar9 + -8) = "address";\n        *(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5;\n        *(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h";\n                    \n        *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc;\n        auStack_40 = (undefined1  [8])uVar12;\n        FUN_00069d00();\n      }\n      uVar7 = iVar6 + *(int *)(auStack_40._0_4_ + 4);\n    }" ({ "{") (expression_statement "bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);" (assignment_expression "bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c)" (identifier "bVar3") (= "=") (pointer_expression "*(byte *)(auStack_40._0_4_ + 0x1c)" (* "*") (cast_expression "(byte *)(auStack_40._0_4_ + 0x1c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_40._0_4_ + 0x1c)" (( "(") (binary_expression "auStack_40._0_4_ + 0x1c" (field_expression "auStack_40._0_4_" (identifier "auStack_40") (. ".") (field_identifier "_0_4_")) (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (expression_statement "uVar7 = (uint)bVar3;" (assignment_expression "uVar7 = (uint)bVar3" (identifier "uVar7") (= "=") (cast_expression "(uint)bVar3" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar3"))) (; ";")) (expression_statement "auStack_40[4] = bVar3;" (assignment_expression "auStack_40[4] = bVar3" (subscript_expression "auStack_40[4]" (identifier "auStack_40") ([ "[") (number_literal "4") (] "]")) (= "=") (identifier "bVar3")) (; ";")) (expression_statement "ppiVar9 = (int **)auStack_4c;" (assignment_expression "ppiVar9 = (int **)auStack_4c" (identifier "ppiVar9") (= "=") (cast_expression "(int **)auStack_4c" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "auStack_4c"))) (; ";")) (expression_statement "uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);" (assignment_expression "uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_)" (identifier "uVar12") (= "=") (call_expression "CONCAT44(auStack_40._4_4_,auStack_40._0_4_)" (identifier "CONCAT44") (argument_list "(auStack_40._4_4_,auStack_40._0_4_)" (( "(") (field_expression "auStack_40._4_4_" (identifier "auStack_40") (. ".") (field_identifier "_4_4_")) (, ",") (field_expression "auStack_40._0_4_" (identifier "auStack_40") (. ".") (field_identifier "_0_4_")) () ")")))) (; ";")) (if_statement "if ((bVar3 & 1) == 0) {\ncode_r0x0017c7b3:\n        *(uint *)((int)ppiVar9 + -4) = uVar7;\n        *(char **)((int)ppiVar9 + -8) = "address";\n        *(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5;\n        *(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h";\n                    \n        *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc;\n        auStack_40 = (undefined1  [8])uVar12;\n        FUN_00069d00();\n      }" (if "if") (parenthesized_expression "((bVar3 & 1) == 0)" (( "(") (binary_expression "(bVar3 & 1) == 0" (parenthesized_expression "(bVar3 & 1)" (( "(") (binary_expression "bVar3 & 1" (identifier "bVar3") (& "&") (number_literal "1")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\ncode_r0x0017c7b3:\n        *(uint *)((int)ppiVar9 + -4) = uVar7;\n        *(char **)((int)ppiVar9 + -8) = "address";\n        *(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5;\n        *(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h";\n                    \n        *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc;\n        auStack_40 = (undefined1  [8])uVar12;\n        FUN_00069d00();\n      }" ({ "{") (labeled_statement "code_r0x0017c7b3:\n        *(uint *)((int)ppiVar9 + -4) = uVar7;" (statement_identifier "code_r0x0017c7b3") (: ":") (expression_statement "*(uint *)((int)ppiVar9 + -4) = uVar7;" (assignment_expression "*(uint *)((int)ppiVar9 + -4) = uVar7" (pointer_expression "*(uint *)((int)ppiVar9 + -4)" (* "*") (cast_expression "(uint *)((int)ppiVar9 + -4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar9 + -4)" (( "(") (binary_expression "(int)ppiVar9 + -4" (cast_expression "(int)ppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar9")) (+ "+") (number_literal "-4")) () ")")))) (= "=") (identifier "uVar7")) (; ";"))) (expression_statement "*(char **)((int)ppiVar9 + -8) = "address";" (assignment_expression "*(char **)((int)ppiVar9 + -8) = "address"" (pointer_expression "*(char **)((int)ppiVar9 + -8)" (* "*") (cast_expression "(char **)((int)ppiVar9 + -8)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar9 + -8)" (( "(") (binary_expression "(int)ppiVar9 + -8" (cast_expression "(int)ppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar9")) (+ "+") (number_literal "-8")) () ")")))) (= "=") (string_literal ""address"" (" """) (string_content "address") (" """))) (; ";")) (expression_statement "*(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5;" (assignment_expression "*(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5" (pointer_expression "*(undefined4 *)((int)ppiVar9 + -0xc)" (* "*") (cast_expression "(undefined4 *)((int)ppiVar9 + -0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)ppiVar9 + -0xc)" (( "(") (binary_expression "(int)ppiVar9 + -0xc" (cast_expression "(int)ppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar9")) (+ "+") (number_literal "-0xc")) () ")")))) (= "=") (number_literal "0xc5")) (; ";")) (expression_statement "*(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h";" (assignment_expression "*(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h"" (pointer_expression "*(char **)((int)ppiVar9 + -0x10)" (* "*") (cast_expression "(char **)((int)ppiVar9 + -0x10)" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar9 + -0x10)" (( "(") (binary_expression "(int)ppiVar9 + -0x10" (cast_expression "(int)ppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar9")) (+ "+") (number_literal "-0x10")) () ")")))) (= "=") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """))) (; ";")) (expression_statement "*(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc;" (assignment_expression "*(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc" (pointer_expression "*(undefined **)((int)ppiVar9 + -0x14)" (* "*") (cast_expression "(undefined **)((int)ppiVar9 + -0x14)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar9 + -0x14)" (( "(") (binary_expression "(int)ppiVar9 + -0x14" (cast_expression "(int)ppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar9")) (+ "+") (number_literal "-0x14")) () ")")))) (= "=") (pointer_expression "&UNK_0017c7cc" (& "&") (identifier "UNK_0017c7cc"))) (; ";")) (expression_statement "auStack_40 = (undefined1  [8])uVar12;" (assignment_expression "auStack_40 = (undefined1  [8])uVar12" (identifier "auStack_40") (= "=") (cast_expression "(undefined1  [8])uVar12" (( "(") (type_descriptor "undefined1  [8]" (type_identifier "undefined1") (abstract_array_declarator "[8]" ([ "[") (number_literal "8") (] "]"))) () ")") (identifier "uVar12"))) (; ";")) (expression_statement "FUN_00069d00();" (call_expression "FUN_00069d00()" (identifier "FUN_00069d00") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "uVar7 = iVar6 + *(int *)(auStack_40._0_4_ + 4);" (assignment_expression "uVar7 = iVar6 + *(int *)(auStack_40._0_4_ + 4)" (identifier "uVar7") (= "=") (binary_expression "iVar6 + *(int *)(auStack_40._0_4_ + 4)" (identifier "iVar6") (+ "+") (pointer_expression "*(int *)(auStack_40._0_4_ + 4)" (* "*") (cast_expression "(int *)(auStack_40._0_4_ + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_40._0_4_ + 4)" (( "(") (binary_expression "auStack_40._0_4_ + 4" (field_expression "auStack_40._0_4_" (identifier "auStack_40") (. ".") (field_identifier "_0_4_")) (+ "+") (number_literal "4")) () ")")))))) (; ";")) (} "}")))) (expression_statement "ppiVar9 = (int **)auStack_4c;" (assignment_expression "ppiVar9 = (int **)auStack_4c" (identifier "ppiVar9") (= "=") (cast_expression "(int **)auStack_4c" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "auStack_4c"))) (; ";")) (if_statement "if ((char)param_2[3] != '\0') {\n      if ((auStack_40._4_4_ & 2) == 0) {\n        piStack_50 = param_2;\n                    \n        FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar7 = uVar7 + *(int *)(auStack_40._0_4_ + 0xc);\n      ppiVar9 = (int **)auStack_4c;\n    }" (if "if") (parenthesized_expression "((char)param_2[3] != '\0')" (( "(") (binary_expression "(char)param_2[3] != '\0'" (cast_expression "(char)param_2[3]" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]"))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      if ((auStack_40._4_4_ & 2) == 0) {\n        piStack_50 = param_2;\n                    \n        FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n      }\n      uVar7 = uVar7 + *(int *)(auStack_40._0_4_ + 0xc);\n      ppiVar9 = (int **)auStack_4c;\n    }" ({ "{") (if_statement "if ((auStack_40._4_4_ & 2) == 0) {\n        piStack_50 = param_2;\n                    \n        FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n      }" (if "if") (parenthesized_expression "((auStack_40._4_4_ & 2) == 0)" (( "(") (binary_expression "(auStack_40._4_4_ & 2) == 0" (parenthesized_expression "(auStack_40._4_4_ & 2)" (( "(") (binary_expression "auStack_40._4_4_ & 2" (field_expression "auStack_40._4_4_" (identifier "auStack_40") (. ".") (field_identifier "_4_4_")) (& "&") (number_literal "2")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        piStack_50 = param_2;\n                    \n        FUN_00069d00("../../gold/output.h",0xcf,"data_size");\n      }" ({ "{") (expression_statement "piStack_50 = param_2;" (assignment_expression "piStack_50 = param_2" (identifier "piStack_50") (= "=") (identifier "param_2")) (; ";")) (expression_statement "FUN_00069d00("../../gold/output.h",0xcf,"data_size");" (call_expression "FUN_00069d00("../../gold/output.h",0xcf,"data_size")" (identifier "FUN_00069d00") (argument_list "("../../gold/output.h",0xcf,"data_size")" (( "(") (string_literal ""../../gold/output.h"" (" """) (string_content "../../gold/output.h") (" """)) (, ",") (number_literal "0xcf") (, ",") (string_literal ""data_size"" (" """) (string_content "data_size") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar7 = uVar7 + *(int *)(auStack_40._0_4_ + 0xc);" (assignment_expression "uVar7 = uVar7 + *(int *)(auStack_40._0_4_ + 0xc)" (identifier "uVar7") (= "=") (binary_expression "uVar7 + *(int *)(auStack_40._0_4_ + 0xc)" (identifier "uVar7") (+ "+") (pointer_expression "*(int *)(auStack_40._0_4_ + 0xc)" (* "*") (cast_expression "(int *)(auStack_40._0_4_ + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(auStack_40._0_4_ + 0xc)" (( "(") (binary_expression "auStack_40._0_4_ + 0xc" (field_expression "auStack_40._0_4_" (identifier "auStack_40") (. ".") (field_identifier "_0_4_")) (+ "+") (number_literal "0xc")) () ")")))))) (; ";")) (expression_statement "ppiVar9 = (int **)auStack_4c;" (assignment_expression "ppiVar9 = (int **)auStack_4c" (identifier "ppiVar9") (= "=") (cast_expression "(int **)auStack_4c" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "auStack_4c"))) (; ";")) (} "}"))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case (int *)0x2:\n    if ((bVar3 & 7) != 2) {\n      piStack_50 = in_ECX;\n                    \n      FUN_00069d00("../../gold/symtab.h",200,"output_segment");\n    }\n    iVar6 = param_2[2];\n    uVar7 = param_2[0xc];\n    piStack_50 = (int *)param_2[0xd];\n    if ((*(byte *)(param_2 + 10) & 0xf) != 6) {\n      bVar11 = CARRY4(uVar7,*(uint *)(iVar6 + 0x15c));\n      uVar7 = uVar7 + *(uint *)(iVar6 + 0x15c);\n      piStack_50 = (int *)((int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160));\n    }\n    iVar1 = param_2[3];\n    if (iVar1 == 1) {\n      uVar7 = uVar7 + *(int *)(iVar6 + 0x16c);\n      ppiVar9 = (int **)auStack_4c;\n    }\n    else {\n      ppiVar9 = (int **)auStack_4c;\n      if (iVar1 != 0) {\n        if (iVar1 != 2) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }\n        uVar7 = uVar7 + *(int *)(iVar6 + 0x18c);\n        ppiVar9 = (int **)auStack_4c;\n      }\n    }\n    break;" (case "case") (cast_expression "(int *)0x2" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x2")) (: ":") (if_statement "if ((bVar3 & 7) != 2) {\n      piStack_50 = in_ECX;\n                    \n      FUN_00069d00("../../gold/symtab.h",200,"output_segment");\n    }" (if "if") (parenthesized_expression "((bVar3 & 7) != 2)" (( "(") (binary_expression "(bVar3 & 7) != 2" (parenthesized_expression "(bVar3 & 7)" (( "(") (binary_expression "bVar3 & 7" (identifier "bVar3") (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n      piStack_50 = in_ECX;\n                    \n      FUN_00069d00("../../gold/symtab.h",200,"output_segment");\n    }" ({ "{") (expression_statement "piStack_50 = in_ECX;" (assignment_expression "piStack_50 = in_ECX" (identifier "piStack_50") (= "=") (identifier "in_ECX")) (; ";")) (expression_statement "FUN_00069d00("../../gold/symtab.h",200,"output_segment");" (call_expression "FUN_00069d00("../../gold/symtab.h",200,"output_segment")" (identifier "FUN_00069d00") (argument_list "("../../gold/symtab.h",200,"output_segment")" (( "(") (string_literal ""../../gold/symtab.h"" (" """) (string_content "../../gold/symtab.h") (" """)) (, ",") (number_literal "200") (, ",") (string_literal ""output_segment"" (" """) (string_content "output_segment") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar6 = param_2[2];" (assignment_expression "iVar6 = param_2[2]" (identifier "iVar6") (= "=") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar7 = param_2[0xc];" (assignment_expression "uVar7 = param_2[0xc]" (identifier "uVar7") (= "=") (subscript_expression "param_2[0xc]" (identifier "param_2") ([ "[") (number_literal "0xc") (] "]"))) (; ";")) (expression_statement "piStack_50 = (int *)param_2[0xd];" (assignment_expression "piStack_50 = (int *)param_2[0xd]" (identifier "piStack_50") (= "=") (cast_expression "(int *)param_2[0xd]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_2[0xd]" (identifier "param_2") ([ "[") (number_literal "0xd") (] "]")))) (; ";")) (if_statement "if ((*(byte *)(param_2 + 10) & 0xf) != 6) {\n      bVar11 = CARRY4(uVar7,*(uint *)(iVar6 + 0x15c));\n      uVar7 = uVar7 + *(uint *)(iVar6 + 0x15c);\n      piStack_50 = (int *)((int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160));\n    }" (if "if") (parenthesized_expression "((*(byte *)(param_2 + 10) & 0xf) != 6)" (( "(") (binary_expression "(*(byte *)(param_2 + 10) & 0xf) != 6" (parenthesized_expression "(*(byte *)(param_2 + 10) & 0xf)" (( "(") (binary_expression "*(byte *)(param_2 + 10) & 0xf" (pointer_expression "*(byte *)(param_2 + 10)" (* "*") (cast_expression "(byte *)(param_2 + 10)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 10)" (( "(") (binary_expression "param_2 + 10" (identifier "param_2") (+ "+") (number_literal "10")) () ")")))) (& "&") (number_literal "0xf")) () ")")) (!= "!=") (number_literal "6")) () ")")) (compound_statement "{\n      bVar11 = CARRY4(uVar7,*(uint *)(iVar6 + 0x15c));\n      uVar7 = uVar7 + *(uint *)(iVar6 + 0x15c);\n      piStack_50 = (int *)((int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160));\n    }" ({ "{") (expression_statement "bVar11 = CARRY4(uVar7,*(uint *)(iVar6 + 0x15c));" (assignment_expression "bVar11 = CARRY4(uVar7,*(uint *)(iVar6 + 0x15c))" (identifier "bVar11") (= "=") (call_expression "CARRY4(uVar7,*(uint *)(iVar6 + 0x15c))" (identifier "CARRY4") (argument_list "(uVar7,*(uint *)(iVar6 + 0x15c))" (( "(") (identifier "uVar7") (, ",") (pointer_expression "*(uint *)(iVar6 + 0x15c)" (* "*") (cast_expression "(uint *)(iVar6 + 0x15c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x15c)" (( "(") (binary_expression "iVar6 + 0x15c" (identifier "iVar6") (+ "+") (number_literal "0x15c")) () ")")))) () ")")))) (; ";")) (expression_statement "uVar7 = uVar7 + *(uint *)(iVar6 + 0x15c);" (assignment_expression "uVar7 = uVar7 + *(uint *)(iVar6 + 0x15c)" (identifier "uVar7") (= "=") (binary_expression "uVar7 + *(uint *)(iVar6 + 0x15c)" (identifier "uVar7") (+ "+") (pointer_expression "*(uint *)(iVar6 + 0x15c)" (* "*") (cast_expression "(uint *)(iVar6 + 0x15c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x15c)" (( "(") (binary_expression "iVar6 + 0x15c" (identifier "iVar6") (+ "+") (number_literal "0x15c")) () ")")))))) (; ";")) (expression_statement "piStack_50 = (int *)((int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160));" (assignment_expression "piStack_50 = (int *)((int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160))" (identifier "piStack_50") (= "=") (cast_expression "(int *)((int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160))" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160))" (( "(") (binary_expression "(int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160)" (binary_expression "(int)piStack_50 + (uint)bVar11" (cast_expression "(int)piStack_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piStack_50")) (+ "+") (cast_expression "(uint)bVar11" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar11"))) (+ "+") (pointer_expression "*(int *)(iVar6 + 0x160)" (* "*") (cast_expression "(int *)(iVar6 + 0x160)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x160)" (( "(") (binary_expression "iVar6 + 0x160" (identifier "iVar6") (+ "+") (number_literal "0x160")) () ")"))))) () ")")))) (; ";")) (} "}"))) (expression_statement "iVar1 = param_2[3];" (assignment_expression "iVar1 = param_2[3]" (identifier "iVar1") (= "=") (subscript_expression "param_2[3]" (identifier "param_2") ([ "[") (number_literal "3") (] "]"))) (; ";")) (if_statement "if (iVar1 == 1) {\n      uVar7 = uVar7 + *(int *)(iVar6 + 0x16c);\n      ppiVar9 = (int **)auStack_4c;\n    }\n    else {\n      ppiVar9 = (int **)auStack_4c;\n      if (iVar1 != 0) {\n        if (iVar1 != 2) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }\n        uVar7 = uVar7 + *(int *)(iVar6 + 0x18c);\n        ppiVar9 = (int **)auStack_4c;\n      }\n    }" (if "if") (parenthesized_expression "(iVar1 == 1)" (( "(") (binary_expression "iVar1 == 1" (identifier "iVar1") (== "==") (number_literal "1")) () ")")) (compound_statement "{\n      uVar7 = uVar7 + *(int *)(iVar6 + 0x16c);\n      ppiVar9 = (int **)auStack_4c;\n    }" ({ "{") (expression_statement "uVar7 = uVar7 + *(int *)(iVar6 + 0x16c);" (assignment_expression "uVar7 = uVar7 + *(int *)(iVar6 + 0x16c)" (identifier "uVar7") (= "=") (binary_expression "uVar7 + *(int *)(iVar6 + 0x16c)" (identifier "uVar7") (+ "+") (pointer_expression "*(int *)(iVar6 + 0x16c)" (* "*") (cast_expression "(int *)(iVar6 + 0x16c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x16c)" (( "(") (binary_expression "iVar6 + 0x16c" (identifier "iVar6") (+ "+") (number_literal "0x16c")) () ")")))))) (; ";")) (expression_statement "ppiVar9 = (int **)auStack_4c;" (assignment_expression "ppiVar9 = (int **)auStack_4c" (identifier "ppiVar9") (= "=") (cast_expression "(int **)auStack_4c" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "auStack_4c"))) (; ";")) (} "}")) (else_clause "else {\n      ppiVar9 = (int **)auStack_4c;\n      if (iVar1 != 0) {\n        if (iVar1 != 2) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }\n        uVar7 = uVar7 + *(int *)(iVar6 + 0x18c);\n        ppiVar9 = (int **)auStack_4c;\n      }\n    }" (else "else") (compound_statement "{\n      ppiVar9 = (int **)auStack_4c;\n      if (iVar1 != 0) {\n        if (iVar1 != 2) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }\n        uVar7 = uVar7 + *(int *)(iVar6 + 0x18c);\n        ppiVar9 = (int **)auStack_4c;\n      }\n    }" ({ "{") (expression_statement "ppiVar9 = (int **)auStack_4c;" (assignment_expression "ppiVar9 = (int **)auStack_4c" (identifier "ppiVar9") (= "=") (cast_expression "(int **)auStack_4c" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "auStack_4c"))) (; ";")) (if_statement "if (iVar1 != 0) {\n        if (iVar1 != 2) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }\n        uVar7 = uVar7 + *(int *)(iVar6 + 0x18c);\n        ppiVar9 = (int **)auStack_4c;\n      }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        if (iVar1 != 2) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }\n        uVar7 = uVar7 + *(int *)(iVar6 + 0x18c);\n        ppiVar9 = (int **)auStack_4c;\n      }" ({ "{") (if_statement "if (iVar1 != 2) {\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }" (if "if") (parenthesized_expression "(iVar1 != 2)" (( "(") (binary_expression "iVar1 != 2" (identifier "iVar1") (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n                    \n          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");\n        }" ({ "{") (expression_statement "FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");" (call_expression "FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value")" (identifier "FUN_00069d00") (argument_list "("../../gold/symtab.cc",0xb5c,"compute_final_value")" (( "(") (string_literal ""../../gold/symtab.cc"" (" """) (string_content "../../gold/symtab.cc") (" """)) (, ",") (number_literal "0xb5c") (, ",") (string_literal ""compute_final_value"" (" """) (string_content "compute_final_value") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar7 = uVar7 + *(int *)(iVar6 + 0x18c);" (assignment_expression "uVar7 = uVar7 + *(int *)(iVar6 + 0x18c)" (identifier "uVar7") (= "=") (binary_expression "uVar7 + *(int *)(iVar6 + 0x18c)" (identifier "uVar7") (+ "+") (pointer_expression "*(int *)(iVar6 + 0x18c)" (* "*") (cast_expression "(int *)(iVar6 + 0x18c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x18c)" (( "(") (binary_expression "iVar6 + 0x18c" (identifier "iVar6") (+ "+") (number_literal "0x18c")) () ")")))))) (; ";")) (expression_statement "ppiVar9 = (int **)auStack_4c;" (assignment_expression "ppiVar9 = (int **)auStack_4c" (identifier "ppiVar9") (= "=") (cast_expression "(int **)auStack_4c" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "auStack_4c"))) (; ";")) (} "}"))) (} "}")))) (break_statement "break;" (break "break") (; ";"))) (case_statement "case (int *)0x4:\ncode_r0x0017c290:\n    uVar7 = 0;\n    ppiVar9 = (int **)auStack_4c;\n    break;" (case "case") (cast_expression "(int *)0x4" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x4")) (: ":") (labeled_statement "code_r0x0017c290:\n    uVar7 = 0;" (statement_identifier "code_r0x0017c290") (: ":") (expression_statement "uVar7 = 0;" (assignment_expression "uVar7 = 0" (identifier "uVar7") (= "=") (number_literal "0")) (; ";"))) (expression_statement "ppiVar9 = (int **)auStack_4c;" (assignment_expression "ppiVar9 = (int **)auStack_4c" (identifier "ppiVar9") (= "=") (cast_expression "(int **)auStack_4c" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "auStack_4c"))) (; ";")) (break_statement "break;" (break "break") (; ";"))) (case_statement "default:\n    piStack_50 = piVar5;\n                    \n    FUN_00069d00("../../gold/symtab.cc",0xb6a,"compute_final_value");" (default "default") (: ":") (expression_statement "piStack_50 = piVar5;" (assignment_expression "piStack_50 = piVar5" (identifier "piStack_50") (= "=") (identifier "piVar5")) (; ";")) (expression_statement "FUN_00069d00("../../gold/symtab.cc",0xb6a,"compute_final_value");" (call_expression "FUN_00069d00("../../gold/symtab.cc",0xb6a,"compute_final_value")" (identifier "FUN_00069d00") (argument_list "("../../gold/symtab.cc",0xb6a,"compute_final_value")" (( "(") (string_literal ""../../gold/symtab.cc"" (" """) (string_content "../../gold/symtab.cc") (" """)) (, ",") (number_literal "0xb6a") (, ",") (string_literal ""compute_final_value"" (" """) (string_content "compute_final_value") (" """)) () ")"))) (; ";"))) (} "}"))) (expression_statement "**(undefined4 **)((int)ppiVar9 + 0x58) = 0;" (assignment_expression "**(undefined4 **)((int)ppiVar9 + 0x58) = 0" (pointer_expression "**(undefined4 **)((int)ppiVar9 + 0x58)" (* "*") (pointer_expression "*(undefined4 **)((int)ppiVar9 + 0x58)" (* "*") (cast_expression "(undefined4 **)((int)ppiVar9 + 0x58)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "((int)ppiVar9 + 0x58)" (( "(") (binary_expression "(int)ppiVar9 + 0x58" (cast_expression "(int)ppiVar9" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "ppiVar9")) (+ "+") (number_literal "0x58")) () ")"))))) (= "=") (number_literal "0")) (; ";")) (return_statement "return uVar7;" (return "return") (identifier "uVar7") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: Value_type compute_final_value<64>(Symbol_table * this,
   Sized_symbol<64> * sym, Compute_final_value_status * pstatus) */

type_1 __thiscall
var_6::type_2::function_1<64>
          (type_2 *this,type_3<64> *sym,type_4 *pstatus)

{
  type_5 *var_28;
  uint64_t *var_25;
  type_5 ppOVar3;
  type_6 *var_20;
  type_5 ppOVar5;
  type_7 var_1;
  type_8 var_3;
  int *var_26;
  int var_5;
  type_8 extraout_EDX;
  type_8 extraout_EDX_00;
  int var_22;
  int extraout_EDX_01;
  type_9 *pOVar11;
  type_8 var_24;
  bool bVar13;
  type_10 var_27;
  type_1 var_30;
  type_11 *in_stack_ffffffb4;
  type_12 *in_stack_ffffffb8;
  type_13 *var_11;
  type_8 var_18;
  type_8 var_17;
  type_9 *var_13;
  type_8 var_14;
  
  var_1 = (sym->super_Symbol).field_0x2a;
  switch(var_1 & 7) {
  case 0:
    if ((var_1 & 7) != 0) {
                    /* WARNING: Subroutine does not return */
      var_2("../../gold/symtab.h",0xaa,"shndx");
    }
    var_3 = (sym->super_Symbol).u2_.shndx;
    var_1 = (type_7)(sym->super_Symbol).field_0x2b >> 5 & 1;
    if ((var_3 != 0xfff1) && (var_1 == 0)) {
      bVar13 = type_11::var_4(var_3);
      if (!bVar13) {
        *pstatus = CFVS_UNSUPPORTED_SYMBOL_SECTION;
        return 0;
      }
      if (((sym->super_Symbol).field_0x2a & 7) != 0) {
                    /* WARNING: Subroutine does not return */
        var_2("../../gold/symtab.h",0xa1,"object");
      }
    }
    pOVar11 = (sym->super_Symbol).u1_.output_segment;
    if ((((((type_14 *)pOVar11->output_lists_)->field_0x2c & 1) != 0) ||
        (var_5 = (*((type_14 *)pOVar11->output_lists_)->_vptr_Object[5])(pOVar11), var_5 != 0)) ||
       (var_3 == 0)) goto _L737;
    if ((var_1 != 0) || ((var_3 != 0xfff1 && (bVar13 = type_11::var_4(var_3), !bVar13)))) {
      var_20 = ((type_14 *)pOVar11->output_lists_)->_vptr_Object[0x18];
      if (var_20 == type_16::do_output_section) {
        ppOVar5 = (((type_15 *)((type_14 *)pOVar11->output_lists_ + 1))->
                  super__Vector_base<var_6::type_13*,var_7::allocator<var_6::type_13*>var_8>var_9)
                  ._M_impl._M_start;
        if ((type_8)((int)(((type_15 *)((type_14 *)pOVar11->output_lists_ + 1))->
                        super__Vector_base<var_6::type_13*,var_7::allocator<var_6::type_13*>var_8>var_9
                        )._M_impl._M_finish - (int)ppOVar5 >> 2) <= var_3) goto LAB_0017c850;
        var_11 = ppOVar5[var_3];
      }
      else {
        var_11 = (type_13 *)(*var_20)(pOVar11,var_3);
      }
      bVar13 = var_10(this,(type_16 *)pOVar11,var_3);
      if (bVar13) {
        if (var_11 != (type_13 *)0x0) {
                    /* WARNING: Subroutine does not return */
          var_2("../../gold/symtab.cc",0xb0c,"compute_final_value");
        }
        Icf::var_12(this->icf_,(type_16 *)pOVar11,var_3);
        if (var_13 == (type_9 *)0x0) {
                    /* WARNING: Subroutine does not return */
          var_2("../../gold/symtab.cc",0xb10,"compute_final_value");
        }
        var_20 = ((type_14 *)var_13->output_lists_)->_vptr_Object[0x18];
        if (var_20 == type_16::do_output_section) {
          ppOVar5 = (((type_15 *)((type_14 *)var_13->output_lists_ + 1))->
                    super__Vector_base<var_6::type_13*,var_7::allocator<var_6::type_13*>var_8>var_9
                    )._M_impl._M_start;
          if ((type_8)((int)(((type_15 *)((type_14 *)var_13->output_lists_ + 1))->
                          super__Vector_base<var_6::type_13*,var_7::allocator<var_6::type_13*>var_8>var_9
                          )._M_impl._M_finish - (int)ppOVar5 >> 2) <= var_14) {
LAB_0017c850:
                    /* WARNING: Subroutine does not return */
            var_2("../../gold/object.h",0x5c8,"do_output_section");
          }
          var_11 = ppOVar5[var_14];
        }
        else {
          var_11 = (type_13 *)(*var_20)(var_13,var_14,var_13,var_13);
        }
        if (var_11 == (type_13 *)0x0) {
                    /* WARNING: Subroutine does not return */
          var_2("../../gold/symtab.cc",0xb15,"compute_final_value");
        }
        var_18 = (*((type_14 *)var_13->output_lists_)->_vptr_Object[0x1a])(var_13,var_14);
        var_3 = var_14;
        pOVar11 = var_13;
        var_17 = extraout_EDX;
      }
      else {
        var_18 = (*((type_14 *)pOVar11->output_lists_)->_vptr_Object[0x1a])(pOVar11,var_3);
        var_17 = extraout_EDX_00;
        if (var_11 == (type_13 *)0x0) {
          if (parameters->doing_static_link_valid_ == false) {
                    /* WARNING: Subroutine does not return */
            Parameters::var_15((type_12 *)in_stack_ffffffb4,in_stack_ffffffb8);
          }
          if (parameters->doing_static_link_ == false) {
            if (parameters->options_ == (type_17 *)0x0) {
LAB_0017c83a:
                    /* WARNING: Subroutine does not return */
              var_2("../../gold/parameters.h",0x5c,"options");
            }
            if ((parameters->options_->relocatable_).value == false) {
              var_3 = (sym->super_Symbol).dynsym_index_;
              if (var_3 == 0) {
                Symbol::var_16(in_stack_ffffffb4);
                goto LAB_0017c83a;
              }
              if (var_3 != 0xffffffff) {
                    /* WARNING: Subroutine does not return */
                var_2("../../gold/symtab.cc",0xb21,"compute_final_value");
              }
            }
          }
          *pstatus = CFVS_NO_OUTPUT_SECTION;
          return 0;
        }
      }
      var_5 = *(int *)((int)&sym->value_ + 4);
      var_24 = (type_8)sym->value_;
      if ((var_17 & var_18) == 0xffffffff) {
        var_30 = type_13::var_19(var_11,(type_16 *)pOVar11,var_3,sym->value_);
      }
      else if (((sym->super_Symbol).field_0x28 & 0xf) == 6) {
        var_20 = (var_11->super_Output_data)._vptr_Output_data[0x12];
        if (var_20 == type_13::do_tls_offset) {
          var_3 = (type_8)var_11->tls_offset_;
          var_22 = *(int *)((int)&var_11->tls_offset_ + 4);
        }
        else {
          var_3 = (*var_20)(var_11);
          var_22 = extraout_EDX_01;
        }
        var_30 = var_21(var_22 + var_5 + var_17 + (type_8)var_23(var_24,var_18) +
                          (type_8)var_23(var_3,var_24 + var_18),var_3 + var_24 + var_18);
      }
      else {
        if (((var_11->super_Output_data).field_0x1c & 1) == 0) goto LAB_0017c7b3;
        var_25 = &(var_11->super_Output_data).address_;
        var_30 = var_21(var_5 + var_17 + (type_8)var_23(var_24,var_18) +
                          *(int *)((int)&(var_11->super_Output_data).address_ + 4) +
                          (type_8)var_23(var_24 + var_18,(type_8)*var_25),
                          var_24 + var_18 + (int)*var_25);
      }
      break;
    }
  case 3:
    var_30 = sym->value_;
    break;
  case 1:
    if ((var_1 & 7) != 1) {
                    /* WARNING: Subroutine does not return */
      var_2("../../gold/symtab.h",0xb5,"output_data");
    }
    pOVar11 = (sym->super_Symbol).u1_.output_segment;
    var_3 = (type_8)sym->value_;
    var_5 = *(int *)((int)&sym->value_ + 4);
    if (((sym->super_Symbol).field_0x28 & 0xf) == 6) {
      var_26 = (int *)(*(type_18 *)pOVar11->output_lists_[0].
                                super__Vector_base<var_6::var_29*,var_7::allocator<var_6::var_29*>var_8>
                                ._M_impl._M_start[9])(pOVar11);
      if (var_26 == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
        var_2("../../gold/symtab.cc",0xb43,"compute_final_value");
      }
      if (*(type_18 **)(*var_26 + 0x48) == type_13::do_tls_offset) {
        var_27 = *(type_10 *)(var_26 + 0x25);
      }
      else {
        var_27 = (**(type_18 **)(*var_26 + 0x48))(var_26);
      }
      var_1 = *(type_7 *)&pOVar11->output_lists_[2].
                        super__Vector_base<var_6::var_29*,var_7::allocator<var_6::var_29*>var_8>.
                        _M_impl._M_finish;
      if ((var_1 & 1) == 0) {
LAB_0017c7b3:
                    /* WARNING: Subroutine does not return */
        var_2("../../gold/output.h",0xc5,"address");
      }
      ppOVar3 = pOVar11->output_lists_[0].
                super__Vector_base<var_6::var_29*,var_7::allocator<var_6::var_29*>var_8>._M_impl.
                _M_finish;
      if ((*(type_7 *)(var_26 + 7) & 1) == 0) goto LAB_0017c7b3;
      var_24 = var_3 + (int)ppOVar3;
      var_30 = var_27 + var_21((int)pOVar11->output_lists_[0].
                                      super__Vector_base<var_6::var_29*,var_7::allocator<var_6::var_29*>var_8>
                                      ._M_impl._M_end_of_storage +
                                 ((((type_8)var_23(var_3,(type_8)ppOVar3) + var_5) - var_26[2]) -
                                 (type_8)(var_24 < (type_8)var_26[1])),var_24 - var_26[1]);
      if (((sym->super_Symbol).field_0x2a & 7) != 1) {
                    /* WARNING: Subroutine does not return */
        var_2("../../gold/symtab.h",0xbe,"offset_is_from_end");
      }
    }
    else {
      var_1 = *(type_7 *)&pOVar11->output_lists_[2].
                        super__Vector_base<var_6::var_29*,var_7::allocator<var_6::var_29*>var_8>.
                        _M_impl._M_finish;
      if ((var_1 & 1) == 0) goto LAB_0017c7b3;
      var_28 = &pOVar11->output_lists_[0].
                  super__Vector_base<var_6::var_29*,var_7::allocator<var_6::var_29*>var_8>.
                  _M_impl._M_finish;
      var_30 = var_21((int)pOVar11->output_lists_[0].
                             super__Vector_base<var_6::var_29*,var_7::allocator<var_6::var_29*>var_8>
                             ._M_impl._M_end_of_storage +
                        (type_8)var_23(var_3,(type_8)*var_28) + var_5,var_3 + (int)*var_28);
    }
    if ((sym->super_Symbol).u2_.offset_is_from_end != false) {
      if ((var_1 & 2) == 0) {
                    /* WARNING: Subroutine does not return */
        var_2("../../gold/output.h",0xcf,"data_size");
      }
      var_30 = var_21((int)pOVar11->output_lists_[1].
                             super__Vector_base<var_6::var_29*,var_7::allocator<var_6::var_29*>var_8>
                             ._M_impl._M_finish +
                        (type_8)var_23((type_8)var_30,
                                     (type_8)pOVar11->output_lists_[1].
                                           super__Vector_base<var_6::var_29*,var_7::allocator<var_6::var_29*>var_8>
                                           ._M_impl._M_start) + (int)(var_30 >> 0x20),
                        (type_8)var_30 +
                        (int)pOVar11->output_lists_[1].
                             super__Vector_base<var_6::var_29*,var_7::allocator<var_6::var_29*>var_8>
                             ._M_impl._M_start);
    }
    break;
  case 2:
    if ((var_1 & 7) != 2) {
                    /* WARNING: Subroutine does not return */
      var_2("../../gold/symtab.h",200,"output_segment");
    }
    pOVar11 = (sym->super_Symbol).u1_.output_segment;
    var_3 = (type_8)sym->value_;
    var_5 = *(int *)((int)&sym->value_ + 4);
    if (((sym->super_Symbol).field_0x28 & 0xf) != 6) {
      bVar13 = var_23(var_3,(type_8)pOVar11->vaddr_);
      var_3 = var_3 + (int)pOVar11->vaddr_;
      var_5 = var_5 + *(int *)((int)&pOVar11->vaddr_ + 4) + (type_8)bVar13;
    }
    var_30 = var_21(var_5,var_3);
    var_24 = (sym->super_Symbol).u2_.shndx;
    if (var_24 == 1) {
      var_30 = var_21(var_5 + *(int *)((int)&pOVar11->memsz_ + 4) +
                        (type_8)var_23(var_3,(type_8)pOVar11->memsz_),var_3 + (int)pOVar11->memsz_);
    }
    else if (var_24 != 0) {
      if (var_24 != 2) {
                    /* WARNING: Subroutine does not return */
        var_2("../../gold/symtab.cc",0xb5c,"compute_final_value");
      }
      var_30 = var_21(var_5 + *(int *)((int)&pOVar11->filesz_ + 4) +
                        (type_8)var_23(var_3,(type_8)pOVar11->filesz_),var_3 + (int)pOVar11->filesz_);
    }
    break;
  case 4:
_L737:
    var_30 = 0;
    break;
  default:
                    /* WARNING: Subroutine does not return */
    var_2("../../gold/symtab.cc",0xb6a,"compute_final_value");
  }
  *pstatus = CFVS_OK;
  return var_30;
}


(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)) (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (pointer_declarator declarator: (identifier)))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (array_declarator declarator: (identifier) size: (number_literal))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (array_declarator declarator: (identifier) size: (number_literal)))) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) (switch_statement condition: (parenthesized_expression (identifier)) body: (compound_statement (case_statement value: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content))))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (return_statement (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) right: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier))))) right: (binary_expression left: (identifier) right: (char_literal (escape_sequence)))))))))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (field_expression argument: (identifier) field: (field_identifier))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (field_expression argument: (identifier) field: (field_identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content)))))))) (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: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content)))))))) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (identifier) arguments: (argument_list))))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (goto_statement label: (statement_identifier))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) (return_statement (number_literal))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (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))))) (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content)) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier))) right: (number_literal))))) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)) right: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (field_expression argument: (identifier) field: (field_identifier)) index: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (field_expression argument: (identifier) field: (field_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (field_expression argument: (identifier) field: (field_identifier))) right: (number_literal))))))) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (subscript_expression argument: (identifier) index: (number_literal)) (field_expression argument: (identifier) field: (field_identifier)) (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content)) (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier) (field_expression argument: (identifier) field: (field_identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_array_declarator size: (number_literal))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_array_declarator size: (number_literal))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (parenthesized_expression (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) index: (number_literal))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))))) alternative: (else_clause (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) right: (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: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))))))))))))) (break_statement)))) (case_statement value: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))) (break_statement)) (case_statement value: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content))))))) (expression_statement (assignment_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (field_expression argument: (identifier) field: (field_identifier)))) right: (number_literal))))))) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) right: (identifier))) 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)))))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))))) arguments: (argument_list (identifier)))))))) (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: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (field_expression argument: (identifier) field: (field_identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (comma_expression left: (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: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)))))) right: (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))) right: (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (field_expression argument: (identifier) field: (field_identifier))))) right: (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal)))))))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) right: (subscript_expression argument: (identifier) index: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content)))))))) alternative: (else_clause (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: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (field_expression argument: (identifier) field: (field_identifier)) (field_expression argument: (identifier) field: (field_identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (number_literal))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (string_literal (string_content)))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_array_declarator size: (number_literal))) value: (identifier)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))))))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (char_literal (escape_sequence)))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (field_expression argument: (identifier) field: (field_identifier)) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))))) (break_statement)) (case_statement value: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (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))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier))) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))))))) (expression_statement (assignment_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier))))))))) (break_statement)) (case_statement value: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (identifier)))) (break_statement)) (case_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content)))))))) (expression_statement (assignment_expression left: (pointer_expression argument: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))))) right: (number_literal))) (return_statement (identifier)))))

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

uint MASKED(int param_1,int *param_2,undefined4 *param_3)

{
  int iVar1;
  code *pcVar2;
  byte bVar3;
  char cVar4;
  int *piVar5;
  int iVar6;
  uint uVar7;
  int *piVar8;
  int *in_ECX;
  undefined4 extraout_ECX;
  int **ppiVar9;
  int **ppiVar10;
  bool bVar11;
  undefined8 uVar12;
  undefined8 uVar13;
  int *piStack_50;
  undefined1 auStack_4c [8];
  int iStack_44;
  undefined1 auStack_40 [8];
  int *piStack_38;
  int *piStack_34;
  int *piStack_30;
  undefined8 uStack_2c;
  int *apiStack_24 [4];
  undefined4 uStack_14;
  
  uStack_14 = 0x17c209;
  bVar3 = *(byte *)((int)param_2 + 0x2a);
  piVar5 = (int *)(bVar3 & 7);
  switch(piVar5) {
  case (int *)0x0:
    if ((bVar3 & 7) != 0) {
      piStack_50 = piVar5;
                    /* WARNING: Subroutine does not return */
      FUN_00069d00("../../gold/symtab.h",0xaa,"shndx");
    }
    auStack_40._0_4_ = param_2[3];
    bVar3 = *(byte *)((int)param_2 + 0x2b) >> 5 & 1;
    if (((int *)auStack_40._0_4_ != (int *)0xfff1) && (bVar3 == 0)) {
      piVar5 = (int *)FUN_00177470(auStack_40._0_4_);
      if ((char)piVar5 == '\0') {
        *param_3 = 1;
        return 0;
      }
      if ((*(byte *)((int)param_2 + 0x2a) & 7) != 0) {
        piStack_50 = piVar5;
                    /* WARNING: Subroutine does not return */
        FUN_00069d00("../../gold/symtab.h",0xa1,"object");
      }
    }
    ppiVar10 = (int **)auStack_4c;
    ppiVar9 = (int **)auStack_4c;
    piVar5 = (int *)param_2[2];
    if ((((*(byte *)(piVar5 + 0xb) & 1) != 0) ||
        (iVar6 = (**(code **)(*piVar5 + 0x14))(piVar5), iVar6 != 0)) ||
       ((int *)auStack_40._0_4_ == (int *)0x0)) goto code_r0x0017c290;
    if ((bVar3 != 0) ||
       (((int *)auStack_40._0_4_ != (int *)0xfff1 &&
        (cVar4 = FUN_00177470(auStack_40._0_4_), cVar4 == '\0')))) {
      if (*(code **)(*piVar5 + 0x60) == FUN_0003bac0) {
        piVar8 = (int *)(piVar5[0xf] - piVar5[0xe] >> 2);
        if (piVar8 <= (uint)auStack_40._0_4_) goto code_r0x0017c850;
        auStack_40._4_4_ = auStack_40._0_4_;
        auStack_40._0_4_ = *(int *)(piVar5[0xe] + auStack_40._0_4_ * 4);
      }
      else {
        auStack_40._4_4_ = auStack_40._0_4_;
        auStack_40._0_4_ = (**(code **)(*piVar5 + 0x60))(piVar5,auStack_40._0_4_);
      }
      cVar4 = FUN_00177870(param_1,piVar5,auStack_40._4_4_);
      if (cVar4 == '\0') {
        piStack_34 = (int *)auStack_40._4_4_;
        uVar13 = (**(code **)(*piVar5 + 0x68))(piVar5,auStack_40._4_4_);
        auStack_40._4_4_ = (int)uVar13;
        uVar12 = CONCAT44((int)uVar13,auStack_40._0_4_);
        piStack_38 = (int *)((ulonglong)uVar13 >> 0x20);
        piVar8 = piStack_34;
        if (auStack_40._0_4_ == 0) {
          unique0x100005d7 = uVar13;
          if (*(char *)(DAT_0038f378 + 0x10) == '\0') {
            piStack_50 = (int *)&UNK_0017c81c;
            piStack_50 = (int *)FUN_00176fe0();
code_r0x0017c81c:
                    /* WARNING: Subroutine does not return */
            FUN_00069d00("../../gold/symtab.cc",0xb21,"compute_final_value");
          }
          if (*(char *)(DAT_0038f378 + 0x11) == '\0') {
            piStack_50 = *(int **)(DAT_0038f378 + 8);
            if (piStack_50 == (int *)0x0) {
code_r0x0017c83a:
                    /* WARNING: Subroutine does not return */
              FUN_00069d00("../../gold/parameters.h",0x5c,"options");
            }
            if (*(char *)((int)piStack_50 + 0x318d) == '\0') {
              piStack_50 = (int *)param_2[5];
              if (piStack_50 == (int *)0x0) {
                piStack_50 = (int *)&UNK_0017c83a;
                piStack_50 = (int *)FUN_00177010();
                goto code_r0x0017c83a;
              }
              if (piStack_50 != (int *)0xffffffff) goto code_r0x0017c81c;
            }
          }
          *param_3 = 2;
          return 0;
        }
      }
      else {
        if (auStack_40._0_4_ != 0) {
          piStack_50 = param_2;
                    /* WARNING: Subroutine does not return */
          FUN_00069d00("../../gold/symtab.cc",0xb0c,"compute_final_value");
        }
        piStack_50 = (int *)auStack_40._4_4_;
        FUN_0006d210(apiStack_24,*(undefined4 *)(param_1 + 0x15c),piVar5);
        piVar5 = uStack_2c._4_4_;
        auStack_40._0_4_ = apiStack_24[0];
        ppiVar10 = &piStack_50;
        if (uStack_2c._4_4_ == (int *)0x0) {
                    /* WARNING: Subroutine does not return */
          FUN_00069d00("../../gold/symtab.cc",0xb10,"compute_final_value",extraout_ECX);
        }
        if (*(code **)(*uStack_2c._4_4_ + 0x60) == FUN_0003bac0) {
          piVar8 = (int *)(uStack_2c._4_4_[0xf] - uStack_2c._4_4_[0xe] >> 2);
          if (piVar8 <= apiStack_24[0]) {
code_r0x0017c850:
            *(int **)((int)ppiVar10 + -4) = piVar8;
            *(char **)((int)ppiVar10 + -8) = "do_output_section";
            *(undefined4 *)((int)ppiVar10 + -0xc) = 0x5c8;
            *(char **)((int)ppiVar10 + -0x10) = "../../gold/object.h";
                    /* WARNING: Subroutine does not return */
            *(undefined **)((int)ppiVar10 + -0x14) = &UNK_0017c869;
            FUN_00069d00();
          }
          iStack_44 = *(int *)(uStack_2c._4_4_[0xe] + (int)apiStack_24[0] * 4);
          piVar8 = uStack_2c._4_4_;
        }
        else {
          piStack_30 = uStack_2c._4_4_;
          piStack_38 = apiStack_24[0];
          iStack_44 = (**(code **)(*uStack_2c._4_4_ + 0x60))
                                (uStack_2c._4_4_,apiStack_24[0],uStack_2c._4_4_,uStack_2c._4_4_);
          apiStack_24[0] = piStack_38;
          piVar8 = piStack_30;
        }
        ppiVar9 = &piStack_50;
        if (iStack_44 == 0) {
                    /* WARNING: Subroutine does not return */
          FUN_00069d00("../../gold/symtab.cc",0xb15,"compute_final_value",0);
        }
        piStack_38 = apiStack_24[0];
        uVar12 = (**(code **)(*piVar8 + 0x68))(piVar8,auStack_40._0_4_);
        auStack_40 = (undefined1  [8])uVar12;
        piVar8 = piStack_38;
      }
      iVar6 = param_2[0xc];
      *(int *)((int)ppiVar9 + 0x1c) = param_2[0xd];
      *(int *)((int)ppiVar9 + 0x18) = iVar6;
      auStack_40 = (undefined1  [8])uVar12;
      if ((*(uint *)((int)ppiVar9 + 0x14) & *(uint *)((int)ppiVar9 + 0x10)) == 0xffffffff) {
        *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0x1c);
        *(undefined4 *)((int)ppiVar9 + -0x14) = *(undefined4 *)((int)ppiVar9 + 0x18);
        *(int **)((int)ppiVar9 + -0x18) = piVar8;
        *(int **)((int)ppiVar9 + -0x1c) = piVar5;
        *(undefined4 *)((int)ppiVar9 + -0x20) = *(undefined4 *)((int)ppiVar9 + 0xc);
        *(undefined **)((int)ppiVar9 + -0x24) = &UNK_0017c717;
        uVar7 = FUN_000f5920();
      }
      else if ((*(byte *)(param_2 + 10) & 0xf) == 6) {
        pcVar2 = *(code **)(**(int **)((int)ppiVar9 + 0xc) + 0x48);
        if (pcVar2 == FUN_000b3000) {
          iVar6 = (*(int **)((int)ppiVar9 + 0xc))[0x25];
        }
        else {
          *(undefined4 *)((int)ppiVar9 + -0x10) = *(undefined4 *)((int)ppiVar9 + 0xc);
          *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c763;
          iVar6 = (*pcVar2)();
        }
        uVar7 = iVar6 + *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10);
      }
      else {
        uVar7 = *(uint *)((int)ppiVar9 + 0xc);
        if ((*(byte *)(uVar7 + 0x1c) & 1) == 0) goto code_r0x0017c7b3;
        uVar7 = *(int *)((int)ppiVar9 + 0x18) + *(int *)((int)ppiVar9 + 0x10) +
                *(int *)(*(int *)((int)ppiVar9 + 0xc) + 4);
      }
      break;
    }
  case (int *)0x3:
    uVar7 = param_2[0xc];
    ppiVar9 = (int **)auStack_4c;
    break;
  case (int *)0x1:
    if ((bVar3 & 7) != 1) {
      piStack_50 = piVar5;
                    /* WARNING: Subroutine does not return */
      FUN_00069d00("../../gold/symtab.h",0xb5,"output_data");
    }
    auStack_40._0_4_ = param_2[2];
    iVar6 = param_2[0xc];
    piVar5 = (int *)param_2[0xd];
    if ((*(byte *)(param_2 + 10) & 0xf) == 6) {
      piStack_34 = (int *)(**(code **)(*(int *)auStack_40._0_4_ + 0x24))(auStack_40._0_4_);
      if (piStack_34 == (int *)0x0) {
        piStack_50 = piVar5;
                    /* WARNING: Subroutine does not return */
        FUN_00069d00("../../gold/symtab.cc",0xb43,"compute_final_value");
      }
      if (*(code **)(*piStack_34 + 0x48) == FUN_000b3000) {
        uStack_2c = *(undefined8 *)(piStack_34 + 0x25);
      }
      else {
        uStack_2c = (**(code **)(*piStack_34 + 0x48))(piStack_34);
      }
      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);
      uVar7 = (uint)bVar3;
      auStack_40[4] = bVar3;
      ppiVar9 = (int **)auStack_4c;
      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);
      if (((bVar3 & 1) == 0) ||
         (uVar7 = *(uint *)(auStack_40._0_4_ + 4), ppiVar9 = (int **)auStack_4c,
         uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_), (*(byte *)(piStack_34 + 7) & 1) == 0)
         ) goto code_r0x0017c7b3;
      uVar7 = (int)uStack_2c + ((iVar6 + uVar7) - piStack_34[1]);
      piStack_50 = (int *)(*(byte *)((int)param_2 + 0x2a) & 7);
      if ((char)piStack_50 != '\x01') {
                    /* WARNING: Subroutine does not return */
        FUN_00069d00("../../gold/symtab.h",0xbe,"offset_is_from_end");
      }
    }
    else {
      bVar3 = *(byte *)(auStack_40._0_4_ + 0x1c);
      uVar7 = (uint)bVar3;
      auStack_40[4] = bVar3;
      ppiVar9 = (int **)auStack_4c;
      uVar12 = CONCAT44(auStack_40._4_4_,auStack_40._0_4_);
      if ((bVar3 & 1) == 0) {
code_r0x0017c7b3:
        *(uint *)((int)ppiVar9 + -4) = uVar7;
        *(char **)((int)ppiVar9 + -8) = "address";
        *(undefined4 *)((int)ppiVar9 + -0xc) = 0xc5;
        *(char **)((int)ppiVar9 + -0x10) = "../../gold/output.h";
                    /* WARNING: Subroutine does not return */
        *(undefined **)((int)ppiVar9 + -0x14) = &UNK_0017c7cc;
        auStack_40 = (undefined1  [8])uVar12;
        FUN_00069d00();
      }
      uVar7 = iVar6 + *(int *)(auStack_40._0_4_ + 4);
    }
    ppiVar9 = (int **)auStack_4c;
    if ((char)param_2[3] != '\0') {
      if ((auStack_40._4_4_ & 2) == 0) {
        piStack_50 = param_2;
                    /* WARNING: Subroutine does not return */
        FUN_00069d00("../../gold/output.h",0xcf,"data_size");
      }
      uVar7 = uVar7 + *(int *)(auStack_40._0_4_ + 0xc);
      ppiVar9 = (int **)auStack_4c;
    }
    break;
  case (int *)0x2:
    if ((bVar3 & 7) != 2) {
      piStack_50 = in_ECX;
                    /* WARNING: Subroutine does not return */
      FUN_00069d00("../../gold/symtab.h",200,"output_segment");
    }
    iVar6 = param_2[2];
    uVar7 = param_2[0xc];
    piStack_50 = (int *)param_2[0xd];
    if ((*(byte *)(param_2 + 10) & 0xf) != 6) {
      bVar11 = CARRY4(uVar7,*(uint *)(iVar6 + 0x15c));
      uVar7 = uVar7 + *(uint *)(iVar6 + 0x15c);
      piStack_50 = (int *)((int)piStack_50 + (uint)bVar11 + *(int *)(iVar6 + 0x160));
    }
    iVar1 = param_2[3];
    if (iVar1 == 1) {
      uVar7 = uVar7 + *(int *)(iVar6 + 0x16c);
      ppiVar9 = (int **)auStack_4c;
    }
    else {
      ppiVar9 = (int **)auStack_4c;
      if (iVar1 != 0) {
        if (iVar1 != 2) {
                    /* WARNING: Subroutine does not return */
          FUN_00069d00("../../gold/symtab.cc",0xb5c,"compute_final_value");
        }
        uVar7 = uVar7 + *(int *)(iVar6 + 0x18c);
        ppiVar9 = (int **)auStack_4c;
      }
    }
    break;
  case (int *)0x4:
code_r0x0017c290:
    uVar7 = 0;
    ppiVar9 = (int **)auStack_4c;
    break;
  default:
    piStack_50 = piVar5;
                    /* WARNING: Subroutine does not return */
    FUN_00069d00("../../gold/symtab.cc",0xb6a,"compute_final_value");
  }
  **(undefined4 **)((int)ppiVar9 + 0x58) = 0;
  return uVar7;
}

